@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.16 kB
JavaScript
import{copy as e}from"../../libs/i18n/copy.mjs";import t from"../../libs/repositories/document-publish-operations.mjs";import n from"../collections/get-single-instance.mjs";import{hasCollectionPermission as r}from"./helpers/index.mjs";import i from"./schedule-approved.mjs";const a=async(a,o)=>{let s=await new t(a.db.client,a.config.db).selectSingleDetailed({tenantKey:a.request.tenantKey,where:[{key:`lucid_document_publish_operations.id`,operator:`=`,value:o.id}]});if(s.error)return s;if(s.data?.status!==`approved`||s.data.execution_status!==`failed`)return{error:{type:`basic`,message:e(`server:core.publish.operations.not.retryable`),status:400},data:void 0};let c=n(a,{key:s.data.collection_key});if(c.error)return c;let l=s.data.operation_type===`direct`?`publish`:`review`;return r({user:o.user,collection:c.data,action:l})?i(a,{id:s.data.id,userId:o.user.id,eventType:`retried`}):{error:{type:`basic`,name:e(`server:core.collections.permission.error.name`),message:e(`server:core.collections.permission.error.message`,{data:{collection:s.data.collection_key,action:l}}),status:403},data:void 0}};export{a as default};
//# sourceMappingURL=retry.mjs.map