diff --git a/apps/infoalloggi/src/server/api/routers/comunicazioni.ts b/apps/infoalloggi/src/server/api/routers/comunicazioni.ts index c84c67f..17a0c0d 100644 --- a/apps/infoalloggi/src/server/api/routers/comunicazioni.ts +++ b/apps/infoalloggi/src/server/api/routers/comunicazioni.ts @@ -123,7 +123,9 @@ export const comunicazioniRouter = createTRPCRouter({ .selectFrom("users") .select("email") .where("id", "=", input.userId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow(() => { + throw new Error(`User not found - userId: ${input.userId}`); + }); const annuncio = await db .selectFrom("annunci") .select([ @@ -137,7 +139,10 @@ export const comunicazioniRouter = createTRPCRouter({ "numero", ]) .where("id", "=", input.annuncioId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => + new Error(`Annuncio not found - annuncioId: ${input.annuncioId}`), + ); await NewMail({ template: { mailType: "emailContattiConScheda", diff --git a/apps/infoalloggi/src/server/api/routers/messages_sse.ts b/apps/infoalloggi/src/server/api/routers/messages_sse.ts index e60f5f7..b7a265a 100644 --- a/apps/infoalloggi/src/server/api/routers/messages_sse.ts +++ b/apps/infoalloggi/src/server/api/routers/messages_sse.ts @@ -39,7 +39,9 @@ export const messagesSSERouter = createTRPCRouter({ time: new Date(), }) .returningAll() - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error("Failed to insert message into database"), + ); const userInfos = await db .selectFrom("users") @@ -193,7 +195,9 @@ export const messagesSSERouter = createTRPCRouter({ .selectFrom("messages") .selectAll() .where("messageid", "=", lastEventId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow(() => { + throw new Error(`Message not found - messageId: ${lastEventId}`); + }); return messageById?.time ?? null; })(); diff --git a/apps/infoalloggi/src/server/controllers/annunci.controller.ts b/apps/infoalloggi/src/server/controllers/annunci.controller.ts index f06fd36..ce2b689 100644 --- a/apps/infoalloggi/src/server/controllers/annunci.controller.ts +++ b/apps/infoalloggi/src/server/controllers/annunci.controller.ts @@ -440,7 +440,9 @@ export const editAnnuncioHandler = async ({ }) .where("id", "=", annuncioId) .returning("codice") - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow(() => { + throw new Error(`Annuncio not found - annuncioId: ${annuncioId}`); + }); await revalidate(`/annuncio/${annuncio.codice}`); return true; } catch (e) { @@ -485,7 +487,9 @@ export const getProprietarioDataHandler = async ({ "locatore", ]) .where("id", "=", annuncioId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow(() => { + throw new Error(`Annuncio not found - annuncioId: ${annuncioId}`); + }); return { opened_at: opened_at.open_contatti_at, propData }; } catch (e) { diff --git a/apps/infoalloggi/src/server/controllers/chat.controller.ts b/apps/infoalloggi/src/server/controllers/chat.controller.ts index cb3b82d..6b61017 100644 --- a/apps/infoalloggi/src/server/controllers/chat.controller.ts +++ b/apps/infoalloggi/src/server/controllers/chat.controller.ts @@ -167,7 +167,9 @@ export const getUserByChatHandler = async ({ .selectFrom("chats") .select(["chatid", "created_at", "user_ref", getUserInfo()]) .where("chats.chatid", "=", chatId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Chat not found - chatId: ${chatId}`), + ); if (!chat.userinfo) { throw new TRPCError({ code: "NOT_FOUND" }); diff --git a/apps/infoalloggi/src/server/controllers/ordini.controller.ts b/apps/infoalloggi/src/server/controllers/ordini.controller.ts index 0c210b9..0277a7d 100644 --- a/apps/infoalloggi/src/server/controllers/ordini.controller.ts +++ b/apps/infoalloggi/src/server/controllers/ordini.controller.ts @@ -57,7 +57,9 @@ export const getOrdineById = async (ordineId: OrdiniOrdineId) => { ]) .where("ordini.ordine_id", "=", ordineId) .orderBy("created_at", "desc") - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Ordine not found - ordineId: ${ordineId}`), + ); } catch (e) { throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", @@ -73,13 +75,15 @@ export const createOrdine = async (data: NewOrdini) => { .selectFrom("prezziario") .select(["prezzo_cent", "nome_it"]) .where("prezziario.idprezziario", "=", data.packid) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Prezziario not found - packid: ${data.packid}`), + ); const order = await tx .insertInto("ordini") .values(data) .returningAll() - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow(() => new Error("Failed to create ordine")); await tx .insertInto("payments") .values({ @@ -108,10 +112,7 @@ export const createOrdine = async (data: NewOrdini) => { export const removeOrder = async (ordineId: OrdiniOrdineId) => { try { - await db - .deleteFrom("ordini") - .where("ordine_id", "=", ordineId) - .executeTakeFirstOrThrow(); + await db.deleteFrom("ordini").where("ordine_id", "=", ordineId).execute(); return true; } catch (e) { throw new TRPCError({ @@ -134,7 +135,9 @@ export const updateOrder = async ({ .set(data) .where("ordine_id", "=", ordineId) .returningAll() - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Failed to update ordine - ordineId: ${ordineId}`), + ); return updated; } catch (e) { throw new TRPCError({ diff --git a/apps/infoalloggi/src/server/controllers/servizio.controller.ts b/apps/infoalloggi/src/server/controllers/servizio.controller.ts index 1f28c8b..6d51229 100644 --- a/apps/infoalloggi/src/server/controllers/servizio.controller.ts +++ b/apps/infoalloggi/src/server/controllers/servizio.controller.ts @@ -61,7 +61,9 @@ export const addServizio = async (data: NewServizio) => { .insertInto("servizio") .values(data) .returningAll() - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error("Failed to insert new servizio into database"), + ); } catch (e) { throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", @@ -76,7 +78,9 @@ export const getServizioById = async (servizioId: ServizioServizioId) => { .selectFrom("servizio") .selectAll() .where("servizio_id", "=", servizioId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Servizio not found - servizioId: ${servizioId}`), + ); } catch (e) { throw new TRPCError({ code: "NOT_FOUND", @@ -98,7 +102,10 @@ export const updateServizio = async ({ .set(data) .where("servizio_id", "=", servizioId) .returningAll() - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => + new Error(`Failed to update servizio - servizioId: ${servizioId}`), + ); } catch (e) { throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", @@ -112,7 +119,7 @@ export const deleteServizio = async (servizioId: ServizioServizioId) => { await db .deleteFrom("servizio") .where("servizio_id", "=", servizioId) - .executeTakeFirstOrThrow(); + .execute(); return true; } catch (e) { throw new TRPCError({ @@ -172,7 +179,9 @@ export const getPreOnboardData = async (servizioId: ServizioServizioId) => { "users.telefono", ]) .where("id", "=", servizio.user_id) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`User not found - userId: ${servizio.user_id}`), + ); if (!userData) { throw new TRPCError({ @@ -217,7 +226,9 @@ export const getDataPerAcquisto = async (servizioId: ServizioServizioId) => { "users.telefono", ]) .where("id", "=", servizio.user_id) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`User not found - userId: ${servizio.user_id}`), + ); if (!userData) { throw new TRPCError({ @@ -263,7 +274,7 @@ export const postAcquistoDataHandler = async ({ .updateTable("users") .set(user) .where("id", "=", userId) - .executeTakeFirstOrThrow(); + .execute(); const { idanagrafica, ...rest } = anagrafica; if (idanagrafica) { @@ -275,7 +286,12 @@ export const postAcquistoDataHandler = async ({ }) .where("idanagrafica", "=", idanagrafica) .returningAll() - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => + new Error( + `Failed to update users_anagrafica - idanagrafica: ${idanagrafica}`, + ), + ); } else { await tx .insertInto("users_anagrafica") @@ -284,7 +300,9 @@ export const postAcquistoDataHandler = async ({ userid: userId, }) .returningAll() - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error("Failed to insert new users_anagrafica"), + ); } // Update servizio data return await tx @@ -292,7 +310,10 @@ export const postAcquistoDataHandler = async ({ .set(servizio) .where("servizio_id", "=", servizioId) .returningAll() - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => + new Error(`Failed to update servizio - servizioId: ${servizioId}`), + ); }); if (servizioData.skipPayment) { @@ -374,7 +395,7 @@ export const postAcquistoDataHandler = async ({ userid: userId, }) .returning("ordine_id") - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow(() => new Error("Failed to create ordine")); return { ordineIdForPayment: order.ordine_id }; } catch (e) { @@ -409,7 +430,9 @@ export const setupSaldoServizio = async ({ .selectFrom("servizio") .selectAll() .where("servizio_id", "=", servizioId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Servizio not found - servizioId: ${servizioId}`), + ); if ( !servizio.isOkAcconto || @@ -428,7 +451,12 @@ export const setupSaldoServizio = async ({ .selectAll() .where("servizio_id", "=", servizioId) .where("annunci_id", "=", annuncioId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => + new Error( + `Annuncio not found - servizioId: ${servizioId}, annunciId: ${annuncioId}`, + ), + ); if ( annuncio.user_confirmed_at == null || annuncio.accettato_conferma_at == null @@ -498,7 +526,7 @@ export const setupSaldoServizio = async ({ userid: servizio.user_id, }) .returning("ordine_id") - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow(() => new Error("Failed to create ordine")); return order.ordine_id; }); @@ -633,7 +661,9 @@ export const setupSaldoConsulenzaServizio = async ({ .selectFrom("servizio") .selectAll() .where("servizio_id", "=", servizioId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Servizio not found - servizioId: ${servizioId}`), + ); if ( !servizio.isOkAcconto || @@ -653,7 +683,12 @@ export const setupSaldoConsulenzaServizio = async ({ .selectAll() .where("servizio_id", "=", servizioId) .where("annunci_id", "=", annuncioId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => + new Error( + `Annuncio not found - servizioId: ${servizioId}, annunciId: ${annuncioId}`, + ), + ); if ( annuncio.user_confirmed_at == null || annuncio.accettato_conferma_at == null || @@ -706,7 +741,7 @@ export const setupSaldoConsulenzaServizio = async ({ userid: servizio.user_id, }) .returning("ordine_id") - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow(() => new Error("Failed to create ordine")); return order.ordine_id; }); @@ -1133,7 +1168,12 @@ export const getServizioAnnuncio = async ({ .selectAll() .where("servizio_id", "=", servizioId) .where("annunci_id", "=", annuncioId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => + new Error( + `Servizio not found - servizioId: ${servizioId}, annunciId: ${annuncioId}`, + ), + ); } catch (e) { throw new TRPCError({ code: "NOT_FOUND", @@ -1422,7 +1462,7 @@ export const interruzioneServizio = async (servizioId: ServizioServizioId) => { isInterrotto: true, }) .where("servizio_id", "=", servizioId) - .executeTakeFirstOrThrow(); + .execute(); // NOTIFICHE EMAIL INTERRUZIONE SERVIZIO const utente = await getUser({ db, userId: servizio.user_id }); @@ -1549,7 +1589,7 @@ export const userSendConfermaIntent = async ({ }) .where("servizio_id", "=", servizioId) .where("annunci_id", "=", annuncioId) - .executeTakeFirstOrThrow(); + .execute(); // NOTIFICHE EMAIL CONFERMA IMMOBILE @@ -1559,7 +1599,12 @@ export const userSendConfermaIntent = async ({ .selectFrom("annunci") .select("codice") .where("id", "=", annuncioId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => + new Error( + `Annuncio not found - servizioId: ${servizioId}, annunciId: ${annuncioId}`, + ), + ); await NewMail({ template: { @@ -1751,13 +1796,17 @@ export const getServizioPagamentoData = async (ordineId: OrdiniOrdineId) => { .selectFrom("ordini") .selectAll() .where("ordine_id", "=", ordineId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Ordine not found - ordineId: ${ordineId}`), + ); const pack = await db .selectFrom("prezziario") .selectAll() .where("idprezziario", "=", ordine.packid) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Prezziario not found - packid: ${ordine.packid}`), + ); const payment = await db .insertInto("payments") @@ -1769,13 +1818,18 @@ export const getServizioPagamentoData = async (ordineId: OrdiniOrdineId) => { userid: ordine.userid, }) .returningAll() - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Failed to create payment - ordineId: ${ordineId}`), + ); const servizio = await db .selectFrom("servizio") .selectAll() .where("servizio.servizio_id", "=", payment.servizio_id) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => + new Error(`Servizio not found - servizioId: ${payment.servizio_id}`), + ); if (!servizio) { throw new TRPCError({ @@ -1808,7 +1862,9 @@ export const getPagamentoDataForCheckout = async (paymentId: PaymentsId) => { .innerJoin("prezziario", "prezziario.idprezziario", "ordini.packid") .select(["prezziario.nome_it", "prezziario.desc_it"]) .where("payments.id", "=", paymentId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Payment not found - paymentId: ${paymentId}`), + ); } catch (e) { throw new TRPCError({ code: "NOT_FOUND", @@ -1848,7 +1904,9 @@ export const updatePagamento = async ({ .set(data) .where("id", "=", paymentId) .returningAll() - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Failed to update pagamento - paymentId: ${paymentId}`), + ); } catch (e) { throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", @@ -2065,7 +2123,9 @@ export const getOrdineRicevutaData = async ({ .where("payments.ordine_id", "=", ordineId) .where("payments.paymentstatus", "=", PaymentStatusEnum.success) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Ordine not found - ordineId: ${ordineId}`), + ); if (!data || !data.user || !data.anagrafica) { throw new TRPCError({ diff --git a/apps/infoalloggi/src/server/controllers/storage.controller.ts b/apps/infoalloggi/src/server/controllers/storage.controller.ts index f8b9773..90a2cb2 100644 --- a/apps/infoalloggi/src/server/controllers/storage.controller.ts +++ b/apps/infoalloggi/src/server/controllers/storage.controller.ts @@ -96,7 +96,12 @@ export const getStorageIdFromUserStorageId = async ({ .selectFrom("users_storage") .select("storageId") .where("user_storage_id", "=", userStorageId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => + new Error( + `User storage entry not found - userStorageId: ${userStorageId}`, + ), + ); return storage.storageId; } catch (e) { throw new TRPCError({ diff --git a/apps/infoalloggi/src/server/controllers/stripe.controller.ts b/apps/infoalloggi/src/server/controllers/stripe.controller.ts index d15c8e0..6a37e4d 100644 --- a/apps/infoalloggi/src/server/controllers/stripe.controller.ts +++ b/apps/infoalloggi/src/server/controllers/stripe.controller.ts @@ -9,10 +9,6 @@ import TipologiaPosizioneEnum from "~/schemas/public/TipologiaPosizioneEnum"; import { db } from "~/server/db"; import { NewMail } from "~/server/services/mailer"; import { getUser } from "~/server/services/user.service"; -import { - genPdfCondizioniBase64, - genPdfRicevutaCortesiaBase64, -} from "../services/puppeteer.service"; import { addEventToQueue } from "./event_queue.controller"; export const stripeHealthCheck = async () => { @@ -50,7 +46,9 @@ export const createIntentHandler = async ({ .innerJoin("prezziario", "prezziario.idprezziario", "ordini.packid") .select(["prezziario.nome_it", "prezziario.desc_it"]) .where("payments.id", "=", paymentId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Payment not found - paymentId: ${paymentId}`), + ); const paymentIntent = await stripe.paymentIntents.create({ amount: payment.amount_cent, @@ -130,13 +128,19 @@ export const whIntentSucceededHandler = async ({ .where("intent_id", "=", pIntentId) .where("payments.id", "=", paymentId) .returning(["servizio_id", "ordine_id"]) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow(() => { + throw new Error( + `Payment not found - intent_id: ${pIntentId}, paymentId: ${paymentId}`, + ); + }); const ordine = await trx .selectFrom("ordini") .selectAll("ordini") .where("ordine_id", "=", payment.ordine_id) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow(() => { + throw new Error(`Ordine not found - ordine_id: ${payment.ordine_id}`); + }); await trx .updateTable("ordini") @@ -150,12 +154,17 @@ export const whIntentSucceededHandler = async ({ .selectFrom("servizio") .select("servizio.tipologia") .where("servizio_id", "=", payment.servizio_id) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow(() => { + throw new Error( + `Servizio not found - servizio_id: ${payment.servizio_id}`, + ); + }); const utente = await getUser({ db: trx, userId: ordine.userid, }); + const lock_expires = new Date(Date.now() + 60 * 1000); // Lock for 1 minute switch (ordine.type) { case OrderTypeEnum.Acconto: @@ -168,7 +177,6 @@ export const whIntentSucceededHandler = async ({ }) .execute(); - //TODO inserire gli allegati solo se si ha il pdf generato await addEventToQueue({ data: { tipo: "email", @@ -183,9 +191,7 @@ export const whIntentSucceededHandler = async ({ { filename: `condizioni_contrattuali_${ordine.created_at.toISOString()}.pdf`, //ATTENTION: hardcoded condizioni key - // content: await genPdfCondizioniBase64( - // "CONDIZIONI_CERCHI" as TestiEStringheStingaId, - // ), + generate: { type: "condizioni", stringId: "CONDIZIONI_CERCHI" as TestiEStringheStingaId, @@ -195,9 +201,7 @@ export const whIntentSucceededHandler = async ({ }, { filename: `ricevuta_cortesia_${ordine.ordine_id}.pdf`, - // content: await genPdfRicevutaCortesiaBase64( - // ordine.ordine_id, - // ), + generate: { type: "ricevuta_cortesia", ordineId: ordine.ordine_id, @@ -210,7 +214,7 @@ export const whIntentSucceededHandler = async ({ userId: utente.id, }, }, - lock_expires: new Date(Date.now() + 60 * 1000), // Lock for 1 minute + lock_expires, }); //SERVIZIO ATTIVATO @@ -243,9 +247,7 @@ export const whIntentSucceededHandler = async ({ type: "ricevuta_cortesia", ordineId: ordine.ordine_id, }, - // content: await genPdfRicevutaCortesiaBase64( - // ordine.ordine_id, - // ), + encoding: "base64", contentType: "application/pdf", }, @@ -254,7 +256,7 @@ export const whIntentSucceededHandler = async ({ userId: utente.id, }, }, - lock_expires: new Date(Date.now() + 60 * 1000), // Lock for 1 minute + lock_expires, }); //PAGAMENTO SALDO CONFERMATO break; @@ -279,9 +281,7 @@ export const whIntentSucceededHandler = async ({ attachments: [ { filename: `ricevuta_cortesia_${ordine.ordine_id}.pdf`, - // content: await genPdfRicevutaCortesiaBase64( - // ordine.ordine_id, - // ), + generate: { type: "ricevuta_cortesia", ordineId: ordine.ordine_id, @@ -294,7 +294,7 @@ export const whIntentSucceededHandler = async ({ userId: utente.id, }, }, - lock_expires: new Date(Date.now() + 60 * 1000), // Lock for 1 minute + lock_expires, }); //CONSULENZA ATTIVATA break; @@ -313,9 +313,7 @@ export const whIntentSucceededHandler = async ({ attachments: [ { filename: `ricevuta_cortesia_${ordine.ordine_id}.pdf`, - // content: await genPdfRicevutaCortesiaBase64( - // ordine.ordine_id, - // ), + generate: { type: "ricevuta_cortesia", ordineId: ordine.ordine_id, @@ -328,16 +326,25 @@ export const whIntentSucceededHandler = async ({ userId: utente.id, }, }, - lock_expires: new Date(Date.now() + 60 * 1000), // Lock for 1 minute + lock_expires, }); break; } }); return true; } catch (error) { + // Enhanced error logging + console.error("whIntentSucceededHandler error:", { + pIntentId, + paymentId, + pm_id, + error: error instanceof Error ? error.message : String(error), + stack: error instanceof Error ? error.stack : undefined, + }); throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", message: `Error updating payment intent: ${(error as Error).message}`, + cause: error, }); } }; diff --git a/apps/infoalloggi/src/server/services/chat.service.ts b/apps/infoalloggi/src/server/services/chat.service.ts index 4e4824b..17b8235 100644 --- a/apps/infoalloggi/src/server/services/chat.service.ts +++ b/apps/infoalloggi/src/server/services/chat.service.ts @@ -21,7 +21,9 @@ export const getRaw = async ({ .selectFrom("chats") .selectAll() .where("chats.chatid", "=", chatId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Chat not found - chatId: ${chatId}`), + ); } catch (e) { throw new TRPCError({ code: "BAD_REQUEST", @@ -39,7 +41,9 @@ export const add = async ({ db, userId }: { db: Querier; userId: UsersId }) => { user_ref: userId, }) .returningAll() - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Error while creating chat for userId: ${userId}`), + ); return newChat; } catch (e) { throw new TRPCError({ diff --git a/apps/infoalloggi/src/server/services/prezziario.service.ts b/apps/infoalloggi/src/server/services/prezziario.service.ts index d8a0e06..7f11ec4 100644 --- a/apps/infoalloggi/src/server/services/prezziario.service.ts +++ b/apps/infoalloggi/src/server/services/prezziario.service.ts @@ -56,7 +56,9 @@ export const addPrezziario = async ({ .insertInto("prezziario") .values(input) .returningAll() - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Failed to add prezziario with name: ${input.nome_it}`), + ); } catch (error) { throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", @@ -79,7 +81,9 @@ export const updatePrezziario = async ({ .set(input) .where("prezziario.idprezziario", "=", prezziarioId) .returningAll() - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`Failed to update prezziario with id: ${prezziarioId}`), + ); } catch (error) { throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", diff --git a/apps/infoalloggi/src/server/services/user.service.ts b/apps/infoalloggi/src/server/services/user.service.ts index ef7bc44..fd4803d 100644 --- a/apps/infoalloggi/src/server/services/user.service.ts +++ b/apps/infoalloggi/src/server/services/user.service.ts @@ -71,7 +71,9 @@ export const getUser = async ({ .selectFrom("users") .selectAll() .where("id", "=", userId) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`User not found - userId: ${userId}`), + ); } catch (e) { throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", @@ -160,7 +162,9 @@ export const getClientProfilo = async ({ ), ).as("doc_personale_retro"), ]) - .executeTakeFirstOrThrow(); + .executeTakeFirstOrThrow( + () => new Error(`User not found - userId: ${userId}`), + ); } catch (e) { throw new TRPCError({ code: "INTERNAL_SERVER_ERROR",