UNPKG

@lucidcms/core

Version:

The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.

2 lines 1.57 kB
import{copy as e}from"../../libs/i18n/copy.mjs";import t from"../../utils/helpers/get-base-url.mjs";import n from"../../libs/repositories/users.mjs";import r from"../../libs/formatters/media.mjs";import i from"../collections/get-single-instance.mjs";import{resolveCollectionPermission as a}from"../../libs/permission/collection-permissions.mjs";import{canUsePublishOperationsForTarget as o,hasCollectionPermission as s}from"./helpers/index.mjs";const c=async(c,l)=>{let u=i(c,{key:l.collectionKey});if(u.error)return u;if(!o({collection:u.data,target:l.target}))return{error:{type:`basic`,message:e(`server:core.collections.permission.error.message`,{data:{collection:l.collectionKey,action:`review`}}),status:400},data:void 0};let d=l.user===void 0||s({user:l.user,collection:u.data,action:`publish`}),f=l.user===void 0||s({user:l.user,collection:u.data,action:`review`});if(l.user!==void 0&&!d&&!f)return{error:{type:`basic`,name:e(`server:core.collections.permission.error.name`),message:e(`server:core.collections.permission.error.message`,{data:{collection:l.collectionKey,action:`review`}}),status:403},data:void 0};let p=a({collection:u.data,action:`review`}),m=await new n(c.db.client,c.config.db).selectMultiplePublishReviewers({permission:p,tenantKey:c.request.tenantKey});return m.error?m:{error:void 0,data:(m.data??[]).map(e=>({id:e.id,email:e.email,username:e.username,firstName:e.firstName,lastName:e.lastName,profilePicture:r.formatProfilePicture({poster:e.profile_picture?.[0],host:t(c)})}))}};export{c as default}; //# sourceMappingURL=get-reviewers.mjs.map