{"version":3,"file":"can-publish-target.mjs","names":["getCollectionInstance"],"sources":["../../../src/services/document-workflows/can-publish-target.ts"],"sourcesContent":["import { copy } from \"../../libs/i18n/index.js\";\nimport { DocumentWorkflowsRepository } from \"../../libs/repositories/index.js\";\nimport type { ServiceFn } from \"../../utils/services/types.js\";\nimport getCollectionInstance from \"../collections/get-single-instance.js\";\nimport {\n\tgetWorkflowConfig,\n\tworkflowStageAllowsTarget,\n} from \"./helpers/index.js\";\n\nconst canPublishTarget: ServiceFn<\n\t[\n\t\t{\n\t\t\tcollectionKey: string;\n\t\t\tdocumentId: number;\n\t\t\ttarget: string;\n\t\t},\n\t],\n\tundefined\n> = async (context, data) => {\n\tconst collectionRes = getCollectionInstance(context, {\n\t\tkey: data.collectionKey,\n\t});\n\tif (collectionRes.error) return collectionRes;\n\n\tif (!getWorkflowConfig(collectionRes.data)) {\n\t\treturn {\n\t\t\terror: undefined,\n\t\t\tdata: undefined,\n\t\t};\n\t}\n\n\tconst Workflows = new DocumentWorkflowsRepository(\n\t\tcontext.db.client,\n\t\tcontext.config.db,\n\t);\n\tconst workflowRes = await Workflows.selectSingle({\n\t\tselect: [\"stage_key\"],\n\t\twhere: [\n\t\t\t{ key: \"collection_key\", operator: \"=\", value: data.collectionKey },\n\t\t\t{ key: \"document_id\", operator: \"=\", value: data.documentId },\n\t\t],\n\t});\n\tif (workflowRes.error) return workflowRes;\n\n\tif (\n\t\tworkflowStageAllowsTarget({\n\t\t\tcollection: collectionRes.data,\n\t\t\tstageKey: workflowRes.data?.stage_key,\n\t\t\ttarget: data.target,\n\t\t})\n\t) {\n\t\treturn {\n\t\t\terror: undefined,\n\t\t\tdata: undefined,\n\t\t};\n\t}\n\n\treturn {\n\t\terror: {\n\t\t\ttype: \"basic\",\n\t\t\tmessage: copy(\"server:core.documents.workflows.publish.not.allowed\"),\n\t\t\tstatus: 403,\n\t\t},\n\t\tdata: undefined,\n\t};\n};\n\nexport default canPublishTarget;\n"],"mappings":"2PASA,MAAM,EASF,MAAO,EAAS,IAAS,CAC5B,IAAM,EAAgBA,EAAsB,EAAS,CACpD,IAAK,EAAK,aACX,CAAC,EACD,GAAI,EAAc,MAAO,OAAO,EAEhC,GAAI,CAAC,EAAkB,EAAc,IAAI,EACxC,MAAO,CACN,MAAO,IAAA,GACP,KAAM,IAAA,EACP,EAOD,IAAM,EAAc,MAAM,IAJJ,EACrB,EAAQ,GAAG,OACX,EAAQ,OAAO,EAEkB,CAAC,CAAC,aAAa,CAChD,OAAQ,CAAC,WAAW,EACpB,MAAO,CACN,CAAE,IAAK,iBAAkB,SAAU,IAAK,MAAO,EAAK,aAAc,EAClE,CAAE,IAAK,cAAe,SAAU,IAAK,MAAO,EAAK,UAAW,CAC7D,CACD,CAAC,EAgBD,OAfI,EAAY,MAAc,EAG7B,EAA0B,CACzB,WAAY,EAAc,KAC1B,SAAU,EAAY,MAAM,UAC5B,OAAQ,EAAK,MACd,CAAC,EAEM,CACN,MAAO,IAAA,GACP,KAAM,IAAA,EACP,EAGM,CACN,MAAO,CACN,KAAM,QACN,QAAS,EAAK,qDAAqD,EACnE,OAAQ,GACT,EACA,KAAM,IAAA,EACP,CACD"}