From 8624c1b8da7e928ac202c19103c4df5f9c33f2d1 Mon Sep 17 00:00:00 2001 From: Andreas Knuth Date: Tue, 5 Aug 2025 18:20:55 -0500 Subject: [PATCH] serialID added --- .../src/listings/commercial-property.service.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/bizmatch-server/src/listings/commercial-property.service.ts b/bizmatch-server/src/listings/commercial-property.service.ts index aab76cb..a462540 100644 --- a/bizmatch-server/src/listings/commercial-property.service.ts +++ b/bizmatch-server/src/listings/commercial-property.service.ts @@ -162,8 +162,22 @@ export class CommercialPropertyService { // #### CREATE ######################################## async createListing(data: CommercialPropertyListing): Promise { try { + // Hole die nächste serialId von der Sequence + const sequenceResult = await this.conn.execute(sql`SELECT nextval('commercials_json_serial_id_seq') AS serialid`); + + // Prüfe, ob ein gültiger Wert zurückgegeben wurde + if (!sequenceResult.rows || !sequenceResult.rows[0] || sequenceResult.rows[0].serialid === undefined) { + throw new Error('Failed to retrieve serialId from sequence commercials_json_serial_id_seq'); + } + + const serialId = Number(sequenceResult.rows[0].serialid); // Konvertiere BIGINT zu Number + if (isNaN(serialId)) { + throw new Error('Invalid serialId received from sequence'); + } + data.created = data.created ? (typeof data.created === 'string' ? new Date(data.created) : data.created) : new Date(); data.updated = new Date(); + data.serialId = Number(serialId); CommercialPropertyListingSchema.parse(data); const { id, email, ...rest } = data; const convertedCommercialPropertyListing = { email, data: rest };