diff options
| author | zwlucas <lucas.fariamo08@gmail.com> | 2026-07-25 21:23:29 +0000 |
|---|---|---|
| committer | zwlucas <lucas.fariamo08@gmail.com> | 2026-07-25 21:23:29 +0000 |
| commit | ef55d9bb24430610b60c1b77821307cd72c08c55 (patch) | |
| tree | e6935a810b34370b0a4c821e55f6397aac50c832 /api/src/modules/settings/settings.repository.ts | |
| download | helpdesk-master.tar.gz helpdesk-master.zip | |
Signed-off-by: zwlucas <lucas.fariamo08@gmail.com>
Diffstat (limited to 'api/src/modules/settings/settings.repository.ts')
| -rw-r--r-- | api/src/modules/settings/settings.repository.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/api/src/modules/settings/settings.repository.ts b/api/src/modules/settings/settings.repository.ts new file mode 100644 index 0000000..a3d38ba --- /dev/null +++ b/api/src/modules/settings/settings.repository.ts @@ -0,0 +1,26 @@ +import type { Database } from '@/db/connection.js'; +import { systemSettings } from '@/db/schema.js'; + +export async function getSettings(db: Database) { + let [settings] = await db.select().from(systemSettings).limit(1); + + if (!settings) { + [settings] = await db.insert(systemSettings).values({ allowRequesterChat: true }).returning(); + } + + return settings; +} + +export async function updateSettings(db: Database, data: { allowRequesterChat: boolean }) { + let [settings] = await db.select().from(systemSettings).limit(1); + + if (!settings) { + [settings] = await db.insert(systemSettings).values(data).returning(); + } else { + [settings] = await db.update(systemSettings) + .set({ allowRequesterChat: data.allowRequesterChat, updatedAt: new Date().toISOString() }) + .returning(); + } + + return settings; +} |