{"version":3,"file":"homepage.mjs","sources":["../../../../server/src/homepage/controllers/homepage.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { z, errors } from '@strapi/utils';\nimport type { GetRecentDocuments, GetCountDocuments } from '../../../../shared/contracts/homepage';\n\nconst createHomepageController = () => {\n  const homepageService = strapi.plugin('content-manager').service('homepage');\n\n  const recentDocumentParamsSchema = z.object({\n    action: z.enum(['update', 'publish']),\n  });\n\n  return {\n    async getRecentDocuments(ctx): Promise<GetRecentDocuments.Response> {\n      let action;\n\n      try {\n        action = recentDocumentParamsSchema.parse(ctx.query).action;\n      } catch (error) {\n        if (error instanceof z.ZodError) {\n          throw new errors.ValidationError(error.issues[0]?.message ?? 'Validation error');\n        }\n        throw error;\n      }\n\n      if (action === 'publish') {\n        return { data: await homepageService.getRecentlyPublishedDocuments() };\n      }\n\n      return { data: await homepageService.getRecentlyUpdatedDocuments() };\n    },\n    async getCountDocuments(): Promise<GetCountDocuments.Response> {\n      return { data: await homepageService.getCountDocuments() };\n    },\n  } satisfies Core.Controller;\n};\n\nexport { createHomepageController };\n"],"names":["createHomepageController","homepageService","strapi","plugin","service","recentDocumentParamsSchema","z","object","action","enum","getRecentDocuments","ctx","parse","query","error","ZodError","errors","ValidationError","issues","message","data","getRecentlyPublishedDocuments","getRecentlyUpdatedDocuments","getCountDocuments"],"mappings":";;AAIA,MAAMA,wBAAAA,GAA2B,IAAA;AAC/B,IAAA,MAAMC,kBAAkBC,MAAAA,CAAOC,MAAM,CAAC,iBAAA,CAAA,CAAmBC,OAAO,CAAC,UAAA,CAAA;IAEjE,MAAMC,0BAAAA,GAA6BC,CAAAA,CAAEC,MAAM,CAAC;QAC1CC,MAAAA,EAAQF,CAAAA,CAAEG,IAAI,CAAC;AAAC,YAAA,QAAA;AAAU,YAAA;AAAU,SAAA;AACtC,KAAA,CAAA;IAEA,OAAO;AACL,QAAA,MAAMC,oBAAmBC,GAAG,EAAA;YAC1B,IAAIH,MAAAA;YAEJ,IAAI;AACFA,gBAAAA,MAAAA,GAASH,2BAA2BO,KAAK,CAACD,GAAAA,CAAIE,KAAK,EAAEL,MAAM;AAC7D,YAAA,CAAA,CAAE,OAAOM,KAAAA,EAAO;gBACd,IAAIA,KAAAA,YAAiBR,CAAAA,CAAES,QAAQ,EAAE;oBAC/B,MAAM,IAAIC,OAAOC,eAAe,CAACH,MAAMI,MAAM,CAAC,CAAA,CAAE,EAAEC,OAAAA,IAAW,kBAAA,CAAA;AAC/D,gBAAA;gBACA,MAAML,KAAAA;AACR,YAAA;AAEA,YAAA,IAAIN,WAAW,SAAA,EAAW;gBACxB,OAAO;oBAAEY,IAAAA,EAAM,MAAMnB,gBAAgBoB,6BAA6B;AAAG,iBAAA;AACvE,YAAA;YAEA,OAAO;gBAAED,IAAAA,EAAM,MAAMnB,gBAAgBqB,2BAA2B;AAAG,aAAA;AACrE,QAAA,CAAA;QACA,MAAMC,iBAAAA,CAAAA,GAAAA;YACJ,OAAO;gBAAEH,IAAAA,EAAM,MAAMnB,gBAAgBsB,iBAAiB;AAAG,aAAA;AAC3D,QAAA;AACF,KAAA;AACF;;;;"}