@webiny/api-aco 5.37.8 → 5.38.0-beta.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/apps/AcoApp.d.ts +4 -0
- package/apps/AcoApp.js +44 -5
- package/apps/AcoApp.js.map +1 -1
- package/apps/AcoApps.js +3 -1
- package/apps/app.gql.js +6 -4
- package/apps/app.gql.js.map +1 -1
- package/apps/index.js +3 -1
- package/createAcoContext.js +90 -15
- package/createAcoContext.js.map +1 -1
- package/createAcoGraphQL.js +5 -2
- package/createAcoGraphQL.js.map +1 -1
- package/createAcoHooks.js +9 -3
- package/createAcoHooks.js.map +1 -1
- package/createAcoModels.js +5 -2
- package/createAcoModels.js.map +1 -1
- package/createAcoStorageOperations.js +5 -2
- package/createAcoStorageOperations.js.map +1 -1
- package/fields/index.js +3 -1
- package/fields/location.js +3 -1
- package/filter/filter.crud.d.ts +3 -0
- package/filter/filter.crud.js +94 -0
- package/filter/filter.crud.js.map +1 -0
- package/filter/filter.gql.d.ts +3 -0
- package/filter/filter.gql.js +150 -0
- package/filter/filter.gql.js.map +1 -0
- package/filter/filter.model.d.ts +4 -0
- package/filter/filter.model.js +127 -0
- package/filter/filter.model.js.map +1 -0
- package/filter/filter.so.d.ts +3 -0
- package/filter/filter.so.js +96 -0
- package/filter/filter.so.js.map +1 -0
- package/filter/filter.types.d.ts +95 -0
- package/filter/filter.types.js +14 -0
- package/filter/filter.types.js.map +1 -0
- package/folder/folder.crud.d.ts +8 -1
- package/folder/folder.crud.js +197 -15
- package/folder/folder.crud.js.map +1 -1
- package/folder/folder.gql.js +75 -7
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.model.js +49 -3
- package/folder/folder.model.js.map +1 -1
- package/folder/folder.so.js +12 -4
- package/folder/folder.so.js.map +1 -1
- package/folder/folder.types.d.ts +23 -0
- package/folder/folder.types.js +3 -1
- package/folder/folder.types.js.map +1 -1
- package/folder/onFolderBeforeDeleteAco.hook.d.ts +2 -0
- package/folder/{onFolderBeforeDelete.hook.js → onFolderBeforeDeleteAco.hook.js} +8 -6
- package/folder/onFolderBeforeDeleteAco.hook.js.map +1 -0
- package/folder/onFolderBeforeDeleteFm.hook.d.ts +2 -0
- package/folder/onFolderBeforeDeleteFm.hook.js +49 -0
- package/folder/onFolderBeforeDeleteFm.hook.js.map +1 -0
- package/folder/onFolderBeforeDeleteHcms.hook.d.ts +2 -0
- package/folder/onFolderBeforeDeleteHcms.hook.js +56 -0
- package/folder/onFolderBeforeDeleteHcms.hook.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +12 -2
- package/index.js.map +1 -1
- package/package.json +25 -20
- package/plugins/AcoAppModifierPlugin.js +3 -1
- package/plugins/AcoAppRegisterPlugin.js +3 -1
- package/plugins/index.js +3 -1
- package/record/graphql/createAppResolvers.js +11 -9
- package/record/graphql/createAppResolvers.js.map +1 -1
- package/record/graphql/createAppSchema.js +3 -1
- package/record/record.crud.js +3 -1
- package/record/record.gql.js +3 -1
- package/record/record.model.js +3 -1
- package/record/record.so.js +3 -1
- package/record/record.types.d.ts +2 -1
- package/record/record.types.js +3 -1
- package/record/record.types.js.map +1 -1
- package/types.d.ts +19 -5
- package/types.js +16 -1
- package/types.js.map +1 -1
- package/utils/FolderLevelPermissions.d.ts +65 -0
- package/utils/FolderLevelPermissions.js +355 -0
- package/utils/FolderLevelPermissions.js.map +1 -0
- package/utils/acoRecordId.js +3 -1
- package/utils/createListSort.js +3 -1
- package/utils/createModelField.js +3 -1
- package/utils/createOperationsWrapper.js +3 -1
- package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
- package/utils/decorators/CmsEntriesCrudDecorators.js +175 -0
- package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
- package/utils/ensureAuthentication.d.ts +2 -0
- package/utils/{checkPermissions.js → ensureAuthentication.js} +5 -3
- package/utils/ensureAuthentication.js.map +1 -0
- package/utils/fieldResolver.js +3 -1
- package/utils/getFieldValues.d.ts +2 -0
- package/utils/getFieldValues.js +9 -1
- package/utils/getFieldValues.js.map +1 -1
- package/utils/getFolderAndItsAncestors.d.ts +2 -2
- package/utils/getFolderAndItsAncestors.js +16 -11
- package/utils/getFolderAndItsAncestors.js.map +1 -1
- package/utils/isInstallationPending.js +3 -1
- package/utils/modelFactory.js +3 -1
- package/utils/resolve.js +3 -1
- package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
- package/folder/onFolderBeforeDelete.hook.js.map +0 -1
- package/utils/checkPermissions.d.ts +0 -2
- package/utils/checkPermissions.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_handlerGraphql","require","ROOT_FOLDER","createFolderType","model","modelId","filterEntriesByFolderFactory","context","permissions","entries","folders","aco","folder","listAll","where","type","results","Promise","all","map","entry","_entry$location","folderId","location","find","id","NotFoundError","result","canAccessFolderContent","rwd","filter","CmsEntriesCrudDecorators","constructor","_defineProperty2","default","decorate","folderLevelPermissions","filterEntriesByFolder","originalCmsListEntries","cms","listEntries","bind","params","folderType","allFolders","listAllFoldersWithPermissions","_objectSpread2","wbyAco_location","folderId_in","originalCmsGetEntry","getEntry","_entry$location2","get","ensureCanAccessFolderContent","originalCmsGetEntryById","getEntryById","_entry$location3","originalGetLatestEntriesByIds","getLatestEntriesByIds","ids","originalGetPublishedEntriesByIds","getPublishedEntriesByIds","originalCmsCreateEntry","createEntry","_params$wbyAco_locati","_params$location","originalCmsUpdateEntry","updateEntry","input","meta","_entry$location4","storageOperations","getRevisionById","originalCmsDeleteEntry","deleteEntry","_entry$location5","originalCmsDeleteEntryRevision","deleteEntryRevision","_entry$location6","exports"],"sources":["CmsEntriesCrudDecorators.ts"],"sourcesContent":["import { AcoContext } from \"~/types\";\nimport { CmsEntry, CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { FolderLevelPermissions } from \"~/utils/FolderLevelPermissions\";\n\ntype Context = Pick<AcoContext, \"aco\" | \"cms\">;\n\nconst ROOT_FOLDER = \"root\";\n\nconst createFolderType = (model: Pick<CmsModel, \"modelId\">): string => {\n return `cms:${model.modelId}`;\n};\n\nconst filterEntriesByFolderFactory = (context: Context, permissions: FolderLevelPermissions) => {\n return async (model: CmsModel, entries: CmsEntry[]) => {\n const [folders] = await context.aco.folder.listAll({\n where: {\n type: createFolderType(model)\n }\n });\n\n const results = await Promise.all(\n entries.map(async entry => {\n const folderId = entry.location?.folderId;\n if (!folderId || folderId === ROOT_FOLDER) {\n return entry;\n }\n const folder = folders.find(folder => folder.id === folderId);\n if (!folder) {\n throw new NotFoundError(`Folder \"${folderId}\" not found.`);\n }\n const result = await permissions.canAccessFolderContent({\n folder,\n rwd: \"r\"\n });\n return result ? entry : null;\n })\n );\n\n return results.filter((entry): entry is CmsEntry => !!entry);\n };\n};\n\ninterface EntryManagerCrudDecoratorsParams {\n context: Context;\n}\n\nexport class CmsEntriesCrudDecorators {\n private readonly context: Context;\n\n public constructor({ context }: EntryManagerCrudDecoratorsParams) {\n this.context = context;\n }\n\n public decorate() {\n const context = this.context;\n const folderLevelPermissions = context.aco.folderLevelPermissions;\n\n const filterEntriesByFolder = filterEntriesByFolderFactory(context, folderLevelPermissions);\n\n const originalCmsListEntries = context.cms.listEntries.bind(context.cms);\n context.cms.listEntries = async (model, params) => {\n const folderType = model.modelId === \"fmFile\" ? \"FmFile\" : `cms:${model.modelId}`;\n const allFolders = await folderLevelPermissions.listAllFoldersWithPermissions(\n folderType\n );\n\n return originalCmsListEntries(model, {\n ...params,\n where: {\n ...(params?.where || {}),\n wbyAco_location: {\n // At the moment, all users can access entries in the root folder.\n // Root folder level permissions cannot be set yet.\n folderId_in: [ROOT_FOLDER, ...allFolders.map(folder => folder.id)]\n }\n }\n });\n };\n\n const originalCmsGetEntry = context.cms.getEntry.bind(context.cms);\n context.cms.getEntry = async (model, params) => {\n const entry = await originalCmsGetEntry(model, params);\n\n const folderId = entry?.location?.folderId;\n if (!folderId || folderId === ROOT_FOLDER) {\n return entry;\n }\n\n const folder = await context.aco.folder.get(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n folder,\n rwd: \"r\"\n });\n\n return entry;\n };\n\n const originalCmsGetEntryById = context.cms.getEntryById.bind(context.cms);\n context.cms.getEntryById = async (model, params) => {\n const entry = await originalCmsGetEntryById(model, params);\n\n const folderId = entry?.location?.folderId;\n if (!folderId || folderId === ROOT_FOLDER) {\n return entry;\n }\n const folder = await context.aco.folder.get(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n folder,\n rwd: \"r\"\n });\n return entry;\n };\n\n const originalGetLatestEntriesByIds = context.cms.getLatestEntriesByIds.bind(context.cms);\n context.cms.getLatestEntriesByIds = async (model, ids) => {\n const entries = await originalGetLatestEntriesByIds(model, ids);\n\n return filterEntriesByFolder(model, entries);\n };\n\n const originalGetPublishedEntriesByIds = context.cms.getPublishedEntriesByIds.bind(\n context.cms\n );\n context.cms.getPublishedEntriesByIds = async (model, ids) => {\n const entries = await originalGetPublishedEntriesByIds(model, ids);\n return filterEntriesByFolder(model, entries);\n };\n\n const originalCmsCreateEntry = context.cms.createEntry.bind(context.cms);\n context.cms.createEntry = async (model, params) => {\n const folderId = params.wbyAco_location?.folderId || params.location?.folderId;\n\n if (!folderId || folderId === ROOT_FOLDER) {\n return originalCmsCreateEntry(model, params);\n }\n\n const folder = await context.aco.folder.get(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n folder,\n rwd: \"w\"\n });\n\n return originalCmsCreateEntry(model, params);\n };\n\n const originalCmsUpdateEntry = context.cms.updateEntry.bind(context.cms);\n context.cms.updateEntry = async (model, id, input, meta) => {\n const entry = await context.cms.storageOperations.entries.getRevisionById(model, {\n id\n });\n\n const folderId = entry?.location?.folderId;\n if (!folderId || folderId === ROOT_FOLDER) {\n return originalCmsUpdateEntry(model, id, input, meta);\n }\n\n const folder = await context.aco.folder.get(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n folder,\n rwd: \"w\"\n });\n\n return originalCmsUpdateEntry(model, id, input, meta);\n };\n\n const originalCmsDeleteEntry = context.cms.deleteEntry.bind(context.cms);\n context.cms.deleteEntry = async (model, id) => {\n const entry = await context.cms.storageOperations.entries.getRevisionById(model, {\n id\n });\n\n const folderId = entry?.location?.folderId;\n if (!folderId || folderId === ROOT_FOLDER) {\n return originalCmsDeleteEntry(model, id);\n }\n\n const folder = await context.aco.folder.get(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n folder,\n rwd: \"d\"\n });\n\n return originalCmsDeleteEntry(model, id);\n };\n\n const originalCmsDeleteEntryRevision = context.cms.deleteEntryRevision.bind(context.cms);\n context.cms.deleteEntryRevision = async (model, id) => {\n const entry = await context.cms.storageOperations.entries.getRevisionById(model, {\n id\n });\n\n const folderId = entry?.location?.folderId;\n if (!folderId || folderId === ROOT_FOLDER) {\n return originalCmsDeleteEntryRevision(model, id);\n }\n\n const folder = await context.aco.folder.get(folderId);\n await folderLevelPermissions.ensureCanAccessFolderContent({\n folder,\n rwd: \"d\"\n });\n\n return originalCmsDeleteEntryRevision(model, id);\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.ensureAuthentication = void 0;
|
|
7
7
|
var _apiSecurity = require("@webiny/api-security");
|
|
8
|
-
const
|
|
8
|
+
const ensureAuthentication = context => {
|
|
9
9
|
const identity = context.security.getIdentity();
|
|
10
10
|
if (!identity) {
|
|
11
11
|
throw new _apiSecurity.NotAuthorizedError();
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
|
-
exports.
|
|
14
|
+
exports.ensureAuthentication = ensureAuthentication;
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=ensureAuthentication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_apiSecurity","require","ensureAuthentication","context","identity","security","getIdentity","NotAuthorizedError","exports"],"sources":["ensureAuthentication.ts"],"sourcesContent":["import { NotAuthorizedError } from \"@webiny/api-security\";\nimport { AcoContext } from \"~/types\";\n\nexport const ensureAuthentication = (context: AcoContext) => {\n const identity = context.security.getIdentity();\n if (!identity) {\n throw new NotAuthorizedError();\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGO,MAAMC,oBAAoB,GAAIC,OAAmB,IAAK;EACzD,MAAMC,QAAQ,GAAGD,OAAO,CAACE,QAAQ,CAACC,WAAW,CAAC,CAAC;EAC/C,IAAI,CAACF,QAAQ,EAAE;IACX,MAAM,IAAIG,+BAAkB,CAAC,CAAC;EAClC;AACJ,CAAC;AAACC,OAAA,CAAAN,oBAAA,GAAAA,oBAAA"}
|
package/utils/fieldResolver.js
CHANGED
|
@@ -41,4 +41,6 @@ const getTransformer = (model, fieldId) => ({
|
|
|
41
41
|
model: model,
|
|
42
42
|
field: model.fields.find(field => field.fieldId === fieldId)
|
|
43
43
|
});
|
|
44
|
-
exports.getTransformer = getTransformer;
|
|
44
|
+
exports.getTransformer = getTransformer;
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=fieldResolver.js.map
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { CmsEntry } from "@webiny/api-headless-cms/types";
|
|
2
|
+
import { Filter } from "../filter/filter.types";
|
|
2
3
|
import { Folder } from "../folder/folder.types";
|
|
3
4
|
import { SearchRecord } from "../record/record.types";
|
|
4
5
|
export declare function getRecordFieldValues(entry: CmsEntry<any>, fields?: string[]): SearchRecord<any>;
|
|
5
6
|
export declare function getFolderFieldValues(entry: CmsEntry, fields: string[]): Folder;
|
|
7
|
+
export declare function getFilterFieldValues(entry: CmsEntry, fields: string[]): Filter;
|
package/utils/getFieldValues.js
CHANGED
|
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
exports.getFilterFieldValues = getFilterFieldValues;
|
|
7
8
|
exports.getFolderFieldValues = getFolderFieldValues;
|
|
8
9
|
exports.getRecordFieldValues = getRecordFieldValues;
|
|
9
10
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
@@ -13,4 +14,11 @@ function getRecordFieldValues(entry, fields) {
|
|
|
13
14
|
}
|
|
14
15
|
function getFolderFieldValues(entry, fields) {
|
|
15
16
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _pick.default)(entry, fields)), entry.values);
|
|
16
|
-
}
|
|
17
|
+
}
|
|
18
|
+
function getFilterFieldValues(entry, fields) {
|
|
19
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _pick.default)(entry, fields)), {}, {
|
|
20
|
+
id: entry.entryId
|
|
21
|
+
}, entry.values);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=getFieldValues.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pick","_interopRequireDefault","require","getRecordFieldValues","entry","fields","_objectSpread2","default","pick","values","getFolderFieldValues"],"sources":["getFieldValues.ts"],"sourcesContent":["import pick from \"lodash/pick\";\nimport { CmsEntry } from \"@webiny/api-headless-cms/types\";\nimport { Folder } from \"~/folder/folder.types\";\nimport { SearchRecord } from \"~/record/record.types\";\n\nexport function getRecordFieldValues(entry: CmsEntry<any>, fields?: string[]) {\n return {\n ...(fields ? pick(entry, fields) : entry),\n ...entry.values\n } as SearchRecord<any>;\n}\n\nexport function getFolderFieldValues(entry: CmsEntry, fields: string[]) {\n return { ...pick(entry, fields), ...entry.values } as Folder;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_pick","_interopRequireDefault","require","getRecordFieldValues","entry","fields","_objectSpread2","default","pick","values","getFolderFieldValues","getFilterFieldValues","id","entryId"],"sources":["getFieldValues.ts"],"sourcesContent":["import pick from \"lodash/pick\";\nimport { CmsEntry } from \"@webiny/api-headless-cms/types\";\nimport { Filter } from \"~/filter/filter.types\";\nimport { Folder } from \"~/folder/folder.types\";\nimport { SearchRecord } from \"~/record/record.types\";\n\nexport function getRecordFieldValues(entry: CmsEntry<any>, fields?: string[]) {\n return {\n ...(fields ? pick(entry, fields) : entry),\n ...entry.values\n } as SearchRecord<any>;\n}\n\nexport function getFolderFieldValues(entry: CmsEntry, fields: string[]) {\n return { ...pick(entry, fields), ...entry.values } as Folder;\n}\n\nexport function getFilterFieldValues(entry: CmsEntry, fields: string[]) {\n return { ...pick(entry, fields), id: entry.entryId, ...entry.values } as Filter;\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMO,SAASC,oBAAoBA,CAACC,KAAoB,EAAEC,MAAiB,EAAE;EAC1E,WAAAC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACQF,MAAM,GAAG,IAAAG,aAAI,EAACJ,KAAK,EAAEC,MAAM,CAAC,GAAGD,KAAK,GACrCA,KAAK,CAACK,MAAM;AAEvB;AAEO,SAASC,oBAAoBA,CAACN,KAAe,EAAEC,MAAgB,EAAE;EACpE,WAAAC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MAAY,IAAAC,aAAI,EAACJ,KAAK,EAAEC,MAAM,CAAC,GAAKD,KAAK,CAACK,MAAM;AACpD;AAEO,SAASE,oBAAoBA,CAACP,KAAe,EAAEC,MAAgB,EAAE;EACpE,WAAAC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MAAY,IAAAC,aAAI,EAACJ,KAAK,EAAEC,MAAM,CAAC;IAAEO,EAAE,EAAER,KAAK,CAACS;EAAO,GAAKT,KAAK,CAACK,MAAM;AACvE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Folder } from "../folder/folder.types";
|
|
2
2
|
interface GetFolderAndItsAncestorsParams {
|
|
3
|
-
|
|
3
|
+
folder: Folder;
|
|
4
4
|
folders: Folder[];
|
|
5
5
|
}
|
|
6
|
-
export declare const getFolderAndItsAncestors: ({
|
|
6
|
+
export declare const getFolderAndItsAncestors: ({ folder, folders }: GetFolderAndItsAncestorsParams) => Folder[];
|
|
7
7
|
export {};
|
|
@@ -5,32 +5,35 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getFolderAndItsAncestors = void 0;
|
|
7
7
|
const getFolderAndItsAncestors = ({
|
|
8
|
-
|
|
8
|
+
folder,
|
|
9
9
|
folders
|
|
10
10
|
}) => {
|
|
11
11
|
// Create a Map with folders, using folder.id as key
|
|
12
12
|
const folderMap = new Map();
|
|
13
13
|
folders.forEach(folder => folderMap.set(folder.id, folder));
|
|
14
|
-
const findParents = (next,
|
|
15
|
-
const folder = folderMap.get(id);
|
|
16
|
-
|
|
14
|
+
const findParents = (next, current) => {
|
|
17
15
|
// No folder found: return the result
|
|
18
|
-
if (!
|
|
16
|
+
if (!current) {
|
|
19
17
|
return next;
|
|
20
18
|
}
|
|
21
19
|
|
|
22
20
|
// Push the current folder into the accumulator array
|
|
23
|
-
next.push(
|
|
21
|
+
next.push(current);
|
|
24
22
|
|
|
25
23
|
// No parentId found: return the result
|
|
26
|
-
if (!
|
|
24
|
+
if (!current.parentId) {
|
|
25
|
+
return next;
|
|
26
|
+
}
|
|
27
|
+
const parent = folderMap.get(current.parentId);
|
|
28
|
+
|
|
29
|
+
// No parent found: return the result
|
|
30
|
+
if (!parent) {
|
|
27
31
|
return next;
|
|
28
32
|
}
|
|
29
33
|
|
|
30
34
|
// Go ahead and find parent for the current parent
|
|
31
|
-
return findParents(next,
|
|
35
|
+
return findParents(next, parent);
|
|
32
36
|
};
|
|
33
|
-
const folder = folderMap.get(id);
|
|
34
37
|
|
|
35
38
|
// No folder found: return an empty array
|
|
36
39
|
if (!folder) {
|
|
@@ -43,6 +46,8 @@ const getFolderAndItsAncestors = ({
|
|
|
43
46
|
}
|
|
44
47
|
|
|
45
48
|
// Recursively find parents for a given folder id
|
|
46
|
-
return findParents([],
|
|
49
|
+
return findParents([], folder);
|
|
47
50
|
};
|
|
48
|
-
exports.getFolderAndItsAncestors = getFolderAndItsAncestors;
|
|
51
|
+
exports.getFolderAndItsAncestors = getFolderAndItsAncestors;
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=getFolderAndItsAncestors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getFolderAndItsAncestors","
|
|
1
|
+
{"version":3,"names":["getFolderAndItsAncestors","folder","folders","folderMap","Map","forEach","set","id","findParents","next","current","push","parentId","parent","get","exports"],"sources":["getFolderAndItsAncestors.ts"],"sourcesContent":["import { Folder } from \"~/folder/folder.types\";\n\ninterface GetFolderAndItsAncestorsParams {\n folder: Folder;\n folders: Folder[];\n}\n\nexport const getFolderAndItsAncestors = ({\n folder,\n folders\n}: GetFolderAndItsAncestorsParams): Folder[] => {\n // Create a Map with folders, using folder.id as key\n const folderMap = new Map<string, Folder>();\n folders.forEach(folder => folderMap.set(folder.id, folder));\n\n const findParents = (next: Folder[], current: Folder): Folder[] => {\n // No folder found: return the result\n if (!current) {\n return next;\n }\n\n // Push the current folder into the accumulator array\n next.push(current);\n\n // No parentId found: return the result\n if (!current.parentId) {\n return next;\n }\n\n const parent = folderMap.get(current.parentId);\n\n // No parent found: return the result\n if (!parent) {\n return next;\n }\n\n // Go ahead and find parent for the current parent\n return findParents(next, parent);\n };\n\n // No folder found: return an empty array\n if (!folder) {\n return [];\n }\n\n // The folder has no parent (it's at root level): return an array with the folder\n if (!folder.parentId) {\n return [folder];\n }\n\n // Recursively find parents for a given folder id\n return findParents([], folder);\n};\n"],"mappings":";;;;;;AAOO,MAAMA,wBAAwB,GAAGA,CAAC;EACrCC,MAAM;EACNC;AAC4B,CAAC,KAAe;EAC5C;EACA,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAAiB,CAAC;EAC3CF,OAAO,CAACG,OAAO,CAACJ,MAAM,IAAIE,SAAS,CAACG,GAAG,CAACL,MAAM,CAACM,EAAE,EAAEN,MAAM,CAAC,CAAC;EAE3D,MAAMO,WAAW,GAAGA,CAACC,IAAc,EAAEC,OAAe,KAAe;IAC/D;IACA,IAAI,CAACA,OAAO,EAAE;MACV,OAAOD,IAAI;IACf;;IAEA;IACAA,IAAI,CAACE,IAAI,CAACD,OAAO,CAAC;;IAElB;IACA,IAAI,CAACA,OAAO,CAACE,QAAQ,EAAE;MACnB,OAAOH,IAAI;IACf;IAEA,MAAMI,MAAM,GAAGV,SAAS,CAACW,GAAG,CAACJ,OAAO,CAACE,QAAQ,CAAC;;IAE9C;IACA,IAAI,CAACC,MAAM,EAAE;MACT,OAAOJ,IAAI;IACf;;IAEA;IACA,OAAOD,WAAW,CAACC,IAAI,EAAEI,MAAM,CAAC;EACpC,CAAC;;EAED;EACA,IAAI,CAACZ,MAAM,EAAE;IACT,OAAO,EAAE;EACb;;EAEA;EACA,IAAI,CAACA,MAAM,CAACW,QAAQ,EAAE;IAClB,OAAO,CAACX,MAAM,CAAC;EACnB;;EAEA;EACA,OAAOO,WAAW,CAAC,EAAE,EAAEP,MAAM,CAAC;AAClC,CAAC;AAACc,OAAA,CAAAf,wBAAA,GAAAA,wBAAA"}
|
package/utils/modelFactory.js
CHANGED
package/utils/resolve.js
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_error","_interopRequireDefault","require","throwDeleteError","folder","WebinyError","onFolderBeforeDeleteHook","aco","onFolderBeforeDelete","subscribe","id","type","children","list","where","parentId","limit","length","app","undefined","getApp","records","search","location","folderId","error","from","message","code","exports"],"sources":["onFolderBeforeDelete.hook.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { AcoContext, Folder, IAcoApp } from \"~/types\";\n\nconst throwDeleteError = (folder: Folder) => {\n throw new WebinyError(\n \"Error: delete all child folders and entries before proceeding.\",\n \"DELETE_FOLDER_WITH_CHILDREN\",\n {\n folder\n }\n );\n};\n\nexport const onFolderBeforeDeleteHook = ({ aco }: AcoContext) => {\n aco.folder.onFolderBeforeDelete.subscribe(async ({ folder }) => {\n try {\n const { id, type } = folder;\n /**\n * First we check for the child folders.\n */\n const [children] = await aco.folder.list({\n where: {\n type,\n parentId: id\n },\n limit: 1\n });\n if (children.length > 0) {\n throwDeleteError(folder);\n }\n\n let app: IAcoApp | undefined = undefined;\n try {\n app = aco.getApp(type);\n } catch {\n return;\n }\n const [records] = await app.search.list({\n where: {\n type,\n location: {\n folderId: id\n }\n },\n limit: 1\n });\n if (records.length === 0) {\n return;\n }\n throwDeleteError(folder);\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing onFolderBeforeDelete hook\",\n code: \"ACO_BEFORE_FOLDER_DELETE_HOOK\"\n });\n }\n });\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,MAAMC,gBAAgB,GAAIC,MAAc,IAAK;EACzC,MAAM,IAAIC,cAAW,CACjB,gEAAgE,EAChE,6BAA6B,EAC7B;IACID;EACJ,CACJ,CAAC;AACL,CAAC;AAEM,MAAME,wBAAwB,GAAGA,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAC7DA,GAAG,CAACH,MAAM,CAACI,oBAAoB,CAACC,SAAS,CAAC,OAAO;IAAEL;EAAO,CAAC,KAAK;IAC5D,IAAI;MACA,MAAM;QAAEM,EAAE;QAAEC;MAAK,CAAC,GAAGP,MAAM;MAC3B;AACZ;AACA;MACY,MAAM,CAACQ,QAAQ,CAAC,GAAG,MAAML,GAAG,CAACH,MAAM,CAACS,IAAI,CAAC;QACrCC,KAAK,EAAE;UACHH,IAAI;UACJI,QAAQ,EAAEL;QACd,CAAC;QACDM,KAAK,EAAE;MACX,CAAC,CAAC;MACF,IAAIJ,QAAQ,CAACK,MAAM,GAAG,CAAC,EAAE;QACrBd,gBAAgB,CAACC,MAAM,CAAC;MAC5B;MAEA,IAAIc,GAAwB,GAAGC,SAAS;MACxC,IAAI;QACAD,GAAG,GAAGX,GAAG,CAACa,MAAM,CAACT,IAAI,CAAC;MAC1B,CAAC,CAAC,MAAM;QACJ;MACJ;MACA,MAAM,CAACU,OAAO,CAAC,GAAG,MAAMH,GAAG,CAACI,MAAM,CAACT,IAAI,CAAC;QACpCC,KAAK,EAAE;UACHH,IAAI;UACJY,QAAQ,EAAE;YACNC,QAAQ,EAAEd;UACd;QACJ,CAAC;QACDM,KAAK,EAAE;MACX,CAAC,CAAC;MACF,IAAIK,OAAO,CAACJ,MAAM,KAAK,CAAC,EAAE;QACtB;MACJ;MACAd,gBAAgB,CAACC,MAAM,CAAC;IAC5B,CAAC,CAAC,OAAOqB,KAAK,EAAE;MACZ,MAAMpB,cAAW,CAACqB,IAAI,CAACD,KAAK,EAAE;QAC1BE,OAAO,EAAE,iDAAiD;QAC1DC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAvB,wBAAA,GAAAA,wBAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_apiSecurity","require","checkPermissions","context","identity","security","getIdentity","NotAuthorizedError","exports"],"sources":["checkPermissions.ts"],"sourcesContent":["import { NotAuthorizedError } from \"@webiny/api-security\";\nimport { AcoContext } from \"~/types\";\n\nexport const checkPermissions = (context: AcoContext) => {\n const identity = context.security.getIdentity();\n if (!identity) {\n throw new NotAuthorizedError();\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGO,MAAMC,gBAAgB,GAAIC,OAAmB,IAAK;EACrD,MAAMC,QAAQ,GAAGD,OAAO,CAACE,QAAQ,CAACC,WAAW,CAAC,CAAC;EAC/C,IAAI,CAACF,QAAQ,EAAE;IACX,MAAM,IAAIG,+BAAkB,CAAC,CAAC;EAClC;AACJ,CAAC;AAACC,OAAA,CAAAN,gBAAA,GAAAA,gBAAA"}
|