@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.36 kB
JavaScript
import e from"../../../../../constants/constants.mjs";import t from"../../../../logger/index.mjs";import n from"../../../../repositories/documents.mjs";import r from"../../../helpers/build-table-name.mjs";const i=async(n,r)=>{let i=[];try{let e=Object.entries(r).map(([e,t])=>{if(t.length===0)return Promise.resolve([]);let r=[...new Set(t)];return a(n,e,r)}),t=await Promise.all(e);for(let e of t)i.push(...e);return i}catch{return t.error({scope:e.logScopes.validation,message:`Failed to fetch documents for field validation`}),[]}},a=async(i,a,o)=>{if(o.length===0)return[];try{let s=r(`document`,{collection:a},i.config.db.config.tableNameByteLimit);if(s.error)return t.error({scope:e.logScopes.validation,message:`Failed to fetch collection documents for field validation`,data:{collection:a}}),[];let c=await new n(i.db.client,i.config.db).selectMultipleValidationIds({ids:o,tenantKey:i.request.tenantKey,validation:{enabled:!0}},{tableName:s.data.name});return c.error?(t.error({scope:e.logScopes.validation,message:`Failed to fetch collection documents for field validation`,data:{collection:a}}),[]):c.data.map(e=>({id:e.id,collection_key:a}))}catch{return t.error({scope:e.logScopes.validation,message:`Failed to fetch collection documents for field validation`,data:{collection:a}}),[]}};export{i as default};
//# sourceMappingURL=validate-input.mjs.map