@webiny/api-file-manager 6.3.0 → 6.4.0-beta.1
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/contants.js +2 -1
- package/contants.js.map +1 -1
- package/delivery/AssetDelivery/Asset.js +50 -56
- package/delivery/AssetDelivery/Asset.js.map +1 -1
- package/delivery/AssetDelivery/AssetDeliveryConfig.js +70 -83
- package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +1 -1
- package/delivery/AssetDelivery/AssetRequest.js +20 -19
- package/delivery/AssetDelivery/AssetRequest.js.map +1 -1
- package/delivery/AssetDelivery/FilesAssetRequestResolver.js +19 -25
- package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +1 -1
- package/delivery/AssetDelivery/NullAssetOutputStrategy.js +5 -4
- package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +1 -1
- package/delivery/AssetDelivery/NullAssetReply.js +10 -9
- package/delivery/AssetDelivery/NullAssetReply.js.map +1 -1
- package/delivery/AssetDelivery/NullAssetResolver.js +5 -4
- package/delivery/AssetDelivery/NullAssetResolver.js.map +1 -1
- package/delivery/AssetDelivery/NullRequestResolver.js +5 -4
- package/delivery/AssetDelivery/NullRequestResolver.js.map +1 -1
- package/delivery/AssetDelivery/SetCacheControlHeaders.js +11 -14
- package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +1 -1
- package/delivery/AssetDelivery/SetResponseHeaders.js +16 -15
- package/delivery/AssetDelivery/SetResponseHeaders.js.map +1 -1
- package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +0 -3
- package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +0 -3
- package/delivery/AssetDelivery/abstractions/AssetProcessor.js +0 -3
- package/delivery/AssetDelivery/abstractions/AssetReply.js +28 -27
- package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -1
- package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +0 -3
- package/delivery/AssetDelivery/abstractions/AssetResolver.js +0 -3
- package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +0 -3
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +4 -5
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +0 -3
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +15 -14
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +5 -4
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +14 -16
- package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/PrivateCache.js +18 -17
- package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +21 -25
- package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +44 -51
- package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/PublicCache.js +18 -17
- package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +16 -15
- package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +16 -15
- package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -1
- package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +5 -4
- package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +1 -1
- package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +5 -4
- package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +1 -1
- package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +12 -15
- package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +1 -1
- package/delivery/index.js +0 -2
- package/delivery/setupAssetDelivery.js +70 -101
- package/delivery/setupAssetDelivery.js.map +1 -1
- package/domain/file/abstractions.js +2 -5
- package/domain/file/abstractions.js.map +1 -1
- package/domain/file/errors.js +67 -76
- package/domain/file/errors.js.map +1 -1
- package/domain/file/file.model.js +57 -49
- package/domain/file/file.model.js.map +1 -1
- package/domain/file/types.js +0 -3
- package/domain/identity/Identity.js +9 -8
- package/domain/identity/Identity.js.map +1 -1
- package/domain/permissionsSchema.js +26 -15
- package/domain/permissionsSchema.js.map +1 -1
- package/domain/settings/constants.js +2 -1
- package/domain/settings/constants.js.map +1 -1
- package/domain/settings/errors.js +22 -24
- package/domain/settings/errors.js.map +1 -1
- package/domain/settings/types.js +0 -3
- package/domain/settings/validation.js +18 -27
- package/domain/settings/validation.js.map +1 -1
- package/exports/api/file-manager/file.js +0 -2
- package/exports/api/file-manager/permissions.js +0 -2
- package/exports/api/file-manager/settings.js +0 -2
- package/features/FileManagerFeature.js +16 -15
- package/features/FileManagerFeature.js.map +1 -1
- package/features/file/CreateFile/CreateFileRepository.js +20 -18
- package/features/file/CreateFile/CreateFileRepository.js.map +1 -1
- package/features/file/CreateFile/CreateFileUseCase.js +68 -75
- package/features/file/CreateFile/CreateFileUseCase.js.map +1 -1
- package/features/file/CreateFile/abstractions.js +3 -14
- package/features/file/CreateFile/abstractions.js.map +1 -1
- package/features/file/CreateFile/events.js +17 -26
- package/features/file/CreateFile/events.js.map +1 -1
- package/features/file/CreateFile/feature.js +7 -6
- package/features/file/CreateFile/feature.js.map +1 -1
- package/features/file/CreateFile/index.js +0 -2
- package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +15 -17
- package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -1
- package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +59 -70
- package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -1
- package/features/file/CreateFilesInBatch/abstractions.js +3 -14
- package/features/file/CreateFilesInBatch/abstractions.js.map +1 -1
- package/features/file/CreateFilesInBatch/events.js +17 -26
- package/features/file/CreateFilesInBatch/events.js.map +1 -1
- package/features/file/CreateFilesInBatch/feature.js +7 -6
- package/features/file/CreateFilesInBatch/feature.js.map +1 -1
- package/features/file/CreateFilesInBatch/index.js +0 -2
- package/features/file/DeleteFile/DeleteFileRepository.js +21 -20
- package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -1
- package/features/file/DeleteFile/DeleteFileUseCase.js +31 -33
- package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -1
- package/features/file/DeleteFile/abstractions.js +3 -14
- package/features/file/DeleteFile/abstractions.js.map +1 -1
- package/features/file/DeleteFile/events.js +17 -26
- package/features/file/DeleteFile/events.js.map +1 -1
- package/features/file/DeleteFile/feature.js +7 -6
- package/features/file/DeleteFile/feature.js.map +1 -1
- package/features/file/DeleteFile/index.js +1 -3
- package/features/file/FileUrlGenerator/abstractions.js +2 -2
- package/features/file/FileUrlGenerator/abstractions.js.map +1 -1
- package/features/file/GetFile/GetFileRepository.js +22 -22
- package/features/file/GetFile/GetFileRepository.js.map +1 -1
- package/features/file/GetFile/GetFileUseCase.js +19 -21
- package/features/file/GetFile/GetFileUseCase.js.map +1 -1
- package/features/file/GetFile/abstractions.js +3 -14
- package/features/file/GetFile/abstractions.js.map +1 -1
- package/features/file/GetFile/feature.js +7 -6
- package/features/file/GetFile/feature.js.map +1 -1
- package/features/file/GetFile/index.js +0 -2
- package/features/file/GetFileContentsById/abstractions.d.ts +20 -0
- package/features/file/GetFileContentsById/abstractions.js +5 -0
- package/features/file/GetFileContentsById/abstractions.js.map +1 -0
- package/features/file/GetFileContentsById/index.d.ts +1 -0
- package/features/file/GetFileContentsById/index.js +1 -0
- package/features/file/GetFileContentsByKey/abstractions.d.ts +17 -0
- package/features/file/GetFileContentsByKey/abstractions.js +5 -0
- package/features/file/GetFileContentsByKey/abstractions.js.map +1 -0
- package/features/file/GetFileContentsByKey/index.d.ts +1 -0
- package/features/file/GetFileContentsByKey/index.js +1 -0
- package/features/file/ListFiles/ListFilesRepository.js +42 -40
- package/features/file/ListFiles/ListFilesRepository.js.map +1 -1
- package/features/file/ListFiles/ListFilesUseCase.js +33 -34
- package/features/file/ListFiles/ListFilesUseCase.js.map +1 -1
- package/features/file/ListFiles/abstractions.js +3 -14
- package/features/file/ListFiles/abstractions.js.map +1 -1
- package/features/file/ListFiles/feature.js +7 -6
- package/features/file/ListFiles/feature.js.map +1 -1
- package/features/file/ListFiles/index.js +0 -2
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.js +31 -28
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.js.map +1 -1
- package/features/file/ListImagesByTagTool/feature.js +6 -5
- package/features/file/ListImagesByTagTool/feature.js.map +1 -1
- package/features/file/ListTags/ListTagsRepository.js +31 -36
- package/features/file/ListTags/ListTagsRepository.js.map +1 -1
- package/features/file/ListTags/ListTagsUseCase.js +21 -21
- package/features/file/ListTags/ListTagsUseCase.js.map +1 -1
- package/features/file/ListTags/abstractions.js +3 -14
- package/features/file/ListTags/abstractions.js.map +1 -1
- package/features/file/ListTags/feature.js +7 -6
- package/features/file/ListTags/feature.js.map +1 -1
- package/features/file/ListTags/index.js +0 -2
- package/features/file/UpdateFile/UpdateFileRepository.js +26 -28
- package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -1
- package/features/file/UpdateFile/UpdateFileUseCase.js +57 -65
- package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -1
- package/features/file/UpdateFile/abstractions.js +3 -14
- package/features/file/UpdateFile/abstractions.js.map +1 -1
- package/features/file/UpdateFile/events.js +17 -26
- package/features/file/UpdateFile/events.js.map +1 -1
- package/features/file/UpdateFile/feature.js +7 -6
- package/features/file/UpdateFile/feature.js.map +1 -1
- package/features/file/UpdateFile/index.js +1 -3
- package/features/file/shared/EntryToFileMapper.js +25 -24
- package/features/file/shared/EntryToFileMapper.js.map +1 -1
- package/features/file/shared/FileInputToEntryInputMapper.js +29 -28
- package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -1
- package/features/file/shared/FileToEntryMapper.js +28 -27
- package/features/file/shared/FileToEntryMapper.js.map +1 -1
- package/features/permissions/abstractions.js +2 -1
- package/features/permissions/abstractions.js.map +1 -1
- package/features/permissions/feature.js +2 -1
- package/features/permissions/feature.js.map +1 -1
- package/features/settings/GetSettings/GetSettingsUseCase.js +19 -19
- package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -1
- package/features/settings/GetSettings/abstractions.js +2 -7
- package/features/settings/GetSettings/abstractions.js.map +1 -1
- package/features/settings/GetSettings/feature.js +6 -5
- package/features/settings/GetSettings/feature.js.map +1 -1
- package/features/settings/SettingsInstaller/SettingsInstaller.js +25 -24
- package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -1
- package/features/settings/SettingsInstaller/feature.js +6 -5
- package/features/settings/SettingsInstaller/feature.js.map +1 -1
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +41 -48
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -1
- package/features/settings/UpdateSettings/abstractions.js +2 -7
- package/features/settings/UpdateSettings/abstractions.js.map +1 -1
- package/features/settings/UpdateSettings/events.js +17 -26
- package/features/settings/UpdateSettings/events.js.map +1 -1
- package/features/settings/UpdateSettings/feature.js +6 -5
- package/features/settings/UpdateSettings/feature.js.map +1 -1
- package/features/settings/UpdateSettings/index.js +0 -2
- package/features/shared/abstractions.js +0 -2
- package/graphql/baseSchema.js +30 -33
- package/graphql/baseSchema.js.map +1 -1
- package/graphql/createFilesTypeDefs.js +49 -57
- package/graphql/createFilesTypeDefs.js.map +1 -1
- package/graphql/filesSchema.js +79 -99
- package/graphql/filesSchema.js.map +1 -1
- package/graphql/getFileByUrl.js +45 -53
- package/graphql/getFileByUrl.js.map +1 -1
- package/graphql/index.js +35 -42
- package/graphql/index.js.map +1 -1
- package/graphql/utils.js +9 -14
- package/graphql/utils.js.map +1 -1
- package/index.d.ts +2 -2
- package/index.js +25 -30
- package/index.js.map +1 -1
- package/modelModifier/CmsModelModifier.js +40 -43
- package/modelModifier/CmsModelModifier.js.map +1 -1
- package/package.json +18 -21
- package/types.js +0 -2
- package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +0 -1
- package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +0 -1
- package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +0 -1
- package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +0 -1
- package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +0 -1
- package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +0 -1
- package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +0 -1
- package/delivery/index.js.map +0 -1
- package/domain/file/types.js.map +0 -1
- package/domain/settings/types.js.map +0 -1
- package/exports/api/file-manager/file.js.map +0 -1
- package/exports/api/file-manager/permissions.js.map +0 -1
- package/exports/api/file-manager/settings.js.map +0 -1
- package/features/ai/AiImageEnrichmentAfterCreateHandler.d.ts +0 -11
- package/features/ai/AiImageEnrichmentAfterCreateHandler.js +0 -28
- package/features/ai/AiImageEnrichmentAfterCreateHandler.js.map +0 -1
- package/features/ai/AiImageEnrichmentFeature.d.ts +0 -4
- package/features/ai/AiImageEnrichmentFeature.js +0 -12
- package/features/ai/AiImageEnrichmentFeature.js.map +0 -1
- package/features/file/CreateFile/index.js.map +0 -1
- package/features/file/CreateFilesInBatch/index.js.map +0 -1
- package/features/file/DeleteFile/index.js.map +0 -1
- package/features/file/GetFile/index.js.map +0 -1
- package/features/file/ListFiles/index.js.map +0 -1
- package/features/file/ListTags/index.js.map +0 -1
- package/features/file/UpdateFile/index.js.map +0 -1
- package/features/settings/UpdateSettings/index.js.map +0 -1
- package/features/shared/abstractions.js.map +0 -1
- package/tasks/AiImageEnrichmentTask.d.ts +0 -35
- package/tasks/AiImageEnrichmentTask.js +0 -136
- package/tasks/AiImageEnrichmentTask.js.map +0 -1
- package/types.js.map +0 -1
package/graphql/index.js
CHANGED
|
@@ -8,47 +8,40 @@ import { getFileByUrl } from "./getFileByUrl.js";
|
|
|
8
8
|
import { FileModel } from "../domain/file/abstractions.js";
|
|
9
9
|
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
10
10
|
import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
models,
|
|
47
|
-
fieldRegistry
|
|
48
|
-
});
|
|
49
|
-
context.plugins.register([...plugins, graphQlPlugin, getFileByUrl()]);
|
|
50
|
-
});
|
|
51
|
-
})];
|
|
52
|
-
};
|
|
11
|
+
const createGraphQLSchemaPlugin = ()=>[
|
|
12
|
+
createBaseSchema(),
|
|
13
|
+
new ContextPlugin(async (context)=>{
|
|
14
|
+
const tenantContext = context.container.resolve(TenantContext);
|
|
15
|
+
if (!tenantContext.getTenant()) return;
|
|
16
|
+
const fileModel = context.container.resolve(FileModel);
|
|
17
|
+
const listModels = context.container.resolve(ListModelsUseCase);
|
|
18
|
+
const fieldRegistry = context.container.resolve(CmsModelFieldToGraphQLRegistry);
|
|
19
|
+
await context.security.withoutAuthorization(async ()=>{
|
|
20
|
+
const modelsResult = await listModels.execute();
|
|
21
|
+
const models = modelsResult.value;
|
|
22
|
+
const plugins = createGraphQLSchemaPluginFromFieldPlugins({
|
|
23
|
+
models,
|
|
24
|
+
type: "manage",
|
|
25
|
+
fieldRegistry,
|
|
26
|
+
createPlugin: ({ schema, type, fieldType })=>{
|
|
27
|
+
const plugin = new GraphQLSchemaPlugin(schema);
|
|
28
|
+
plugin.name = `fm.graphql.schema.${type}.field.${fieldType}`;
|
|
29
|
+
return plugin;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
const graphQlPlugin = createFilesSchema({
|
|
33
|
+
model: fileModel,
|
|
34
|
+
models,
|
|
35
|
+
fieldRegistry
|
|
36
|
+
});
|
|
37
|
+
context.plugins.register([
|
|
38
|
+
...plugins,
|
|
39
|
+
graphQlPlugin,
|
|
40
|
+
getFileByUrl()
|
|
41
|
+
]);
|
|
42
|
+
});
|
|
43
|
+
})
|
|
44
|
+
];
|
|
45
|
+
export { createGraphQLSchemaPlugin };
|
|
53
46
|
|
|
54
47
|
//# sourceMappingURL=index.js.map
|
package/graphql/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"graphql/index.js","sources":["../../src/graphql/index.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { ListModelsUseCase } from \"@webiny/api-headless-cms/features/contentModel/ListModels/index.js\";\nimport { createGraphQLSchemaPluginFromFieldPlugins } from \"@webiny/api-headless-cms/utils/getSchemaFromFieldPlugins.js\";\nimport { createBaseSchema } from \"~/graphql/baseSchema.js\";\nimport { createFilesSchema } from \"~/graphql/filesSchema.js\";\nimport { getFileByUrl } from \"~/graphql/getFileByUrl.js\";\nimport { FileModel } from \"~/domain/file/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/exports/api/cms/graphql.js\";\n\nexport const createGraphQLSchemaPlugin = () => {\n return [\n createBaseSchema(),\n // Files schema is generated dynamically, based on a CMS model, so we need to\n // register it from a ContextPlugin, to perform additional bootstrap.\n new ContextPlugin<ApiCoreContext>(async context => {\n const tenantContext = context.container.resolve(TenantContext);\n if (!tenantContext.getTenant()) {\n return;\n }\n\n const fileModel = context.container.resolve(FileModel);\n const listModels = context.container.resolve(ListModelsUseCase);\n const fieldRegistry = context.container.resolve(CmsModelFieldToGraphQLRegistry);\n\n await context.security.withoutAuthorization(async () => {\n const modelsResult = await listModels.execute();\n const models = modelsResult.value;\n\n /**\n * We need to register all plugins for all the CMS fields.\n */\n const plugins = createGraphQLSchemaPluginFromFieldPlugins({\n models,\n type: \"manage\",\n fieldRegistry,\n createPlugin: ({ schema, type, fieldType }) => {\n const plugin = new GraphQLSchemaPlugin(schema);\n plugin.name = `fm.graphql.schema.${type}.field.${fieldType}`;\n return plugin;\n }\n });\n\n const graphQlPlugin = createFilesSchema({\n model: fileModel,\n models,\n fieldRegistry\n });\n\n context.plugins.register([...plugins, graphQlPlugin, getFileByUrl()]);\n });\n })\n ];\n};\n"],"names":["createGraphQLSchemaPlugin","createBaseSchema","ContextPlugin","context","tenantContext","TenantContext","fileModel","FileModel","listModels","ListModelsUseCase","fieldRegistry","CmsModelFieldToGraphQLRegistry","modelsResult","models","plugins","createGraphQLSchemaPluginFromFieldPlugins","schema","type","fieldType","plugin","GraphQLSchemaPlugin","graphQlPlugin","createFilesSchema","getFileByUrl"],"mappings":";;;;;;;;;;AAYO,MAAMA,4BAA4B,IAC9B;QACHC;QAGA,IAAIC,cAA8B,OAAMC;YACpC,MAAMC,gBAAgBD,QAAQ,SAAS,CAAC,OAAO,CAACE;YAChD,IAAI,CAACD,cAAc,SAAS,IACxB;YAGJ,MAAME,YAAYH,QAAQ,SAAS,CAAC,OAAO,CAACI;YAC5C,MAAMC,aAAaL,QAAQ,SAAS,CAAC,OAAO,CAACM;YAC7C,MAAMC,gBAAgBP,QAAQ,SAAS,CAAC,OAAO,CAACQ;YAEhD,MAAMR,QAAQ,QAAQ,CAAC,oBAAoB,CAAC;gBACxC,MAAMS,eAAe,MAAMJ,WAAW,OAAO;gBAC7C,MAAMK,SAASD,aAAa,KAAK;gBAKjC,MAAME,UAAUC,0CAA0C;oBACtDF;oBACA,MAAM;oBACNH;oBACA,cAAc,CAAC,EAAEM,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE;wBACtC,MAAMC,SAAS,IAAIC,oBAAoBJ;wBACvCG,OAAO,IAAI,GAAG,CAAC,kBAAkB,EAAEF,KAAK,OAAO,EAAEC,WAAW;wBAC5D,OAAOC;oBACX;gBACJ;gBAEA,MAAME,gBAAgBC,kBAAkB;oBACpC,OAAOhB;oBACPO;oBACAH;gBACJ;gBAEAP,QAAQ,OAAO,CAAC,QAAQ,CAAC;uBAAIW;oBAASO;oBAAeE;iBAAe;YACxE;QACJ;KACH"}
|
package/graphql/utils.js
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export const resolve = async fn => {
|
|
10
|
-
try {
|
|
11
|
-
return new Response(await fn());
|
|
12
|
-
} catch (e) {
|
|
13
|
-
return new ErrorResponse(e);
|
|
14
|
-
}
|
|
1
|
+
import { ErrorResponse, Response } from "@webiny/handler-graphql";
|
|
2
|
+
const emptyResolver = ()=>({});
|
|
3
|
+
const resolve = async (fn)=>{
|
|
4
|
+
try {
|
|
5
|
+
return new Response(await fn());
|
|
6
|
+
} catch (e) {
|
|
7
|
+
return new ErrorResponse(e);
|
|
8
|
+
}
|
|
15
9
|
};
|
|
10
|
+
export { emptyResolver, resolve };
|
|
16
11
|
|
|
17
12
|
//# sourceMappingURL=utils.js.map
|
package/graphql/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"graphql/utils.js","sources":["../../src/graphql/utils.ts"],"sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql\";\n\nexport const emptyResolver = () => ({});\n\n/**\n * Use any because it really can be any.\n * TODO @ts-refactor maybe use generics at some point?\n */\ninterface ResolveCallable {\n (): Promise<any>;\n}\n\nexport const resolve = async (fn: ResolveCallable) => {\n try {\n return new Response(await fn());\n } catch (e) {\n return new ErrorResponse(e);\n }\n};\n"],"names":["emptyResolver","resolve","fn","Response","e","ErrorResponse"],"mappings":";AAEO,MAAMA,gBAAgB,IAAO,EAAC;AAU9B,MAAMC,UAAU,OAAOC;IAC1B,IAAI;QACA,OAAO,IAAIC,SAAS,MAAMD;IAC9B,EAAE,OAAOE,GAAG;QACR,OAAO,IAAIC,cAAcD;IAC7B;AACJ"}
|
package/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
|
|
|
2
2
|
import { ContextPlugin } from "@webiny/api";
|
|
3
3
|
export * from "./modelModifier/CmsModelModifier.js";
|
|
4
4
|
export * from "./delivery/index.js";
|
|
5
|
-
export declare const createFileManagerContext: () => ContextPlugin<ApiCoreContext
|
|
5
|
+
export declare const createFileManagerContext: () => (ContextPlugin<ApiCoreContext> | import("@webiny/handler").RegisterExtensionPlugin<import("@webiny/handler/types.js").Context>)[];
|
|
6
6
|
export declare const createFileManagerGraphQL: () => (import("@webiny/handler-graphql/index.js").GraphQLSchemaPlugin<ApiCoreContext> | ContextPlugin<ApiCoreContext>)[];
|
|
7
|
-
export declare const createAssetDelivery: () => (import("./index.js").AssetDeliveryConfigModifierPlugin | import("@webiny/handler
|
|
7
|
+
export declare const createAssetDelivery: () => (import("./index.js").AssetDeliveryConfigModifierPlugin | import("@webiny/handler").ModifyFastifyPlugin)[];
|
package/index.js
CHANGED
|
@@ -3,41 +3,36 @@ import { setupAssetDelivery } from "./delivery/setupAssetDelivery.js";
|
|
|
3
3
|
import { createGraphQLSchemaPlugin } from "./graphql/index.js";
|
|
4
4
|
import { FileManagerFeature } from "./features/FileManagerFeature.js";
|
|
5
5
|
import { FmPermissionsFeature } from "./features/permissions/feature.js";
|
|
6
|
-
import { AiImageEnrichmentFeature } from "./features/ai/AiImageEnrichmentFeature.js";
|
|
7
6
|
import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
8
|
-
import { FileModel
|
|
7
|
+
import { FileModel } from "./domain/file/abstractions.js";
|
|
9
8
|
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
9
|
+
import { FILE_MODEL_ID, FileModel as file_model_js_FileModel } from "./domain/file/file.model.js";
|
|
10
|
+
import { createRegisterExtensionPlugin } from "@webiny/handler";
|
|
12
11
|
export * from "./modelModifier/CmsModelModifier.js";
|
|
13
12
|
export * from "./delivery/index.js";
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
const createFileManagerContext = ()=>{
|
|
14
|
+
const fileManagerContextPlugin = new ContextPlugin(async (context)=>{
|
|
15
|
+
const tenantContext = context.container.resolve(TenantContext);
|
|
16
|
+
const getModel = context.container.resolve(GetModelUseCase);
|
|
17
|
+
if (!tenantContext.getTenant()) return;
|
|
18
|
+
await context.security.withoutAuthorization(async ()=>{
|
|
19
|
+
const fileModel = await getModel.execute(FILE_MODEL_ID);
|
|
20
|
+
context.container.registerInstance(FileModel, fileModel.value);
|
|
21
|
+
});
|
|
22
|
+
FmPermissionsFeature.register(context.container);
|
|
23
|
+
FileManagerFeature.register(context.container);
|
|
25
24
|
});
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return plugin;
|
|
35
|
-
};
|
|
36
|
-
export const createFileManagerGraphQL = () => {
|
|
37
|
-
return createGraphQLSchemaPlugin();
|
|
38
|
-
};
|
|
39
|
-
export const createAssetDelivery = () => {
|
|
40
|
-
return setupAssetDelivery();
|
|
25
|
+
fileManagerContextPlugin.name = "file-manager.createContext";
|
|
26
|
+
const modelsPlugin = createRegisterExtensionPlugin((context)=>{
|
|
27
|
+
context.container.register(file_model_js_FileModel);
|
|
28
|
+
});
|
|
29
|
+
return [
|
|
30
|
+
fileManagerContextPlugin,
|
|
31
|
+
modelsPlugin
|
|
32
|
+
];
|
|
41
33
|
};
|
|
34
|
+
const createFileManagerGraphQL = ()=>createGraphQLSchemaPlugin();
|
|
35
|
+
const createAssetDelivery = ()=>setupAssetDelivery();
|
|
36
|
+
export { createAssetDelivery, createFileManagerContext, createFileManagerGraphQL };
|
|
42
37
|
|
|
43
38
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { setupAssetDelivery } from \"./delivery/setupAssetDelivery.js\";\nimport { createGraphQLSchemaPlugin } from \"./graphql/index.js\";\nimport { FileManagerFeature } from \"~/features/FileManagerFeature.js\";\nimport { FmPermissionsFeature } from \"~/features/permissions/feature.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { FileModel as FileModelAbstraction } from \"~/domain/file/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { FileModel, FILE_MODEL_ID } from \"~/domain/file/file.model.js\";\nimport { createRegisterExtensionPlugin } from \"@webiny/handler\";\n\nexport * from \"./modelModifier/CmsModelModifier.js\";\nexport * from \"./delivery/index.js\";\n\nexport const createFileManagerContext = () => {\n const fileManagerContextPlugin = new ContextPlugin<ApiCoreContext>(async context => {\n const tenantContext = context.container.resolve(TenantContext);\n const getModel = context.container.resolve(GetModelUseCase);\n\n if (!tenantContext.getTenant()) {\n return;\n }\n\n await context.security.withoutAuthorization(async () => {\n const fileModel = await getModel.execute(FILE_MODEL_ID);\n context.container.registerInstance(FileModelAbstraction, fileModel.value);\n });\n\n FmPermissionsFeature.register(context.container);\n FileManagerFeature.register(context.container);\n });\n\n fileManagerContextPlugin.name = \"file-manager.createContext\";\n\n const modelsPlugin = createRegisterExtensionPlugin(context => {\n context.container.register(FileModel);\n });\n\n return [fileManagerContextPlugin, modelsPlugin];\n};\n\nexport const createFileManagerGraphQL = () => {\n return createGraphQLSchemaPlugin();\n};\n\nexport const createAssetDelivery = () => {\n return setupAssetDelivery();\n};\n"],"names":["createFileManagerContext","fileManagerContextPlugin","ContextPlugin","context","tenantContext","TenantContext","getModel","GetModelUseCase","fileModel","FILE_MODEL_ID","FileModelAbstraction","FmPermissionsFeature","FileManagerFeature","modelsPlugin","createRegisterExtensionPlugin","FileModel","createFileManagerGraphQL","createGraphQLSchemaPlugin","createAssetDelivery","setupAssetDelivery"],"mappings":";;;;;;;;;;;;AAeO,MAAMA,2BAA2B;IACpC,MAAMC,2BAA2B,IAAIC,cAA8B,OAAMC;QACrE,MAAMC,gBAAgBD,QAAQ,SAAS,CAAC,OAAO,CAACE;QAChD,MAAMC,WAAWH,QAAQ,SAAS,CAAC,OAAO,CAACI;QAE3C,IAAI,CAACH,cAAc,SAAS,IACxB;QAGJ,MAAMD,QAAQ,QAAQ,CAAC,oBAAoB,CAAC;YACxC,MAAMK,YAAY,MAAMF,SAAS,OAAO,CAACG;YACzCN,QAAQ,SAAS,CAAC,gBAAgB,CAACO,WAAsBF,UAAU,KAAK;QAC5E;QAEAG,qBAAqB,QAAQ,CAACR,QAAQ,SAAS;QAC/CS,mBAAmB,QAAQ,CAACT,QAAQ,SAAS;IACjD;IAEAF,yBAAyB,IAAI,GAAG;IAEhC,MAAMY,eAAeC,8BAA8BX,CAAAA;QAC/CA,QAAQ,SAAS,CAAC,QAAQ,CAACY;IAC/B;IAEA,OAAO;QAACd;QAA0BY;KAAa;AACnD;AAEO,MAAMG,2BAA2B,IAC7BC;AAGJ,MAAMC,sBAAsB,IACxBC"}
|
|
@@ -2,53 +2,50 @@ import { Plugin } from "@webiny/plugins";
|
|
|
2
2
|
import { createModelField } from "@webiny/api-headless-cms";
|
|
3
3
|
import { FILE_MODEL_ID } from "../domain/file/file.model.js";
|
|
4
4
|
class CmsModelFieldsModifier {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
});
|
|
19
|
-
}
|
|
5
|
+
constructor(fields){
|
|
6
|
+
this.fields = fields;
|
|
7
|
+
}
|
|
8
|
+
addField(field) {
|
|
9
|
+
const { bulkEdit, tags, ...rest } = field;
|
|
10
|
+
this.fields.push({
|
|
11
|
+
...rest,
|
|
12
|
+
tags: (tags ?? []).concat(bulkEdit ? [
|
|
13
|
+
"$bulk-edit"
|
|
14
|
+
] : []),
|
|
15
|
+
storageId: `${field.type}@${field.id}`
|
|
16
|
+
});
|
|
17
|
+
}
|
|
20
18
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (model.modelId !== this.modelId) {
|
|
30
|
-
return;
|
|
19
|
+
class CmsModelModifierPlugin extends Plugin {
|
|
20
|
+
static{
|
|
21
|
+
this.type = "fm.cms-model-modifier";
|
|
22
|
+
}
|
|
23
|
+
constructor(modelId, cb){
|
|
24
|
+
super();
|
|
25
|
+
this.modelId = modelId;
|
|
26
|
+
this.cb = cb;
|
|
31
27
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
28
|
+
async modifyModel(model) {
|
|
29
|
+
if (model.modelId !== this.modelId) return;
|
|
30
|
+
let extensionsField = model.fields.find((field)=>"extensions" === field.fieldId);
|
|
31
|
+
if (!extensionsField) {
|
|
32
|
+
extensionsField = createModelField({
|
|
33
|
+
label: "Extensions",
|
|
34
|
+
type: "object",
|
|
35
|
+
settings: {
|
|
36
|
+
layout: [],
|
|
37
|
+
fields: []
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
model.fields.push(extensionsField);
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
const modifier = new CmsModelFieldsModifier(extensionsField.settings.fields);
|
|
43
|
+
await this.cb({
|
|
44
|
+
modifier
|
|
45
|
+
});
|
|
43
46
|
}
|
|
44
|
-
const modifier = new CmsModelFieldsModifier(extensionsField.settings.fields);
|
|
45
|
-
await this.cb({
|
|
46
|
-
modifier
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
47
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
};
|
|
48
|
+
const createFileModelModifier = (cb)=>new CmsModelModifierPlugin(FILE_MODEL_ID, cb);
|
|
49
|
+
export { CmsModelModifierPlugin, createFileModelModifier };
|
|
53
50
|
|
|
54
51
|
//# sourceMappingURL=CmsModelModifier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"modelModifier/CmsModelModifier.js","sources":["../../src/modelModifier/CmsModelModifier.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport type { CmsModelField as BaseModelField } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { CmsPrivateModelFull } from \"@webiny/api-headless-cms\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\nimport { FILE_MODEL_ID } from \"~/domain/file/file.model.js\";\n\ntype CmsModelField = Omit<BaseModelField, \"storageId\"> & { bulkEdit?: boolean };\n\nclass CmsModelFieldsModifier {\n private fields: BaseModelField[];\n\n constructor(fields: BaseModelField[]) {\n this.fields = fields;\n }\n\n addField(field: CmsModelField) {\n const { bulkEdit, tags, ...rest } = field;\n\n this.fields.push({\n ...rest,\n tags: (tags ?? []).concat(bulkEdit ? [\"$bulk-edit\"] : []),\n storageId: `${field.type}@${field.id}`\n });\n }\n}\n\ninterface CmsModelModifierCallableParams {\n modifier: CmsModelFieldsModifier;\n}\n\ninterface CmsModelModifierCallable {\n (params: CmsModelModifierCallableParams): Promise<void> | void;\n}\n\nexport class CmsModelModifierPlugin extends Plugin {\n public static override type = \"fm.cms-model-modifier\";\n private readonly modelId: string;\n private readonly cb: CmsModelModifierCallable;\n\n constructor(modelId: string, cb: CmsModelModifierCallable) {\n super();\n this.modelId = modelId;\n this.cb = cb;\n }\n\n async modifyModel(model: CmsPrivateModelFull): Promise<void> {\n if (model.modelId !== this.modelId) {\n return;\n }\n\n let extensionsField = model.fields.find(field => field.fieldId === \"extensions\");\n if (!extensionsField) {\n extensionsField = createModelField({\n label: \"Extensions\",\n type: \"object\",\n settings: {\n layout: [],\n fields: []\n }\n });\n model.fields.push(extensionsField);\n }\n\n const modifier = new CmsModelFieldsModifier(extensionsField.settings!.fields!);\n await this.cb({ modifier });\n }\n}\n\nexport const createFileModelModifier = (cb: CmsModelModifierCallable) => {\n return new CmsModelModifierPlugin(FILE_MODEL_ID, cb);\n};\n"],"names":["CmsModelFieldsModifier","fields","field","bulkEdit","tags","rest","CmsModelModifierPlugin","Plugin","modelId","cb","model","extensionsField","createModelField","modifier","createFileModelModifier","FILE_MODEL_ID"],"mappings":";;;AAQA,MAAMA;IAGF,YAAYC,MAAwB,CAAE;QAClC,IAAI,CAAC,MAAM,GAAGA;IAClB;IAEA,SAASC,KAAoB,EAAE;QAC3B,MAAM,EAAEC,QAAQ,EAAEC,IAAI,EAAE,GAAGC,MAAM,GAAGH;QAEpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACb,GAAGG,IAAI;YACP,MAAOD,AAAAA,CAAAA,QAAQ,EAAC,EAAG,MAAM,CAACD,WAAW;gBAAC;aAAa,GAAG,EAAE;YACxD,WAAW,GAAGD,MAAM,IAAI,CAAC,CAAC,EAAEA,MAAM,EAAE,EAAE;QAC1C;IACJ;AACJ;AAUO,MAAMI,+BAA+BC;;aACjB,IAAI,GAAG;;IAI9B,YAAYC,OAAe,EAAEC,EAA4B,CAAE;QACvD,KAAK;QACL,IAAI,CAAC,OAAO,GAAGD;QACf,IAAI,CAAC,EAAE,GAAGC;IACd;IAEA,MAAM,YAAYC,KAA0B,EAAiB;QACzD,IAAIA,MAAM,OAAO,KAAK,IAAI,CAAC,OAAO,EAC9B;QAGJ,IAAIC,kBAAkBD,MAAM,MAAM,CAAC,IAAI,CAACR,CAAAA,QAASA,AAAkB,iBAAlBA,MAAM,OAAO;QAC9D,IAAI,CAACS,iBAAiB;YAClBA,kBAAkBC,iBAAiB;gBAC/B,OAAO;gBACP,MAAM;gBACN,UAAU;oBACN,QAAQ,EAAE;oBACV,QAAQ,EAAE;gBACd;YACJ;YACAF,MAAM,MAAM,CAAC,IAAI,CAACC;QACtB;QAEA,MAAME,WAAW,IAAIb,uBAAuBW,gBAAgB,QAAQ,CAAE,MAAM;QAC5E,MAAM,IAAI,CAAC,EAAE,CAAC;YAAEE;QAAS;IAC7B;AACJ;AAEO,MAAMC,0BAA0B,CAACL,KAC7B,IAAIH,uBAAuBS,eAAeN"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-file-manager",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.4.0-beta.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -22,29 +22,26 @@
|
|
|
22
22
|
],
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@webiny/
|
|
26
|
-
"@webiny/api": "6.
|
|
27
|
-
"@webiny/api-
|
|
28
|
-
"@webiny/
|
|
29
|
-
"@webiny/
|
|
30
|
-
"@webiny/
|
|
31
|
-
"@webiny/
|
|
32
|
-
"@webiny/
|
|
33
|
-
"@webiny/
|
|
34
|
-
"@webiny/
|
|
35
|
-
"@webiny/
|
|
36
|
-
"@webiny/
|
|
37
|
-
"@webiny/tasks": "6.3.0",
|
|
38
|
-
"@webiny/wcp": "6.3.0",
|
|
39
|
-
"ai": "6.0.175",
|
|
25
|
+
"@webiny/api": "6.4.0-beta.1",
|
|
26
|
+
"@webiny/api-core": "6.4.0-beta.1",
|
|
27
|
+
"@webiny/api-headless-cms": "6.4.0-beta.1",
|
|
28
|
+
"@webiny/build-tools": "6.4.0-beta.1",
|
|
29
|
+
"@webiny/di": "1.0.0",
|
|
30
|
+
"@webiny/error": "6.4.0-beta.1",
|
|
31
|
+
"@webiny/feature": "6.4.0-beta.1",
|
|
32
|
+
"@webiny/handler": "6.4.0-beta.1",
|
|
33
|
+
"@webiny/handler-graphql": "6.4.0-beta.1",
|
|
34
|
+
"@webiny/plugins": "6.4.0-beta.1",
|
|
35
|
+
"@webiny/tasks": "6.4.0-beta.1",
|
|
36
|
+
"@webiny/wcp": "6.4.0-beta.1",
|
|
40
37
|
"cache-control-parser": "2.2.0",
|
|
41
|
-
"zod": "4.3
|
|
38
|
+
"zod": "4.4.3"
|
|
42
39
|
},
|
|
43
40
|
"devDependencies": {
|
|
44
41
|
"@types/object-hash": "3.0.6",
|
|
45
|
-
"@webiny/handler-aws": "6.
|
|
46
|
-
"@webiny/project-utils": "6.
|
|
47
|
-
"@webiny/utils": "6.
|
|
42
|
+
"@webiny/handler-aws": "6.4.0-beta.1",
|
|
43
|
+
"@webiny/project-utils": "6.4.0-beta.1",
|
|
44
|
+
"@webiny/utils": "6.4.0-beta.1",
|
|
48
45
|
"@webiny/wcp": "0.0.0",
|
|
49
46
|
"rimraf": "6.1.3",
|
|
50
47
|
"typescript": "6.0.3"
|
|
@@ -66,5 +63,5 @@
|
|
|
66
63
|
]
|
|
67
64
|
}
|
|
68
65
|
},
|
|
69
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "73237b8243693038c072bae1c0b783387448cbbe"
|
|
70
67
|
}
|
package/types.js
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["AssetContentsReader.ts"],"sourcesContent":["import type { Asset } from \"~/delivery/index.js\";\n\nexport interface AssetContentsReader {\n read(asset: Asset): Promise<Buffer>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["AssetOutputStrategy.ts"],"sourcesContent":["import type { Asset, AssetReply } from \"~/delivery/index.js\";\n\nexport interface AssetOutputStrategy {\n output(asset: Asset): Promise<AssetReply>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["AssetProcessor.ts"],"sourcesContent":["import type { Asset, AssetRequest } from \"~/delivery/index.js\";\n\nexport interface AssetProcessor {\n process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["AssetRequestResolver.ts"],"sourcesContent":["import type { Request } from \"@webiny/handler/types.js\";\nimport type { AssetRequest } from \"~/delivery/index.js\";\n\nexport interface AssetRequestResolver {\n resolve(request: Request): Promise<AssetRequest | undefined>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["AssetResolver.ts"],"sourcesContent":["import type { Asset, AssetRequest } from \"~/delivery/index.js\";\n\nexport interface AssetResolver {\n resolve(request: AssetRequest): Promise<Asset | undefined>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["AssetTransformationStrategy.ts"],"sourcesContent":["import type { Asset, AssetRequest } from \"~/delivery/index.js\";\n\nexport interface AssetTransformationStrategy {\n transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["AssetAuthorizer.ts"],"sourcesContent":["import { File } from \"~/domain/file/types.js\";\n\nexport interface AssetAuthorizer {\n authorize(file: File): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
package/delivery/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./AssetDelivery/AssetDeliveryConfig.js\";\nexport * from \"./AssetDelivery/Asset.js\";\nexport * from \"./AssetDelivery/AssetRequest.js\";\nexport type * from \"./AssetDelivery/abstractions/AssetRequestResolver.js\";\nexport type * from \"./AssetDelivery/abstractions/AssetResolver.js\";\nexport type * from \"./AssetDelivery/abstractions/AssetProcessor.js\";\nexport type * from \"./AssetDelivery/abstractions/AssetContentsReader.js\";\nexport type * from \"./AssetDelivery/abstractions/AssetOutputStrategy.js\";\nexport type * from \"./AssetDelivery/abstractions/AssetTransformationStrategy.js\";\nexport * from \"./AssetDelivery/abstractions/AssetReply.js\";\nexport * from \"./AssetDelivery/createAssetDeliveryPluginLoader.js\";\nexport * from \"./AssetDelivery/FilesAssetRequestResolver.js\";\nexport * from \"./AssetDelivery/SetCacheControlHeaders.js\";\nexport * from \"./AssetDelivery/SetResponseHeaders.js\";\nexport * from \"./AssetDelivery/privateFiles/PublicCache.js\";\nexport * from \"./AssetDelivery/privateFiles/PrivateCache.js\";\n"],"mappings":"AAAA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
package/domain/file/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export type PublicAccess = {\n type: \"public\";\n};\n\nexport type PrivateAuthenticatedAccess = {\n type: \"private-authenticated\";\n};\n\nexport type FileAccess = PublicAccess | PrivateAuthenticatedAccess;\n\nexport interface CreatedBy {\n id: string;\n displayName: string;\n type: string;\n}\n\nexport interface File {\n id: string;\n key: string;\n size: number;\n type: string;\n name: string;\n metadata: Record<string, any>;\n accessControl?: FileAccess;\n location: {\n folderId: string;\n };\n tags: string[];\n description: string;\n createdOn: string;\n modifiedOn: string | undefined;\n savedOn: string;\n createdBy: CreatedBy;\n modifiedBy: CreatedBy | undefined;\n savedBy: CreatedBy;\n extensions?: Record<string, any>;\n}\n\nexport interface FileInput {\n id: string;\n\n // Entry-level fields (we don't use revisions for files)\n createdOn?: string;\n modifiedOn?: string;\n savedOn?: string;\n createdBy?: CreatedBy;\n modifiedBy?: CreatedBy;\n savedBy?: CreatedBy;\n\n key: string;\n name: string;\n size: number;\n type: string;\n metadata: Record<string, any>;\n location?: {\n folderId: string;\n };\n tags: string[];\n description?: string;\n extensions?: Record<string, any>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export interface FileManagerSettings {\n uploadMinFileSize: number;\n uploadMaxFileSize: number;\n srcPrefix: string;\n}\n\nexport interface UpdateSettingsInput {\n uploadMinFileSize?: number;\n uploadMaxFileSize?: number;\n srcPrefix?: string;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["CreateFileRepository","CreateFileUseCase","FileAfterCreateEventHandler","FileBeforeCreateEventHandler","CreateFilesInBatchRepository","CreateFilesInBatchUseCase","FileAfterBatchCreateEventHandler","FileBeforeBatchCreateEventHandler","UpdateFileRepository","UpdateFileUseCase","FileAfterUpdateEventHandler","FileBeforeUpdateEventHandler","DeleteFileRepository","DeleteFileUseCase","FileAfterDeleteEventHandler","FileBeforeDeleteEventHandler","FileUrlGenerator","GetFileRepository","GetFileUseCase","ListFilesRepository","ListFilesUseCase","ListTagsRepository","ListTagsUseCase"],"sources":["file.ts"],"sourcesContent":["export {\n CreateFileRepository,\n CreateFileUseCase\n} from \"~/features/file/CreateFile/abstractions.js\";\nexport {\n FileAfterCreateEventHandler,\n FileBeforeCreateEventHandler\n} from \"~/features/file/CreateFile/events.js\";\n\nexport {\n CreateFilesInBatchRepository,\n CreateFilesInBatchUseCase\n} from \"~/features/file/CreateFilesInBatch/abstractions.js\";\nexport {\n FileAfterBatchCreateEventHandler,\n FileBeforeBatchCreateEventHandler\n} from \"~/features/file/CreateFilesInBatch/events.js\";\n\nexport {\n UpdateFileRepository,\n UpdateFileUseCase\n} from \"~/features/file/UpdateFile/abstractions.js\";\nexport {\n FileAfterUpdateEventHandler,\n FileBeforeUpdateEventHandler\n} from \"~/features/file/UpdateFile/events.js\";\n\nexport {\n DeleteFileRepository,\n DeleteFileUseCase\n} from \"~/features/file/DeleteFile/abstractions.js\";\nexport {\n FileAfterDeleteEventHandler,\n FileBeforeDeleteEventHandler\n} from \"~/features/file/DeleteFile/events.js\";\n\nexport { FileUrlGenerator } from \"~/features/file/FileUrlGenerator/abstractions.js\";\n\nexport { GetFileRepository, GetFileUseCase } from \"~/features/file/GetFile/abstractions.js\";\n\nexport { ListFilesRepository, ListFilesUseCase } from \"~/features/file/ListFiles/abstractions.js\";\n\nexport { ListTagsRepository, ListTagsUseCase } from \"~/features/file/ListTags/abstractions.js\";\n"],"mappings":"AAAA,SACIA,oBAAoB,EACpBC,iBAAiB;AAErB,SACIC,2BAA2B,EAC3BC,4BAA4B;AAGhC,SACIC,4BAA4B,EAC5BC,yBAAyB;AAE7B,SACIC,gCAAgC,EAChCC,iCAAiC;AAGrC,SACIC,oBAAoB,EACpBC,iBAAiB;AAErB,SACIC,2BAA2B,EAC3BC,4BAA4B;AAGhC,SACIC,oBAAoB,EACpBC,iBAAiB;AAErB,SACIC,2BAA2B,EAC3BC,4BAA4B;AAGhC,SAASC,gBAAgB;AAEzB,SAASC,iBAAiB,EAAEC,cAAc;AAE1C,SAASC,mBAAmB,EAAEC,gBAAgB;AAE9C,SAASC,kBAAkB,EAAEC,eAAe","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["FmPermissions"],"sources":["permissions.ts"],"sourcesContent":["export { FmPermissions } from \"~/features/shared/abstractions.js\";\n"],"mappings":"AAAA,SAASA,aAAa","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["GetSettingsUseCase","UpdateSettingsUseCase","SettingsAfterUpdateEventHandler","SettingsBeforeUpdateEventHandler"],"sources":["settings.ts"],"sourcesContent":["export { GetSettingsUseCase } from \"~/features/settings/GetSettings/abstractions.js\";\nexport { UpdateSettingsUseCase } from \"~/features/settings/UpdateSettings/abstractions.js\";\nexport {\n SettingsAfterUpdateEventHandler,\n SettingsBeforeUpdateEventHandler\n} from \"~/features/settings/UpdateSettings/events.js\";\n"],"mappings":"AAAA,SAASA,kBAAkB;AAC3B,SAASC,qBAAqB;AAC9B,SACIC,+BAA+B,EAC/BC,gCAAgC","ignoreList":[]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { FileAfterCreateEventHandler } from "../../features/file/CreateFile/events.js";
|
|
2
|
-
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
3
|
-
declare class AiImageEnrichmentAfterCreateHandlerImpl implements FileAfterCreateEventHandler.Interface {
|
|
4
|
-
private taskService;
|
|
5
|
-
constructor(taskService: TaskService.Interface);
|
|
6
|
-
handle(event: FileAfterCreateEventHandler.Event): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
export declare const AiImageEnrichmentAfterCreateHandler: typeof AiImageEnrichmentAfterCreateHandlerImpl & {
|
|
9
|
-
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("~/features/file/CreateFile/events.js").FileAfterCreateEvent>>;
|
|
10
|
-
};
|
|
11
|
-
export {};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { FileAfterCreateEventHandler } from "../file/CreateFile/events.js";
|
|
2
|
-
import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
|
|
3
|
-
import { AI_IMAGE_ENRICHMENT_TASK_ID } from "../../tasks/AiImageEnrichmentTask.js";
|
|
4
|
-
class AiImageEnrichmentAfterCreateHandlerImpl {
|
|
5
|
-
constructor(taskService) {
|
|
6
|
-
this.taskService = taskService;
|
|
7
|
-
}
|
|
8
|
-
async handle(event) {
|
|
9
|
-
const {
|
|
10
|
-
file
|
|
11
|
-
} = event.payload;
|
|
12
|
-
if (!file.type.startsWith("image/")) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
await this.taskService.trigger({
|
|
16
|
-
definition: AI_IMAGE_ENRICHMENT_TASK_ID,
|
|
17
|
-
input: {
|
|
18
|
-
fileId: file.id
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export const AiImageEnrichmentAfterCreateHandler = FileAfterCreateEventHandler.createImplementation({
|
|
24
|
-
implementation: AiImageEnrichmentAfterCreateHandlerImpl,
|
|
25
|
-
dependencies: [TaskService]
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=AiImageEnrichmentAfterCreateHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["FileAfterCreateEventHandler","TaskService","AI_IMAGE_ENRICHMENT_TASK_ID","AiImageEnrichmentAfterCreateHandlerImpl","constructor","taskService","handle","event","file","payload","type","startsWith","trigger","definition","input","fileId","id","AiImageEnrichmentAfterCreateHandler","createImplementation","implementation","dependencies"],"sources":["AiImageEnrichmentAfterCreateHandler.ts"],"sourcesContent":["import { FileAfterCreateEventHandler } from \"~/features/file/CreateFile/events.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\nimport type { IAiImageEnrichmentTaskInput } from \"~/tasks/AiImageEnrichmentTask.js\";\nimport { AI_IMAGE_ENRICHMENT_TASK_ID } from \"~/tasks/AiImageEnrichmentTask.js\";\n\nclass AiImageEnrichmentAfterCreateHandlerImpl implements FileAfterCreateEventHandler.Interface {\n constructor(private taskService: TaskService.Interface) {}\n\n async handle(event: FileAfterCreateEventHandler.Event): Promise<void> {\n const { file } = event.payload;\n\n if (!file.type.startsWith(\"image/\")) {\n return;\n }\n\n await this.taskService.trigger<IAiImageEnrichmentTaskInput>({\n definition: AI_IMAGE_ENRICHMENT_TASK_ID,\n input: {\n fileId: file.id\n }\n });\n }\n}\n\nexport const AiImageEnrichmentAfterCreateHandler = FileAfterCreateEventHandler.createImplementation(\n {\n implementation: AiImageEnrichmentAfterCreateHandlerImpl,\n dependencies: [TaskService]\n }\n);\n"],"mappings":"AAAA,SAASA,2BAA2B;AACpC,SAASC,WAAW,QAAQ,qDAAqD;AAEjF,SAASC,2BAA2B;AAEpC,MAAMC,uCAAuC,CAAkD;EAC3FC,WAAWA,CAASC,WAAkC,EAAE;IAAA,KAApCA,WAAkC,GAAlCA,WAAkC;EAAG;EAEzD,MAAMC,MAAMA,CAACC,KAAwC,EAAiB;IAClE,MAAM;MAAEC;IAAK,CAAC,GAAGD,KAAK,CAACE,OAAO;IAE9B,IAAI,CAACD,IAAI,CAACE,IAAI,CAACC,UAAU,CAAC,QAAQ,CAAC,EAAE;MACjC;IACJ;IAEA,MAAM,IAAI,CAACN,WAAW,CAACO,OAAO,CAA8B;MACxDC,UAAU,EAAEX,2BAA2B;MACvCY,KAAK,EAAE;QACHC,MAAM,EAAEP,IAAI,CAACQ;MACjB;IACJ,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMC,mCAAmC,GAAGjB,2BAA2B,CAACkB,oBAAoB,CAC/F;EACIC,cAAc,EAAEhB,uCAAuC;EACvDiB,YAAY,EAAE,CAACnB,WAAW;AAC9B,CACJ,CAAC","ignoreList":[]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { createFeature } from "@webiny/feature/api";
|
|
2
|
-
import { AiImageEnrichmentAfterCreateHandler } from "./AiImageEnrichmentAfterCreateHandler.js";
|
|
3
|
-
import { AiImageEnrichmentTask } from "../../tasks/AiImageEnrichmentTask.js";
|
|
4
|
-
export const AiImageEnrichmentFeature = createFeature({
|
|
5
|
-
name: "FileManagerAi/AiImageEnrichment",
|
|
6
|
-
register(container) {
|
|
7
|
-
container.register(AiImageEnrichmentAfterCreateHandler);
|
|
8
|
-
container.register(AiImageEnrichmentTask);
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=AiImageEnrichmentFeature.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createFeature","AiImageEnrichmentAfterCreateHandler","AiImageEnrichmentTask","AiImageEnrichmentFeature","name","register","container"],"sources":["AiImageEnrichmentFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { AiImageEnrichmentAfterCreateHandler } from \"./AiImageEnrichmentAfterCreateHandler.js\";\nimport { AiImageEnrichmentTask } from \"~/tasks/AiImageEnrichmentTask.js\";\n\nexport const AiImageEnrichmentFeature = createFeature({\n name: \"FileManagerAi/AiImageEnrichment\",\n register(container) {\n container.register(AiImageEnrichmentAfterCreateHandler);\n container.register(AiImageEnrichmentTask);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,mCAAmC;AAC5C,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,wBAAwB,GAAGH,aAAa,CAAC;EAClDI,IAAI,EAAE,iCAAiC;EACvCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACJ,mCAAmC,CAAC;IACvDK,SAAS,CAACD,QAAQ,CAACH,qBAAqB,CAAC;EAC7C;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["CreateFileUseCase","FileAfterCreateEventHandler","FileBeforeCreateEventHandler"],"sources":["index.ts"],"sourcesContent":["export { CreateFileUseCase } from \"./abstractions.js\";\nexport { FileAfterCreateEventHandler, FileBeforeCreateEventHandler } from \"./events.js\";\n"],"mappings":"AAAA,SAASA,iBAAiB;AAC1B,SAASC,2BAA2B,EAAEC,4BAA4B","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["CreateFilesInBatchUseCase"],"sources":["index.ts"],"sourcesContent":["export { CreateFilesInBatchUseCase } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,yBAAyB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DeleteFileUseCase","FileBeforeDeleteEventHandler","FileAfterDeleteEventHandler"],"sources":["index.ts"],"sourcesContent":["export { DeleteFileUseCase } from \"./abstractions.js\";\nexport { FileBeforeDeleteEventHandler, FileAfterDeleteEventHandler } from \"./events.js\";\n"],"mappings":"AAAA,SAASA,iBAAiB;AAC1B,SAASC,4BAA4B,EAAEC,2BAA2B","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["GetFileUseCase"],"sources":["index.ts"],"sourcesContent":["export { GetFileUseCase } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,cAAc","ignoreList":[]}
|