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.22 kB
import e from"../../libs/repositories/user-tenants.mjs";import t from"../../libs/repositories/users.mjs";import n from"./helpers/get-retention-days.mjs";import r from"./helpers/group-queue-payloads-by-tenant.mjs";const i=async i=>{let a=new t(i.db.client,i.config.db),o=new e(i.db.client,i.config.db),s=n(i.config.retention,`deletedUsers`),c=await a.selectMultiple({select:[`id`],where:[{key:`is_deleted`,operator:`=`,value:i.config.db.getDefault(`boolean`,`true`)},{key:`is_deleted_at`,operator:`<`,value:s}],validation:{enabled:!0}});if(c.error)return c;if(c.data.length===0)return{error:void 0,data:void 0};let l=c.data.map(e=>e.id),u=await o.selectMultiple({select:[`user_id`,`tenant_key`],where:[{key:`user_id`,operator:`in`,value:l}]});if(u.error)return u;let d=new Map;for(let e of u.data??[]){let t=d.get(e.user_id)??[];t.push(e.tenant_key),d.set(e.user_id,t)}let f=r(c.data.map(e=>({payload:{id:e.id},tenantKeys:d.get(e.id)})));for(let e of f){let t=await i.queue.addBatch(i,{event:`users:delete`,payloads:e.payloads,options:e.tenantKeys.length>0?{tenantKeys:e.tenantKeys}:void 0});if(t.error)return t}return{error:void 0,data:void 0}};export{i as default}; //# sourceMappingURL=delete-expired-deleted-users.mjs.map