@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 4.25 kB
Source Map (JSON)
{"version":3,"file":"share.mjs","names":[],"sources":["../../src/schemas/share.ts"],"sourcesContent":["import z from \"zod\";\nimport type { ControllerSchema } from \"../types.js\";\nimport { tokenSchema } from \"./media-share-links.js\";\n\nconst shareMediaTypeSchema = z.enum([\n\t\"image\",\n\t\"video\",\n\t\"audio\",\n\t\"document\",\n\t\"archive\",\n\t\"unknown\",\n]);\nconst shareMediaOriginSchema = z.enum([\"human\", \"ai_generated\", \"ai_modified\"]);\n\nconst shareAccessResponseSchema = z.discriminatedUnion(\"passwordRequired\", [\n\tz.object({\n\t\ttoken: tokenSchema,\n\t\tpasswordRequired: z.literal(true),\n\t}),\n\tz.object({\n\t\ttoken: tokenSchema,\n\t\tname: z.string().nullable(),\n\t\tdescription: z.string().nullable(),\n\t\texpiresAt: z.string().nullable(),\n\t\thasExpired: z.boolean(),\n\t\tpasswordRequired: z.literal(false),\n\t\tmedia: z.object({\n\t\t\tkey: z.string(),\n\t\t\tsourceType: z.enum([\"original\", \"crop\"]),\n\t\t\torigin: shareMediaOriginSchema,\n\t\t\ttype: shareMediaTypeSchema,\n\t\t\tmimeType: z.string(),\n\t\t\textension: z.string(),\n\t\t\tfileSize: z.number(),\n\t\t\twidth: z.number().nullable(),\n\t\t\theight: z.number().nullable(),\n\t\t\tfocalPoint: z\n\t\t\t\t.object({\n\t\t\t\t\tx: z.number(),\n\t\t\t\t\ty: z.number(),\n\t\t\t\t})\n\t\t\t\t.nullable(),\n\t\t\tpreviewable: z.boolean(),\n\t\t\tshareUrl: z.string(),\n\t\t\tposter: z\n\t\t\t\t.object({\n\t\t\t\t\tshareUrl: z.string(),\n\t\t\t\t})\n\t\t\t\t.nullable(),\n\t\t}),\n\t}),\n]);\n\nexport const controllerSchemas = {\n\tgetShareAccess: {\n\t\tbody: undefined,\n\t\tquery: {\n\t\t\tstring: undefined,\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: z.object({\n\t\t\ttoken: tokenSchema,\n\t\t}),\n\t\tresponse: shareAccessResponseSchema,\n\t} satisfies ControllerSchema,\n\tauthorizeShare: {\n\t\tbody: z.object({\n\t\t\tpassword: z.string().min(1),\n\t\t}),\n\t\tquery: {\n\t\t\tstring: undefined,\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: z.object({\n\t\t\ttoken: tokenSchema,\n\t\t}),\n\t\tresponse: undefined,\n\t} satisfies ControllerSchema,\n\tstreamShareMedia: {\n\t\tbody: undefined,\n\t\tquery: {\n\t\t\tstring: z.object({\n\t\t\t\tposter: z.enum([\"true\", \"false\"]).optional(),\n\t\t\t}),\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: z.object({\n\t\t\ttoken: tokenSchema,\n\t\t}),\n\t\tresponse: undefined,\n\t} satisfies ControllerSchema,\n\trequestDownload: {\n\t\tbody: undefined,\n\t\tquery: {\n\t\t\tstring: undefined,\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: z.object({\n\t\t\ttoken: tokenSchema,\n\t\t}),\n\t\tresponse: z.object({\n\t\t\turl: z.string(),\n\t\t}),\n\t} satisfies ControllerSchema,\n};\n"],"mappings":"yEAIA,MAAM,EAAuB,EAAE,KAAK,CACnC,QACA,QACA,QACA,WACA,UACA,SACD,CAAC,EACK,EAAyB,EAAE,KAAK,CAAC,QAAS,eAAgB,aAAa,CAAC,EAExE,EAA4B,EAAE,mBAAmB,mBAAoB,CAC1E,EAAE,OAAO,CACR,MAAO,EACP,iBAAkB,EAAE,QAAQ,EAAI,CACjC,CAAC,EACD,EAAE,OAAO,CACR,MAAO,EACP,KAAM,EAAE,OAAO,CAAC,CAAC,SAAS,EAC1B,YAAa,EAAE,OAAO,CAAC,CAAC,SAAS,EACjC,UAAW,EAAE,OAAO,CAAC,CAAC,SAAS,EAC/B,WAAY,EAAE,QAAQ,EACtB,iBAAkB,EAAE,QAAQ,EAAK,EACjC,MAAO,EAAE,OAAO,CACf,IAAK,EAAE,OAAO,EACd,WAAY,EAAE,KAAK,CAAC,WAAY,MAAM,CAAC,EACvC,OAAQ,EACR,KAAM,EACN,SAAU,EAAE,OAAO,EACnB,UAAW,EAAE,OAAO,EACpB,SAAU,EAAE,OAAO,EACnB,MAAO,EAAE,OAAO,CAAC,CAAC,SAAS,EAC3B,OAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,EAC5B,WAAY,EACV,OAAO,CACP,EAAG,EAAE,OAAO,EACZ,EAAG,EAAE,OAAO,CACb,CAAC,CAAC,CACD,SAAS,EACX,YAAa,EAAE,QAAQ,EACvB,SAAU,EAAE,OAAO,EACnB,OAAQ,EACN,OAAO,CACP,SAAU,EAAE,OAAO,CACpB,CAAC,CAAC,CACD,SAAS,CACZ,CAAC,CACF,CAAC,CACF,CAAC,EAEY,EAAoB,CAChC,eAAgB,CACf,KAAM,IAAA,GACN,MAAO,CACN,OAAQ,IAAA,GACR,UAAW,IAAA,EACZ,EACA,OAAQ,EAAE,OAAO,CAChB,MAAO,CACR,CAAC,EACD,SAAU,CACX,EACA,eAAgB,CACf,KAAM,EAAE,OAAO,CACd,SAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAC3B,CAAC,EACD,MAAO,CACN,OAAQ,IAAA,GACR,UAAW,IAAA,EACZ,EACA,OAAQ,EAAE,OAAO,CAChB,MAAO,CACR,CAAC,EACD,SAAU,IAAA,EACX,EACA,iBAAkB,CACjB,KAAM,IAAA,GACN,MAAO,CACN,OAAQ,EAAE,OAAO,CAChB,OAAQ,EAAE,KAAK,CAAC,OAAQ,OAAO,CAAC,CAAC,CAAC,SAAS,CAC5C,CAAC,EACD,UAAW,IAAA,EACZ,EACA,OAAQ,EAAE,OAAO,CAChB,MAAO,CACR,CAAC,EACD,SAAU,IAAA,EACX,EACA,gBAAiB,CAChB,KAAM,IAAA,GACN,MAAO,CACN,OAAQ,IAAA,GACR,UAAW,IAAA,EACZ,EACA,OAAQ,EAAE,OAAO,CAChB,MAAO,CACR,CAAC,EACD,SAAU,EAAE,OAAO,CAClB,IAAK,EAAE,OAAO,CACf,CAAC,CACF,CACD"}