@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.73 kB
JavaScript
import{copy as e}from"../../../i18n/copy.mjs";import t from"../../../../constants/constants.mjs";import n from"../../../../utils/errors/lucid-api-error.mjs";import r from"../../../../services/account/send-reset-password.mjs";import i from"../../utils/create-service-context.mjs";import a from"../../../../utils/services/service-wrapper.mjs";import o from"../../middleware/rate-limiter.mjs";import s from"../../middleware/validate.mjs";import c from"../../middleware/validate-csrf.mjs";import l from"../../openapi/index.mjs";import u from"../../utils/build-response.mjs";import{controllerSchemas as d}from"../../../../schemas/account.mjs";import f from"zod";import{minutesToMilliseconds as p}from"date-fns";import{createFactory as m}from"hono/factory";import{describeRoute as h}from"hono-openapi";const g=m().createHandlers(h({description:`Sends an email to the given email address informing them to reset their password.`,tags:[`account`],summary:`Send Password Reset`,responses:l.responses({schema:f.toJSONSchema(d.sendResetPassword.response)}),parameters:l.parameters({headers:{csrf:!0}}),requestBody:l.requestBody(d.sendResetPassword.body)}),c,o({mode:`ip`,limit:t.rateLimit.scopes.sensitive.limit,scope:t.rateLimit.scopes.sensitive.scopeKey,windowMs:p(1)}),s(`json`,d.sendResetPassword.body),async t=>{let{email:o}=t.req.valid(`json`),s=i(t),c=await a(r,{transaction:!0,defaultError:{type:`basic`,name:e(`server:core.routes.send.password.reset.error.name`),message:e(`server:core.routes.send.password.reset.error.message`)}})(s,{email:o});if(c.error)throw new n(c.error);return t.status(200),t.json(u(t,{data:{message:s.translate(c.data.message)}}))});export{g as default};
//# sourceMappingURL=send-reset-password.mjs.map