@orion-js/file-manager 4.0.7 → 4.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/package.json +8 -8
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/resolvers/fileManagerFile.ts","../src/Files/index.ts","../src/File/schema.ts","../src/File/resolvers/genericType.ts","../src/File/resolvers/url.ts","../src/credentials.ts","../src/File/resolvers/index.ts","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/type.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/isInteger.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/createPath.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/pick.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/isEmpty.js","../src/File/resolvers/isImage.ts","../src/resolvers/generateImageInfo.ts","../src/File/getFileData.ts","../src/resolvers/fileManagerFiles.ts","../src/resolvers/completeUpload.ts","../src/resolvers/generateUploadCredentials.ts","../src/resolvers/index.ts"],"sourcesContent":["import resolvers from './resolvers'\nimport {setupFileManager, getAWSCredentials} from './credentials'\nimport {Files} from './Files'\nimport {getFileURL} from './File/resolvers/url'\nimport {FileSchema} from './File/schema'\n\nexport {resolvers, setupFileManager, getAWSCredentials, Files, getFileURL, FileSchema}\n","import {createResolver} from '@orion-js/resolvers'\nimport {Files} from '../Files'\nimport {FileSchema} from '../File/schema'\n\nexport default createResolver({\n params: {\n fileId: {\n type: 'ID',\n },\n },\n returns: FileSchema,\n async resolve({fileId}) {\n return await Files.findOne(fileId)\n },\n})\n","import {createCollection} from '@orion-js/mongodb'\nimport {FileSchema} from '../File/schema'\n\nexport const Files = createCollection({\n name: 'filemanager_files',\n schema: FileSchema,\n indexes: [\n {\n keys: {\n key: 1,\n bucket: 1,\n },\n },\n {\n keys: {\n hash: 1,\n },\n },\n ],\n})\n","import {Prop, TypedSchema} from '@orion-js/typed-model'\nimport resolvers from './resolvers'\nimport {generateImageInfo} from '../resolvers/generateImageInfo'\nimport {pick} from 'rambdax'\nimport {getFileData} from './getFileData'\n\n@TypedSchema()\nexport class FileSchemaResizeData {\n @Prop({optional: true, type: 'string'})\n thumbnailURL?: string // 100 height max\n\n @Prop({optional: true, type: 'string'})\n smallURL?: string // 300 height max\n\n @Prop({optional: true, type: 'string'})\n mediumURL?: string // 800 height max\n\n @Prop({optional: true, type: 'string'})\n largeURL?: string // 1400 height max\n\n @Prop({optional: true, type: 'string'})\n extraLargeURL?: string // 2400 height max\n}\n\n@TypedSchema()\nexport class FileSchemaDimensionsData {\n @Prop({optional: true, type: 'number'})\n width?: number\n\n @Prop({optional: true, type: 'number'})\n height?: number\n}\n\n@TypedSchema()\nexport class FileSchemaColorsData {\n @Prop({optional: true, type: 'string'})\n front?: string\n\n @Prop({optional: true, type: 'string'})\n background?: string\n\n @Prop({optional: true, type: 'string'})\n blurhash?: string\n}\n\n@TypedSchema({\n name: 'File',\n resolvers,\n // this is only called when its child\n async clean(value) {\n if (!value) return null\n const fileId = value._id\n const file = await getFileData(fileId)\n if (!file) return null\n\n await generateImageInfo(file)\n\n const keys = [\n '_id',\n 'hash',\n 'externalUrl',\n 'key',\n 'bucket',\n 'name',\n 'type',\n 'size',\n // 'status',\n // 'createdBy',\n // 'createdAt',\n 'dimensions',\n 'resizedData',\n 'colorsData',\n ]\n const data = pick(keys, file)\n return data\n },\n})\nexport class FileSchema {\n @Prop({type: 'ID'})\n _id: string\n\n @Prop({optional: true, type: 'string'})\n hash?: string\n\n @Prop({optional: true, type: 'string'})\n externalUrl?: string\n\n @Prop({optional: true, type: 'string'})\n key?: string\n\n @Prop({optional: true, type: 'string'})\n bucket?: string\n\n @Prop({optional: true, type: 'string'})\n name?: string\n\n @Prop({optional: true, type: 'string'})\n type?: string\n\n @Prop({optional: true, type: 'number'})\n size?: number\n\n @Prop({optional: true, type: 'string'})\n status?: string\n\n @Prop({optional: true, type: 'string'})\n createdBy?: string\n\n @Prop({optional: true, type: Date})\n createdAt?: Date\n\n @Prop({optional: true, type: FileSchemaDimensionsData})\n dimensions?: FileSchemaDimensionsData\n\n @Prop({optional: true, type: FileSchemaResizeData})\n resizedData?: FileSchemaResizeData\n\n @Prop({optional: true, type: FileSchemaColorsData})\n colorsData?: FileSchemaColorsData\n}\n","import {modelResolver} from '@orion-js/resolvers'\n\nexport default modelResolver({\n returns: String,\n async resolve(file, viewer) {\n const {type} = file\n if (!type) return 'unknown'\n if (type.startsWith('image/')) return 'image'\n if (type.startsWith('application/pdf')) return 'pdf'\n return 'unknown'\n },\n})\n","import {modelResolver} from '@orion-js/resolvers'\nimport {getAWSCredentials} from '../../credentials'\nimport {FileSchema} from '../schema'\n\nexport function getFileURL(file: FileSchema): string {\n if (file.externalUrl) return file.externalUrl\n const options = getAWSCredentials()\n if (options.getFileURL) return options.getFileURL(file)\n return `https://s3.amazonaws.com/${file.bucket}/${encodeURIComponent(file.key)}`\n}\n\nexport default modelResolver({\n returns: String,\n async resolve(file) {\n return getFileURL(file)\n },\n})\n","import {\n FileSchema,\n FileSchemaColorsData,\n FileSchemaDimensionsData,\n FileSchemaResizeData,\n} from './File/schema'\n\nexport interface FileManagerOptions {\n accessKeyId: string\n secretAccessKey: string\n region: string\n bucket: string\n canUpload: Function\n getFileURL?: Function\n basePath: string\n endpoint?: string\n s3ForcePathStyle?: boolean\n\n getImageDimensions?: (file: FileSchema) => Promise<FileSchemaDimensionsData>\n getResizedImages?: (file: FileSchema) => Promise<FileSchemaResizeData>\n getImageColors?: (file: FileSchema) => Promise<FileSchemaColorsData>\n}\n\nlet savedOptions: Partial<FileManagerOptions> = {}\n\nexport const setupFileManager = (options: FileManagerOptions) => {\n savedOptions = options\n}\n\n/**\n * @deprecated use getFileManagerOptions instead\n */\nexport const getAWSCredentials = () => savedOptions\n\nexport const getFileManagerOptions = () => savedOptions\n","import genericType from './genericType'\nimport url from './url'\n\nexport default {\n url,\n genericType,\n}\n","export function type(input){\n if (input === null){\n return 'Null'\n } else if (input === undefined){\n return 'Undefined'\n } else if (Number.isNaN(input)){\n return 'NaN'\n }\n const typeResult = Object.prototype.toString.call(input).slice(8, -1)\n\n return typeResult === 'AsyncFunction' ? 'Promise' : typeResult\n}\n","function _isInteger(n){\n return n << 0 === n\n}\n\nexport const isInteger = Number.isInteger || _isInteger\n\n/**\n * Check if `index` is integer even if it is a string.\n */\nexport const isIndexInteger = index => Number.isInteger(Number(index))\n","import { isInteger } from './isInteger.js'\n\nexport function createPath(path, delimiter = '.'){\n return typeof path === 'string' ?\n path.split(delimiter).map(x => isInteger(x) ? Number(x) : x) :\n path\n}\n","import { createPath } from './_internals/createPath.js'\n\nexport function pick(propsToPick, input){\n if (arguments.length === 1) return _input => pick(propsToPick, _input)\n\n if (input === null || input === undefined){\n return undefined\n }\n const keys = createPath(propsToPick, ',')\n const willReturn = {}\n let counter = 0\n\n while (counter < keys.length){\n if (keys[ counter ] in input){\n willReturn[ keys[ counter ] ] = input[ keys[ counter ] ]\n }\n counter++\n }\n\n return willReturn\n}\n","import { type } from './type.js'\n\nexport function isEmpty(input){\n const inputType = type(input)\n if ([ 'Undefined', 'NaN', 'Number', 'Null' ].includes(inputType))\n return false\n if (!input) return true\n\n if (inputType === 'Object'){\n return Object.keys(input).length === 0\n }\n\n if (inputType === 'Array'){\n return input.length === 0\n }\n\n return false\n}\n","import {FileSchema} from '../schema'\n\nexport function isImage(image: FileSchema): boolean {\n if (!image.type) {\n return true\n }\n const mime = image.type\n return mime.includes('image')\n}\n","import {isEmpty} from 'rambdax'\nimport {getFileManagerOptions} from '../credentials'\nimport {isImage} from '../File/resolvers/isImage'\nimport {FileSchema} from '../File/schema'\nimport {Files} from '../Files'\n\nexport async function generateImageInfo(file: FileSchema) {\n if (!file._id) return\n\n const options = getFileManagerOptions()\n\n if (isImage(file)) {\n if (!file.dimensions && options.getImageDimensions) {\n try {\n file.dimensions = await options.getImageDimensions(file)\n if (!isEmpty(file.dimensions)) {\n await Files.updateOne(file._id, {$set: {dimensions: file.dimensions}})\n }\n } catch (error) {\n console.error('Error getting image dimensions', error)\n }\n }\n\n if (!file.resizedData?.extraLargeURL && options.getResizedImages) {\n try {\n file.resizedData = await options.getResizedImages(file)\n if (!isEmpty(file.resizedData)) {\n await Files.updateOne(file._id, {$set: {resizedData: file.resizedData}})\n }\n } catch (error) {\n console.error('Error getting resized images', error)\n }\n }\n\n if (!file.colorsData && options.getImageColors) {\n try {\n file.colorsData = await options.getImageColors(file)\n if (!isEmpty(file.colorsData)) {\n await Files.updateOne(file._id, {$set: {colorsData: file.colorsData}})\n }\n } catch (error) {\n console.error('Error getting image colors', error)\n }\n }\n }\n}\n","import {createCollection} from '@orion-js/mongodb'\n\nconst readOnlyCollection = createCollection({name: 'filemanager_files'})\n\nexport async function getFileData(fileId: string) {\n const file = await readOnlyCollection.findOne({_id: fileId})\n return file\n}\n","import {createPaginatedResolver} from '@orion-js/paginated-mongodb'\nimport escapeString from 'escape-string-regexp'\nimport {Files} from '../Files'\nimport {FileSchema} from '../File/schema'\n\nconst fileManagerFiles = createPaginatedResolver({\n params: {\n filter: {\n type: String,\n optional: true,\n },\n },\n returns: FileSchema as any,\n async getCursor({filter}, viewer) {\n const query: any = {status: 'uploaded'}\n\n query.createdBy = viewer.userId\n\n if (filter) {\n query.name = {$regex: new RegExp(`^${escapeString(filter)}`)}\n }\n\n return Files.find(query)\n },\n})\n\nexport default fileManagerFiles\n","import {createResolver} from '@orion-js/resolvers'\nimport {Files} from '../Files'\nimport {generateImageInfo} from './generateImageInfo'\nimport {FileSchema} from '../File/schema'\n\nexport default createResolver({\n params: {\n fileId: {\n type: 'ID',\n },\n },\n returns: FileSchema,\n mutation: true,\n async resolve({fileId}, viewer) {\n const file = await Files.findOne({createdBy: viewer.userId, _id: fileId})\n await Files.updateOne(file, {$set: {status: 'uploaded'}})\n\n // mientras el usuario sigue editando el formulario, se generan los resizes y colores\n await generateImageInfo(file)\n\n return file\n },\n})\n","import {createResolver} from '@orion-js/resolvers'\nimport {generateId, generateUUID} from '@orion-js/helpers'\nimport AWS from 'aws-sdk'\nimport {getAWSCredentials} from '../credentials'\nimport {Files} from '../Files'\nimport {schemaWithName} from '@orion-js/schema'\n\nexport const generateUploadCredentials = createResolver({\n params: {\n name: {\n type: 'string',\n },\n size: {\n type: 'number',\n },\n type: {\n type: 'string',\n },\n },\n returns: schemaWithName('UploadCredentials', {\n fileId: {\n type: 'ID',\n },\n url: {\n type: 'string',\n },\n fields: {\n type: 'blackbox',\n },\n key: {\n type: 'string',\n },\n }),\n mutation: true,\n async resolve(params, viewer) {\n const {\n accessKeyId,\n secretAccessKey,\n region,\n bucket,\n endpoint,\n s3ForcePathStyle,\n canUpload,\n basePath,\n } = getAWSCredentials()\n const s3 = new AWS.S3({\n accessKeyId,\n secretAccessKey,\n region,\n endpoint,\n s3ForcePathStyle,\n })\n\n if (canUpload) {\n if (!(await canUpload(params, viewer))) return null\n }\n\n const key = `${basePath}/${generateId()}-${params.name}`\n\n const fileId = await Files.rawCollection.insertOne({\n _id: `ofl-${generateUUID()}`,\n key,\n bucket,\n name: params.name,\n type: params.type,\n size: params.size,\n status: 'uploading',\n createdBy: viewer.userId,\n createdAt: new Date(),\n })\n\n const result = await new Promise<AWS.S3.PresignedPost>((resolve, reject) => {\n s3.createPresignedPost(\n {\n Bucket: bucket,\n Conditions: [\n ['content-length-range', params.size, params.size],\n {'Content-Type': params.type},\n {'Cache-Control': 'public, max-age=31536000, immutable'},\n {Key: key},\n ],\n Fields: {\n key: key,\n 'Content-Type': params.type,\n 'Cache-Control': 'public, max-age=31536000, immutable',\n },\n },\n (error, data) => {\n if (error) reject(error)\n else resolve(data)\n },\n )\n })\n\n return {\n fileId,\n ...(result as any),\n key,\n }\n },\n})\n","import fileManagerFile from './fileManagerFile'\nimport fileManagerFiles from './fileManagerFiles'\nimport completeUpload from './completeUpload'\nimport {generateUploadCredentials} from './generateUploadCredentials'\nimport type {GlobalResolver} from '@orion-js/resolvers'\n\n// Define a type for our resolvers object\ntype ResolversMap = Record<string, GlobalResolver<any, any>>\n\nconst resolvers: ResolversMap = {\n fileManagerFile,\n fileManagerFiles,\n completeUpload,\n generateUploadCredentials,\n}\n\nexport default resolvers\n"],"mappings":"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","names":["resolvers_default","import_resolvers","import_mongodb","type","import_resolvers","_init","escapeString","import_resolvers","import_resolvers","import_schema","AWS","resolvers_default"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/resolvers/fileManagerFile.ts","../src/Files/index.ts","../src/File/schema.ts","../src/File/resolvers/genericType.ts","../src/File/resolvers/url.ts","../src/credentials.ts","../src/File/resolvers/index.ts","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/type.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/isInteger.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/createPath.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/pick.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/isEmpty.js","../src/File/resolvers/isImage.ts","../src/resolvers/generateImageInfo.ts","../src/File/getFileData.ts","../src/resolvers/fileManagerFiles.ts","../src/resolvers/completeUpload.ts","../src/resolvers/generateUploadCredentials.ts","../src/resolvers/index.ts"],"sourcesContent":["import resolvers from './resolvers'\nimport {setupFileManager, getAWSCredentials, FileManagerOptions} from './credentials'\nimport {Files} from './Files'\nimport {getFileURL} from './File/resolvers/url'\nimport {FileSchema} from './File/schema'\n\nexport {\n resolvers,\n FileManagerOptions,\n setupFileManager,\n getAWSCredentials,\n Files,\n getFileURL,\n FileSchema,\n}\n","import {createResolver} from '@orion-js/resolvers'\nimport {Files} from '../Files'\nimport {FileSchema} from '../File/schema'\n\nexport default createResolver({\n params: {\n fileId: {\n type: 'ID',\n },\n },\n returns: FileSchema,\n async resolve({fileId}) {\n return await Files.findOne(fileId)\n },\n})\n","import {createCollection} from '@orion-js/mongodb'\nimport {FileSchema} from '../File/schema'\n\nexport const Files = createCollection({\n name: 'filemanager_files',\n schema: FileSchema,\n indexes: [\n {\n keys: {\n key: 1,\n bucket: 1,\n },\n },\n {\n keys: {\n hash: 1,\n },\n },\n ],\n})\n","import {Prop, TypedSchema} from '@orion-js/typed-model'\nimport resolvers from './resolvers'\nimport {generateImageInfo} from '../resolvers/generateImageInfo'\nimport {pick} from 'rambdax'\nimport {getFileData} from './getFileData'\n\n@TypedSchema()\nexport class FileSchemaResizeData {\n @Prop({optional: true, type: 'string'})\n thumbnailURL?: string // 100 height max\n\n @Prop({optional: true, type: 'string'})\n smallURL?: string // 300 height max\n\n @Prop({optional: true, type: 'string'})\n mediumURL?: string // 800 height max\n\n @Prop({optional: true, type: 'string'})\n largeURL?: string // 1400 height max\n\n @Prop({optional: true, type: 'string'})\n extraLargeURL?: string // 2400 height max\n}\n\n@TypedSchema()\nexport class FileSchemaDimensionsData {\n @Prop({optional: true, type: 'number'})\n width?: number\n\n @Prop({optional: true, type: 'number'})\n height?: number\n}\n\n@TypedSchema()\nexport class FileSchemaColorsData {\n @Prop({optional: true, type: 'string'})\n front?: string\n\n @Prop({optional: true, type: 'string'})\n background?: string\n\n @Prop({optional: true, type: 'string'})\n blurhash?: string\n}\n\n@TypedSchema({\n name: 'File',\n resolvers,\n // this is only called when its child\n async clean(value) {\n if (!value) return null\n const fileId = value._id\n const file = await getFileData(fileId)\n if (!file) return null\n\n await generateImageInfo(file)\n\n const keys = [\n '_id',\n 'hash',\n 'externalUrl',\n 'key',\n 'bucket',\n 'name',\n 'type',\n 'size',\n // 'status',\n // 'createdBy',\n // 'createdAt',\n 'dimensions',\n 'resizedData',\n 'colorsData',\n ]\n const data = pick(keys, file)\n return data\n },\n})\nexport class FileSchema {\n @Prop({type: 'ID'})\n _id: string\n\n @Prop({optional: true, type: 'string'})\n hash?: string\n\n @Prop({optional: true, type: 'string'})\n externalUrl?: string\n\n @Prop({optional: true, type: 'string'})\n key?: string\n\n @Prop({optional: true, type: 'string'})\n bucket?: string\n\n @Prop({optional: true, type: 'string'})\n name?: string\n\n @Prop({optional: true, type: 'string'})\n type?: string\n\n @Prop({optional: true, type: 'number'})\n size?: number\n\n @Prop({optional: true, type: 'string'})\n status?: string\n\n @Prop({optional: true, type: 'string'})\n createdBy?: string\n\n @Prop({optional: true, type: Date})\n createdAt?: Date\n\n @Prop({optional: true, type: FileSchemaDimensionsData})\n dimensions?: FileSchemaDimensionsData\n\n @Prop({optional: true, type: FileSchemaResizeData})\n resizedData?: FileSchemaResizeData\n\n @Prop({optional: true, type: FileSchemaColorsData})\n colorsData?: FileSchemaColorsData\n}\n","import {modelResolver} from '@orion-js/resolvers'\n\nexport default modelResolver({\n returns: String,\n async resolve(file, viewer) {\n const {type} = file\n if (!type) return 'unknown'\n if (type.startsWith('image/')) return 'image'\n if (type.startsWith('application/pdf')) return 'pdf'\n return 'unknown'\n },\n})\n","import {modelResolver} from '@orion-js/resolvers'\nimport {getAWSCredentials} from '../../credentials'\nimport {FileSchema} from '../schema'\n\nexport function getFileURL(file: FileSchema): string {\n if (file.externalUrl) return file.externalUrl\n const options = getAWSCredentials()\n if (options.getFileURL) return options.getFileURL(file)\n return `https://s3.amazonaws.com/${file.bucket}/${encodeURIComponent(file.key)}`\n}\n\nexport default modelResolver({\n returns: String,\n async resolve(file) {\n return getFileURL(file)\n },\n})\n","import {\n FileSchema,\n FileSchemaColorsData,\n FileSchemaDimensionsData,\n FileSchemaResizeData,\n} from './File/schema'\n\nexport interface FileManagerOptions {\n accessKeyId: string\n secretAccessKey: string\n region: string\n bucket: string\n canUpload: Function\n getFileURL?: Function\n basePath: string\n endpoint?: string\n s3ForcePathStyle?: boolean\n\n getImageDimensions?: (file: FileSchema) => Promise<FileSchemaDimensionsData>\n getResizedImages?: (file: FileSchema) => Promise<FileSchemaResizeData>\n getImageColors?: (file: FileSchema) => Promise<FileSchemaColorsData>\n}\n\nlet savedOptions: Partial<FileManagerOptions> = {}\n\nexport const setupFileManager = (options: FileManagerOptions) => {\n savedOptions = options\n}\n\n/**\n * @deprecated use getFileManagerOptions instead\n */\nexport const getAWSCredentials = () => savedOptions\n\nexport const getFileManagerOptions = () => savedOptions\n","import genericType from './genericType'\nimport url from './url'\n\nexport default {\n url,\n genericType,\n}\n","export function type(input){\n if (input === null){\n return 'Null'\n } else if (input === undefined){\n return 'Undefined'\n } else if (Number.isNaN(input)){\n return 'NaN'\n }\n const typeResult = Object.prototype.toString.call(input).slice(8, -1)\n\n return typeResult === 'AsyncFunction' ? 'Promise' : typeResult\n}\n","function _isInteger(n){\n return n << 0 === n\n}\n\nexport const isInteger = Number.isInteger || _isInteger\n\n/**\n * Check if `index` is integer even if it is a string.\n */\nexport const isIndexInteger = index => Number.isInteger(Number(index))\n","import { isInteger } from './isInteger.js'\n\nexport function createPath(path, delimiter = '.'){\n return typeof path === 'string' ?\n path.split(delimiter).map(x => isInteger(x) ? Number(x) : x) :\n path\n}\n","import { createPath } from './_internals/createPath.js'\n\nexport function pick(propsToPick, input){\n if (arguments.length === 1) return _input => pick(propsToPick, _input)\n\n if (input === null || input === undefined){\n return undefined\n }\n const keys = createPath(propsToPick, ',')\n const willReturn = {}\n let counter = 0\n\n while (counter < keys.length){\n if (keys[ counter ] in input){\n willReturn[ keys[ counter ] ] = input[ keys[ counter ] ]\n }\n counter++\n }\n\n return willReturn\n}\n","import { type } from './type.js'\n\nexport function isEmpty(input){\n const inputType = type(input)\n if ([ 'Undefined', 'NaN', 'Number', 'Null' ].includes(inputType))\n return false\n if (!input) return true\n\n if (inputType === 'Object'){\n return Object.keys(input).length === 0\n }\n\n if (inputType === 'Array'){\n return input.length === 0\n }\n\n return false\n}\n","import {FileSchema} from '../schema'\n\nexport function isImage(image: FileSchema): boolean {\n if (!image.type) {\n return true\n }\n const mime = image.type\n return mime.includes('image')\n}\n","import {isEmpty} from 'rambdax'\nimport {getFileManagerOptions} from '../credentials'\nimport {isImage} from '../File/resolvers/isImage'\nimport {FileSchema} from '../File/schema'\nimport {Files} from '../Files'\n\nexport async function generateImageInfo(file: FileSchema) {\n if (!file._id) return\n\n const options = getFileManagerOptions()\n\n if (isImage(file)) {\n if (!file.dimensions && options.getImageDimensions) {\n try {\n file.dimensions = await options.getImageDimensions(file)\n if (!isEmpty(file.dimensions)) {\n await Files.updateOne(file._id, {$set: {dimensions: file.dimensions}})\n }\n } catch (error) {\n console.error('Error getting image dimensions', error)\n }\n }\n\n if (!file.resizedData?.extraLargeURL && options.getResizedImages) {\n try {\n file.resizedData = await options.getResizedImages(file)\n if (!isEmpty(file.resizedData)) {\n await Files.updateOne(file._id, {$set: {resizedData: file.resizedData}})\n }\n } catch (error) {\n console.error('Error getting resized images', error)\n }\n }\n\n if (!file.colorsData && options.getImageColors) {\n try {\n file.colorsData = await options.getImageColors(file)\n if (!isEmpty(file.colorsData)) {\n await Files.updateOne(file._id, {$set: {colorsData: file.colorsData}})\n }\n } catch (error) {\n console.error('Error getting image colors', error)\n }\n }\n }\n}\n","import {createCollection} from '@orion-js/mongodb'\n\nconst readOnlyCollection = createCollection({name: 'filemanager_files'})\n\nexport async function getFileData(fileId: string) {\n const file = await readOnlyCollection.findOne({_id: fileId})\n return file\n}\n","import {createPaginatedResolver} from '@orion-js/paginated-mongodb'\nimport escapeString from 'escape-string-regexp'\nimport {Files} from '../Files'\nimport {FileSchema} from '../File/schema'\n\nconst fileManagerFiles = createPaginatedResolver({\n params: {\n filter: {\n type: String,\n optional: true,\n },\n },\n returns: FileSchema as any,\n async getCursor({filter}, viewer) {\n const query: any = {status: 'uploaded'}\n\n query.createdBy = viewer.userId\n\n if (filter) {\n query.name = {$regex: new RegExp(`^${escapeString(filter)}`)}\n }\n\n return Files.find(query)\n },\n})\n\nexport default fileManagerFiles\n","import {createResolver} from '@orion-js/resolvers'\nimport {Files} from '../Files'\nimport {generateImageInfo} from './generateImageInfo'\nimport {FileSchema} from '../File/schema'\n\nexport default createResolver({\n params: {\n fileId: {\n type: 'ID',\n },\n },\n returns: FileSchema,\n mutation: true,\n async resolve({fileId}, viewer) {\n const file = await Files.findOne({createdBy: viewer.userId, _id: fileId})\n await Files.updateOne(file, {$set: {status: 'uploaded'}})\n\n // mientras el usuario sigue editando el formulario, se generan los resizes y colores\n await generateImageInfo(file)\n\n return file\n },\n})\n","import {createResolver} from '@orion-js/resolvers'\nimport {generateId, generateUUID} from '@orion-js/helpers'\nimport AWS from 'aws-sdk'\nimport {getAWSCredentials} from '../credentials'\nimport {Files} from '../Files'\nimport {schemaWithName} from '@orion-js/schema'\n\nexport const generateUploadCredentials = createResolver({\n params: {\n name: {\n type: 'string',\n },\n size: {\n type: 'number',\n },\n type: {\n type: 'string',\n },\n },\n returns: schemaWithName('UploadCredentials', {\n fileId: {\n type: 'ID',\n },\n url: {\n type: 'string',\n },\n fields: {\n type: 'blackbox',\n },\n key: {\n type: 'string',\n },\n }),\n mutation: true,\n async resolve(params, viewer) {\n const {\n accessKeyId,\n secretAccessKey,\n region,\n bucket,\n endpoint,\n s3ForcePathStyle,\n canUpload,\n basePath,\n } = getAWSCredentials()\n const s3 = new AWS.S3({\n accessKeyId,\n secretAccessKey,\n region,\n endpoint,\n s3ForcePathStyle,\n })\n\n if (canUpload) {\n if (!(await canUpload(params, viewer))) return null\n }\n\n const key = `${basePath}/${generateId()}-${params.name}`\n\n const fileId = await Files.rawCollection.insertOne({\n _id: `ofl-${generateUUID()}`,\n key,\n bucket,\n name: params.name,\n type: params.type,\n size: params.size,\n status: 'uploading',\n createdBy: viewer.userId,\n createdAt: new Date(),\n })\n\n const result = await new Promise<AWS.S3.PresignedPost>((resolve, reject) => {\n s3.createPresignedPost(\n {\n Bucket: bucket,\n Conditions: [\n ['content-length-range', params.size, params.size],\n {'Content-Type': params.type},\n {'Cache-Control': 'public, max-age=31536000, immutable'},\n {Key: key},\n ],\n Fields: {\n key: key,\n 'Content-Type': params.type,\n 'Cache-Control': 'public, max-age=31536000, immutable',\n },\n },\n (error, data) => {\n if (error) reject(error)\n else resolve(data)\n },\n )\n })\n\n return {\n fileId,\n ...(result as any),\n key,\n }\n },\n})\n","import fileManagerFile from './fileManagerFile'\nimport fileManagerFiles from './fileManagerFiles'\nimport completeUpload from './completeUpload'\nimport {generateUploadCredentials} from './generateUploadCredentials'\nimport type {GlobalResolver} from '@orion-js/resolvers'\n\n// Define a type for our resolvers object\ntype ResolversMap = Record<string, GlobalResolver<any, any>>\n\nconst resolvers: ResolversMap = {\n fileManagerFile,\n fileManagerFiles,\n completeUpload,\n generateUploadCredentials,\n}\n\nexport default resolvers\n"],"mappings":"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","names":["resolvers_default","import_resolvers","import_mongodb","type","import_resolvers","_init","escapeString","import_resolvers","import_resolvers","import_schema","AWS","resolvers_default"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -61,4 +61,4 @@ declare const Files: _orion_js_mongodb.Collection<FileSchema>;
|
|
|
61
61
|
|
|
62
62
|
declare function getFileURL(file: FileSchema): string;
|
|
63
63
|
|
|
64
|
-
export { FileSchema, Files, getAWSCredentials, getFileURL, resolvers, setupFileManager };
|
|
64
|
+
export { type FileManagerOptions, FileSchema, Files, getAWSCredentials, getFileURL, resolvers, setupFileManager };
|
package/dist/index.d.ts
CHANGED
|
@@ -61,4 +61,4 @@ declare const Files: _orion_js_mongodb.Collection<FileSchema>;
|
|
|
61
61
|
|
|
62
62
|
declare function getFileURL(file: FileSchema): string;
|
|
63
63
|
|
|
64
|
-
export { FileSchema, Files, getAWSCredentials, getFileURL, resolvers, setupFileManager };
|
|
64
|
+
export { type FileManagerOptions, FileSchema, Files, getAWSCredentials, getFileURL, resolvers, setupFileManager };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orion-js/file-manager",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.9",
|
|
4
4
|
"main": "./dist/index.cjs",
|
|
5
5
|
"author": "nicolaslopezj",
|
|
6
6
|
"license": "MIT",
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
"aws-sdk": "^2.1367.0",
|
|
9
9
|
"escape-string-regexp": "^4.0.0",
|
|
10
10
|
"luxon": "^2.1.1",
|
|
11
|
-
"@orion-js/
|
|
12
|
-
"@orion-js/
|
|
13
|
-
"@orion-js/
|
|
14
|
-
"@orion-js/
|
|
15
|
-
"@orion-js/
|
|
16
|
-
"@orion-js/
|
|
17
|
-
"@orion-js/
|
|
11
|
+
"@orion-js/mongodb": "4.0.4",
|
|
12
|
+
"@orion-js/models": "4.0.2",
|
|
13
|
+
"@orion-js/resolvers": "4.0.2",
|
|
14
|
+
"@orion-js/paginated-mongodb": "4.0.9",
|
|
15
|
+
"@orion-js/typed-model": "4.0.2",
|
|
16
|
+
"@orion-js/schema": "4.0.2",
|
|
17
|
+
"@orion-js/helpers": "4.0.0"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@types/dot-object": "^2.1.2",
|