@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 2.08 kB
JavaScript
import{normalizeCopy as e}from"../i18n/copy.mjs";import t from"./media.mjs";import n from"../permission/has-access.mjs";import{Permissions as r}from"../permission/definitions.mjs";import i from"./user-permissions.mjs";import a from"./index.mjs";const o=e=>e.users.map(t=>s({user:t,authUser:e.authUser,host:e.host,locales:e.locales,defaultLocale:e.defaultLocale,tenants:e.tenants})),s=o=>{let{roles:s,permissions:c}=i.formatMultiple({roles:o.user.roles||[],defaultLocale:o.defaultLocale}),l=n({user:o.authUser,requiredPermissions:[r.UsersRead],resourceOwnerId:o.user.id}),u=n({user:o.authUser,requiredPermissions:[r.UsersUpdate],resourceOwnerId:o.user.id}),d={id:o.user.id,email:o.user.email,username:o.user.username,firstName:o.user.first_name,lastName:o.user.last_name,isDeleted:a.formatBoolean(o.user.is_deleted??!1),profilePicture:t.formatProfilePicture({poster:o.user.profile_picture?.[0],host:o.host})};return l&&(d.deletedAt=a.formatDate(o.user.is_deleted_at),d.createdAt=a.formatDate(o.user.created_at),d.updatedAt=a.formatDate(o.user.updated_at)),u&&(d.isLocked=a.formatBoolean(o.user.is_locked),d.superAdmin=a.formatBoolean(o.user.super_admin??!1),d.triggerPasswordReset=a.formatBoolean(o.user.triggered_password_reset),d.invitationAccepted=a.formatBoolean(o.user.invitation_accepted),d.roles=s,d.permissions=c,d.hasPassword=!!o.user.password,d.authProviders=(o.user.auth_providers||[]).map(e=>({id:e.id,providerKey:e.provider_key,providerUserId:e.provider_user_id,linkedAt:a.formatDate(e.linked_at)})),o.tenantOverride===void 0?o.tenants!==void 0&&(d.tenants=o.user.tenants?.flatMap(t=>{let n=o.tenants?.find(e=>e.key===t.tenant_key);return n===void 0?[]:[{key:n.key,name:e(n.name),default:n.default??!1}]})??[]):d.tenants=o.tenantOverride),o.pendingEmailChange!==void 0&&(d.pendingEmailChange=o.pendingEmailChange?{email:o.pendingEmailChange.email,requestedAt:a.formatDate(o.pendingEmailChange.requestedAt),expiresAt:a.formatDate(o.pendingEmailChange.expiresAt)}:null),d};var c={formatMultiple:o,formatSingle:s};export{c as default};
//# sourceMappingURL=users.mjs.map