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.8 kB
import{copy as e}from"../../../i18n/copy.mjs";import t from"../../../../utils/errors/lucid-api-error.mjs";import n from"../../utils/create-service-context.mjs";import r from"../../../../utils/services/service-wrapper.mjs";import i from"../../../../services/media-share-links/create-single.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 d from"../../utils/build-response.mjs";import{controllerSchemas as f}from"../../../../schemas/media-share-links.mjs";import p from"zod";import{createFactory as m}from"hono/factory";import{describeRoute as h}from"hono-openapi";const g=m().createHandlers(h({description:`Create a media share link for a media item.`,tags:[`media-share-links`],summary:`Create Media Share Link`,responses:u.responses({schema:p.toJSONSchema(f.createSingle.response)}),parameters:u.parameters({params:f.createSingle.params,headers:{csrf:!0}}),requestBody:u.requestBody(f.createSingle.body)}),l,o(),s([a.MediaCreate]),c(`param`,f.createSingle.params),c(`json`,f.createSingle.body),async a=>{let{id:o}=a.req.valid(`param`),s=a.req.valid(`json`),c=n(a),l=await r(i,{transaction:!0,defaultError:{type:`basic`,name:e(`server:core.routes.media.share.links.create.error.name`),message:e(`server:core.routes.media.share.links.create.error.message`)}})(c,{mediaId:Number.parseInt(o,10),name:s.name,description:s.description,password:s.password,expiresAt:s.expiresAt,userId:a.get(`auth`).id});if(l.error)throw new t(l.error);return a.status(200),a.json(d(a,{data:l.data}))});export{g as default}; //# sourceMappingURL=create-single.mjs.map