@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.92 kB
JavaScript
import{copy as e}from"../../../i18n/copy.mjs";import t from"../../../../utils/errors/lucid-api-error.mjs";import n from"../../../../services/account/update-profile-picture.mjs";import r from"../../utils/create-service-context.mjs";import i from"../../../../utils/services/service-wrapper.mjs";import{Permissions as a}from"../../../permission/definitions.mjs";import o from"../../middleware/authenticate.mjs";import s from"../../middleware/permissions.mjs";import c from"../../middleware/validate.mjs";import l from"../../middleware/validate-csrf.mjs";import u from"../../openapi/index.mjs";import{controllerSchemas as d}from"../../../../schemas/users.mjs";import{createFactory as f}from"hono/factory";import{describeRoute as p}from"hono-openapi";const m=f().createHandlers(p({description:`Update a user's profile picture.`,tags:[`users`],summary:`Update User Profile Picture`,responses:u.responses({noProperties:!0}),parameters:u.parameters({params:d.updateProfilePicture.params,headers:{csrf:!0}}),requestBody:u.requestBody(d.updateProfilePicture.body)}),l,o(),s([a.UsersUpdate]),c(`param`,d.updateProfilePicture.params),c(`json`,d.updateProfilePicture.body),async a=>{let{id:o}=a.req.valid(`param`),s=a.req.valid(`json`),c=r(a),l=await i(n,{transaction:!0,defaultError:{type:`basic`,name:e(`server:core.routes.user.profile.picture.update.error.message`),message:e(`server:core.routes.user.profile.picture.update.error.message`)}})(c,{targetUserId:Number.parseInt(o,10),actorUserId:a.get(`auth`).id,key:s.key,fileName:s.fileName,width:s.width,height:s.height,focalPoint:s.focalPoint,blurHash:s.blurHash,averageColor:s.averageColor,base64:s.base64,isDark:s.isDark,isLight:s.isLight,origin:s.origin,aiGenerationRequestId:s.aiGenerationRequestId,title:s.title,alt:s.alt,crop:s.crop});if(l.error)throw new t(l.error);return a.status(204),a.body(null)});export{m as default};
//# sourceMappingURL=update-profile-picture.mjs.map