UNPKG

@lucidcms/core

Version:

The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.

1 lines 47.8 kB
{"version":3,"file":"media.mjs","names":[],"sources":["../../src/schemas/media.ts"],"sourcesContent":["import z from \"zod\";\nimport type { ControllerSchema } from \"../types.js\";\nimport { queryFormatted, queryString } from \"./helpers/querystring.js\";\n\nconst mediaTranslationResponseSchema = z.object({\n\tlocaleCode: z\n\t\t.string()\n\t\t.meta({ description: \"Locale code\", example: \"en\" })\n\t\t.nullable(),\n\tvalue: z.string().meta({ description: \"Translated value\" }).nullable(),\n});\n\nconst focalPointSchema = z.object({\n\tx: z.number().min(0).max(1).meta({\n\t\tdescription: \"Horizontal focal point, normalized from 0 to 1\",\n\t\texample: 0.5,\n\t}),\n\ty: z.number().min(0).max(1).meta({\n\t\tdescription: \"Vertical focal point, normalized from 0 to 1\",\n\t\texample: 0.5,\n\t}),\n});\n\nexport const mediaOriginSchema = z.enum([\n\t\"human\",\n\t\"ai_generated\",\n\t\"ai_modified\",\n]);\n\nconst mediaFileMetaResponseSchema = z.object({\n\tmimeType: z\n\t\t.string()\n\t\t.meta({ description: \"MIME type\", example: \"image/jpeg\" }),\n\textension: z\n\t\t.string()\n\t\t.meta({ description: \"File extension\", example: \"jpeg\" }),\n\tfileSize: z\n\t\t.number()\n\t\t.meta({ description: \"File size in bytes\", example: 100 }),\n});\n\nconst mediaImageMetaResponseSchema = mediaFileMetaResponseSchema\n\t.extend({\n\t\twidth: z\n\t\t\t.number()\n\t\t\t.nullable()\n\t\t\t.meta({ description: \"Image width\", example: 100 }),\n\t\theight: z\n\t\t\t.number()\n\t\t\t.nullable()\n\t\t\t.meta({ description: \"Image height\", example: 100 }),\n\t\tfocalPoint: focalPointSchema.nullable().meta({\n\t\t\tdescription: \"Image focal point for presentation cropping\",\n\t\t}),\n\t\tblurHash: z.string().nullable().meta({\n\t\t\tdescription: \"BlurHash for image previews\",\n\t\t\texample: \"AQABAAAABAAAAgAA...\",\n\t\t}),\n\t\taverageColor: z.string().nullable().meta({\n\t\t\tdescription: \"Average color of the image\",\n\t\t\texample: \"rgba(255, 255, 255, 1)\",\n\t\t}),\n\t\tbase64: z.string().nullable().meta({\n\t\t\tdescription: \"Tiny base64-encoded image placeholder\",\n\t\t\texample:\n\t\t\t\t\"data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoKAAcAAUAmJQBOgCH5AQAA\",\n\t\t}),\n\t\tisDark: z.boolean().nullable().meta({\n\t\t\tdescription: \"Whether the image is predominantly dark\",\n\t\t\texample: true,\n\t\t}),\n\t\tisLight: z.boolean().nullable().meta({\n\t\t\tdescription: \"Whether the image is predominantly light\",\n\t\t\texample: true,\n\t\t}),\n\t})\n\t.meta({\n\t\tdescription: \"Image file metadata\",\n\t});\n\nconst mediaCropStateSchema = z.object({\n\tx: z.number().min(0).max(1),\n\ty: z.number().min(0).max(1),\n\twidth: z.number().positive().max(1),\n\theight: z.number().positive().max(1),\n\trotation: z.number().min(-180).max(180),\n\tskewX: z.number().min(-45).max(45),\n\tskewY: z.number().min(-45).max(45),\n});\n\nconst mediaOriginalFileResponseSchema = z.object({\n\tkey: z.string(),\n\turl: z.string(),\n\tmeta: mediaImageMetaResponseSchema,\n});\n\nconst mediaFileIdentityResponseSchema = z.object({\n\tkey: z.string().meta({\n\t\tdescription: \"Storage key\",\n\t\texample: \"public/123e4567e89b12d3a456426614174000\",\n\t}),\n\turl: z.string().meta({ description: \"Public file URL\" }),\n\tfileName: z.string().nullable().meta({\n\t\tdescription: \"Original file name\",\n\t\texample: \"placeholder-image.png\",\n\t}),\n});\n\nconst mediaFileResponseSchema = mediaFileIdentityResponseSchema.extend({\n\tmeta: mediaFileMetaResponseSchema,\n});\n\nconst mediaImageFileResponseSchema = z.discriminatedUnion(\"sourceType\", [\n\tmediaFileIdentityResponseSchema.extend({\n\t\tsourceType: z.literal(\"original\"),\n\t\tmeta: mediaImageMetaResponseSchema,\n\t}),\n\tmediaFileIdentityResponseSchema.extend({\n\t\tsourceType: z.literal(\"crop\"),\n\t\tcrop: mediaCropStateSchema,\n\t\tmeta: mediaImageMetaResponseSchema,\n\t\toriginal: mediaOriginalFileResponseSchema,\n\t}),\n]);\n\nexport const mediaCropInputSchema = z.object({\n\tkey: z.string().trim(),\n\tfileName: z.string().trim(),\n\twidth: z.number().positive(),\n\theight: z.number().positive(),\n\tfocalPoint: focalPointSchema.nullable().optional(),\n\tblurHash: z.string().trim().nullable().optional(),\n\taverageColor: z.string().trim().nullable().optional(),\n\tbase64: z.string().trim().nullable().optional(),\n\tisDark: z.boolean().nullable().optional(),\n\tisLight: z.boolean().nullable().optional(),\n\tstate: mediaCropStateSchema\n\t\t.refine((state) => state.x + state.width <= 1.000001, {\n\t\t\tmessage: \"Crop width must remain within the source image.\",\n\t\t})\n\t\t.refine((state) => state.y + state.height <= 1.000001, {\n\t\t\tmessage: \"Crop height must remain within the source image.\",\n\t\t}),\n});\n\nconst uploadPartSchema = z.object({\n\tpartNumber: z.number().int().positive(),\n\tetag: z.string().trim(),\n\tsize: z.number().nonnegative().optional(),\n});\n\nconst createUploadSessionResponseSchema = z.discriminatedUnion(\"mode\", [\n\tz.object({\n\t\tmode: z.literal(\"single\"),\n\t\tkey: z.string(),\n\t\turl: z.string(),\n\t\theaders: z.record(z.string(), z.string()).optional(),\n\t}),\n\tz.object({\n\t\tmode: z.literal(\"resumable\"),\n\t\tkey: z.string(),\n\t\tsessionId: z.string(),\n\t\tpartSize: z.number(),\n\t\texpiresAt: z.string(),\n\t\tuploadedParts: z.array(uploadPartSchema),\n\t}),\n]);\n\nconst getUploadSessionResponseSchema = z.discriminatedUnion(\"canResume\", [\n\tz.object({\n\t\tcanResume: z.literal(true),\n\t\tkey: z.string(),\n\t\tsessionId: z.string(),\n\t\tpartSize: z.number(),\n\t\texpiresAt: z.string(),\n\t\tuploadedParts: z.array(uploadPartSchema),\n\t}),\n\tz.object({\n\t\tcanResume: z.literal(false),\n\t\tsessionId: z.string(),\n\t\treason: z.enum([\"adapter_not_resumable\", \"adapter_changed\"]),\n\t}),\n]);\n\nconst uploadSessionParamsSchema = z.object({\n\tsessionId: z.string().trim().meta({\n\t\tdescription: \"The upload session ID\",\n\t\texample: \"1e2230b6-8b62-4f31-a2d4-f4723d58d74a\",\n\t}),\n});\n\nexport const profilePictureResponseSchema = z.object({\n\tid: z.number().meta({ description: \"Media ID\", example: 2 }),\n\ttype: z.literal(\"image\"),\n\torigin: mediaOriginSchema.meta({\n\t\tdescription: \"The provenance origin of the media item\",\n\t\texample: \"human\",\n\t}),\n\ttitle: z.array(mediaTranslationResponseSchema).meta({\n\t\tdescription: \"Translated titles\",\n\t}),\n\talt: z.array(mediaTranslationResponseSchema).meta({\n\t\tdescription: \"Translated alt texts\",\n\t}),\n\tfile: mediaImageFileResponseSchema,\n});\n\nconst mediaPosterResponseSchema = z.object({\n\tid: z.number().meta({ description: \"Media ID\", example: 2 }),\n\ttype: z.literal(\"image\"),\n\torigin: mediaOriginSchema.meta({\n\t\tdescription: \"The provenance origin of the media item\",\n\t\texample: \"human\",\n\t}),\n\talt: z.array(mediaTranslationResponseSchema).meta({\n\t\tdescription: \"Translated alt texts\",\n\t}),\n\tfile: mediaImageFileResponseSchema,\n});\n\nconst mediaIdResponseSchema = z\n\t.number()\n\t.meta({ description: \"Media ID\", example: 1 });\n\nconst mediaBaseResponseShape = {\n\tfolderId: z.number().nullable().meta({\n\t\tdescription: \"Media folder ID\",\n\t\texample: 1,\n\t}),\n\torigin: mediaOriginSchema.meta({\n\t\tdescription: \"The provenance origin of the media item\",\n\t\texample: \"human\",\n\t}),\n\ttitle: z.array(mediaTranslationResponseSchema).meta({\n\t\tdescription: \"Translated titles\",\n\t}),\n};\n\nconst mediaStateResponseShape = {\n\tpublic: z.boolean().meta({\n\t\tdescription:\n\t\t\t\"Media visibility. Private media can only be accessed by authorized users and when shared\",\n\t\texample: true,\n\t}),\n\tisDeleted: z.boolean().nullable().meta({\n\t\tdescription: \"Whether the media is deleted\",\n\t\texample: true,\n\t}),\n\tisDeletedAt: z.string().nullable().meta({\n\t\tdescription: \"The date the media was deleted\",\n\t\texample: \"2022-01-01T00:00:00Z\",\n\t}),\n\tdeletedBy: z.number().nullable().meta({\n\t\tdescription: \"The user who deleted the media\",\n\t\texample: 1,\n\t}),\n\tcreatedAt: z.string().nullable().meta({\n\t\tdescription: \"Creation timestamp\",\n\t\texample: \"2022-01-01T00:00:00Z\",\n\t}),\n\tupdatedAt: z.string().nullable().meta({\n\t\tdescription: \"Last update timestamp\",\n\t\texample: \"2022-01-01T00:00:00Z\",\n\t}),\n};\n\nconst mediaResponseSchema = z.discriminatedUnion(\"type\", [\n\tz.object({\n\t\tid: mediaIdResponseSchema,\n\t\ttype: z.literal(\"image\"),\n\t\t...mediaBaseResponseShape,\n\t\talt: z.array(mediaTranslationResponseSchema).meta({\n\t\t\tdescription: \"Translated alt texts\",\n\t\t}),\n\t\tfile: mediaImageFileResponseSchema,\n\t\t...mediaStateResponseShape,\n\t}),\n\tz.object({\n\t\tid: mediaIdResponseSchema,\n\t\ttype: z.literal(\"video\"),\n\t\t...mediaBaseResponseShape,\n\t\tdescription: z.array(mediaTranslationResponseSchema).meta({\n\t\t\tdescription: \"Translated descriptions\",\n\t\t}),\n\t\tfile: mediaFileResponseSchema,\n\t\tposter: mediaPosterResponseSchema.nullable().meta({\n\t\t\tdescription: \"Poster image data\",\n\t\t}),\n\t\t...mediaStateResponseShape,\n\t}),\n\tz.object({\n\t\tid: mediaIdResponseSchema,\n\t\ttype: z.literal(\"audio\"),\n\t\t...mediaBaseResponseShape,\n\t\tdescription: z.array(mediaTranslationResponseSchema).meta({\n\t\t\tdescription: \"Translated descriptions\",\n\t\t}),\n\t\tfile: mediaFileResponseSchema,\n\t\t...mediaStateResponseShape,\n\t}),\n\tz.object({\n\t\tid: mediaIdResponseSchema,\n\t\ttype: z.literal(\"document\"),\n\t\t...mediaBaseResponseShape,\n\t\tsummary: z.array(mediaTranslationResponseSchema).meta({\n\t\t\tdescription: \"Translated summaries\",\n\t\t}),\n\t\tfile: mediaFileResponseSchema,\n\t\t...mediaStateResponseShape,\n\t}),\n\tz.object({\n\t\tid: mediaIdResponseSchema,\n\t\ttype: z.literal(\"archive\"),\n\t\t...mediaBaseResponseShape,\n\t\tfile: mediaFileResponseSchema,\n\t\t...mediaStateResponseShape,\n\t}),\n\tz.object({\n\t\tid: mediaIdResponseSchema,\n\t\ttype: z.literal(\"unknown\"),\n\t\t...mediaBaseResponseShape,\n\t\tfile: mediaFileResponseSchema,\n\t\t...mediaStateResponseShape,\n\t}),\n]);\n\nconst mediaGetMultipleQueryStringSchema = z\n\t.object({\n\t\t\"filter[title]\": queryString.schema.filter(false, {\n\t\t\texample: \"Thumbnail\",\n\t\t}),\n\t\t\"filter[key]\": queryString.schema.filter(false, {\n\t\t\texample: \"thumbnail-2022\",\n\t\t}),\n\t\t\"filter[mimeType]\": queryString.schema.filter(true, {\n\t\t\texample: \"image/png,image/jpg\",\n\t\t}),\n\t\t\"filter[folderId]\": queryString.schema.filter(false, {\n\t\t\texample: \"1\",\n\t\t\tnullable: true,\n\t\t}),\n\t\t\"filter[type]\": queryString.schema.filter(true, {\n\t\t\texample: \"document\",\n\t\t}),\n\t\t\"filter[extension]\": queryString.schema.filter(true, {\n\t\t\texample: \"jpg,png\",\n\t\t}),\n\t\t\"filter[isDeleted]\": queryString.schema.filter(false, {\n\t\t\texample: \"true\",\n\t\t}),\n\t\t\"filter[deletedBy]\": queryString.schema.filter(true, {\n\t\t\texample: \"1\",\n\t\t}),\n\t\t\"filter[public]\": queryString.schema.filter(false, {\n\t\t\texample: \"true\",\n\t\t}),\n\t\t\"filter[origin]\": queryString.schema.filter(true, {\n\t\t\texample: \"human,ai_generated\",\n\t\t}),\n\t\t\"filter[fileSize]\": queryString.schema.filter(false, {\n\t\t\texample: \"1048576\",\n\t\t}),\n\t\t\"filter[width]\": queryString.schema.filter(false, {\n\t\t\texample: \"1920\",\n\t\t}),\n\t\t\"filter[height]\": queryString.schema.filter(false, {\n\t\t\texample: \"1080\",\n\t\t}),\n\t\t\"filter[createdAt]\": queryString.schema.filter(false, {\n\t\t\texample: \"2026-01-01T00:00:00Z\",\n\t\t}),\n\t\t\"filter[updatedAt]\": queryString.schema.filter(false, {\n\t\t\texample: \"2026-01-01T00:00:00Z\",\n\t\t}),\n\t\tsort: queryString.schema.sort(\n\t\t\t\"createdAt,updatedAt,title,mimeType,extension\",\n\t\t),\n\t\tpage: queryString.schema.page,\n\t\tperPage: queryString.schema.perPage,\n\t})\n\t.meta(queryString.meta);\n\nconst mediaGetMultipleQueryFormattedSchema = z.object({\n\tfilter: z\n\t\t.object({\n\t\t\ttitle: queryFormatted.schema.filters.single.optional(),\n\t\t\tkey: queryFormatted.schema.filters.single.optional(),\n\t\t\tmimeType: queryFormatted.schema.filters.union.optional(),\n\t\t\tfolderId: queryFormatted.schema.filters.single.optional(),\n\t\t\ttype: queryFormatted.schema.filters.union.optional(),\n\t\t\textension: queryFormatted.schema.filters.union.optional(),\n\t\t\tisDeleted: queryFormatted.schema.filters.single.optional(),\n\t\t\tdeletedBy: queryFormatted.schema.filters.union.optional(),\n\t\t\tpublic: queryFormatted.schema.filters.single.optional(),\n\t\t\torigin: queryFormatted.schema.filters.union.optional(),\n\t\t\tfileSize: queryFormatted.schema.filters.single.optional(),\n\t\t\twidth: queryFormatted.schema.filters.single.optional(),\n\t\t\theight: queryFormatted.schema.filters.single.optional(),\n\t\t\tcreatedAt: queryFormatted.schema.filters.single.optional(),\n\t\t\tupdatedAt: queryFormatted.schema.filters.single.optional(),\n\t\t})\n\t\t.optional(),\n\tfilterOr: queryFormatted.schema.filterOr,\n\tsort: z\n\t\t.array(\n\t\t\tz.object({\n\t\t\t\tkey: z.enum([\n\t\t\t\t\t\"createdAt\",\n\t\t\t\t\t\"updatedAt\",\n\t\t\t\t\t\"title\",\n\t\t\t\t\t\"fileSize\",\n\t\t\t\t\t\"width\",\n\t\t\t\t\t\"height\",\n\t\t\t\t\t\"mimeType\",\n\t\t\t\t\t\"extension\",\n\t\t\t\t\t\"deletedBy\",\n\t\t\t\t\t\"isDeletedAt\",\n\t\t\t\t]),\n\t\t\t\tdirection: z.enum([\"asc\", \"desc\"]),\n\t\t\t}),\n\t\t)\n\t\t.optional(),\n\tpage: queryFormatted.schema.page,\n\tperPage: queryFormatted.schema.perPage,\n});\n\nexport const controllerSchemas = {\n\tgetMultiple: {\n\t\tquery: {\n\t\t\tstring: mediaGetMultipleQueryStringSchema,\n\t\t\tformatted: mediaGetMultipleQueryFormattedSchema,\n\t\t},\n\t\tparams: undefined,\n\t\tbody: undefined,\n\t\tresponse: z.array(mediaResponseSchema),\n\t} satisfies ControllerSchema,\n\tgetSingle: {\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\tid: z.string().trim().meta({\n\t\t\t\tdescription: \"The media ID\",\n\t\t\t\texample: 1,\n\t\t\t}),\n\t\t}),\n\t\tresponse: mediaResponseSchema,\n\t} satisfies ControllerSchema,\n\tdeleteSingle: {\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\tid: z.string().trim().meta({\n\t\t\t\tdescription: \"The media ID\",\n\t\t\t\texample: 1,\n\t\t\t}),\n\t\t}),\n\t\tresponse: undefined,\n\t} satisfies ControllerSchema,\n\tdeleteSinglePermanently: {\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\tid: z.string().trim().meta({\n\t\t\t\tdescription: \"The media ID\",\n\t\t\t\texample: 1,\n\t\t\t}),\n\t\t}),\n\t\tresponse: undefined,\n\t} satisfies ControllerSchema,\n\tdeleteMultiplePermanently: {\n\t\tbody: z.object({\n\t\t\tids: z.array(z.number()).meta({\n\t\t\t\tdescription: \"The media IDs\",\n\t\t\t\texample: [1, 2, 3],\n\t\t\t}),\n\t\t}),\n\t\tquery: {\n\t\t\tstring: undefined,\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: undefined,\n\t\tresponse: undefined,\n\t} satisfies ControllerSchema,\n\tdeleteBatch: {\n\t\tbody: z.object({\n\t\t\tfolderIds: z.array(z.number()).meta({\n\t\t\t\tdescription: \"The media folder IDs\",\n\t\t\t\texample: [1, 2, 3],\n\t\t\t}),\n\t\t\tmediaIds: z.array(z.number()).meta({\n\t\t\t\tdescription: \"The media IDs\",\n\t\t\t\texample: [1, 2, 3],\n\t\t\t}),\n\t\t\trecursiveMedia: z.boolean().meta({\n\t\t\t\tdescription: \"Whether to delete all media in the folder\",\n\t\t\t\tdefault: false,\n\t\t\t\texample: true,\n\t\t\t}),\n\t\t}),\n\t\tquery: {\n\t\t\tstring: undefined,\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: undefined,\n\t\tresponse: undefined,\n\t} satisfies ControllerSchema,\n\trestoreMultiple: {\n\t\tbody: z.object({\n\t\t\tids: z.array(z.number()).meta({\n\t\t\t\tdescription: \"The media IDs\",\n\t\t\t\texample: [1, 2, 3],\n\t\t\t}),\n\t\t}),\n\t\tquery: {\n\t\t\tstring: undefined,\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: undefined,\n\t\tresponse: undefined,\n\t} satisfies ControllerSchema,\n\tmoveFolder: {\n\t\tbody: z.object({\n\t\t\tfolderId: z.number().nullable().meta({\n\t\t\t\tdescription: \"The media folder ID\",\n\t\t\t\texample: 1,\n\t\t\t}),\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\tid: z.string().trim().meta({\n\t\t\t\tdescription: \"The media ID\",\n\t\t\t\texample: 1,\n\t\t\t}),\n\t\t}),\n\t\tresponse: undefined,\n\t} satisfies ControllerSchema,\n\tupdateSingle: {\n\t\tbody: z.object({\n\t\t\tcrop: mediaCropInputSchema.nullable().optional(),\n\t\t\tkey: z\n\t\t\t\t.string()\n\t\t\t\t.trim()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The media key\",\n\t\t\t\t\texample: \"public/123e4567e89b12d3a456426614174000\",\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tpublic: z\n\t\t\t\t.boolean()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"Whether the media is public\",\n\t\t\t\t\texample: true,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\torigin: mediaOriginSchema.optional().meta({\n\t\t\t\tdescription: \"The provenance origin of the media item\",\n\t\t\t\texample: \"ai_generated\",\n\t\t\t}),\n\t\t\taiGenerationRequestId: z.string().trim().optional().meta({\n\t\t\t\tdescription: \"The AI generation request ID to link to this media item\",\n\t\t\t\texample: \"123e4567-e89b-12d3-a456-426614174000\",\n\t\t\t}),\n\t\t\tfolderId: z\n\t\t\t\t.number()\n\t\t\t\t.nullable()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The media folder ID\",\n\t\t\t\t\texample: 1,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tfileName: z\n\t\t\t\t.string()\n\t\t\t\t.trim()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The filename\",\n\t\t\t\t\texample: \"funny-cats.jpg\",\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\ttitle: z\n\t\t\t\t.array(\n\t\t\t\t\tz.object({\n\t\t\t\t\t\tlocaleCode: z\n\t\t\t\t\t\t\t.string()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.meta({ description: \"Locale code\", example: \"en\" }),\n\t\t\t\t\t\tvalue: z.string().trim().nullable().meta({\n\t\t\t\t\t\t\tdescription: \"Title value\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.optional(),\n\t\t\talt: z\n\t\t\t\t.array(\n\t\t\t\t\tz.object({\n\t\t\t\t\t\tlocaleCode: z\n\t\t\t\t\t\t\t.string()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.meta({ description: \"Locale code\", example: \"en\" }),\n\t\t\t\t\t\tvalue: z.string().trim().nullable().meta({\n\t\t\t\t\t\t\tdescription: \"Alt text value\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.optional(),\n\t\t\tdescription: z\n\t\t\t\t.array(\n\t\t\t\t\tz.object({\n\t\t\t\t\t\tlocaleCode: z\n\t\t\t\t\t\t\t.string()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.meta({ description: \"Locale code\", example: \"en\" }),\n\t\t\t\t\t\tvalue: z.string().trim().nullable().meta({\n\t\t\t\t\t\t\tdescription: \"Description value\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.optional(),\n\t\t\tsummary: z\n\t\t\t\t.array(\n\t\t\t\t\tz.object({\n\t\t\t\t\t\tlocaleCode: z\n\t\t\t\t\t\t\t.string()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.meta({ description: \"Locale code\", example: \"en\" }),\n\t\t\t\t\t\tvalue: z.string().trim().nullable().meta({\n\t\t\t\t\t\t\tdescription: \"Summary value\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.optional(),\n\t\t\twidth: z\n\t\t\t\t.number()\n\t\t\t\t.nullable()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The image width\",\n\t\t\t\t\texample: 100,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\theight: z\n\t\t\t\t.number()\n\t\t\t\t.nullable()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The image height\",\n\t\t\t\t\texample: 100,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tfocalPoint: focalPointSchema.nullable().optional().meta({\n\t\t\t\tdescription: \"The image focal point\",\n\t\t\t}),\n\t\t\tblurHash: z\n\t\t\t\t.string()\n\t\t\t\t.trim()\n\t\t\t\t.nullable()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The blur hash\",\n\t\t\t\t\texample: \"AQABAAAABAAAAgAA...\",\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\taverageColor: z\n\t\t\t\t.string()\n\t\t\t\t.trim()\n\t\t\t\t.nullable()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The average color\",\n\t\t\t\t\texample: \"rgba(255, 255, 255, 1)\",\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tbase64: z\n\t\t\t\t.string()\n\t\t\t\t.trim()\n\t\t\t\t.nullable()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"Tiny base64-encoded image placeholder\",\n\t\t\t\t\texample:\n\t\t\t\t\t\t\"data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoKAAcAAUAmJQBOgCH5AQAA\",\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tisDark: z\n\t\t\t\t.boolean()\n\t\t\t\t.nullable()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"Whether the image is dark\",\n\t\t\t\t\texample: true,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tisLight: z\n\t\t\t\t.boolean()\n\t\t\t\t.nullable()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"Whether the image is light\",\n\t\t\t\t\texample: true,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tisDeleted: z\n\t\t\t\t.boolean()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"Whether the media is deleted\",\n\t\t\t\t\texample: true,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tposterId: z\n\t\t\t\t.number()\n\t\t\t\t.nullable()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The poster media ID\",\n\t\t\t\t\texample: 1,\n\t\t\t\t})\n\t\t\t\t.optional(),\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\tid: z.string().meta({\n\t\t\t\tdescription: \"The media ID\",\n\t\t\t\texample: 1,\n\t\t\t}),\n\t\t}),\n\t\tresponse: undefined,\n\t} satisfies ControllerSchema,\n\tclearSingleProcessed: {\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\tid: z.string().meta({\n\t\t\t\tdescription: \"The media ID\",\n\t\t\t\texample: 1,\n\t\t\t}),\n\t\t}),\n\t\tresponse: undefined,\n\t} satisfies ControllerSchema,\n\tclearAllProcessed: {\n\t\tbody: undefined,\n\t\tquery: {\n\t\t\tstring: undefined,\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: undefined,\n\t\tresponse: undefined,\n\t} satisfies ControllerSchema,\n\tcreateUploadSession: {\n\t\tbody: z.object({\n\t\t\tfileName: z.string().trim().meta({\n\t\t\t\tdescription: \"The file name\",\n\t\t\t\texample: \"funny-cats.jpg\",\n\t\t\t}),\n\t\t\tmimeType: z.string().trim().meta({\n\t\t\t\tdescription: \"The media's mime type\",\n\t\t\t\texample: \"image/jpeg\",\n\t\t\t}),\n\t\t\tsize: z.number().nonnegative().meta({\n\t\t\t\tdescription: \"The file size in bytes\",\n\t\t\t\texample: 10485760,\n\t\t\t}),\n\t\t\tpublic: z.boolean().meta({\n\t\t\t\tdescription: \"Whether the media is public\",\n\t\t\t\texample: true,\n\t\t\t}),\n\t\t\ttemporary: z.boolean().optional().meta({\n\t\t\t\tdescription: \"Whether the upload target should be temporary.\",\n\t\t\t\texample: false,\n\t\t\t}),\n\t\t}),\n\t\tquery: {\n\t\t\tstring: undefined,\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: undefined,\n\t\tresponse: createUploadSessionResponseSchema,\n\t} satisfies ControllerSchema,\n\tgetUploadSession: {\n\t\tbody: undefined,\n\t\tquery: {\n\t\t\tstring: undefined,\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: uploadSessionParamsSchema,\n\t\tresponse: getUploadSessionResponseSchema,\n\t} satisfies ControllerSchema,\n\tgetUploadPartUrls: {\n\t\tbody: z.object({\n\t\t\tpartNumbers: z.array(z.number().int().positive()).min(1),\n\t\t}),\n\t\tquery: {\n\t\t\tstring: undefined,\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: uploadSessionParamsSchema,\n\t\tresponse: z.object({\n\t\t\tparts: z.array(\n\t\t\t\tz.object({\n\t\t\t\t\tpartNumber: z.number().int().positive(),\n\t\t\t\t\turl: z.string(),\n\t\t\t\t\theaders: z.record(z.string(), z.string()).optional(),\n\t\t\t\t}),\n\t\t\t),\n\t\t}),\n\t} satisfies ControllerSchema,\n\tcompleteUploadSession: {\n\t\tbody: z.object({\n\t\t\tparts: z.array(uploadPartSchema).min(1),\n\t\t}),\n\t\tquery: {\n\t\t\tstring: undefined,\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: uploadSessionParamsSchema,\n\t\tresponse: z.object({\n\t\t\tkey: z.string(),\n\t\t}),\n\t} satisfies ControllerSchema,\n\tabortUploadSession: {\n\t\tbody: undefined,\n\t\tquery: {\n\t\t\tstring: undefined,\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: uploadSessionParamsSchema,\n\t\tresponse: undefined,\n\t} satisfies ControllerSchema,\n\tcreateSingle: {\n\t\tbody: z.object({\n\t\t\tcrop: mediaCropInputSchema.optional(),\n\t\t\tkey: z.string().trim().meta({\n\t\t\t\tdescription: \"The media key\",\n\t\t\t\texample: \"public/123e4567e89b12d3a456426614174000\",\n\t\t\t}),\n\t\t\tfolderId: z\n\t\t\t\t.number()\n\t\t\t\t.nullable()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The media folder ID\",\n\t\t\t\t\texample: 1,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tfileName: z.string().trim().meta({\n\t\t\t\tdescription: \"The filename\",\n\t\t\t\texample: \"funny-cats.jpg\",\n\t\t\t}),\n\t\t\torigin: mediaOriginSchema.meta({\n\t\t\t\tdescription: \"The provenance origin of the media item\",\n\t\t\t\texample: \"human\",\n\t\t\t}),\n\t\t\taiGenerationRequestId: z.string().trim().optional().meta({\n\t\t\t\tdescription: \"The AI generation request ID to link to this media item\",\n\t\t\t\texample: \"123e4567-e89b-12d3-a456-426614174000\",\n\t\t\t}),\n\t\t\ttitle: z\n\t\t\t\t.array(\n\t\t\t\t\tz.object({\n\t\t\t\t\t\tlocaleCode: z\n\t\t\t\t\t\t\t.string()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.meta({ description: \"Locale code\", example: \"en\" }),\n\t\t\t\t\t\tvalue: z.string().trim().nullable().meta({\n\t\t\t\t\t\t\tdescription: \"Title value\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.optional(),\n\t\t\talt: z\n\t\t\t\t.array(\n\t\t\t\t\tz.object({\n\t\t\t\t\t\tlocaleCode: z\n\t\t\t\t\t\t\t.string()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.meta({ description: \"Locale code\", example: \"en\" }),\n\t\t\t\t\t\tvalue: z.string().trim().nullable().meta({\n\t\t\t\t\t\t\tdescription: \"Alt text value\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.optional(),\n\t\t\tdescription: z\n\t\t\t\t.array(\n\t\t\t\t\tz.object({\n\t\t\t\t\t\tlocaleCode: z\n\t\t\t\t\t\t\t.string()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.meta({ description: \"Locale code\", example: \"en\" }),\n\t\t\t\t\t\tvalue: z.string().trim().nullable().meta({\n\t\t\t\t\t\t\tdescription: \"Description value\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.optional(),\n\t\t\tsummary: z\n\t\t\t\t.array(\n\t\t\t\t\tz.object({\n\t\t\t\t\t\tlocaleCode: z\n\t\t\t\t\t\t\t.string()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t.meta({ description: \"Locale code\", example: \"en\" }),\n\t\t\t\t\t\tvalue: z.string().trim().nullable().meta({\n\t\t\t\t\t\t\tdescription: \"Summary value\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.optional(),\n\t\t\twidth: z\n\t\t\t\t.number()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The image width\",\n\t\t\t\t\texample: 100,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\theight: z\n\t\t\t\t.number()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The image height\",\n\t\t\t\t\texample: 100,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tfocalPoint: focalPointSchema.optional().meta({\n\t\t\t\tdescription: \"The image focal point\",\n\t\t\t}),\n\t\t\tblurHash: z\n\t\t\t\t.string()\n\t\t\t\t.trim()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The blur hash\",\n\t\t\t\t\texample: \"AQABAAAABAAAAgAA...\",\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\taverageColor: z\n\t\t\t\t.string()\n\t\t\t\t.trim()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The average color\",\n\t\t\t\t\texample: \"rgba(255, 255, 255, 1)\",\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tbase64: z\n\t\t\t\t.string()\n\t\t\t\t.trim()\n\t\t\t\t.nullable()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"Tiny base64-encoded image placeholder\",\n\t\t\t\t\texample:\n\t\t\t\t\t\t\"data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoKAAcAAUAmJQBOgCH5AQAA\",\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tisDark: z\n\t\t\t\t.boolean()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"Whether the image is dark\",\n\t\t\t\t\texample: true,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tisLight: z\n\t\t\t\t.boolean()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"Whether the image is light\",\n\t\t\t\t\texample: true,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tposterId: z\n\t\t\t\t.number()\n\t\t\t\t.nullable()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"The poster media ID\",\n\t\t\t\t\texample: 1,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t\tisHidden: z\n\t\t\t\t.boolean()\n\t\t\t\t.meta({\n\t\t\t\t\tdescription: \"Whether the media should be hidden from library lists\",\n\t\t\t\t\texample: true,\n\t\t\t\t})\n\t\t\t\t.optional(),\n\t\t}),\n\t\tquery: {\n\t\t\tstring: undefined,\n\t\t\tformatted: undefined,\n\t\t},\n\t\tparams: undefined,\n\t\tresponse: mediaResponseSchema,\n\t} satisfies ControllerSchema,\n\tclient: {\n\t\tprocessMedia: {\n\t\t\tbody: z\n\t\t\t\t.object({\n\t\t\t\t\tpreset: z.string().trim().optional(),\n\t\t\t\t\tformat: z.enum([\"jpeg\", \"png\", \"webp\", \"avif\"]).optional(),\n\t\t\t\t})\n\t\t\t\t.default({}),\n\t\t\tquery: {\n\t\t\t\tstring: undefined,\n\t\t\t\tformatted: undefined,\n\t\t\t},\n\t\t\tparams: z.object({\n\t\t\t\tkey: z.string().trim().meta({\n\t\t\t\t\tdescription: \"The media key you wish to stream\",\n\t\t\t\t\texample: \"public/123e4567e89b12d3a456426614174000\",\n\t\t\t\t}),\n\t\t\t}),\n\t\t\tresponse: z.object({\n\t\t\t\turl: z.string().meta({\n\t\t\t\t\tdescription: \"The URL of the media\",\n\t\t\t\t\texample:\n\t\t\t\t\t\t\"https://example.com/cdn/public/123e4567e89b12d3a456426614174000/placeholder-image?preset=thumbnail-small&format=webp\",\n\t\t\t\t}),\n\t\t\t}),\n\t\t},\n\t\tgetSingle: {\n\t\t\tbody: undefined,\n\t\t\tquery: {\n\t\t\t\tstring: undefined,\n\t\t\t\tformatted: undefined,\n\t\t\t},\n\t\t\tparams: z.object({\n\t\t\t\tid: z.string().trim().meta({\n\t\t\t\t\tdescription: \"The media ID\",\n\t\t\t\t\texample: 1,\n\t\t\t\t}),\n\t\t\t}),\n\t\t\tresponse: mediaResponseSchema,\n\t\t} satisfies ControllerSchema,\n\t\tgetMultiple: {\n\t\t\tquery: {\n\t\t\t\tstring: mediaGetMultipleQueryStringSchema,\n\t\t\t\tformatted: mediaGetMultipleQueryFormattedSchema,\n\t\t\t},\n\t\t\tparams: undefined,\n\t\t\tbody: undefined,\n\t\t\tresponse: z.array(mediaResponseSchema),\n\t\t} satisfies ControllerSchema,\n\t},\n};\n\nexport type GetMultipleQueryParams = z.infer<\n\ttypeof controllerSchemas.getMultiple.query.formatted\n>;\nexport type ClientGetMultipleQueryParams = z.infer<\n\ttypeof controllerSchemas.client.getMultiple.query.formatted\n>;\n"],"mappings":"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"}