From 7a8fc49d86eb42d66fd0486c0a42a8ce74ae2a89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20S=C3=B3jko?= Date: Thu, 28 Dec 2023 10:16:20 +0100 Subject: [PATCH] chore: normalize creation and update timestamps on payloads (#2731) --- .../Payload/Implementations/PurePayload.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/models/src/Domain/Abstract/Payload/Implementations/PurePayload.ts b/packages/models/src/Domain/Abstract/Payload/Implementations/PurePayload.ts index 373f07ef3..b2fc5d474 100644 --- a/packages/models/src/Domain/Abstract/Payload/Implementations/PurePayload.ts +++ b/packages/models/src/Domain/Abstract/Payload/Implementations/PurePayload.ts @@ -62,12 +62,22 @@ export abstract class PurePayload, C extends ItemCo this.dirty = rawPayload.dirty this.duplicate_of = rawPayload.duplicate_of - this.created_at = new Date(rawPayload.created_at || new Date()) this.updated_at = new Date(rawPayload.updated_at || 0) - - this.created_at_timestamp = rawPayload.created_at_timestamp || 0 this.updated_at_timestamp = rawPayload.updated_at_timestamp || 0 + if (this.updated_at_timestamp < 0) { + this.updated_at_timestamp = 0 + this.updated_at = new Date(0) + } + + this.created_at = new Date(rawPayload.created_at || new Date()) + this.created_at_timestamp = rawPayload.created_at_timestamp || 0 + + if (this.created_at_timestamp < 0) { + this.created_at_timestamp = this.updated_at_timestamp + this.created_at = this.updated_at + } + this.lastSyncBegan = rawPayload.lastSyncBegan ? new Date(rawPayload.lastSyncBegan) : undefined this.lastSyncEnd = rawPayload.lastSyncEnd ? new Date(rawPayload.lastSyncEnd) : undefined