@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.04 kB
JavaScript
import e from"../../../constants/constants.mjs";import t from"../../../libs/repositories/user-tokens.mjs";import n from"../../../libs/kv/cache-keys.mjs";import r from"../../../utils/helpers/hash-user-token.mjs";import i from"../../../libs/http/utils/create-service-context.mjs";import{deleteCookie as a,getCookie as o}from"hono/cookie";const s=async(s,c)=>{let l=o(s,e.cookies.refreshToken);if(a(s,e.cookies.refreshToken,{path:`/`}),!l)return{error:void 0,data:void 0};let u=s.get(`config`),d=new Date().toISOString(),f=r(l),p=new t(s.get(`database`).client,u.db),m=i(s);await m.kv.delete(m,{key:n.auth.refresh(l),hash:!0});let h=await p.updateMultiple({data:{revoked_at:d,revoke_reason:c?.revokeReason??e.refreshTokenRevokeReasons.logout,expiry_date:d,...c?.consume?{consumed_at:d}:{}},where:[{key:`token`,operator:`=`,value:f},{key:`token_type`,operator:`=`,value:e.userTokens.refresh},{key:`revoked_at`,operator:`is`,value:null}]});return h.error?h:{error:void 0,data:void 0}};export{s as default};
//# sourceMappingURL=clear-token.mjs.map