{"version":3,"file":"file.mjs","sources":["../../../server/src/content-types/file.ts"],"sourcesContent":["import type { Struct } from '@strapi/types';\n\nimport { FOLDER_MODEL_UID } from '../constants';\n\nexport default {\n  schema: {\n    collectionName: 'files',\n    info: {\n      singularName: 'file',\n      pluralName: 'files',\n      displayName: 'File',\n      description: '',\n    },\n    options: {},\n    pluginOptions: {\n      'content-manager': {\n        visible: false,\n      },\n      'content-type-builder': {\n        visible: false,\n      },\n    },\n    attributes: {\n      name: {\n        type: 'string',\n        configurable: false,\n        required: true,\n      },\n      alternativeText: {\n        type: 'text',\n        configurable: false,\n      },\n      caption: {\n        type: 'text',\n        configurable: false,\n      },\n      focalPoint: {\n        type: 'json',\n        configurable: false,\n      },\n      width: {\n        type: 'integer',\n        configurable: false,\n      },\n      height: {\n        type: 'integer',\n        configurable: false,\n      },\n      formats: {\n        type: 'json',\n        configurable: false,\n      },\n      hash: {\n        type: 'string',\n        configurable: false,\n        required: true,\n      },\n      ext: {\n        type: 'string',\n        configurable: false,\n      },\n      mime: {\n        type: 'string',\n        configurable: false,\n        required: true,\n      },\n      size: {\n        type: 'decimal',\n        configurable: false,\n        required: true,\n      },\n      url: {\n        type: 'text',\n        configurable: false,\n        required: true,\n      },\n      previewUrl: {\n        type: 'text',\n        configurable: false,\n      },\n      provider: {\n        type: 'string',\n        configurable: false,\n        required: true,\n      },\n      provider_metadata: {\n        type: 'json',\n        configurable: false,\n      },\n      related: {\n        type: 'relation',\n        relation: 'morphToMany',\n        configurable: false,\n      },\n      folder: {\n        type: 'relation',\n        relation: 'manyToOne',\n        target: FOLDER_MODEL_UID,\n        inversedBy: 'files',\n        private: true,\n      },\n      folderPath: {\n        type: 'string',\n        minLength: 1,\n        required: true,\n        private: true,\n        searchable: false,\n      },\n    },\n    // experimental feature:\n    indexes: [\n      {\n        name: 'upload_files_folder_path_index',\n        columns: ['folder_path'],\n        type: null,\n      },\n      {\n        name: `upload_files_created_at_index`,\n        columns: ['created_at'],\n        type: null,\n      },\n      {\n        name: `upload_files_updated_at_index`,\n        columns: ['updated_at'],\n        type: null,\n      },\n      {\n        name: `upload_files_name_index`,\n        columns: ['name'],\n        type: null,\n      },\n      {\n        name: `upload_files_size_index`,\n        columns: ['size'],\n        type: null,\n      },\n      {\n        name: `upload_files_ext_index`,\n        columns: ['ext'],\n        type: null,\n      },\n    ],\n  } satisfies Partial<Struct.CollectionTypeSchema>,\n};\n"],"names":["schema","collectionName","info","singularName","pluralName","displayName","description","options","pluginOptions","visible","attributes","name","type","configurable","required","alternativeText","caption","focalPoint","width","height","formats","hash","ext","mime","size","url","previewUrl","provider","provider_metadata","related","relation","folder","target","FOLDER_MODEL_UID","inversedBy","private","folderPath","minLength","searchable","indexes","columns"],"mappings":"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"}