From 74fdefe65a749a3017caa3b348bb3c43d923cba4 Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Fri, 27 Jun 2025 13:39:47 +0300 Subject: [PATCH] orderUpdate: add status info --- apps/web/config/env.ts | 1 + packages/graphql/api/notify.ts | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/apps/web/config/env.ts b/apps/web/config/env.ts index 4c88620..41be4e5 100644 --- a/apps/web/config/env.ts +++ b/apps/web/config/env.ts @@ -3,5 +3,6 @@ import { z } from 'zod'; export const envSchema = z.object({ __DEV_TELEGRAM_ID: z.string(), + BOT_TOKEN: z.string(), }); export const env = envSchema.parse(process.env); diff --git a/packages/graphql/api/notify.ts b/packages/graphql/api/notify.ts index b04f9f2..089471f 100644 --- a/packages/graphql/api/notify.ts +++ b/packages/graphql/api/notify.ts @@ -8,6 +8,15 @@ import { SlotsService } from './slots'; import { type VariablesOf } from '@graphql-typed-document-node/core'; import { formatDate, formatTime, sumTime } from '@repo/utils/datetime-format'; +const STATE_MAP = { + approved: 'Одобрено', + cancelled: 'Отменено', + cancelling: 'Отменяется', + completed: 'Завершено', + created: 'Создано', + scheduled: 'Запланировано', + unknown: 'Неизвестно', +}; export class NotifyService extends BaseService { async orderCreated(variables: { input: Omit['input'], 'time_end'>; @@ -58,19 +67,20 @@ export class NotifyService extends BaseService { const master = slot?.master; const client = order.client; + const orderStateString = STATE_MAP[order.state || 'unknown']; const slotDate = formatDate(slot?.date).user(); const timeStartString = formatTime(order.time_start ?? '').user(); const timeEndString = formatTime(order.time_end ?? '').user(); // Мастеру if (master?.telegramId) { - const message = `✏️ Запись изменена!\nДата: ${slotDate}\nВремя: ${timeStartString} - ${timeEndString}\nКлиент: ${client?.name ?? '-'}\nУслуга: ${service?.name ?? '-'}`; + const message = `✏️ Запись изменена!\nДата: ${slotDate}\nВремя: ${timeStartString} - ${timeEndString}\nКлиент: ${client?.name ?? '-'}\nУслуга: ${service?.name ?? '-'}\nСтатус: ${orderStateString}`; await notifyByTelegramId(String(master.telegramId), message); } // Клиенту if (client?.telegramId) { - const message = `✏️ Запись изменена!\nДата: ${slotDate}\nВремя: ${timeStartString} - ${timeEndString}\nМастер: ${master?.name ?? '-'}\nУслуга: ${service?.name ?? '-'}`; + const message = `✏️ Запись изменена!\nДата: ${slotDate}\nВремя: ${timeStartString} - ${timeEndString}\nМастер: ${master?.name ?? '-'}\nУслуга: ${service?.name ?? '-'}\nСтатус: ${orderStateString}`; await notifyByTelegramId(String(client.telegramId), message); } }