@@ -14,7 +14,8 @@ import { EntitySchema, LessThan, Between } from 'typeorm';
14
14
import { dateUTC , isTimeSame , isTimeBefore , subtractTime , addTime } from '@/misc/prelude/time.js' ;
15
15
import type Logger from '@/logger.js' ;
16
16
import { bindThis } from '@/decorators.js' ;
17
- import type { Repository , DataSource } from 'typeorm' ;
17
+ import { MiRepository , miRepository } from '@/models/_.js' ;
18
+ import type { DataSource , Repository } from 'typeorm' ;
18
19
19
20
const COLUMN_PREFIX = '___' as const ;
20
21
const UNIQUE_TEMP_COLUMN_PREFIX = 'unique_temp___' as const ;
@@ -145,10 +146,10 @@ export default abstract class Chart<T extends Schema> {
145
146
group : string | null ;
146
147
} [ ] = [ ] ;
147
148
// ↓にしたいけどfindOneとかで型エラーになる
148
- //private repositoryForHour: Repository<RawRecord<T>>;
149
- //private repositoryForDay: Repository<RawRecord<T>>;
150
- private repositoryForHour : Repository < { id : number ; group ?: string | null ; date : number ; } > ;
151
- private repositoryForDay : Repository < { id : number ; group ?: string | null ; date : number ; } > ;
149
+ //private repositoryForHour: Repository<RawRecord<T>> & MiRepository<RawRecord<T>> ;
150
+ //private repositoryForDay: Repository<RawRecord<T>> & MiRepository<RawRecord<T>> ;
151
+ private repositoryForHour : Repository < { id : number ; group ?: string | null ; date : number ; } > & MiRepository < { id : number ; group ?: string | null ; date : number ; } > ;
152
+ private repositoryForDay : Repository < { id : number ; group ?: string | null ; date : number ; } > & MiRepository < { id : number ; group ?: string | null ; date : number ; } > ;
152
153
153
154
/**
154
155
* 1日に一回程度実行されれば良いような計算処理を入れる(主にCASCADE削除などアプリケーション側で感知できない変動によるズレの修正用)
@@ -211,6 +212,10 @@ export default abstract class Chart<T extends Schema> {
211
212
} {
212
213
const createEntity = ( span : 'hour' | 'day' ) : EntitySchema => new EntitySchema ( {
213
214
name :
215
+ span === 'hour' ? `ChartX${ name } ` :
216
+ span === 'day' ? `ChartDayX${ name } ` :
217
+ new Error ( 'not happen' ) as never ,
218
+ tableName :
214
219
span === 'hour' ? `__chart__${ camelToSnake ( name ) } ` :
215
220
span === 'day' ? `__chart_day__${ camelToSnake ( name ) } ` :
216
221
new Error ( 'not happen' ) as never ,
@@ -271,8 +276,8 @@ export default abstract class Chart<T extends Schema> {
271
276
this . logger = logger ;
272
277
273
278
const { hour, day } = Chart . schemaToEntity ( name , schema , grouped ) ;
274
- this . repositoryForHour = db . getRepository < { id : number ; group ?: string | null ; date : number ; } > ( hour ) ;
275
- this . repositoryForDay = db . getRepository < { id : number ; group ?: string | null ; date : number ; } > ( day ) ;
279
+ this . repositoryForHour = db . getRepository < { id : number ; group ?: string | null ; date : number ; } > ( hour ) . extend ( miRepository as MiRepository < { id : number ; group ?: string | null ; date : number ; } > ) ;
280
+ this . repositoryForDay = db . getRepository < { id : number ; group ?: string | null ; date : number ; } > ( day ) . extend ( miRepository as MiRepository < { id : number ; group ?: string | null ; date : number ; } > ) ;
276
281
}
277
282
278
283
@bindThis
@@ -387,11 +392,11 @@ export default abstract class Chart<T extends Schema> {
387
392
}
388
393
389
394
// 新規ログ挿入
390
- log = await repository . insert ( {
395
+ log = await repository . insertOne ( {
391
396
date : date ,
392
397
...( group ? { group : group } : { } ) ,
393
398
...columns ,
394
- } ) . then ( x => repository . findOneByOrFail ( x . identifiers [ 0 ] ) ) as RawRecord < T > ;
399
+ } ) as RawRecord < T > ;
395
400
396
401
this . logger . info ( `${ this . name + ( group ? `:${ group } ` : '' ) } (${ span } ): New commit created` ) ;
397
402
0 commit comments