@webiny/api-file-manager 6.4.5 → 6.6.0-alpha.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/FileManagerAppFeature.d.ts +5 -0
- package/FileManagerAppFeature.js +21 -0
- package/FileManagerAppFeature.js.map +1 -0
- package/delivery/AssetDeliveryRoute.d.ts +14 -0
- package/delivery/AssetDeliveryRoute.js +65 -0
- package/delivery/AssetDeliveryRoute.js.map +1 -0
- package/delivery/setupAssetDelivery.d.ts +1 -1
- package/delivery/setupAssetDelivery.js +1 -66
- package/delivery/setupAssetDelivery.js.map +1 -1
- package/domain/settings/validation.js +1 -1
- package/domain/settings/validation.js.map +1 -1
- package/exports/api/file-manager/assetDelivery.d.ts +10 -0
- package/exports/api/file-manager/assetDelivery.js +8 -0
- package/exports/api/file-manager/file.d.ts +1 -0
- package/exports/api/file-manager/file.js +1 -0
- package/features/FileManagerFeature.js +6 -0
- package/features/FileManagerFeature.js.map +1 -1
- package/features/FileModelContextualSchema.d.ts +13 -0
- package/features/FileModelContextualSchema.js +31 -0
- package/features/FileModelContextualSchema.js.map +1 -0
- package/features/assetDelivery/Asset/Asset.d.ts +8 -0
- package/features/assetDelivery/Asset/Asset.js +14 -0
- package/features/assetDelivery/Asset/Asset.js.map +1 -0
- package/features/assetDelivery/Asset/abstractions.d.ts +10 -0
- package/features/assetDelivery/Asset/abstractions.js +5 -0
- package/features/assetDelivery/Asset/abstractions.js.map +1 -0
- package/features/assetDelivery/Asset/index.d.ts +1 -0
- package/features/assetDelivery/Asset/index.js +1 -0
- package/features/assetDelivery/FilesAssetRequestResolver.js +2 -2
- package/features/assetDelivery/FilesAssetRequestResolver.js.map +1 -1
- package/features/assetDelivery/ObjectKey/ObjectKey.d.ts +8 -0
- package/features/assetDelivery/ObjectKey/ObjectKey.js +28 -0
- package/features/assetDelivery/ObjectKey/ObjectKey.js.map +1 -0
- package/features/assetDelivery/ObjectKey/abstractions.d.ts +12 -0
- package/features/assetDelivery/ObjectKey/abstractions.js +5 -0
- package/features/assetDelivery/ObjectKey/abstractions.js.map +1 -0
- package/features/assetDelivery/ObjectKey/index.d.ts +1 -0
- package/features/assetDelivery/ObjectKey/index.js +1 -0
- package/features/assetDelivery/StreamAssetReply/StreamAssetReply.d.ts +8 -0
- package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js +22 -0
- package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js.map +1 -0
- package/features/assetDelivery/StreamAssetReply/abstractions.d.ts +11 -0
- package/features/assetDelivery/StreamAssetReply/abstractions.js +5 -0
- package/features/assetDelivery/StreamAssetReply/abstractions.js.map +1 -0
- package/features/assetDelivery/StreamAssetReply/index.d.ts +1 -0
- package/features/assetDelivery/StreamAssetReply/index.js +1 -0
- package/features/assetDelivery/abstractions.d.ts +23 -12
- package/features/assetDelivery/abstractions.js.map +1 -1
- package/features/assetDelivery/feature.js +6 -0
- package/features/assetDelivery/feature.js.map +1 -1
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +2 -2
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -1
- package/features/assetDelivery/transformation/AssetKeyGenerator.d.ts +9 -0
- package/features/assetDelivery/transformation/AssetKeyGenerator.js +24 -0
- package/features/assetDelivery/transformation/AssetKeyGenerator.js.map +1 -0
- package/features/assetDelivery/transformation/CallableContentsReader.d.ts +11 -0
- package/features/assetDelivery/transformation/CallableContentsReader.js +14 -0
- package/features/assetDelivery/transformation/CallableContentsReader.js.map +1 -0
- package/features/assetDelivery/transformation/WidthCollection.d.ts +8 -0
- package/features/assetDelivery/transformation/WidthCollection.js +22 -0
- package/features/assetDelivery/transformation/WidthCollection.js.map +1 -0
- package/features/assetDelivery/transformation/index.d.ts +4 -0
- package/features/assetDelivery/transformation/index.js +4 -0
- package/features/assetDelivery/transformation/utils.d.ts +9 -0
- package/features/assetDelivery/transformation/utils.js +31 -0
- package/features/assetDelivery/transformation/utils.js.map +1 -0
- package/features/extractMetadata/ExtractMetadataHandler.d.ts +11 -0
- package/features/extractMetadata/ExtractMetadataHandler.js +25 -0
- package/features/extractMetadata/ExtractMetadataHandler.js.map +1 -0
- package/features/extractMetadata/ExtractMetadataInput.d.ts +3 -0
- package/features/extractMetadata/ExtractMetadataInput.js +0 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.d.ts +14 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.js +25 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.js.map +1 -0
- package/features/file/FileUrlGenerator/abstractions.d.ts +3 -3
- package/features/file/FileUrlGenerator/abstractions.js +1 -1
- package/features/file/FileUrlGenerator/abstractions.js.map +1 -1
- package/features/file/FileUrlGenerator/feature.d.ts +4 -0
- package/features/file/FileUrlGenerator/feature.js +11 -0
- package/features/file/FileUrlGenerator/feature.js.map +1 -0
- package/features/file/FileUrlGenerator/index.d.ts +1 -0
- package/features/file/FileUrlGenerator/index.js +1 -0
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.d.ts +15 -0
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.js +37 -0
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.js.map +1 -0
- package/features/file/GetFileByUrl/abstractions.d.ts +18 -0
- package/features/file/GetFileByUrl/abstractions.js +5 -0
- package/features/file/GetFileByUrl/abstractions.js.map +1 -0
- package/features/file/GetFileByUrl/feature.d.ts +4 -0
- package/features/file/GetFileByUrl/feature.js +11 -0
- package/features/file/GetFileByUrl/feature.js.map +1 -0
- package/features/file/GetFileByUrl/index.d.ts +1 -0
- package/features/file/GetFileByUrl/index.js +1 -0
- package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +3 -1
- package/features/settings/SettingsInstaller/SettingsInstaller.js +7 -4
- package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -1
- package/features/upload/CompleteMultiPartUpload/abstractions.d.ts +12 -0
- package/features/upload/CompleteMultiPartUpload/abstractions.js +5 -0
- package/features/upload/CompleteMultiPartUpload/abstractions.js.map +1 -0
- package/features/upload/CompleteMultiPartUpload/index.d.ts +1 -0
- package/features/upload/CompleteMultiPartUpload/index.js +1 -0
- package/features/upload/CreateMultiPartUpload/abstractions.d.ts +14 -0
- package/features/upload/CreateMultiPartUpload/abstractions.js +5 -0
- package/features/upload/CreateMultiPartUpload/abstractions.js.map +1 -0
- package/features/upload/CreateMultiPartUpload/index.d.ts +1 -0
- package/features/upload/CreateMultiPartUpload/index.js +1 -0
- package/features/upload/GetUploadPayload/abstractions.d.ts +10 -0
- package/features/upload/GetUploadPayload/abstractions.js +5 -0
- package/features/upload/GetUploadPayload/abstractions.js.map +1 -0
- package/features/upload/GetUploadPayload/index.d.ts +1 -0
- package/features/upload/GetUploadPayload/index.js +1 -0
- package/features/upload/ReadFileMetadata/MetadataReader.d.ts +11 -0
- package/features/upload/ReadFileMetadata/MetadataReader.js +21 -0
- package/features/upload/ReadFileMetadata/MetadataReader.js.map +1 -0
- package/features/upload/ReadFileMetadata/abstractions.d.ts +15 -0
- package/features/upload/ReadFileMetadata/abstractions.js +5 -0
- package/features/upload/ReadFileMetadata/abstractions.js.map +1 -0
- package/features/upload/ReadFileMetadata/feature.d.ts +4 -0
- package/features/upload/ReadFileMetadata/feature.js +11 -0
- package/features/upload/ReadFileMetadata/feature.js.map +1 -0
- package/features/upload/ReadFileMetadata/index.d.ts +1 -0
- package/features/upload/ReadFileMetadata/index.js +1 -0
- package/features/upload/WriteFileMetadata/MetadataWriter.d.ts +14 -0
- package/features/upload/WriteFileMetadata/MetadataWriter.js +36 -0
- package/features/upload/WriteFileMetadata/MetadataWriter.js.map +1 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.d.ts +11 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js +20 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js.map +1 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.d.ts +11 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js +22 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js.map +1 -0
- package/features/upload/WriteFileMetadata/abstractions.d.ts +9 -0
- package/features/upload/WriteFileMetadata/abstractions.js +5 -0
- package/features/upload/WriteFileMetadata/abstractions.js.map +1 -0
- package/features/upload/WriteFileMetadata/feature.d.ts +4 -0
- package/features/upload/WriteFileMetadata/feature.js +15 -0
- package/features/upload/WriteFileMetadata/feature.js.map +1 -0
- package/features/upload/index.d.ts +17 -0
- package/features/upload/index.js +10 -0
- package/features/upload/types.d.ts +28 -0
- package/features/upload/types.js +0 -0
- package/features/upload/utils/FileExtension.d.ts +6 -0
- package/features/upload/utils/FileExtension.js +16 -0
- package/features/upload/utils/FileExtension.js.map +1 -0
- package/features/upload/utils/FileKey.d.ts +11 -0
- package/features/upload/utils/FileKey.js +33 -0
- package/features/upload/utils/FileKey.js.map +1 -0
- package/features/upload/utils/FileNormalizer.d.ts +13 -0
- package/features/upload/utils/FileNormalizer.js +41 -0
- package/features/upload/utils/FileNormalizer.js.map +1 -0
- package/features/upload/utils/FileUploadModifier.d.ts +30 -0
- package/features/upload/utils/FileUploadModifier.js +39 -0
- package/features/upload/utils/FileUploadModifier.js.map +1 -0
- package/features/upload/utils/checkPermissions.d.ts +5 -0
- package/features/upload/utils/checkPermissions.js +22 -0
- package/features/upload/utils/checkPermissions.js.map +1 -0
- package/features/upload/utils/createFileNormalizerFromContext.d.ts +3 -0
- package/features/upload/utils/createFileNormalizerFromContext.js +9 -0
- package/features/upload/utils/createFileNormalizerFromContext.js.map +1 -0
- package/features/upload/utils/mimeTypes.d.ts +1 -0
- package/features/upload/utils/mimeTypes.js +9 -0
- package/features/upload/utils/mimeTypes.js.map +1 -0
- package/graphql/FmGraphQLSchema.d.ts +25 -0
- package/graphql/FmGraphQLSchema.js +451 -0
- package/graphql/FmGraphQLSchema.js.map +1 -0
- package/index.d.ts +3 -6
- package/index.js +3 -32
- package/index.js.map +1 -1
- package/package.json +24 -17
- package/graphql/baseSchema.d.ts +0 -3
- package/graphql/baseSchema.js +0 -100
- package/graphql/baseSchema.js.map +0 -1
- package/graphql/createFilesTypeDefs.d.ts +0 -8
- package/graphql/createFilesTypeDefs.js +0 -191
- package/graphql/createFilesTypeDefs.js.map +0 -1
- package/graphql/filesSchema.d.ts +0 -4
- package/graphql/filesSchema.js +0 -96
- package/graphql/filesSchema.js.map +0 -1
- package/graphql/getFileByUrl.d.ts +0 -3
- package/graphql/getFileByUrl.js +0 -61
- package/graphql/getFileByUrl.js.map +0 -1
- package/graphql/index.d.ts +0 -4
- package/graphql/index.js +0 -47
- package/graphql/index.js.map +0 -1
- package/graphql/utils.d.ts +0 -11
- package/graphql/utils.js +0 -12
- package/graphql/utils.js.map +0 -1
- package/modelModifier/CmsModelModifier.d.ts +0 -26
- package/modelModifier/CmsModelModifier.js +0 -51
- package/modelModifier/CmsModelModifier.js.map +0 -1
|
@@ -0,0 +1,451 @@
|
|
|
1
|
+
import { GraphQLSchemaFactory } from "@webiny/api-graphql/graphql/abstractions.js";
|
|
2
|
+
import { ErrorResponse, ListResponse, NotFoundResponse, Response } from "@webiny/api-graphql";
|
|
3
|
+
import { renderFields } from "@webiny/api-headless-cms/utils/renderFields.js";
|
|
4
|
+
import { renderInputFields } from "@webiny/api-headless-cms/utils/renderInputFields.js";
|
|
5
|
+
import { renderListFilterFields } from "@webiny/api-headless-cms/utils/renderListFilterFields.js";
|
|
6
|
+
import { ListModelsUseCase } from "@webiny/api-headless-cms/features/contentModel/ListModels/index.js";
|
|
7
|
+
import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
|
|
8
|
+
import { IdentityContext } from "@webiny/api-core/exports/api/security.js";
|
|
9
|
+
import { GetFileUseCase } from "../features/file/GetFile/abstractions.js";
|
|
10
|
+
import { ListFilesUseCase } from "../features/file/ListFiles/abstractions.js";
|
|
11
|
+
import { ListTagsUseCase } from "../features/file/ListTags/abstractions.js";
|
|
12
|
+
import { CreateFileUseCase } from "../features/file/CreateFile/abstractions.js";
|
|
13
|
+
import { CreateFilesInBatchUseCase } from "../features/file/CreateFilesInBatch/abstractions.js";
|
|
14
|
+
import { UpdateFileUseCase } from "../features/file/UpdateFile/abstractions.js";
|
|
15
|
+
import { DeleteFileUseCase } from "../features/file/DeleteFile/abstractions.js";
|
|
16
|
+
import { GetFileByUrlUseCase } from "../features/file/GetFileByUrl/abstractions.js";
|
|
17
|
+
import { GetSettingsUseCase } from "../features/settings/GetSettings/abstractions.js";
|
|
18
|
+
import { UpdateSettingsUseCase } from "../features/settings/UpdateSettings/abstractions.js";
|
|
19
|
+
import { FileUrlGenerator } from "../features/file/FileUrlGenerator/abstractions.js";
|
|
20
|
+
import { FileModel } from "../domain/file/abstractions.js";
|
|
21
|
+
const removeFieldRequiredValidation = (field)=>{
|
|
22
|
+
if (field.validation) field.validation = field.validation.filter((validation)=>"required" !== validation.name);
|
|
23
|
+
if (field.listValidation) field.listValidation = field.listValidation.filter((v)=>"required" !== v.name);
|
|
24
|
+
return field;
|
|
25
|
+
};
|
|
26
|
+
const createUpdateFields = (fields)=>fields.reduce((collection, field)=>{
|
|
27
|
+
collection.push(removeFieldRequiredValidation({
|
|
28
|
+
...field
|
|
29
|
+
}));
|
|
30
|
+
return collection;
|
|
31
|
+
}, []);
|
|
32
|
+
class FmGraphQLSchema_ {
|
|
33
|
+
constructor(identityContext, listModelsUseCase, fieldRegistry, fileModel, fileUrlGenerator){
|
|
34
|
+
this.identityContext = identityContext;
|
|
35
|
+
this.listModelsUseCase = listModelsUseCase;
|
|
36
|
+
this.fieldRegistry = fieldRegistry;
|
|
37
|
+
this.fileModel = fileModel;
|
|
38
|
+
this.fileUrlGenerator = fileUrlGenerator;
|
|
39
|
+
}
|
|
40
|
+
async execute(builder) {
|
|
41
|
+
if (this.fileUrlGenerator.init) await this.fileUrlGenerator.init();
|
|
42
|
+
this.addBaseTypeDefs(builder);
|
|
43
|
+
await this.addFileTypeDefs(builder);
|
|
44
|
+
this.addSettingsResolvers(builder);
|
|
45
|
+
this.addFileQueryResolvers(builder);
|
|
46
|
+
this.addFileMutationResolvers(builder);
|
|
47
|
+
return builder;
|
|
48
|
+
}
|
|
49
|
+
addBaseTypeDefs(builder) {
|
|
50
|
+
builder.addTypeDefs(`
|
|
51
|
+
type FmError {
|
|
52
|
+
code: String
|
|
53
|
+
message: String
|
|
54
|
+
data: JSON
|
|
55
|
+
stack: String
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
type FmCreatedBy {
|
|
59
|
+
id: ID
|
|
60
|
+
displayName: String
|
|
61
|
+
type: String
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
type FmListMeta {
|
|
65
|
+
cursor: String
|
|
66
|
+
totalCount: Int
|
|
67
|
+
hasMoreItems: Boolean
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
type FmBooleanResponse {
|
|
71
|
+
data: Boolean
|
|
72
|
+
error: FmError
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
type FmSettings {
|
|
76
|
+
uploadMinFileSize: Number
|
|
77
|
+
uploadMaxFileSize: Number
|
|
78
|
+
srcPrefix: String
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
input FmSettingsInput {
|
|
82
|
+
uploadMinFileSize: Number
|
|
83
|
+
uploadMaxFileSize: Number
|
|
84
|
+
srcPrefix: String
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
type FmSettingsResponse {
|
|
88
|
+
data: FmSettings
|
|
89
|
+
error: FmError
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
type FmDeleteResponse {
|
|
93
|
+
data: Boolean
|
|
94
|
+
error: FmError
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
type FmQuery {
|
|
98
|
+
getSettings: FmSettingsResponse
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
type FmMutation {
|
|
102
|
+
updateSettings(data: FmSettingsInput): FmSettingsResponse
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
extend type Query {
|
|
106
|
+
fileManager: FmQuery
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
extend type Mutation {
|
|
110
|
+
fileManager: FmMutation
|
|
111
|
+
}
|
|
112
|
+
`);
|
|
113
|
+
builder.addResolver({
|
|
114
|
+
path: "Query.fileManager",
|
|
115
|
+
resolver: ()=>()=>({})
|
|
116
|
+
});
|
|
117
|
+
builder.addResolver({
|
|
118
|
+
path: "Mutation.fileManager",
|
|
119
|
+
resolver: ()=>()=>({})
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
async addFileTypeDefs(builder) {
|
|
123
|
+
const models = await this.loadModels();
|
|
124
|
+
const { fields } = this.fileModel;
|
|
125
|
+
const fieldTypes = renderFields({
|
|
126
|
+
models,
|
|
127
|
+
model: this.fileModel,
|
|
128
|
+
fields,
|
|
129
|
+
type: "manage",
|
|
130
|
+
fieldRegistry: this.fieldRegistry
|
|
131
|
+
});
|
|
132
|
+
const inputCreateFields = renderInputFields({
|
|
133
|
+
models,
|
|
134
|
+
model: this.fileModel,
|
|
135
|
+
fields,
|
|
136
|
+
fieldRegistry: this.fieldRegistry
|
|
137
|
+
});
|
|
138
|
+
const inputUpdateFields = renderInputFields({
|
|
139
|
+
models,
|
|
140
|
+
model: this.fileModel,
|
|
141
|
+
fields: createUpdateFields(fields),
|
|
142
|
+
fieldRegistry: this.fieldRegistry
|
|
143
|
+
});
|
|
144
|
+
const listFilterFieldsRender = renderListFilterFields({
|
|
145
|
+
model: this.fileModel,
|
|
146
|
+
fields: this.fileModel.fields,
|
|
147
|
+
type: "manage",
|
|
148
|
+
fieldRegistry: this.fieldRegistry,
|
|
149
|
+
excludeFields: [
|
|
150
|
+
"entryId",
|
|
151
|
+
"status"
|
|
152
|
+
]
|
|
153
|
+
});
|
|
154
|
+
builder.addTypeDefs(`
|
|
155
|
+
type FmFile_Location {
|
|
156
|
+
folderId: ID!
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
input FmFile_LocationInput {
|
|
160
|
+
folderId: ID!
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
input FmFile_LocationWhereInput {
|
|
164
|
+
folderId: ID
|
|
165
|
+
folderId_in: [ID!]
|
|
166
|
+
folderId_not: ID
|
|
167
|
+
folderId_not_in: [ID!]
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
${fieldTypes.map((f)=>f.typeDefs).join("\n")}
|
|
171
|
+
|
|
172
|
+
type FmFile {
|
|
173
|
+
id: ID!
|
|
174
|
+
createdOn: DateTime!
|
|
175
|
+
modifiedOn: DateTime
|
|
176
|
+
savedOn: DateTime!
|
|
177
|
+
createdBy: FmCreatedBy!
|
|
178
|
+
modifiedBy: FmCreatedBy
|
|
179
|
+
savedBy: FmCreatedBy!
|
|
180
|
+
location: FmFile_Location!
|
|
181
|
+
src: String
|
|
182
|
+
${fieldTypes.map((f)=>f.fields).join("\n")}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
${inputCreateFields.map((f)=>f.typeDefs).join("\n")}
|
|
186
|
+
|
|
187
|
+
input FmCreatedByInput {
|
|
188
|
+
id: ID!
|
|
189
|
+
displayName: String!
|
|
190
|
+
type: String!
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
input FmFileCreateInput {
|
|
194
|
+
id: ID!
|
|
195
|
+
createdOn: DateTime
|
|
196
|
+
modifiedOn: DateTime
|
|
197
|
+
savedOn: DateTime
|
|
198
|
+
createdBy: FmCreatedByInput
|
|
199
|
+
modifiedBy: FmCreatedByInput
|
|
200
|
+
savedBy: FmCreatedByInput
|
|
201
|
+
location: FmFile_LocationInput
|
|
202
|
+
${inputCreateFields.map((f)=>f.fields).join("\n")}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
input FmFileUpdateInput {
|
|
206
|
+
createdOn: DateTime
|
|
207
|
+
modifiedOn: DateTime
|
|
208
|
+
savedOn: DateTime
|
|
209
|
+
createdBy: FmCreatedByInput
|
|
210
|
+
modifiedBy: FmCreatedByInput
|
|
211
|
+
savedBy: FmCreatedByInput
|
|
212
|
+
location: FmFile_LocationInput
|
|
213
|
+
${inputUpdateFields.map((f)=>f.fields).join("\n")}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
type FmFileResponse {
|
|
217
|
+
data: FmFile
|
|
218
|
+
error: FmError
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
input FmFileListWhereInput {
|
|
222
|
+
${listFilterFieldsRender.allFiltersAsString()}
|
|
223
|
+
location: FmFile_LocationWhereInput
|
|
224
|
+
AND: [FmFileListWhereInput!]
|
|
225
|
+
OR: [FmFileListWhereInput!]
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
type FmFileListResponse {
|
|
229
|
+
data: [FmFile!]
|
|
230
|
+
error: FmError
|
|
231
|
+
meta: FmListMeta
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
enum FmFileListSorter {
|
|
235
|
+
savedOn_ASC
|
|
236
|
+
savedOn_DESC
|
|
237
|
+
createdOn_ASC
|
|
238
|
+
createdOn_DESC
|
|
239
|
+
name_ASC
|
|
240
|
+
name_DESC
|
|
241
|
+
key_ASC
|
|
242
|
+
key_DESC
|
|
243
|
+
type_ASC
|
|
244
|
+
type_DESC
|
|
245
|
+
size_ASC
|
|
246
|
+
size_DESC
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
input FmTagsListWhereInput {
|
|
250
|
+
createdBy: String
|
|
251
|
+
tags_startsWith: String
|
|
252
|
+
tags_not_startsWith: String
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
type FmTag {
|
|
256
|
+
tag: String!
|
|
257
|
+
count: Number!
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
type FmTagsListResponse {
|
|
261
|
+
data: [FmTag!]
|
|
262
|
+
error: FmError
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
type FmCreateFilesResponse {
|
|
266
|
+
data: [FmFile!]
|
|
267
|
+
error: FmError
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
type FmFileModelResponse {
|
|
271
|
+
data: JSON
|
|
272
|
+
error: FmError
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
extend type FmQuery {
|
|
276
|
+
getFileModel: FmFileModelResponse!
|
|
277
|
+
getFile(id: ID!): FmFileResponse!
|
|
278
|
+
getFileByUrl(url: String!): FmFileResponse
|
|
279
|
+
listFiles(
|
|
280
|
+
search: String
|
|
281
|
+
where: FmFileListWhereInput
|
|
282
|
+
limit: Int
|
|
283
|
+
after: String
|
|
284
|
+
sort: [FmFileListSorter!]
|
|
285
|
+
): FmFileListResponse!
|
|
286
|
+
listTags(where: FmTagsListWhereInput): FmTagsListResponse!
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
extend type FmMutation {
|
|
290
|
+
createFile(data: FmFileCreateInput!): FmFileResponse!
|
|
291
|
+
createFiles(data: [FmFileCreateInput!]!): FmCreateFilesResponse!
|
|
292
|
+
updateFile(id: ID!, data: FmFileUpdateInput!): FmFileResponse!
|
|
293
|
+
deleteFile(id: ID!): FmBooleanResponse!
|
|
294
|
+
}
|
|
295
|
+
`);
|
|
296
|
+
}
|
|
297
|
+
addSettingsResolvers(builder) {
|
|
298
|
+
builder.addResolver({
|
|
299
|
+
path: "FmQuery.getSettings",
|
|
300
|
+
dependencies: [
|
|
301
|
+
GetSettingsUseCase
|
|
302
|
+
],
|
|
303
|
+
resolver: (getSettings)=>async ()=>{
|
|
304
|
+
const result = await getSettings.execute();
|
|
305
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
306
|
+
return new Response(result.value);
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
builder.addResolver({
|
|
310
|
+
path: "FmMutation.updateSettings",
|
|
311
|
+
dependencies: [
|
|
312
|
+
UpdateSettingsUseCase
|
|
313
|
+
],
|
|
314
|
+
resolver: (updateSettings)=>async ({ args })=>{
|
|
315
|
+
const result = await updateSettings.execute(args.data);
|
|
316
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
317
|
+
return new Response(result.value);
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
addFileQueryResolvers(builder) {
|
|
322
|
+
builder.addResolver({
|
|
323
|
+
path: "FmFile.src",
|
|
324
|
+
dependencies: [
|
|
325
|
+
FileUrlGenerator
|
|
326
|
+
],
|
|
327
|
+
resolver: (urlGenerator)=>({ parent })=>urlGenerator.generateUrl(parent)
|
|
328
|
+
});
|
|
329
|
+
builder.addResolver({
|
|
330
|
+
path: "FmQuery.getFileModel",
|
|
331
|
+
dependencies: [
|
|
332
|
+
FileModel
|
|
333
|
+
],
|
|
334
|
+
resolver: (fileModel)=>()=>new Response(fileModel)
|
|
335
|
+
});
|
|
336
|
+
builder.addResolver({
|
|
337
|
+
path: "FmQuery.getFile",
|
|
338
|
+
dependencies: [
|
|
339
|
+
GetFileUseCase
|
|
340
|
+
],
|
|
341
|
+
resolver: (getFile)=>async ({ args })=>{
|
|
342
|
+
const result = await getFile.execute(args.id);
|
|
343
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
344
|
+
return new Response(result.value);
|
|
345
|
+
}
|
|
346
|
+
});
|
|
347
|
+
builder.addResolver({
|
|
348
|
+
path: "FmQuery.listFiles",
|
|
349
|
+
dependencies: [
|
|
350
|
+
ListFilesUseCase
|
|
351
|
+
],
|
|
352
|
+
resolver: (listFiles)=>async ({ args })=>{
|
|
353
|
+
const result = await listFiles.execute(args);
|
|
354
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
355
|
+
return new ListResponse(result.value.items, result.value.meta);
|
|
356
|
+
}
|
|
357
|
+
});
|
|
358
|
+
builder.addResolver({
|
|
359
|
+
path: "FmQuery.listTags",
|
|
360
|
+
dependencies: [
|
|
361
|
+
ListTagsUseCase
|
|
362
|
+
],
|
|
363
|
+
resolver: (listTags)=>async ({ args })=>{
|
|
364
|
+
const result = await listTags.execute(args || {});
|
|
365
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
366
|
+
return new Response(result.value);
|
|
367
|
+
}
|
|
368
|
+
});
|
|
369
|
+
builder.addResolver({
|
|
370
|
+
path: "FmQuery.getFileByUrl",
|
|
371
|
+
dependencies: [
|
|
372
|
+
GetFileByUrlUseCase
|
|
373
|
+
],
|
|
374
|
+
resolver: (getFileByUrl)=>async ({ args })=>{
|
|
375
|
+
const result = await getFileByUrl.execute(args.url);
|
|
376
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
377
|
+
if (!result.value) return new NotFoundResponse("File not found!");
|
|
378
|
+
return new Response(result.value);
|
|
379
|
+
}
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
addFileMutationResolvers(builder) {
|
|
383
|
+
builder.addResolver({
|
|
384
|
+
path: "FmMutation.createFile",
|
|
385
|
+
dependencies: [
|
|
386
|
+
CreateFileUseCase
|
|
387
|
+
],
|
|
388
|
+
resolver: (createFile)=>async ({ args })=>{
|
|
389
|
+
const result = await createFile.execute(args.data);
|
|
390
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
391
|
+
return new Response(result.value);
|
|
392
|
+
}
|
|
393
|
+
});
|
|
394
|
+
builder.addResolver({
|
|
395
|
+
path: "FmMutation.createFiles",
|
|
396
|
+
dependencies: [
|
|
397
|
+
CreateFilesInBatchUseCase
|
|
398
|
+
],
|
|
399
|
+
resolver: (createFilesInBatch)=>async ({ args })=>{
|
|
400
|
+
const result = await createFilesInBatch.execute({
|
|
401
|
+
files: args.data,
|
|
402
|
+
meta: args.meta
|
|
403
|
+
});
|
|
404
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
405
|
+
return new Response(result.value);
|
|
406
|
+
}
|
|
407
|
+
});
|
|
408
|
+
builder.addResolver({
|
|
409
|
+
path: "FmMutation.updateFile",
|
|
410
|
+
dependencies: [
|
|
411
|
+
UpdateFileUseCase
|
|
412
|
+
],
|
|
413
|
+
resolver: (updateFile)=>async ({ args })=>{
|
|
414
|
+
const result = await updateFile.execute({
|
|
415
|
+
id: args.id,
|
|
416
|
+
...args.data
|
|
417
|
+
});
|
|
418
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
419
|
+
return new Response(result.value);
|
|
420
|
+
}
|
|
421
|
+
});
|
|
422
|
+
builder.addResolver({
|
|
423
|
+
path: "FmMutation.deleteFile",
|
|
424
|
+
dependencies: [
|
|
425
|
+
DeleteFileUseCase
|
|
426
|
+
],
|
|
427
|
+
resolver: (deleteFile)=>async ({ args })=>{
|
|
428
|
+
const result = await deleteFile.execute(args.id);
|
|
429
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
430
|
+
return new Response(true);
|
|
431
|
+
}
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
async loadModels() {
|
|
435
|
+
const modelsResult = await this.identityContext.withoutAuthorization(()=>this.listModelsUseCase.execute());
|
|
436
|
+
return modelsResult.value;
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
const FmGraphQLSchema = GraphQLSchemaFactory.createImplementation({
|
|
440
|
+
implementation: FmGraphQLSchema_,
|
|
441
|
+
dependencies: [
|
|
442
|
+
IdentityContext,
|
|
443
|
+
ListModelsUseCase,
|
|
444
|
+
CmsModelFieldToGraphQLRegistry,
|
|
445
|
+
FileModel,
|
|
446
|
+
FileUrlGenerator
|
|
447
|
+
]
|
|
448
|
+
});
|
|
449
|
+
export { FmGraphQLSchema };
|
|
450
|
+
|
|
451
|
+
//# sourceMappingURL=FmGraphQLSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql/FmGraphQLSchema.js","sources":["../../src/graphql/FmGraphQLSchema.ts"],"sourcesContent":["import { GraphQLSchemaFactory } from \"@webiny/api-graphql/graphql/abstractions.js\";\nimport { ErrorResponse } from \"@webiny/api-graphql\";\nimport { ListResponse } from \"@webiny/api-graphql\";\nimport { NotFoundResponse } from \"@webiny/api-graphql\";\nimport { Response } from \"@webiny/api-graphql\";\nimport { renderFields } from \"@webiny/api-headless-cms/utils/renderFields.js\";\nimport { renderInputFields } from \"@webiny/api-headless-cms/utils/renderInputFields.js\";\nimport { renderListFilterFields } from \"@webiny/api-headless-cms/utils/renderListFilterFields.js\";\nimport { ListModelsUseCase } from \"@webiny/api-headless-cms/features/contentModel/ListModels/index.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/exports/api/cms/graphql.js\";\nimport { IdentityContext } from \"@webiny/api-core/exports/api/security.js\";\nimport { GetFileUseCase } from \"~/features/file/GetFile/abstractions.js\";\nimport { ListFilesUseCase } from \"~/features/file/ListFiles/abstractions.js\";\nimport { ListTagsUseCase } from \"~/features/file/ListTags/abstractions.js\";\nimport { CreateFileUseCase } from \"~/features/file/CreateFile/abstractions.js\";\nimport { CreateFilesInBatchUseCase } from \"~/features/file/CreateFilesInBatch/abstractions.js\";\nimport { UpdateFileUseCase } from \"~/features/file/UpdateFile/abstractions.js\";\nimport { DeleteFileUseCase } from \"~/features/file/DeleteFile/abstractions.js\";\nimport { GetFileByUrlUseCase } from \"~/features/file/GetFileByUrl/abstractions.js\";\nimport { GetSettingsUseCase } from \"~/features/settings/GetSettings/abstractions.js\";\nimport { UpdateSettingsUseCase } from \"~/features/settings/UpdateSettings/abstractions.js\";\nimport { FileUrlGenerator } from \"~/features/file/FileUrlGenerator/abstractions.js\";\nimport { FileModel } from \"~/domain/file/abstractions.js\";\nimport type { CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\n\nconst removeFieldRequiredValidation = (field: CmsModelField) => {\n if (field.validation) {\n field.validation = field.validation.filter(validation => validation.name !== \"required\");\n }\n if (field.listValidation) {\n field.listValidation = field.listValidation.filter(v => v.name !== \"required\");\n }\n return field;\n};\n\nconst createUpdateFields = (fields: CmsModelField[]): CmsModelField[] => {\n return fields.reduce<CmsModelField[]>((collection, field) => {\n collection.push(removeFieldRequiredValidation({ ...field }));\n return collection;\n }, []);\n};\n\nclass FmGraphQLSchema_ implements GraphQLSchemaFactory.Interface {\n public constructor(\n private readonly identityContext: IdentityContext.Interface,\n private readonly listModelsUseCase: ListModelsUseCase.Interface,\n private readonly fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface,\n private readonly fileModel: FileModel.Interface,\n private readonly fileUrlGenerator: FileUrlGenerator.Interface\n ) {}\n\n public async execute(\n builder: GraphQLSchemaFactory.SchemaBuilder\n ): Promise<GraphQLSchemaFactory.SchemaBuilder> {\n if (this.fileUrlGenerator.init) {\n await this.fileUrlGenerator.init();\n }\n\n this.addBaseTypeDefs(builder);\n await this.addFileTypeDefs(builder);\n this.addSettingsResolvers(builder);\n this.addFileQueryResolvers(builder);\n this.addFileMutationResolvers(builder);\n\n return builder;\n }\n\n private addBaseTypeDefs(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addTypeDefs(/* GraphQL */ `\n type FmError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type FmCreatedBy {\n id: ID\n displayName: String\n type: String\n }\n\n type FmListMeta {\n cursor: String\n totalCount: Int\n hasMoreItems: Boolean\n }\n\n type FmBooleanResponse {\n data: Boolean\n error: FmError\n }\n\n type FmSettings {\n uploadMinFileSize: Number\n uploadMaxFileSize: Number\n srcPrefix: String\n }\n\n input FmSettingsInput {\n uploadMinFileSize: Number\n uploadMaxFileSize: Number\n srcPrefix: String\n }\n\n type FmSettingsResponse {\n data: FmSettings\n error: FmError\n }\n\n type FmDeleteResponse {\n data: Boolean\n error: FmError\n }\n\n type FmQuery {\n getSettings: FmSettingsResponse\n }\n\n type FmMutation {\n updateSettings(data: FmSettingsInput): FmSettingsResponse\n }\n\n extend type Query {\n fileManager: FmQuery\n }\n\n extend type Mutation {\n fileManager: FmMutation\n }\n `);\n\n builder.addResolver({\n path: \"Query.fileManager\",\n resolver: () => {\n return () => ({});\n }\n });\n\n builder.addResolver({\n path: \"Mutation.fileManager\",\n resolver: () => {\n return () => ({});\n }\n });\n }\n\n private async addFileTypeDefs(builder: GraphQLSchemaFactory.SchemaBuilder): Promise<void> {\n const models = await this.loadModels();\n const { fields } = this.fileModel;\n\n const fieldTypes = renderFields({\n models,\n model: this.fileModel,\n fields,\n type: \"manage\",\n fieldRegistry: this.fieldRegistry\n });\n\n const inputCreateFields = renderInputFields({\n models,\n model: this.fileModel,\n fields,\n fieldRegistry: this.fieldRegistry\n });\n\n const inputUpdateFields = renderInputFields({\n models,\n model: this.fileModel,\n fields: createUpdateFields(fields),\n fieldRegistry: this.fieldRegistry\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model: this.fileModel,\n fields: this.fileModel.fields,\n type: \"manage\",\n fieldRegistry: this.fieldRegistry,\n excludeFields: [\"entryId\", \"status\"]\n });\n\n builder.addTypeDefs(/* GraphQL */ `\n type FmFile_Location {\n folderId: ID!\n }\n\n input FmFile_LocationInput {\n folderId: ID!\n }\n\n input FmFile_LocationWhereInput {\n folderId: ID\n folderId_in: [ID!]\n folderId_not: ID\n folderId_not_in: [ID!]\n }\n\n ${fieldTypes.map(f => f.typeDefs).join(\"\\n\")}\n\n type FmFile {\n id: ID!\n createdOn: DateTime!\n modifiedOn: DateTime\n savedOn: DateTime!\n createdBy: FmCreatedBy!\n modifiedBy: FmCreatedBy\n savedBy: FmCreatedBy!\n location: FmFile_Location!\n src: String\n ${fieldTypes.map(f => f.fields).join(\"\\n\")}\n }\n\n ${inputCreateFields.map(f => f.typeDefs).join(\"\\n\")}\n\n input FmCreatedByInput {\n id: ID!\n displayName: String!\n type: String!\n }\n\n input FmFileCreateInput {\n id: ID!\n createdOn: DateTime\n modifiedOn: DateTime\n savedOn: DateTime\n createdBy: FmCreatedByInput\n modifiedBy: FmCreatedByInput\n savedBy: FmCreatedByInput\n location: FmFile_LocationInput\n ${inputCreateFields.map(f => f.fields).join(\"\\n\")}\n }\n\n input FmFileUpdateInput {\n createdOn: DateTime\n modifiedOn: DateTime\n savedOn: DateTime\n createdBy: FmCreatedByInput\n modifiedBy: FmCreatedByInput\n savedBy: FmCreatedByInput\n location: FmFile_LocationInput\n ${inputUpdateFields.map(f => f.fields).join(\"\\n\")}\n }\n\n type FmFileResponse {\n data: FmFile\n error: FmError\n }\n\n input FmFileListWhereInput {\n ${listFilterFieldsRender.allFiltersAsString()}\n location: FmFile_LocationWhereInput\n AND: [FmFileListWhereInput!]\n OR: [FmFileListWhereInput!]\n }\n\n type FmFileListResponse {\n data: [FmFile!]\n error: FmError\n meta: FmListMeta\n }\n\n enum FmFileListSorter {\n savedOn_ASC\n savedOn_DESC\n createdOn_ASC\n createdOn_DESC\n name_ASC\n name_DESC\n key_ASC\n key_DESC\n type_ASC\n type_DESC\n size_ASC\n size_DESC\n }\n\n input FmTagsListWhereInput {\n createdBy: String\n tags_startsWith: String\n tags_not_startsWith: String\n }\n\n type FmTag {\n tag: String!\n count: Number!\n }\n\n type FmTagsListResponse {\n data: [FmTag!]\n error: FmError\n }\n\n type FmCreateFilesResponse {\n data: [FmFile!]\n error: FmError\n }\n\n type FmFileModelResponse {\n data: JSON\n error: FmError\n }\n\n extend type FmQuery {\n getFileModel: FmFileModelResponse!\n getFile(id: ID!): FmFileResponse!\n getFileByUrl(url: String!): FmFileResponse\n listFiles(\n search: String\n where: FmFileListWhereInput\n limit: Int\n after: String\n sort: [FmFileListSorter!]\n ): FmFileListResponse!\n listTags(where: FmTagsListWhereInput): FmTagsListResponse!\n }\n\n extend type FmMutation {\n createFile(data: FmFileCreateInput!): FmFileResponse!\n createFiles(data: [FmFileCreateInput!]!): FmCreateFilesResponse!\n updateFile(id: ID!, data: FmFileUpdateInput!): FmFileResponse!\n deleteFile(id: ID!): FmBooleanResponse!\n }\n `);\n }\n\n private addSettingsResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"FmQuery.getSettings\",\n dependencies: [GetSettingsUseCase],\n resolver: (getSettings: GetSettingsUseCase.Interface) => {\n return async () => {\n const result = await getSettings.execute();\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmMutation.updateSettings\",\n dependencies: [UpdateSettingsUseCase],\n resolver: (updateSettings: UpdateSettingsUseCase.Interface) => {\n return async ({ args }) => {\n const result = await updateSettings.execute(args.data);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n }\n\n private addFileQueryResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"FmFile.src\",\n dependencies: [FileUrlGenerator],\n resolver: (urlGenerator: FileUrlGenerator.Interface) => {\n return ({ parent }) => {\n return urlGenerator.generateUrl(parent);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmQuery.getFileModel\",\n dependencies: [FileModel],\n resolver: (fileModel: FileModel.Interface) => {\n return () => {\n return new Response(fileModel);\n };\n }\n });\n\n builder.addResolver<{ id: string }>({\n path: \"FmQuery.getFile\",\n dependencies: [GetFileUseCase],\n resolver: (getFile: GetFileUseCase.Interface) => {\n return async ({ args }) => {\n const result = await getFile.execute(args.id);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmQuery.listFiles\",\n dependencies: [ListFilesUseCase],\n resolver: (listFiles: ListFilesUseCase.Interface) => {\n return async ({ args }) => {\n const result = await listFiles.execute(args);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new ListResponse(result.value.items, result.value.meta);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmQuery.listTags\",\n dependencies: [ListTagsUseCase],\n resolver: (listTags: ListTagsUseCase.Interface) => {\n return async ({ args }) => {\n const result = await listTags.execute(args || {});\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver<{ url: string }>({\n path: \"FmQuery.getFileByUrl\",\n dependencies: [GetFileByUrlUseCase],\n resolver: (getFileByUrl: GetFileByUrlUseCase.Interface) => {\n return async ({ args }) => {\n const result = await getFileByUrl.execute(args.url);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n if (!result.value) {\n return new NotFoundResponse(\"File not found!\");\n }\n\n return new Response(result.value);\n };\n }\n });\n }\n\n private addFileMutationResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"FmMutation.createFile\",\n dependencies: [CreateFileUseCase],\n resolver: (createFile: CreateFileUseCase.Interface) => {\n return async ({ args }) => {\n const result = await createFile.execute(args.data);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmMutation.createFiles\",\n dependencies: [CreateFilesInBatchUseCase],\n resolver: (createFilesInBatch: CreateFilesInBatchUseCase.Interface) => {\n return async ({ args }) => {\n const result = await createFilesInBatch.execute({\n files: args.data,\n meta: args.meta\n });\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmMutation.updateFile\",\n dependencies: [UpdateFileUseCase],\n resolver: (updateFile: UpdateFileUseCase.Interface) => {\n return async ({ args }) => {\n const result = await updateFile.execute({\n id: args.id,\n ...args.data\n });\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmMutation.deleteFile\",\n dependencies: [DeleteFileUseCase],\n resolver: (deleteFile: DeleteFileUseCase.Interface) => {\n return async ({ args }) => {\n const result = await deleteFile.execute(args.id);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(true);\n };\n }\n });\n }\n\n private async loadModels() {\n const modelsResult = await this.identityContext.withoutAuthorization(() => {\n return this.listModelsUseCase.execute();\n });\n\n return modelsResult.value;\n }\n}\n\nexport const FmGraphQLSchema = GraphQLSchemaFactory.createImplementation({\n implementation: FmGraphQLSchema_,\n dependencies: [\n IdentityContext,\n ListModelsUseCase,\n CmsModelFieldToGraphQLRegistry,\n FileModel,\n FileUrlGenerator\n ]\n});\n"],"names":["removeFieldRequiredValidation","field","validation","v","createUpdateFields","fields","collection","FmGraphQLSchema_","identityContext","listModelsUseCase","fieldRegistry","fileModel","fileUrlGenerator","builder","models","fieldTypes","renderFields","inputCreateFields","renderInputFields","inputUpdateFields","listFilterFieldsRender","renderListFilterFields","f","GetSettingsUseCase","getSettings","result","ErrorResponse","Response","UpdateSettingsUseCase","updateSettings","args","FileUrlGenerator","urlGenerator","parent","FileModel","GetFileUseCase","getFile","ListFilesUseCase","listFiles","ListResponse","ListTagsUseCase","listTags","GetFileByUrlUseCase","getFileByUrl","NotFoundResponse","CreateFileUseCase","createFile","CreateFilesInBatchUseCase","createFilesInBatch","UpdateFileUseCase","updateFile","DeleteFileUseCase","deleteFile","modelsResult","FmGraphQLSchema","GraphQLSchemaFactory","IdentityContext","ListModelsUseCase","CmsModelFieldToGraphQLRegistry"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
|
|
2
|
-
import { ContextPlugin } from "@webiny/api";
|
|
3
|
-
export * from "./modelModifier/CmsModelModifier.js";
|
|
4
1
|
export * from "./delivery/index.js";
|
|
5
|
-
export declare const
|
|
6
|
-
export
|
|
7
|
-
export
|
|
2
|
+
export declare const createAssetDelivery: () => import("@webiny/handler").RegisterExtensionPlugin<import("@webiny/handler/types.js").Context>[];
|
|
3
|
+
export { FileManagerAppFeature } from "./FileManagerAppFeature.js";
|
|
4
|
+
export { AssetDeliveryRoute } from "./delivery/AssetDeliveryRoute.js";
|
package/index.js
CHANGED
|
@@ -1,44 +1,15 @@
|
|
|
1
|
-
import { ContextPlugin } from "@webiny/api";
|
|
2
1
|
import { setupAssetDelivery } from "./delivery/setupAssetDelivery.js";
|
|
3
|
-
import { createGraphQLSchemaPlugin } from "./graphql/index.js";
|
|
4
|
-
import { FileManagerFeature } from "./features/FileManagerFeature.js";
|
|
5
|
-
import { FmPermissionsFeature } from "./features/permissions/feature.js";
|
|
6
|
-
import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
7
|
-
import { FileModel } from "./domain/file/abstractions.js";
|
|
8
|
-
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
9
|
-
import { FILE_MODEL_ID, FileModel as file_model_js_FileModel } from "./domain/file/file.model.js";
|
|
10
2
|
import { createRegisterExtensionPlugin } from "@webiny/handler";
|
|
11
3
|
import { AssetDeliveryFeature } from "./features/assetDelivery/feature.js";
|
|
12
|
-
export * from "./modelModifier/CmsModelModifier.js";
|
|
13
4
|
export * from "./delivery/index.js";
|
|
14
|
-
const createFileManagerContext = ()=>{
|
|
15
|
-
const fileManagerContextPlugin = new ContextPlugin(async (context)=>{
|
|
16
|
-
const tenantContext = context.container.resolve(TenantContext);
|
|
17
|
-
const getModel = context.container.resolve(GetModelUseCase);
|
|
18
|
-
if (!tenantContext.getTenant()) return;
|
|
19
|
-
await context.security.withoutAuthorization(async ()=>{
|
|
20
|
-
const fileModel = await getModel.execute(FILE_MODEL_ID);
|
|
21
|
-
context.container.registerInstance(FileModel, fileModel.value);
|
|
22
|
-
});
|
|
23
|
-
FmPermissionsFeature.register(context.container);
|
|
24
|
-
FileManagerFeature.register(context.container);
|
|
25
|
-
});
|
|
26
|
-
fileManagerContextPlugin.name = "file-manager.createContext";
|
|
27
|
-
const modelsPlugin = createRegisterExtensionPlugin((context)=>{
|
|
28
|
-
context.container.register(file_model_js_FileModel);
|
|
29
|
-
});
|
|
30
|
-
return [
|
|
31
|
-
fileManagerContextPlugin,
|
|
32
|
-
modelsPlugin
|
|
33
|
-
];
|
|
34
|
-
};
|
|
35
|
-
const createFileManagerGraphQL = ()=>createGraphQLSchemaPlugin();
|
|
36
5
|
const createAssetDelivery = ()=>[
|
|
37
6
|
createRegisterExtensionPlugin((context)=>{
|
|
38
7
|
AssetDeliveryFeature.register(context.container);
|
|
39
8
|
}),
|
|
40
9
|
...setupAssetDelivery()
|
|
41
10
|
];
|
|
42
|
-
export {
|
|
11
|
+
export { FileManagerAppFeature } from "./FileManagerAppFeature.js";
|
|
12
|
+
export { AssetDeliveryRoute } from "./delivery/AssetDeliveryRoute.js";
|
|
13
|
+
export { createAssetDelivery };
|
|
43
14
|
|
|
44
15
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { setupAssetDelivery } from \"./delivery/setupAssetDelivery.js\";\nimport { createRegisterExtensionPlugin } from \"@webiny/handler\";\nimport { AssetDeliveryFeature } from \"~/features/assetDelivery/feature.js\";\n\nexport * from \"./delivery/index.js\";\n\nexport const createAssetDelivery = () => {\n return [\n createRegisterExtensionPlugin(context => {\n AssetDeliveryFeature.register(context.container);\n }),\n ...setupAssetDelivery()\n ];\n};\n\nexport { FileManagerAppFeature } from \"./FileManagerAppFeature.js\";\nexport { AssetDeliveryRoute } from \"./delivery/AssetDeliveryRoute.js\";\n"],"names":["createAssetDelivery","createRegisterExtensionPlugin","context","AssetDeliveryFeature","setupAssetDelivery"],"mappings":";;;;AAMO,MAAMA,sBAAsB,IACxB;QACHC,8BAA8BC,CAAAA;YAC1BC,qBAAqB,QAAQ,CAACD,QAAQ,SAAS;QACnD;WACGE;KACN"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-file-manager",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.6.0-alpha.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -22,28 +22,35 @@
|
|
|
22
22
|
],
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@webiny/api": "6.
|
|
26
|
-
"@webiny/api-core": "6.
|
|
27
|
-
"@webiny/api-
|
|
28
|
-
"@webiny/
|
|
29
|
-
"@webiny/
|
|
30
|
-
"@webiny/
|
|
31
|
-
"@webiny/
|
|
32
|
-
"@webiny/
|
|
33
|
-
"@webiny/handler-
|
|
34
|
-
"@webiny/
|
|
35
|
-
"@webiny/
|
|
25
|
+
"@webiny/api": "6.6.0-alpha.0",
|
|
26
|
+
"@webiny/api-core": "6.6.0-alpha.0",
|
|
27
|
+
"@webiny/api-graphql": "6.6.0-alpha.0",
|
|
28
|
+
"@webiny/api-headless-cms": "6.6.0-alpha.0",
|
|
29
|
+
"@webiny/background-tasks": "6.6.0-alpha.0",
|
|
30
|
+
"@webiny/build-tools": "6.6.0-alpha.0",
|
|
31
|
+
"@webiny/di": "1.0.2",
|
|
32
|
+
"@webiny/error": "6.6.0-alpha.0",
|
|
33
|
+
"@webiny/event-handler-core": "6.6.0-alpha.0",
|
|
34
|
+
"@webiny/feature": "6.6.0-alpha.0",
|
|
35
|
+
"@webiny/handler": "6.6.0-alpha.0",
|
|
36
|
+
"@webiny/plugins": "6.6.0-alpha.0",
|
|
37
|
+
"@webiny/wcp": "6.6.0-alpha.0",
|
|
36
38
|
"cache-control-parser": "2.2.0",
|
|
39
|
+
"graphql": "16.14.2",
|
|
40
|
+
"mime": "4.1.0",
|
|
41
|
+
"object-hash": "3.0.0",
|
|
42
|
+
"p-reduce": "3.0.0",
|
|
43
|
+
"sanitize-filename": "1.6.4",
|
|
37
44
|
"zod": "4.4.3"
|
|
38
45
|
},
|
|
39
46
|
"devDependencies": {
|
|
40
47
|
"@types/object-hash": "3.0.6",
|
|
41
|
-
"@webiny/
|
|
42
|
-
"@webiny/project-utils": "6.
|
|
43
|
-
"@webiny/utils": "6.
|
|
44
|
-
"@webiny/wcp": "6.
|
|
48
|
+
"@webiny/api-core-testing": "6.6.0-alpha.0",
|
|
49
|
+
"@webiny/project-utils": "6.6.0-alpha.0",
|
|
50
|
+
"@webiny/utils": "6.6.0-alpha.0",
|
|
51
|
+
"@webiny/wcp": "6.6.0-alpha.0",
|
|
45
52
|
"rimraf": "6.1.3",
|
|
46
|
-
"typescript": "
|
|
53
|
+
"typescript": "7.0.2"
|
|
47
54
|
},
|
|
48
55
|
"publishConfig": {
|
|
49
56
|
"access": "public"
|
package/graphql/baseSchema.d.ts
DELETED