@orion-js/file-manager 4.2.10 → 4.3.0
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 +6 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/package.json +21 -22
- package/LICENSE +0 -21
package/dist/index.cjs
CHANGED
|
@@ -4,7 +4,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
7
|
+
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
8
8
|
var __typeError = (msg) => {
|
|
9
9
|
throw TypeError(msg);
|
|
10
10
|
};
|
|
@@ -136,7 +136,7 @@ var resolvers_default = {
|
|
|
136
136
|
genericType: genericType_default
|
|
137
137
|
};
|
|
138
138
|
|
|
139
|
-
// ../../node_modules/.
|
|
139
|
+
// ../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/type.js
|
|
140
140
|
function type(input) {
|
|
141
141
|
if (input === null) {
|
|
142
142
|
return "Null";
|
|
@@ -149,18 +149,18 @@ function type(input) {
|
|
|
149
149
|
return typeResult === "AsyncFunction" ? "Promise" : typeResult;
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
-
// ../../node_modules/.
|
|
152
|
+
// ../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/_internals/isInteger.js
|
|
153
153
|
function _isInteger(n) {
|
|
154
154
|
return n << 0 === n;
|
|
155
155
|
}
|
|
156
156
|
var isInteger = Number.isInteger || _isInteger;
|
|
157
157
|
|
|
158
|
-
// ../../node_modules/.
|
|
158
|
+
// ../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/_internals/createPath.js
|
|
159
159
|
function createPath(path, delimiter = ".") {
|
|
160
160
|
return typeof path === "string" ? path.split(delimiter).map((x) => isInteger(x) ? Number(x) : x) : path;
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
-
// ../../node_modules/.
|
|
163
|
+
// ../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/pick.js
|
|
164
164
|
function pick(propsToPick, input) {
|
|
165
165
|
if (arguments.length === 1) return (_input) => pick(propsToPick, _input);
|
|
166
166
|
if (input === null || input === void 0) {
|
|
@@ -178,7 +178,7 @@ function pick(propsToPick, input) {
|
|
|
178
178
|
return willReturn;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
// ../../node_modules/.
|
|
181
|
+
// ../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/isEmpty.js
|
|
182
182
|
function isEmpty(input) {
|
|
183
183
|
const inputType = type(input);
|
|
184
184
|
if (["Undefined", "NaN", "Number", "Null"].includes(inputType))
|
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, 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 {insertedId: fileId} = await (await Files.getRawCollection()).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/.bun/rambdax@11.3.1/node_modules/rambdax/src/type.js","../../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/_internals/isInteger.js","../../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/_internals/createPath.js","../../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/pick.js","../../../node_modules/.bun/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 {insertedId: fileId} = await (await Files.getRawCollection()).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.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
4
|
+
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
5
5
|
var __typeError = (msg) => {
|
|
6
6
|
throw TypeError(msg);
|
|
7
7
|
};
|
|
@@ -100,7 +100,7 @@ var resolvers_default = {
|
|
|
100
100
|
genericType: genericType_default
|
|
101
101
|
};
|
|
102
102
|
|
|
103
|
-
// ../../node_modules/.
|
|
103
|
+
// ../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/type.js
|
|
104
104
|
function type(input) {
|
|
105
105
|
if (input === null) {
|
|
106
106
|
return "Null";
|
|
@@ -113,18 +113,18 @@ function type(input) {
|
|
|
113
113
|
return typeResult === "AsyncFunction" ? "Promise" : typeResult;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
// ../../node_modules/.
|
|
116
|
+
// ../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/_internals/isInteger.js
|
|
117
117
|
function _isInteger(n) {
|
|
118
118
|
return n << 0 === n;
|
|
119
119
|
}
|
|
120
120
|
var isInteger = Number.isInteger || _isInteger;
|
|
121
121
|
|
|
122
|
-
// ../../node_modules/.
|
|
122
|
+
// ../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/_internals/createPath.js
|
|
123
123
|
function createPath(path, delimiter = ".") {
|
|
124
124
|
return typeof path === "string" ? path.split(delimiter).map((x) => isInteger(x) ? Number(x) : x) : path;
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
// ../../node_modules/.
|
|
127
|
+
// ../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/pick.js
|
|
128
128
|
function pick(propsToPick, input) {
|
|
129
129
|
if (arguments.length === 1) return (_input) => pick(propsToPick, _input);
|
|
130
130
|
if (input === null || input === void 0) {
|
|
@@ -142,7 +142,7 @@ function pick(propsToPick, input) {
|
|
|
142
142
|
return willReturn;
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
// ../../node_modules/.
|
|
145
|
+
// ../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/isEmpty.js
|
|
146
146
|
function isEmpty(input) {
|
|
147
147
|
const inputType = type(input);
|
|
148
148
|
if (["Undefined", "NaN", "Number", "Null"].includes(inputType))
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../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 {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 {insertedId: fileId} = await (await Files.getRawCollection()).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":["createCollection","type","modelResolver","modelResolver","_init","createCollection","createResolver","createResolver","createResolver","createResolver","resolvers_default"]}
|
|
1
|
+
{"version":3,"sources":["../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/.bun/rambdax@11.3.1/node_modules/rambdax/src/type.js","../../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/_internals/isInteger.js","../../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/_internals/createPath.js","../../../node_modules/.bun/rambdax@11.3.1/node_modules/rambdax/src/pick.js","../../../node_modules/.bun/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 {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 {insertedId: fileId} = await (await Files.getRawCollection()).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":["createCollection","type","modelResolver","modelResolver","_init","createCollection","createResolver","createResolver","createResolver","createResolver","resolvers_default"]}
|
package/package.json
CHANGED
|
@@ -1,31 +1,37 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orion-js/file-manager",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"main": "./dist/index.cjs",
|
|
5
5
|
"author": "nicolaslopezj",
|
|
6
6
|
"license": "MIT",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"test": "bun test",
|
|
9
|
+
"prepare": "bun run build",
|
|
10
|
+
"clean": "rm -rf ./dist",
|
|
11
|
+
"build": "tsup",
|
|
12
|
+
"dev": "tsup --watch"
|
|
13
|
+
},
|
|
7
14
|
"dependencies": {
|
|
15
|
+
"@orion-js/helpers": "4.3.0",
|
|
16
|
+
"@orion-js/models": "4.3.0",
|
|
17
|
+
"@orion-js/paginated-mongodb": "4.3.0",
|
|
18
|
+
"@orion-js/resolvers": "4.3.0",
|
|
19
|
+
"@orion-js/schema": "4.3.0",
|
|
20
|
+
"@orion-js/typed-model": "4.3.0",
|
|
8
21
|
"aws-sdk": "^2.1367.0",
|
|
9
22
|
"escape-string-regexp": "^4.0.0",
|
|
10
|
-
"luxon": "^2.1.1"
|
|
11
|
-
"@orion-js/helpers": "4.2.0",
|
|
12
|
-
"@orion-js/resolvers": "4.2.1",
|
|
13
|
-
"@orion-js/models": "4.2.1",
|
|
14
|
-
"@orion-js/typed-model": "4.2.1",
|
|
15
|
-
"@orion-js/paginated-mongodb": "4.2.10",
|
|
16
|
-
"@orion-js/schema": "4.2.1"
|
|
23
|
+
"luxon": "^2.1.1"
|
|
17
24
|
},
|
|
18
25
|
"peerDependencies": {
|
|
19
|
-
"@orion-js/logger": "4.
|
|
20
|
-
"@orion-js/mongodb": "4.
|
|
26
|
+
"@orion-js/logger": "4.3.0",
|
|
27
|
+
"@orion-js/mongodb": "4.3.0"
|
|
21
28
|
},
|
|
22
29
|
"devDependencies": {
|
|
30
|
+
"@orion-js/mongodb": "4.3.0",
|
|
23
31
|
"@types/dot-object": "^2.1.2",
|
|
24
32
|
"@types/node": "^18.0.0",
|
|
25
33
|
"tsup": "^8.0.1",
|
|
26
|
-
"typescript": "^5.4.5"
|
|
27
|
-
"vitest": "^3.0.8",
|
|
28
|
-
"@orion-js/mongodb": "4.2.10"
|
|
34
|
+
"typescript": "^5.4.5"
|
|
29
35
|
},
|
|
30
36
|
"publishConfig": {
|
|
31
37
|
"access": "public"
|
|
@@ -41,12 +47,5 @@
|
|
|
41
47
|
},
|
|
42
48
|
"files": [
|
|
43
49
|
"dist"
|
|
44
|
-
]
|
|
45
|
-
|
|
46
|
-
"test": "vitest run",
|
|
47
|
-
"clean": "rm -rf ./dist",
|
|
48
|
-
"build": "tsup",
|
|
49
|
-
"upgrade-interactive": "pnpm upgrade --interactive",
|
|
50
|
-
"dev": "tsup --watch"
|
|
51
|
-
}
|
|
52
|
-
}
|
|
50
|
+
]
|
|
51
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2022 Orionjs Team
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|