@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 1.8 kB
Source Map (JSON)
{"version":3,"file":"validate-input.mjs","names":["constants"],"sources":["../../../../../../src/libs/collection/custom-fields/fields/media/validate-input.ts"],"sourcesContent":["import constants from \"../../../../../constants/constants.js\";\nimport type { ServiceContext } from \"../../../../../types.js\";\nimport logger from \"../../../../logger/index.js\";\nimport { MediaRepository } from \"../../../../repositories/index.js\";\nimport type { FieldRelationValidationInput } from \"../../types.js\";\nimport type { MediaValidationData } from \"./types.js\";\n\n/**\n * Validate media input data\n */\nconst validateMediaInputData = async (\n\tcontext: ServiceContext,\n\tinput: FieldRelationValidationInput,\n): Promise<MediaValidationData[]> => {\n\tconst mediaIds = input.default ?? [];\n\tif (mediaIds.length === 0) return [];\n\n\ttry {\n\t\tconst Media = new MediaRepository(context.db.client, context.config.db);\n\n\t\tconst mediaRes = await Media.selectMultipleValidationData({\n\t\t\tids: mediaIds,\n\t\t\ttenantKey: context.request.tenantKey,\n\t\t\tvalidation: {\n\t\t\t\tenabled: true,\n\t\t\t},\n\t\t});\n\n\t\treturn mediaRes.error ? [] : mediaRes.data;\n\t} catch (_err) {\n\t\tlogger.error({\n\t\t\tscope: constants.logScopes.validation,\n\t\t\tmessage: \"Failed to fetch media for field validation\",\n\t\t});\n\t\treturn [];\n\t}\n};\n\nexport default validateMediaInputData;\n"],"mappings":"oJAUA,MAAM,EAAyB,MAC9B,EACA,IACoC,CACpC,IAAM,EAAW,EAAM,SAAW,CAAC,EACnC,GAAI,EAAS,SAAW,EAAG,MAAO,CAAC,EAEnC,GAAI,CAGH,IAAM,EAAW,MAAM,IAFL,EAAgB,EAAQ,GAAG,OAAQ,EAAQ,OAAO,EAEzC,CAAC,CAAC,6BAA6B,CACzD,IAAK,EACL,UAAW,EAAQ,QAAQ,UAC3B,WAAY,CACX,QAAS,EACV,CACD,CAAC,EAED,OAAO,EAAS,MAAQ,CAAC,EAAI,EAAS,IACvC,MAAe,CAKd,OAJA,EAAO,MAAM,CACZ,MAAOA,EAAU,UAAU,WAC3B,QAAS,4CACV,CAAC,EACM,CAAC,CACT,CACD"}