{"version":3,"file":"admin-settings.mjs","sources":["../../../server/src/controllers/admin-settings.ts"],"sourcesContent":["import type { Context } from 'koa';\n\nimport { getService } from '../utils';\nimport { ACTIONS, FILE_MODEL_UID } from '../constants';\nimport validateSettings from './validation/admin/settings';\n\nexport default {\n  async updateSettings(ctx: Context) {\n    const {\n      request: { body },\n      state: { userAbility },\n    } = ctx;\n\n    if (userAbility.cannot(ACTIONS.readSettings, FILE_MODEL_UID)) {\n      return ctx.forbidden();\n    }\n\n    const data = await validateSettings(body);\n\n    await getService('upload').setSettings(data);\n\n    ctx.body = { data };\n  },\n\n  async getSettings(ctx: Context) {\n    const {\n      state: { userAbility },\n    } = ctx;\n\n    if (userAbility.cannot(ACTIONS.readSettings, FILE_MODEL_UID)) {\n      return ctx.forbidden();\n    }\n\n    const data = await getService('upload').getSettings();\n\n    ctx.body = { data };\n  },\n};\n"],"names":["updateSettings","ctx","request","body","state","userAbility","cannot","ACTIONS","readSettings","FILE_MODEL_UID","forbidden","data","validateSettings","getService","setSettings","getSettings"],"mappings":";;;;AAMA,oBAAe;AACb,IAAA,MAAMA,gBAAeC,GAAY,EAAA;QAC/B,MAAM,EACJC,OAAAA,EAAS,EAAEC,IAAI,EAAE,EACjBC,KAAAA,EAAO,EAAEC,WAAW,EAAE,EACvB,GAAGJ,GAAAA;AAEJ,QAAA,IAAII,YAAYC,MAAM,CAACC,OAAAA,CAAQC,YAAY,EAAEC,cAAAA,CAAAA,EAAiB;AAC5D,YAAA,OAAOR,IAAIS,SAAS,EAAA;AACtB,QAAA;QAEA,MAAMC,IAAAA,GAAO,MAAMC,gBAAAA,CAAiBT,IAAAA,CAAAA;QAEpC,MAAMU,UAAAA,CAAW,QAAA,CAAA,CAAUC,WAAW,CAACH,IAAAA,CAAAA;AAEvCV,QAAAA,GAAAA,CAAIE,IAAI,GAAG;AAAEQ,YAAAA;AAAK,SAAA;AACpB,IAAA,CAAA;AAEA,IAAA,MAAMI,aAAYd,GAAY,EAAA;AAC5B,QAAA,MAAM,EACJG,KAAAA,EAAO,EAAEC,WAAW,EAAE,EACvB,GAAGJ,GAAAA;AAEJ,QAAA,IAAII,YAAYC,MAAM,CAACC,OAAAA,CAAQC,YAAY,EAAEC,cAAAA,CAAAA,EAAiB;AAC5D,YAAA,OAAOR,IAAIS,SAAS,EAAA;AACtB,QAAA;AAEA,QAAA,MAAMC,IAAAA,GAAO,MAAME,UAAAA,CAAW,QAAA,CAAA,CAAUE,WAAW,EAAA;AAEnDd,QAAAA,GAAAA,CAAIE,IAAI,GAAG;AAAEQ,YAAAA;AAAK,SAAA;AACpB,IAAA;AACF,CAAA;;;;"}