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.23 kB
import e from"../../../../constants/constants.mjs";import t from"../../../../utils/errors/lucid-api-error.mjs";import n from"../../../../services/auth/access-token/generate-token.mjs";import r from"../../../../services/auth/refresh-token/generate-token.mjs";import i from"../../../../services/auth/refresh-token/verify-token.mjs";import a from"../../middleware/rate-limiter.mjs";import o from"../../middleware/validate-csrf.mjs";import s from"../../openapi/index.mjs";import{minutesToMilliseconds as c}from"date-fns";import{createFactory as l}from"hono/factory";import{describeRoute as u}from"hono-openapi";const d=l().createHandlers(u({description:`Verifies the refresh token and issues a new access and refresh token.`,tags:[`auth`],summary:`Refresh Token`,responses:s.responses(),parameters:s.parameters({headers:{csrf:!0}})}),o,a({mode:`ip`,limit:e.rateLimit.scopes.sensitive.limit,scope:e.rateLimit.scopes.sensitive.scopeKey,windowMs:c(1)}),async e=>{let a=await i(e);if(a.error)throw new t(a.error);let[o,s]=await Promise.all([r(e,a.data.user_id),n(e,a.data.user_id)]);if(o.error)throw new t(o.error);if(s.error)throw new t(s.error);return e.status(204),e.body(null)});export{d as default}; //# sourceMappingURL=token.mjs.map