@stackbit/cms-core 1.0.17 → 1.0.18-feature-clac.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.
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CUSTOM_FILTERS = void 0;
4
+ const search_utils_1 = require("./search-utils");
5
+ exports.CUSTOM_FILTERS = {
6
+ hasSchedules: (filter, document, opts) => {
7
+ var _a;
8
+ const field = {
9
+ type: 'boolean',
10
+ value: !!((_a = opts.activeScheduledActionsByDocumentId[document.srcObjectId]) === null || _a === void 0 ? void 0 : _a.length)
11
+ };
12
+ return (0, search_utils_1.isBooleanFieldMatches)({ field, filter, locale: opts.locale });
13
+ },
14
+ scheduledActionId: (filter, document, opts) => {
15
+ var _a, _b;
16
+ const field = {
17
+ type: 'list',
18
+ items: (_b = (_a = opts.activeScheduledActionsByDocumentId[document.srcObjectId]) === null || _a === void 0 ? void 0 : _a.map((scheduledAction) => ({
19
+ type: 'string',
20
+ value: scheduledAction.id
21
+ }))) !== null && _b !== void 0 ? _b : []
22
+ };
23
+ const model = {
24
+ type: 'object',
25
+ name: '',
26
+ fields: [
27
+ {
28
+ name: '',
29
+ type: 'list',
30
+ items: {
31
+ type: 'string'
32
+ }
33
+ }
34
+ ]
35
+ };
36
+ return (0, search_utils_1.isListFieldMatches)({ field, filter, model, locale: opts.locale, document });
37
+ },
38
+ scheduledActionDate: (filter, document, opts) => {
39
+ var _a, _b;
40
+ return ((_b = (_a = opts.activeScheduledActionsByDocumentId[document.srcObjectId]) === null || _a === void 0 ? void 0 : _a.some((scheduledAction) => {
41
+ const field = { type: 'date', value: scheduledAction.executeAt };
42
+ return (0, search_utils_1.isDateFieldMatches)({ field, filter, locale: opts.locale });
43
+ })) !== null && _b !== void 0 ? _b : false);
44
+ }
45
+ };
46
+ //# sourceMappingURL=custom-search-filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-search-filters.js","sourceRoot":"","sources":["../../src/utils/custom-search-filters.ts"],"names":[],"mappings":";;;AAIA,iDAAgH;AAQnG,QAAA,cAAc,GAAuC;IAC9D,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;;QACrC,MAAM,KAAK,GAAG;YACV,IAAI,EAAE,SAAkB;YACxB,KAAK,EAAE,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,kCAAkC,CAAC,QAAQ,CAAC,WAAW,CAAC,0CAAE,MAAM,CAAA;SACjF,CAAC;QACF,OAAO,IAAA,oCAAqB,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,iBAAiB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;;QAC1C,MAAM,KAAK,GAAsB;YAC7B,IAAI,EAAE,MAAM;YACZ,KAAK,EACD,MAAA,MAAA,IAAI,CAAC,kCAAkC,CAAC,QAAQ,CAAC,WAAW,CAAC,0CAAE,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;gBACrF,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,eAAe,CAAC,EAAE;aAC5B,CAAC,CAAC,mCAAI,EAAE;SAChB,CAAC;QACF,MAAM,KAAK,GAAU;YACjB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,EAAE;YACR,MAAM,EAAE;gBACJ;oBACI,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;qBACjB;iBACJ;aACJ;SACJ,CAAC;QACF,OAAO,IAAA,iCAAkB,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,mBAAmB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;;QAC5C,OAAO,CACH,MAAA,MAAA,IAAI,CAAC,kCAAkC,CAAC,QAAQ,CAAC,WAAW,CAAC,0CAAE,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE;YACpF,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,MAAe,EAAE,KAAK,EAAE,eAAe,CAAC,SAAS,EAAE,CAAC;YAC1E,OAAO,IAAA,iCAAkB,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,mCAAI,KAAK,CACd,CAAC;IACN,CAAC;CACJ,CAAC"}
@@ -1,14 +1,12 @@
1
1
  import * as CSITypes from '@stackbit/types';
2
2
  import { ContentStoreTypes } from '../';
3
- export declare const getFilteredDocumentsForUser: ({ user, documents, filterModel, filterDocument, contentSourceDataById, assetSources, createConfigDelegate, customActionRunStateMap, logger }: {
3
+ export declare const getFilteredDocumentsForUser: ({ user, documents, permissionsForModel, permissionsForDocument, contentSourceDataById, createConfigDelegate, logger }: {
4
4
  user?: ContentStoreTypes.User | undefined;
5
- filterModel: CSITypes.StackbitConfig['filterModel'];
6
- filterDocument: CSITypes.StackbitConfig['filterDocument'];
5
+ permissionsForModel: CSITypes.StackbitConfig['permissionsForModel'];
6
+ permissionsForDocument: CSITypes.StackbitConfig['permissionsForDocument'];
7
7
  documents: ContentStoreTypes.Document[];
8
8
  contentSourceDataById: Record<string, ContentStoreTypes.ContentSourceData>;
9
- assetSources: CSITypes.AssetSource[];
10
9
  createConfigDelegate: () => CSITypes.ConfigDelegate;
11
- customActionRunStateMap: ContentStoreTypes.CustomActionRunStateMap;
12
10
  logger: CSITypes.Logger;
13
11
  }) => ContentStoreTypes.Document[];
14
12
  export declare const getFilteredAssetsForUser: ({ user, assets, filterAsset, configDelegate, contentSourceDataById }: {
@@ -18,17 +16,17 @@ export declare const getFilteredAssetsForUser: ({ user, assets, filterAsset, con
18
16
  configDelegate: CSITypes.ConfigDelegate;
19
17
  contentSourceDataById: Record<string, ContentStoreTypes.ContentSourceData>;
20
18
  }) => ContentStoreTypes.Asset[];
21
- export declare const getContentSourceFilteredModelsForUser: ({ user, configDelegate, contentSourceData, filterModel }: {
19
+ export declare const getContentSourceFilteredModelsForUser: ({ user, configDelegate, contentSourceData, permissionsForModel }: {
22
20
  user?: ContentStoreTypes.User | undefined;
23
21
  configDelegate: CSITypes.ConfigDelegate;
24
22
  contentSourceData: ContentStoreTypes.ContentSourceData;
25
- filterModel: CSITypes.StackbitConfig['filterModel'];
23
+ permissionsForModel: CSITypes.StackbitConfig['permissionsForModel'];
26
24
  }) => CSITypes.Model[];
27
- export declare const getFilteredModelForUser: ({ user, name, configDelegate, contentSourceData, filterModel }: {
25
+ export declare const getFilteredModelForUser: ({ user, name, configDelegate, contentSourceData, permissionsForModel }: {
28
26
  user?: ContentStoreTypes.User | undefined;
29
27
  name: string;
30
28
  configDelegate: CSITypes.ConfigDelegate;
31
29
  contentSourceData: ContentStoreTypes.ContentSourceData;
32
- filterModel: CSITypes.StackbitConfig['filterModel'];
30
+ permissionsForModel: CSITypes.StackbitConfig['permissionsForModel'];
33
31
  }) => CSITypes.Model;
34
32
  //# sourceMappingURL=filtered-entities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filtered-entities.d.ts","sourceRoot":"","sources":["../../src/utils/filtered-entities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAMxC,eAAO,MAAM,2BAA2B;;iBAYvB,SAAS,cAAc,CAAC,aAAa,CAAC;oBACnC,SAAS,cAAc,CAAC,gBAAgB,CAAC;eAC9C,kBAAkB,QAAQ,EAAE;2BAChB,OAAO,MAAM,EAAE,kBAAkB,iBAAiB,CAAC;kBAC5D,SAAS,WAAW,EAAE;0BACd,MAAM,SAAS,cAAc;6BAC1B,kBAAkB,uBAAuB;YAC1D,SAAS,MAAM;MACvB,kBAAkB,QAAQ,EA6F7B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;YAQzB,kBAAkB,KAAK,EAAE;iBACpB,SAAS,cAAc,CAAC,aAAa,CAAC;oBACnC,SAAS,cAAc;2BAChB,OAAO,MAAM,EAAE,kBAAkB,iBAAiB,CAAC;MAC1E,kBAAkB,KAAK,EAoD1B,CAAC;AAEF,eAAO,MAAM,qCAAqC;;oBAO9B,SAAS,cAAc;uBACpB,kBAAkB,iBAAiB;iBACzC,SAAS,cAAc,CAAC,aAAa,CAAC;MACnD,SAAS,KAAK,EAYjB,CAAC;AAEF,eAAO,MAAM,uBAAuB;;UAQ1B,MAAM;oBACI,SAAS,cAAc;uBACpB,kBAAkB,iBAAiB;iBACzC,SAAS,cAAc,CAAC,aAAa,CAAC;MACnD,SAAS,KAqBZ,CAAC"}
1
+ {"version":3,"file":"filtered-entities.d.ts","sourceRoot":"","sources":["../../src/utils/filtered-entities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAOxC,eAAO,MAAM,2BAA2B;;yBAUf,SAAS,cAAc,CAAC,qBAAqB,CAAC;4BAC3C,SAAS,cAAc,CAAC,wBAAwB,CAAC;eAC9D,kBAAkB,QAAQ,EAAE;2BAChB,OAAO,MAAM,EAAE,kBAAkB,iBAAiB,CAAC;0BACpD,MAAM,SAAS,cAAc;YAC3C,SAAS,MAAM;MACvB,kBAAkB,QAAQ,EA2D7B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;YAQzB,kBAAkB,KAAK,EAAE;iBACpB,SAAS,cAAc,CAAC,aAAa,CAAC;oBACnC,SAAS,cAAc;2BAChB,OAAO,MAAM,EAAE,kBAAkB,iBAAiB,CAAC;MAC1E,kBAAkB,KAAK,EAoD1B,CAAC;AAEF,eAAO,MAAM,qCAAqC;;oBAO9B,SAAS,cAAc;uBACpB,kBAAkB,iBAAiB;yBACjC,SAAS,cAAc,CAAC,qBAAqB,CAAC;MACnE,SAAS,KAAK,EAYjB,CAAC;AAEF,eAAO,MAAM,uBAAuB;;UAQ1B,MAAM;oBACI,SAAS,cAAc;uBACpB,kBAAkB,iBAAiB;yBACjC,SAAS,cAAc,CAAC,qBAAqB,CAAC;MACnE,SAAS,KAgCZ,CAAC"}
@@ -9,12 +9,11 @@ const consts_1 = require("../consts");
9
9
  const content_store_utils_1 = require("../content-store-utils");
10
10
  const csi_to_store_docs_converter_1 = require("./csi-to-store-docs-converter");
11
11
  const document_utils_1 = require("./document-utils");
12
- const getFilteredDocumentsForUser = ({ user, documents, filterModel, filterDocument, contentSourceDataById, assetSources, createConfigDelegate, customActionRunStateMap, logger }) => {
13
- if (!user || (!filterDocument && !filterModel)) {
12
+ const getFilteredDocumentsForUser = ({ user, documents, permissionsForModel, permissionsForDocument, contentSourceDataById, createConfigDelegate, logger }) => {
13
+ if (!user) {
14
14
  return documents;
15
15
  }
16
16
  const documentsBySourceId = lodash_1.default.groupBy(documents, (object) => (0, content_store_utils_1.getContentSourceId)(object.srcType, object.srcProjectId));
17
- const transformedCsiDocuments = [];
18
17
  const resultDocuments = [];
19
18
  const configDelegate = createConfigDelegate();
20
19
  for (const [contentSourceId, contentSourceDocuments] of Object.entries(documentsBySourceId)) {
@@ -32,7 +31,7 @@ const getFilteredDocumentsForUser = ({ user, documents, filterModel, filterDocum
32
31
  name: modelName,
33
32
  contentSourceData,
34
33
  configDelegate,
35
- filterModel
34
+ permissionsForModel
36
35
  });
37
36
  filteredModelsMap[modelName] = filteredModel;
38
37
  }
@@ -41,52 +40,24 @@ const getFilteredDocumentsForUser = ({ user, documents, filterModel, filterDocum
41
40
  if (!documentModel) {
42
41
  throw new Error(`Can't find model with name '${document.srcModelName}' for object with id '${document.srcObjectId}' in content source '${contentSourceId}'`);
43
42
  }
44
- if (documentModel.hidden) {
45
- // model is hidden - return csiDocument right away as hidden
46
- resultDocuments.push({
47
- ...document,
48
- hidden: true
49
- });
50
- return;
51
- }
52
- if (!filterDocument) {
53
- // no filter function is defined, but the model is not hidden - just add this document as is
54
- resultDocuments.push(document);
55
- return;
56
- }
57
- const csiDocWithSource = {
58
- ...lodash_1.default.cloneDeep(csiDoc),
59
- srcType: contentSourceData.srcType,
60
- srcProjectId: contentSourceData.srcProjectId
61
- };
62
- const shouldIncludeDoc = filterDocument({
43
+ const docPermissions = csiDoc.permissions ?? documentModel.permissions;
44
+ const permissions = permissionsForDocument?.({
63
45
  ...configDelegate,
64
- document: csiDocWithSource,
46
+ document: {
47
+ ...csiDoc,
48
+ permissions: docPermissions,
49
+ srcType: contentSourceData.srcType,
50
+ srcProjectId: contentSourceData.srcProjectId
51
+ },
65
52
  userContext: user
53
+ }) ?? docPermissions;
54
+ resultDocuments.push({
55
+ ...document,
56
+ permissions,
57
+ hidden: documentModel.hidden || document.hidden || permissions?.canView === false
66
58
  });
67
- if (typeof shouldIncludeDoc === 'undefined') {
68
- transformedCsiDocuments.push(csiDocWithSource);
69
- }
70
- else {
71
- transformedCsiDocuments.push({
72
- ...csiDocWithSource,
73
- hidden: !shouldIncludeDoc
74
- });
75
- }
59
+ return;
76
60
  });
77
- if (transformedCsiDocuments.length) {
78
- const csResultDocuments = (0, csi_to_store_docs_converter_1.mapCSIDocumentsToStoreDocuments)({
79
- csiDocuments: transformedCsiDocuments,
80
- contentSourceInstance: contentSourceData.instance,
81
- modelMap: filteredModelsMap,
82
- defaultLocaleCode: contentSourceData.defaultLocaleCode,
83
- assetSources,
84
- customActionRunStateMap,
85
- createConfigDelegate,
86
- logger
87
- });
88
- resultDocuments.push(...(csResultDocuments ?? []));
89
- }
90
61
  }
91
62
  return resultDocuments;
92
63
  };
@@ -137,26 +108,27 @@ const getFilteredAssetsForUser = ({ user, assets, filterAsset, configDelegate, c
137
108
  return resultAssets;
138
109
  };
139
110
  exports.getFilteredAssetsForUser = getFilteredAssetsForUser;
140
- const getContentSourceFilteredModelsForUser = ({ user, configDelegate, contentSourceData, filterModel }) => {
111
+ const getContentSourceFilteredModelsForUser = ({ user, configDelegate, contentSourceData, permissionsForModel }) => {
141
112
  const filteredModels = contentSourceData.models.map((model) => {
142
113
  return (0, exports.getFilteredModelForUser)({
143
114
  user,
144
115
  configDelegate,
145
116
  name: model.name,
146
117
  contentSourceData,
147
- filterModel
118
+ permissionsForModel
148
119
  });
149
120
  });
150
121
  const cleanModels = filteredModels.filter((model) => model.name !== consts_1.STACKBIT_PRESET_MODEL_NAME);
151
122
  return cleanModels;
152
123
  };
153
124
  exports.getContentSourceFilteredModelsForUser = getContentSourceFilteredModelsForUser;
154
- const getFilteredModelForUser = ({ user, name, configDelegate, contentSourceData, filterModel }) => {
125
+ const getFilteredModelForUser = ({ user, name, configDelegate, contentSourceData, permissionsForModel }) => {
155
126
  const model = contentSourceData.modelMap[name];
156
127
  if (!model) {
157
128
  throw new Error(`Model with name ${name} not found in source`);
158
129
  }
159
- if (!user || !filterModel) {
130
+ const shouldResolvePermissions = permissionsForModel || typeof model?.permissions === 'function';
131
+ if (!user || !shouldResolvePermissions) {
160
132
  return model;
161
133
  }
162
134
  const modelWithSource = {
@@ -164,13 +136,18 @@ const getFilteredModelForUser = ({ user, name, configDelegate, contentSourceData
164
136
  srcType: contentSourceData.srcType,
165
137
  srcProjectId: contentSourceData.srcProjectId
166
138
  };
167
- const shouldIncludeModel = filterModel({ ...configDelegate, model: modelWithSource, userContext: user });
168
- if (typeof shouldIncludeModel === 'undefined') {
169
- return model;
170
- }
139
+ const permissionsResult = typeof model.permissions === 'function' ? model.permissions?.({ ...configDelegate, model: modelWithSource, userContext: user }) : model.permissions;
140
+ const permissionsHookResult = permissionsForModel?.({
141
+ ...configDelegate,
142
+ model: { ...modelWithSource, permissions: permissionsResult },
143
+ userContext: user
144
+ }) ?? permissionsResult;
145
+ const permissions = lodash_1.default.isEmpty(permissionsHookResult) ? undefined : permissionsHookResult;
146
+ const shouldHideModel = permissions?.canView === false;
171
147
  return {
172
148
  ...model,
173
- hidden: !shouldIncludeModel
149
+ permissions,
150
+ hidden: shouldHideModel
174
151
  };
175
152
  };
176
153
  exports.getFilteredModelForUser = getFilteredModelForUser;
@@ -1 +1 @@
1
- {"version":3,"file":"filtered-entities.js","sourceRoot":"","sources":["../../src/utils/filtered-entities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filtered-entities.js","sourceRoot":"","sources":["../../src/utils/filtered-entities.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackbit/cms-core",
3
- "version": "1.0.17",
3
+ "version": "1.0.18-feature-clac.0",
4
4
  "description": "stackbit-dev",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,9 +26,9 @@
26
26
  "@babel/traverse": "^7.11.5",
27
27
  "@iarna/toml": "^2.2.3",
28
28
  "@netlify/sdk": "^1.17.2",
29
- "@stackbit/sdk": "1.0.17",
30
- "@stackbit/types": "0.11.6",
31
- "@stackbit/utils": "0.4.6",
29
+ "@stackbit/sdk": "1.0.18-feature-clac.0",
30
+ "@stackbit/types": "0.11.7-feature-clac.0",
31
+ "@stackbit/utils": "0.4.7-feature-clac.0",
32
32
  "chalk": "^4.0.1",
33
33
  "content-engine": "0.0.29",
34
34
  "esm": "^3.2.25",
@@ -44,5 +44,5 @@
44
44
  "slugify": "^1.6.5",
45
45
  "uuid": "^9.0.0"
46
46
  },
47
- "gitHead": "760e666acbf78e93ca237a91b6fe878cbfb0e711"
47
+ "gitHead": "1f5ad86fcad63dd9f1d4218301fb6689a8b19c7b"
48
48
  }
@@ -1484,7 +1484,7 @@ export class ContentStore {
1484
1484
  user,
1485
1485
  configDelegate,
1486
1486
  contentSourceData,
1487
- filterModel: this.stackbitConfig?.filterModel
1487
+ permissionsForModel: this.stackbitConfig?.permissionsForModel
1488
1488
  });
1489
1489
 
1490
1490
  const modelsMap = getModelMap({ models: filteredModels });
@@ -1707,16 +1707,14 @@ export class ContentStore {
1707
1707
  const [filteredDocument] = getFilteredDocumentsForUser({
1708
1708
  user,
1709
1709
  documents: [document],
1710
- filterModel: this.stackbitConfig?.filterModel,
1711
- filterDocument: this.stackbitConfig?.filterDocument,
1710
+ permissionsForModel: this.stackbitConfig?.permissionsForModel,
1711
+ permissionsForDocument: this.stackbitConfig?.permissionsForDocument,
1712
1712
  contentSourceDataById: this.contentSourceDataById,
1713
- assetSources: this.stackbitConfig?.assetSources ?? [],
1714
1713
  createConfigDelegate: getCreateConfigDelegateThunk({
1715
1714
  getContentSourceDataById: () => this.contentSourceDataById,
1716
1715
  logger: this.userLogger
1717
1716
  }),
1718
- logger: this.userLogger,
1719
- customActionRunStateMap: this.customActionRunStateMap
1717
+ logger: this.userLogger
1720
1718
  });
1721
1719
  if (filteredDocument && filteredDocument.hidden) {
1722
1720
  return accum;
@@ -1774,16 +1772,14 @@ export class ContentStore {
1774
1772
  const [filteredDocument] = getFilteredDocumentsForUser({
1775
1773
  user,
1776
1774
  documents: [document],
1777
- filterModel: this.stackbitConfig?.filterModel,
1778
- filterDocument: this.stackbitConfig?.filterDocument,
1775
+ permissionsForModel: this.stackbitConfig?.permissionsForModel,
1776
+ permissionsForDocument: this.stackbitConfig?.permissionsForDocument,
1779
1777
  contentSourceDataById: this.contentSourceDataById,
1780
- assetSources: this.stackbitConfig?.assetSources ?? [],
1781
1778
  createConfigDelegate: getCreateConfigDelegateThunk({
1782
1779
  getContentSourceDataById: () => this.contentSourceDataById,
1783
1780
  logger: this.userLogger
1784
1781
  }),
1785
- logger: this.userLogger,
1786
- customActionRunStateMap: this.customActionRunStateMap
1782
+ logger: this.userLogger
1787
1783
  });
1788
1784
  return filteredDocument;
1789
1785
  }
@@ -1831,16 +1827,14 @@ export class ContentStore {
1831
1827
  const [filteredDocument] = getFilteredDocumentsForUser({
1832
1828
  user,
1833
1829
  documents: [document],
1834
- filterModel: this.stackbitConfig?.filterModel,
1835
- filterDocument: this.stackbitConfig?.filterDocument,
1830
+ permissionsForModel: this.stackbitConfig?.permissionsForModel,
1831
+ permissionsForDocument: this.stackbitConfig?.permissionsForDocument,
1836
1832
  contentSourceDataById: this.contentSourceDataById,
1837
- assetSources: this.stackbitConfig?.assetSources ?? [],
1838
1833
  createConfigDelegate: getCreateConfigDelegateThunk({
1839
1834
  getContentSourceDataById: () => this.contentSourceDataById,
1840
1835
  logger: this.userLogger
1841
1836
  }),
1842
- logger: this.userLogger,
1843
- customActionRunStateMap: this.customActionRunStateMap
1837
+ logger: this.userLogger
1844
1838
  });
1845
1839
  return filteredDocument ?? document;
1846
1840
  }
@@ -1878,16 +1872,14 @@ export class ContentStore {
1878
1872
  const filteredDocuments = getFilteredDocumentsForUser({
1879
1873
  user,
1880
1874
  documents,
1881
- filterModel: this.stackbitConfig?.filterModel,
1882
- filterDocument: this.stackbitConfig?.filterDocument,
1875
+ permissionsForModel: this.stackbitConfig?.permissionsForModel,
1876
+ permissionsForDocument: this.stackbitConfig?.permissionsForDocument,
1883
1877
  contentSourceDataById: this.contentSourceDataById,
1884
- assetSources: this.stackbitConfig?.assetSources ?? [],
1885
1878
  createConfigDelegate: getCreateConfigDelegateThunk({
1886
1879
  getContentSourceDataById: () => this.contentSourceDataById,
1887
1880
  logger: this.userLogger
1888
1881
  }),
1889
- logger: this.userLogger,
1890
- customActionRunStateMap: this.customActionRunStateMap
1882
+ logger: this.userLogger
1891
1883
  });
1892
1884
  return filteredDocuments;
1893
1885
  }
@@ -1920,16 +1912,14 @@ export class ContentStore {
1920
1912
  filteredDocuments = getFilteredDocumentsForUser({
1921
1913
  user,
1922
1914
  documents: filteredDocuments,
1923
- filterModel: this.stackbitConfig?.filterModel,
1924
- filterDocument: this.stackbitConfig?.filterDocument,
1915
+ permissionsForModel: this.stackbitConfig?.permissionsForModel,
1916
+ permissionsForDocument: this.stackbitConfig?.permissionsForDocument,
1925
1917
  contentSourceDataById: this.contentSourceDataById,
1926
- assetSources: this.stackbitConfig?.assetSources ?? [],
1927
1918
  createConfigDelegate: getCreateConfigDelegateThunk({
1928
1919
  getContentSourceDataById: () => this.contentSourceDataById,
1929
1920
  logger: this.userLogger
1930
1921
  }),
1931
- logger: this.userLogger,
1932
- customActionRunStateMap: this.customActionRunStateMap
1922
+ logger: this.userLogger
1933
1923
  });
1934
1924
 
1935
1925
  return {
@@ -2050,16 +2040,14 @@ export class ContentStore {
2050
2040
  filteredDocuments = getFilteredDocumentsForUser({
2051
2041
  user,
2052
2042
  documents: filteredDocuments,
2053
- filterModel: this.stackbitConfig?.filterModel,
2054
- filterDocument: this.stackbitConfig?.filterDocument,
2043
+ permissionsForModel: this.stackbitConfig?.permissionsForModel,
2044
+ permissionsForDocument: this.stackbitConfig?.permissionsForDocument,
2055
2045
  contentSourceDataById: this.contentSourceDataById,
2056
- assetSources: this.stackbitConfig?.assetSources ?? [],
2057
2046
  createConfigDelegate: getCreateConfigDelegateThunk({
2058
2047
  getContentSourceDataById: () => this.contentSourceDataById,
2059
2048
  logger: this.userLogger
2060
2049
  }),
2061
- logger: this.userLogger,
2062
- customActionRunStateMap: this.customActionRunStateMap
2050
+ logger: this.userLogger
2063
2051
  });
2064
2052
 
2065
2053
  assets = getFilteredAssetsForUser({
@@ -3005,16 +2993,14 @@ export class ContentStore {
3005
2993
  const userDocuments = getFilteredDocumentsForUser({
3006
2994
  user: data.user,
3007
2995
  documents: filteredDocuments,
3008
- filterModel: this.stackbitConfig?.filterModel,
3009
- filterDocument: this.stackbitConfig?.filterDocument,
2996
+ permissionsForModel: this.stackbitConfig?.permissionsForModel,
2997
+ permissionsForDocument: this.stackbitConfig?.permissionsForDocument,
3010
2998
  contentSourceDataById: this.contentSourceDataById,
3011
- assetSources: this.stackbitConfig?.assetSources ?? [],
3012
2999
  createConfigDelegate: getCreateConfigDelegateThunk({
3013
3000
  getContentSourceDataById: () => this.contentSourceDataById,
3014
3001
  logger: this.userLogger
3015
3002
  }),
3016
- logger: this.userLogger,
3017
- customActionRunStateMap: this.customActionRunStateMap
3003
+ logger: this.userLogger
3018
3004
  });
3019
3005
 
3020
3006
  // filter out hidden documents from the search
@@ -3074,7 +3060,7 @@ export class ContentStore {
3074
3060
  contentSourceDataById: this.contentSourceDataById,
3075
3061
  logger: this.userLogger
3076
3062
  }),
3077
- filterModel: this.stackbitConfig?.filterModel
3063
+ permissionsForModel: this.stackbitConfig?.permissionsForModel
3078
3064
  });
3079
3065
  const apiVersions = mapDocumentVersionsToApiDocumentVersions({
3080
3066
  assetSources: this.stackbitConfig?.assetSources ?? [],
@@ -3131,7 +3117,7 @@ export class ContentStore {
3131
3117
  contentSourceDataById: this.contentSourceDataById,
3132
3118
  logger: this.userLogger
3133
3119
  }),
3134
- filterModel: this.stackbitConfig?.filterModel
3120
+ permissionsForModel: this.stackbitConfig?.permissionsForModel
3135
3121
  });
3136
3122
  const [apiVersion] = mapDocumentVersionsToApiDocumentVersions({
3137
3123
  versions: [version],
@@ -1,4 +1,4 @@
1
- import { DocumentStatus, ConfigDelegate, DocumentVersion, DocumentVersionWithDocument } from '@stackbit/types';
1
+ import { DocumentStatus, ConfigDelegate, DocumentVersion, DocumentVersionWithDocument, DocumentPermissions } from '@stackbit/types';
2
2
  import { DocumentField, DocumentFieldAPI, DocumentFieldAPIForType, DocumentStringLikeFieldForType } from './content-store-document-fields';
3
3
  import { APIDocument } from './content-store-api-document-fields';
4
4
  import { APICustomActionDocument } from './custom-actions';
@@ -25,6 +25,7 @@ export interface Document {
25
25
  updatedBy?: string[];
26
26
  locale?: string;
27
27
  fields: Record<string, DocumentField>;
28
+ permissions?: DocumentPermissions;
28
29
  }
29
30
 
30
31
  export interface DocumentPreview {
@@ -184,7 +184,8 @@ function mapCSIDocumentToStoreDocument({
184
184
  fieldPath: [],
185
185
  logger
186
186
  }
187
- })
187
+ }),
188
+ permissions: csiDocument.permissions
188
189
  });
189
190
  }
190
191