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.controller.ts | |
| download | helpdesk-ef55d9bb24430610b60c1b77821307cd72c08c55.tar.gz helpdesk-ef55d9bb24430610b60c1b77821307cd72c08c55.zip | |
Signed-off-by: zwlucas <lucas.fariamo08@gmail.com>
Diffstat (limited to 'api/src/modules/settings/settings.controller.ts')
| -rw-r--r-- | api/src/modules/settings/settings.controller.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/api/src/modules/settings/settings.controller.ts b/api/src/modules/settings/settings.controller.ts new file mode 100644 index 0000000..479f476 --- /dev/null +++ b/api/src/modules/settings/settings.controller.ts @@ -0,0 +1,24 @@ +import type { FastifyReply, FastifyRequest } from 'fastify'; +import { getSettings, updateSettings } from './settings.repository.js'; +import type { UpdateSettingsBody } from './settings.schema.js'; + +export async function getSettingsHandler( + request: FastifyRequest, + reply: FastifyReply, +) { + const settings = await getSettings(request.server.db); + return reply.send(settings); +} + +export async function updateSettingsHandler( + request: FastifyRequest<{ Body: UpdateSettingsBody }>, + reply: FastifyReply, +) { + // Apenas admins podem atualizar as configurações globais + if (request.user?.role !== 'admin') { + return reply.forbidden('Apenas administradores podem alterar configurações do sistema.'); + } + + const updated = await updateSettings(request.server.db, request.body); + return reply.send(updated); +} |