{"version":3,"file":"get-single.mjs","names":["emailsFormatter"],"sources":["../../../src/services/email/get-single.ts"],"sourcesContent":["import { resolveEmailData } from \"../../libs/email/storage/index.js\";\nimport renderMustacheTemplate from \"../../libs/email/templates/render-mustache-template.js\";\nimport { emailsFormatter } from \"../../libs/formatters/index.js\";\nimport { copy } from \"../../libs/i18n/index.js\";\nimport { EmailsRepository } from \"../../libs/repositories/index.js\";\nimport type { Email } from \"../../types/response.js\";\nimport type { ServiceFn } from \"../../utils/services/types.js\";\n\nconst getSingle: ServiceFn<\n\t[\n\t\t{\n\t\t\tid: number;\n\t\t\trenderTemplate: boolean;\n\t\t},\n\t],\n\tEmail\n> = async (context, data) => {\n\tconst Emails = new EmailsRepository(context.db.client, context.config.db);\n\n\tconst emailRes = await Emails.selectSingleById({\n\t\tid: data.id,\n\t\ttenantKey: context.request.tenantKey,\n\t\tvalidation: {\n\t\t\tenabled: true,\n\t\t\tdefaultError: {\n\t\t\t\tmessage: copy(\"server:core.email.not.found.message\"),\n\t\t\t\tstatus: 404,\n\t\t\t},\n\t\t},\n\t});\n\tif (emailRes.error) return emailRes;\n\n\tconst previewDataRes = resolveEmailData({\n\t\tdata: emailRes.data.data,\n\t\tstorage: emailRes.data.storage_strategy,\n\t\tencryptionKey: context.config.secrets.encryption,\n\t\tmode: \"preview\",\n\t});\n\tif (previewDataRes.error) return previewDataRes;\n\n\tif (!data.renderTemplate) {\n\t\treturn {\n\t\t\terror: undefined,\n\t\t\tdata: emailsFormatter.formatSingle({\n\t\t\t\temail: emailRes.data,\n\t\t\t\tdata: previewDataRes.data,\n\t\t\t\tresendWindowDays: context.config.email.resendWindowDays,\n\t\t\t}),\n\t\t};\n\t}\n\n\tconst html = await renderMustacheTemplate(context, {\n\t\ttemplate: emailRes.data.template,\n\t\tdata: previewDataRes.data,\n\t});\n\tif (html.error) return html;\n\n\treturn {\n\t\terror: undefined,\n\t\tdata: emailsFormatter.formatSingle({\n\t\t\temail: emailRes.data,\n\t\t\tdata: previewDataRes.data,\n\t\t\thtml: html.data,\n\t\t\tresendWindowDays: context.config.email.resendWindowDays,\n\t\t}),\n\t};\n};\n\nexport default getSingle;\n"],"mappings":"8RAQA,MAAM,EAQF,MAAO,EAAS,IAAS,CAG5B,IAAM,EAAW,MAAM,IAFJ,EAAiB,EAAQ,GAAG,OAAQ,EAAQ,OAAO,EAE1C,CAAC,CAAC,iBAAiB,CAC9C,GAAI,EAAK,GACT,UAAW,EAAQ,QAAQ,UAC3B,WAAY,CACX,QAAS,GACT,aAAc,CACb,QAAS,EAAK,qCAAqC,EACnD,OAAQ,GACT,CACD,CACD,CAAC,EACD,GAAI,EAAS,MAAO,OAAO,EAE3B,IAAM,EAAiB,EAAiB,CACvC,KAAM,EAAS,KAAK,KACpB,QAAS,EAAS,KAAK,iBACvB,cAAe,EAAQ,OAAO,QAAQ,WACtC,KAAM,SACP,CAAC,EACD,GAAI,EAAe,MAAO,OAAO,EAEjC,GAAI,CAAC,EAAK,eACT,MAAO,CACN,MAAO,IAAA,GACP,KAAMA,EAAgB,aAAa,CAClC,MAAO,EAAS,KAChB,KAAM,EAAe,KACrB,iBAAkB,EAAQ,OAAO,MAAM,gBACxC,CAAC,CACF,EAGD,IAAM,EAAO,MAAM,EAAuB,EAAS,CAClD,SAAU,EAAS,KAAK,SACxB,KAAM,EAAe,IACtB,CAAC,EAGD,OAFI,EAAK,MAAc,EAEhB,CACN,MAAO,IAAA,GACP,KAAMA,EAAgB,aAAa,CAClC,MAAO,EAAS,KAChB,KAAM,EAAe,KACrB,KAAM,EAAK,KACX,iBAAkB,EAAQ,OAAO,MAAM,gBACxC,CAAC,CACF,CACD"}