@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.29 kB
JavaScript
import{copy as e}from"../../libs/i18n/copy.mjs";import t from"../../constants/constants.mjs";import n from"../../libs/repositories/user-tokens.mjs";import r from"../../utils/helpers/hash-user-token.mjs";import{verify as i}from"hono/jwt";const a=async(e,n)=>{if(!e)return null;try{let r=await i(e,n,t.jwt.algorithm);return typeof r.id==`number`&&Number.isInteger(r.id)?r.id:null}catch{return null}},o=async(i,o)=>{if(await a(o.accessToken,i.config.secrets.accessToken)!==null)return{error:void 0,data:void 0};let s=await a(o.refreshToken,i.config.secrets.refreshToken);if(s===null||!o.refreshToken)return{error:{type:`authorisation`,code:`authorisation`,status:401,message:e(`server:core.permissions.unauthorized`)},data:void 0};let c=await new n(i.db.client,i.config.db).selectSingle({select:[`user_id`],where:[{key:`token`,operator:`=`,value:r(o.refreshToken)},{key:`token_type`,operator:`=`,value:t.userTokens.refresh},{key:`revoked_at`,operator:`is`,value:null},{key:`expiry_date`,operator:`>`,value:new Date().toISOString()}]});return c.error?c:!c.data||c.data.user_id!==s?{error:{type:`authorisation`,code:`authorisation`,status:401,message:e(`server:core.permissions.unauthorized`)},data:void 0}:{error:void 0,data:void 0}};export{o as default};
//# sourceMappingURL=get-status.mjs.map