Skip to content

Commit e9efdba

Browse files
committed
fix indexing date and time
1 parent ba2c954 commit e9efdba

File tree

4 files changed

+27
-24
lines changed

4 files changed

+27
-24
lines changed

Diff for: src/data-indexer/data-indexer.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -413,13 +413,18 @@ export class DataIndexer {
413413
if (field.type === 'datetime') {
414414

415415
_.set(item, f, _.has(item, f) && _.get(item, f) !== null
416-
? dayjs(Number(_.get(item, f))).tz(timezone).format()
416+
? dayjs(Number(_.get(item, f))).tz(timezone).format(formatValues ? 'DD.MM.YYYY hh:mm:ss' : '')
417417
: null )
418418

419419
} else if (field.type === 'date') {
420420
_.set(item, f, _.has(item, f) && _.get(item, f) !== null
421-
? dayjs(Number(_.get(item, f))).tz(timezone).format(formatValues ? 'DD.MM.YYYY' : '')
421+
? dayjs(String(_.get(item, f)), 'YYYYMMDD').format(formatValues ? 'DD.MM.YYYY' : 'YYYY-MM-DD')
422422
: null )
423+
} else if (field.type === 'time') {
424+
_.set(item, f, _.has(item, f) && _.get(item, f) !== null
425+
? numeral(Number(_.get(item, f))).format('00:00:00')
426+
: null )
427+
423428
} else if (formatValues && field.type === 'number' && !field.isMultiple) {
424429

425430
_.set(item, f, _.has(item, f) && _.get(item, f) !== null

Diff for: src/data-indexer/internal-db.adapter.ts

+12-13
Original file line numberDiff line numberDiff line change
@@ -44,21 +44,20 @@ export class InternalDbAdapter extends IndexerDataAdapter {
4444
val = JSON.parse(val)
4545
} else {
4646
if(field.type === 'datetime') {
47-
val = val ? dayjs(val).utc(false).valueOf() : null
47+
val = val ? dayjs(val).utc().valueOf() : null
4848
} else if (field.type === 'date') {
49-
50-
val = val
51-
? dayjs(val)
52-
.set('hour', 0)
53-
.set('minute', 0)
54-
.set('second', 0)
55-
.set('millisecond', 0)
56-
.utc(false)
57-
.valueOf()
58-
: null
59-
49+
if (val) {
50+
let d = dayjs.tz(val.slice(0,10), 'YYYY-MM-DD', 'UTC')
51+
val = Number(d.format('YYYYMMDD'))
52+
} else
53+
val = null
54+
} else if (field.type === 'time') {
55+
if (val) {
56+
let s = val.split(':')
57+
val = s.length === 3 ? Number(s[0]) * 60 * 60 + Number(s[1]) * 60 + Number(s[2]) : null
58+
}
6059
} else if (field.type === 'number') {
61-
val = Number(val)
60+
val = val ? Number(val) : null
6261
} else if (field.type === 'string' ) {
6362
val = val !== undefined && val !== null ? String(val) : ""
6463
}

Diff for: src/data-indexer/internal.adapter.ts

+7-9
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,14 @@ export class InternalAdapter extends IndexerDataAdapter {
5252
val = val ? dayjs(val).utc(true).valueOf() : null
5353
} else if (field.type === 'date') {
5454
console.log(val)
55-
val = val ? dayjs(val)
56-
.set('hour', 0)
57-
.set('minute', 0)
58-
.set('second', 0)
59-
.set('millisecond', 0)
60-
.utc()
61-
.valueOf()
62-
: null
6355

64-
console.log(val, new Date(val))
56+
if (val) {
57+
let d = dayjs.tz(val.slice(0,10), 'YYYY-MM-DD', 'UTC')
58+
val = Number(d.format('YYYYMMDD'))
59+
} else
60+
val = null
61+
62+
console.log(val)
6563

6664
}
6765
if (field.type === 'number') {

Diff for: src/datasources/datasourceV2.service.ts

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ export class DataSourceV2Service {
4747
this.indexer = new DataIndexer(configService, datasource)
4848
this.timezone = configService.get<string>('DEFAULT_TIMEZONE') || 'Europe/Moscow'
4949
this.indexer.setTimezone(this.timezone)
50+
console.log("timezone", this.timezone)
5051
}
5152

5253
private readonly logger = new Logger(DataSourceV2Service.name);

0 commit comments

Comments
 (0)