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