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.44 kB
import e from"../../../constants/constants.mjs";import t from"../../../libs/logger/index.mjs";import n from"../../../libs/repositories/user-tokens.mjs";import r from"../../../libs/repositories/users.mjs";import i from"../../../utils/helpers/hash-user-token.mjs";import a from"../../../libs/formatters/index.mjs";const o=async(o,s)=>{let c=new n(o.db.client,o.config.db),l=new r(o.db.client,o.config.db),u=i(s.token),d=await c.selectSingle({select:[`id`,`user_id`],where:[{key:`token`,operator:`=`,value:u},{key:`token_type`,operator:`=`,value:e.userTokens.invitation},{key:`expiry_date`,operator:`>`,value:new Date().toISOString()},{key:`revoked_at`,operator:`is`,value:null},{key:`consumed_at`,operator:`is`,value:null}],validation:{enabled:!0}});if(d.error)return{error:void 0,data:{valid:!1}};let f=await l.selectSingle({select:[`id`,`email`,`username`,`first_name`,`last_name`,`invitation_accepted`],where:[{key:`id`,operator:`=`,value:d.data.user_id}],validation:{enabled:!0}});return f.error?(t.error({message:`Invitation user was not found`}),{error:void 0,data:{valid:!1}}):a.formatBoolean(f.data?.invitation_accepted)?(t.error({message:`Invitation has already been accepted`}),{error:void 0,data:{valid:!1}}):{error:void 0,data:{valid:!0,user:{id:f.data.id,email:f.data.email,username:f.data.username,firstName:f.data.first_name,lastName:f.data.last_name}}}};export{o as default}; //# sourceMappingURL=validate-invitation.mjs.map