{"version":3,"file":"get-single.mjs","names":["mediaShareLinksFormatter"],"sources":["../../../src/services/media-share-links/get-single.ts"],"sourcesContent":["import { mediaShareLinksFormatter } from \"../../libs/formatters/index.js\";\nimport { MediaShareLinksRepository } from \"../../libs/repositories/index.js\";\nimport type { MediaShareLink } from \"../../types/response.js\";\nimport { getBaseUrl } from \"../../utils/helpers/index.js\";\nimport type { ServiceFn } from \"../../utils/services/types.js\";\nimport assertMediaAccess from \"./helpers/assert-media-access.js\";\n\nconst getSingle: ServiceFn<\n\t[\n\t\t{\n\t\t\tmediaId: number;\n\t\t\tlinkId: number;\n\t\t},\n\t],\n\tMediaShareLink\n> = async (context, data) => {\n\tconst mediaAccessRes = await assertMediaAccess(context, {\n\t\tmediaId: data.mediaId,\n\t});\n\tif (mediaAccessRes.error) return mediaAccessRes;\n\n\tconst MediaShareLinks = new MediaShareLinksRepository(\n\t\tcontext.db.client,\n\t\tcontext.config.db,\n\t);\n\n\tconst linkRes = await MediaShareLinks.selectSingle({\n\t\tselect: [\n\t\t\t\"id\",\n\t\t\t\"media_id\",\n\t\t\t\"token\",\n\t\t\t\"password\",\n\t\t\t\"expires_at\",\n\t\t\t\"name\",\n\t\t\t\"description\",\n\t\t\t\"created_at\",\n\t\t\t\"updated_at\",\n\t\t\t\"created_by\",\n\t\t\t\"updated_by\",\n\t\t],\n\t\twhere: [\n\t\t\t{ key: \"media_id\", operator: \"=\", value: data.mediaId },\n\t\t\t{ key: \"id\", operator: \"=\", value: data.linkId },\n\t\t],\n\t\tvalidation: {\n\t\t\tenabled: true,\n\t\t},\n\t});\n\tif (linkRes.error) return linkRes;\n\n\treturn {\n\t\terror: undefined,\n\t\tdata: mediaShareLinksFormatter.formatSingle({\n\t\t\tlink: linkRes.data,\n\t\t\thost: getBaseUrl(context),\n\t\t}),\n\t};\n};\n\nexport default getSingle;\n"],"mappings":"6NAOA,MAAM,EAQF,MAAO,EAAS,IAAS,CAC5B,IAAM,EAAiB,MAAM,EAAkB,EAAS,CACvD,QAAS,EAAK,OACf,CAAC,EACD,GAAI,EAAe,MAAO,OAAO,EAOjC,IAAM,EAAU,MAAM,IALM,EAC3B,EAAQ,GAAG,OACX,EAAQ,OAAO,EAGoB,CAAC,CAAC,aAAa,CAClD,OAAQ,CACP,KACA,WACA,QACA,WACA,aACA,OACA,cACA,aACA,aACA,aACA,YACD,EACA,MAAO,CACN,CAAE,IAAK,WAAY,SAAU,IAAK,MAAO,EAAK,OAAQ,EACtD,CAAE,IAAK,KAAM,SAAU,IAAK,MAAO,EAAK,MAAO,CAChD,EACA,WAAY,CACX,QAAS,EACV,CACD,CAAC,EAGD,OAFI,EAAQ,MAAc,EAEnB,CACN,MAAO,IAAA,GACP,KAAMA,EAAyB,aAAa,CAC3C,KAAM,EAAQ,KACd,KAAM,EAAW,CAAO,CACzB,CAAC,CACF,CACD"}