{"version":3,"file":"get-usage.mjs","names":["aiUsageFormatter","formatter"],"sources":["../../../../src/services/ai/usage/get-usage.ts"],"sourcesContent":["import formatter, { aiUsageFormatter } from \"../../../libs/formatters/index.js\";\nimport { AiGenerationsRepository } from \"../../../libs/repositories/index.js\";\nimport type { GetUsageQueryParams } from \"../../../schemas/ai.js\";\nimport type { AiUsage } from \"../../../types/response.js\";\nimport { getBaseUrl } from \"../../../utils/helpers/index.js\";\nimport type { ServiceFn } from \"../../../utils/services/types.js\";\n\nconst getUsage: ServiceFn<\n\t[\n\t\t{\n\t\t\tquery: GetUsageQueryParams;\n\t\t},\n\t],\n\t{\n\t\tdata: AiUsage[];\n\t\tcount: number;\n\t}\n> = async (context, data) => {\n\tconst AiGenerations = new AiGenerationsRepository(\n\t\tcontext.db.client,\n\t\tcontext.config.db,\n\t);\n\n\tconst aiUsageRes = await AiGenerations.selectUsageMultiple({\n\t\tqueryParams: data.query,\n\t\ttenantKey: context.request.tenantKey,\n\t\tvalidation: {\n\t\t\tenabled: true,\n\t\t},\n\t});\n\tif (aiUsageRes.error) return aiUsageRes;\n\n\treturn {\n\t\terror: undefined,\n\t\tdata: {\n\t\t\tdata: aiUsageFormatter.formatMultiple({\n\t\t\t\taiUsage: aiUsageRes.data[0],\n\t\t\t\thost: getBaseUrl(context),\n\t\t\t\ttranslate: context.translate,\n\t\t\t}),\n\t\t\tcount: formatter.parseCount(aiUsageRes.data[1]?.count),\n\t\t},\n\t};\n};\n\nexport default getUsage;\n"],"mappings":"2NAOA,MAAM,EAUF,MAAO,EAAS,IAAS,CAM5B,IAAM,EAAa,MAAM,IALC,EACzB,EAAQ,GAAG,OACX,EAAQ,OAAO,EAGqB,CAAC,CAAC,oBAAoB,CAC1D,YAAa,EAAK,MAClB,UAAW,EAAQ,QAAQ,UAC3B,WAAY,CACX,QAAS,EACV,CACD,CAAC,EAGD,OAFI,EAAW,MAAc,EAEtB,CACN,MAAO,IAAA,GACP,KAAM,CACL,KAAMA,EAAiB,eAAe,CACrC,QAAS,EAAW,KAAK,GACzB,KAAM,EAAW,CAAO,EACxB,UAAW,EAAQ,SACpB,CAAC,EACD,MAAOC,EAAU,WAAW,EAAW,KAAK,EAAE,EAAE,KAAK,CACtD,CACD,CACD"}