@stackbit/cms-core 1.0.9-develop.1 → 1.0.9

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,5 @@
1
+ import * as StackbitTypes from '@stackbit/types';
2
+ export declare function getAllModelsFromCSIDocument({ document }: {
3
+ document: StackbitTypes.Document;
4
+ }): string[];
5
+ //# sourceMappingURL=document-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-utils.d.ts","sourceRoot":"","sources":["../../src/utils/document-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AAkCjD,wBAAgB,2BAA2B,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAA;CAAE,GAAG,MAAM,EAAE,CAIxG"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAllModelsFromCSIDocument = void 0;
4
+ const getModelsFromFields = (fields, foundModels) => {
5
+ fields.forEach((field) => {
6
+ if (field.type === 'model') {
7
+ if (field.localized) {
8
+ for (const localeObject of Object.values(field.locales)) {
9
+ foundModels.add(localeObject.modelName);
10
+ getModelsFromFields(Object.values(localeObject.fields), foundModels);
11
+ }
12
+ }
13
+ else {
14
+ foundModels.add(field.modelName);
15
+ getModelsFromFields(Object.values(field.fields), foundModels);
16
+ }
17
+ }
18
+ else if (field.type === 'object') {
19
+ if (field.localized) {
20
+ for (const localeObject of Object.values(field.locales)) {
21
+ getModelsFromFields(Object.values(localeObject.fields), foundModels);
22
+ }
23
+ }
24
+ else {
25
+ getModelsFromFields(Object.values(field.fields), foundModels);
26
+ }
27
+ }
28
+ else if (field.type === 'list') {
29
+ if (field.localized) {
30
+ for (const localeObject of Object.values(field.locales)) {
31
+ getModelsFromFields(localeObject.items, foundModels);
32
+ }
33
+ }
34
+ else {
35
+ getModelsFromFields(field.items, foundModels);
36
+ }
37
+ }
38
+ });
39
+ };
40
+ function getAllModelsFromCSIDocument({ document }) {
41
+ const models = new Set([document.modelName]);
42
+ getModelsFromFields(Object.values(document.fields), models);
43
+ return Array.from(models);
44
+ }
45
+ exports.getAllModelsFromCSIDocument = getAllModelsFromCSIDocument;
46
+ //# sourceMappingURL=document-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-utils.js","sourceRoot":"","sources":["../../src/utils/document-utils.ts"],"names":[],"mappings":";;;AAEA,MAAM,mBAAmB,GAAG,CAAC,MAAqC,EAAE,WAAwB,EAAE,EAAE;IAC5F,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YACxB,IAAI,KAAK,CAAC,SAAS,EAAE;gBACjB,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;oBACrD,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;iBACxE;aACJ;iBAAM;gBACH,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACjC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;aACjE;SACJ;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAChC,IAAI,KAAK,CAAC,SAAS,EAAE;gBACjB,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;oBACrD,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;iBACxE;aACJ;iBAAM;gBACH,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;aACjE;SACJ;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;YAC9B,IAAI,KAAK,CAAC,SAAS,EAAE;gBACjB,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;oBACrD,mBAAmB,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;iBACxD;aACJ;iBAAM;gBACH,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;aACjD;SACJ;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAgB,2BAA2B,CAAC,EAAE,QAAQ,EAAwC;IAC1F,MAAM,MAAM,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAJD,kEAIC"}
@@ -0,0 +1,34 @@
1
+ import * as CSITypes from '@stackbit/types';
2
+ import { ContentStoreTypes } from '../';
3
+ export declare const getFilteredDocumentsForUser: ({ user, documents, filterModel, filterDocument, contentSourceDataById, assetSources, createConfigDelegate, customActionRunStateMap, logger }: {
4
+ user?: ContentStoreTypes.User | undefined;
5
+ filterModel: CSITypes.StackbitConfig['filterModel'];
6
+ filterDocument: CSITypes.StackbitConfig['filterDocument'];
7
+ documents: ContentStoreTypes.Document[];
8
+ contentSourceDataById: Record<string, ContentStoreTypes.ContentSourceData>;
9
+ assetSources: CSITypes.AssetSource[];
10
+ createConfigDelegate: () => CSITypes.ConfigDelegate;
11
+ customActionRunStateMap: ContentStoreTypes.CustomActionRunStateMap;
12
+ logger: CSITypes.Logger;
13
+ }) => ContentStoreTypes.Document[];
14
+ export declare const getFilteredAssetsForUser: ({ user, assets, filterAsset, configDelegate, contentSourceDataById }: {
15
+ user?: ContentStoreTypes.User | undefined;
16
+ assets: ContentStoreTypes.Asset[];
17
+ filterAsset: CSITypes.StackbitConfig['filterAsset'];
18
+ configDelegate: CSITypes.ConfigDelegate;
19
+ contentSourceDataById: Record<string, ContentStoreTypes.ContentSourceData>;
20
+ }) => ContentStoreTypes.Asset[];
21
+ export declare const getContentSourceFilteredModelsForUser: ({ user, configDelegate, contentSourceData, filterModel }: {
22
+ user?: ContentStoreTypes.User | undefined;
23
+ configDelegate: CSITypes.ConfigDelegate;
24
+ contentSourceData: ContentStoreTypes.ContentSourceData;
25
+ filterModel: CSITypes.StackbitConfig['filterModel'];
26
+ }) => CSITypes.Model[];
27
+ export declare const getFilteredModelForUser: ({ user, name, configDelegate, contentSourceData, filterModel }: {
28
+ user?: ContentStoreTypes.User | undefined;
29
+ name: string;
30
+ configDelegate: CSITypes.ConfigDelegate;
31
+ contentSourceData: ContentStoreTypes.ContentSourceData;
32
+ filterModel: CSITypes.StackbitConfig['filterModel'];
33
+ }) => CSITypes.Model;
34
+ //# sourceMappingURL=filtered-entities.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getFilteredModelForUser = exports.getContentSourceFilteredModelsForUser = exports.getFilteredAssetsForUser = exports.getFilteredDocumentsForUser = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const consts_1 = require("../consts");
9
+ const content_store_utils_1 = require("../content-store-utils");
10
+ const csi_to_store_docs_converter_1 = require("./csi-to-store-docs-converter");
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)) {
14
+ return documents;
15
+ }
16
+ const documentsBySourceId = lodash_1.default.groupBy(documents, (object) => (0, content_store_utils_1.getContentSourceId)(object.srcType, object.srcProjectId));
17
+ const transformedCsiDocuments = [];
18
+ const resultDocuments = [];
19
+ const configDelegate = createConfigDelegate();
20
+ for (const [contentSourceId, contentSourceDocuments] of Object.entries(documentsBySourceId)) {
21
+ const contentSourceData = (0, content_store_utils_1.getContentSourceDataByIdOrThrow)(contentSourceId, contentSourceDataById);
22
+ const filteredModelsMap = {};
23
+ contentSourceDocuments.forEach((document) => {
24
+ const csiDoc = contentSourceData.csiDocumentMap[document.srcObjectId];
25
+ if (!csiDoc) {
26
+ throw new Error(`Document with id '${document.srcObjectId}' not found in content source '${contentSourceId}'`);
27
+ }
28
+ (0, document_utils_1.getAllModelsFromCSIDocument)({ document: csiDoc }).forEach((modelName) => {
29
+ if (!filteredModelsMap[modelName]) {
30
+ const filteredModel = (0, exports.getFilteredModelForUser)({
31
+ user,
32
+ name: modelName,
33
+ contentSourceData,
34
+ configDelegate,
35
+ filterModel
36
+ });
37
+ filteredModelsMap[modelName] = filteredModel;
38
+ }
39
+ });
40
+ const documentModel = filteredModelsMap[document.srcModelName];
41
+ if (!documentModel) {
42
+ throw new Error(`Can't find model with name '${document.srcModelName}' for object with id '${document.srcObjectId}' in content source '${contentSourceId}'`);
43
+ }
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({
63
+ ...configDelegate,
64
+ document: csiDocWithSource,
65
+ userContext: user
66
+ });
67
+ if (typeof shouldIncludeDoc === 'undefined') {
68
+ transformedCsiDocuments.push(csiDocWithSource);
69
+ }
70
+ else {
71
+ transformedCsiDocuments.push({
72
+ ...csiDocWithSource,
73
+ hidden: !shouldIncludeDoc
74
+ });
75
+ }
76
+ });
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 !== null && csResultDocuments !== void 0 ? csResultDocuments : []));
89
+ }
90
+ }
91
+ return resultDocuments;
92
+ };
93
+ exports.getFilteredDocumentsForUser = getFilteredDocumentsForUser;
94
+ const getFilteredAssetsForUser = ({ user, assets, filterAsset, configDelegate, contentSourceDataById }) => {
95
+ if (!user || !filterAsset) {
96
+ return assets;
97
+ }
98
+ const assetsBySourceId = lodash_1.default.groupBy(assets, (object) => (0, content_store_utils_1.getContentSourceId)(object.srcType, object.srcProjectId));
99
+ const transformedCsiAssets = [];
100
+ const resultAssets = [];
101
+ for (const [contentSourceId, contentSourceAssets] of Object.entries(assetsBySourceId)) {
102
+ const contentSourceData = (0, content_store_utils_1.getContentSourceDataByIdOrThrow)(contentSourceId, contentSourceDataById);
103
+ contentSourceAssets.forEach((asset) => {
104
+ const csiAsset = contentSourceData.csiAssetMap[asset.srcObjectId];
105
+ if (!csiAsset) {
106
+ throw new Error(`Asset with id '${asset.srcObjectId}' not found in content source '${contentSourceId}'`);
107
+ }
108
+ const csiAssetWithSource = {
109
+ ...lodash_1.default.cloneDeep(csiAsset),
110
+ srcType: contentSourceData.srcType,
111
+ srcProjectId: contentSourceData.srcProjectId
112
+ };
113
+ const shouldIncludeAsset = filterAsset({
114
+ ...configDelegate,
115
+ asset: csiAssetWithSource,
116
+ userContext: user
117
+ });
118
+ if (typeof shouldIncludeAsset === 'undefined') {
119
+ transformedCsiAssets.push(csiAssetWithSource);
120
+ }
121
+ else {
122
+ transformedCsiAssets.push({
123
+ ...csiAssetWithSource,
124
+ hidden: !shouldIncludeAsset
125
+ });
126
+ }
127
+ });
128
+ if (transformedCsiAssets.length) {
129
+ const csResultAssets = (0, csi_to_store_docs_converter_1.mapCSIAssetsToStoreAssets)({
130
+ csiAssets: transformedCsiAssets,
131
+ contentSourceInstance: contentSourceData.instance,
132
+ defaultLocaleCode: contentSourceData.defaultLocaleCode
133
+ });
134
+ resultAssets.push(...csResultAssets);
135
+ }
136
+ }
137
+ return resultAssets;
138
+ };
139
+ exports.getFilteredAssetsForUser = getFilteredAssetsForUser;
140
+ const getContentSourceFilteredModelsForUser = ({ user, configDelegate, contentSourceData, filterModel }) => {
141
+ const filteredModels = contentSourceData.models.map((model) => {
142
+ return (0, exports.getFilteredModelForUser)({
143
+ user,
144
+ configDelegate,
145
+ name: model.name,
146
+ contentSourceData,
147
+ filterModel
148
+ });
149
+ });
150
+ const cleanModels = filteredModels.filter((model) => model.name !== consts_1.STACKBIT_PRESET_MODEL_NAME);
151
+ return cleanModels;
152
+ };
153
+ exports.getContentSourceFilteredModelsForUser = getContentSourceFilteredModelsForUser;
154
+ const getFilteredModelForUser = ({ user, name, configDelegate, contentSourceData, filterModel }) => {
155
+ const model = contentSourceData.modelMap[name];
156
+ if (!model) {
157
+ throw new Error(`Model with name ${name} not found in source`);
158
+ }
159
+ if (!user || !filterModel) {
160
+ return model;
161
+ }
162
+ const modelWithSource = {
163
+ ...lodash_1.default.cloneDeep(model),
164
+ srcType: contentSourceData.srcType,
165
+ srcProjectId: contentSourceData.srcProjectId
166
+ };
167
+ const shouldIncludeModel = filterModel({ ...configDelegate, model: modelWithSource, userContext: user });
168
+ if (typeof shouldIncludeModel === 'undefined') {
169
+ return model;
170
+ }
171
+ return {
172
+ ...model,
173
+ hidden: !shouldIncludeModel
174
+ };
175
+ };
176
+ exports.getFilteredModelForUser = getFilteredModelForUser;
177
+ //# sourceMappingURL=filtered-entities.js.map
@@ -0,0 +1 @@
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.9-develop.1",
3
+ "version": "1.0.9",
4
4
  "description": "stackbit-dev",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -25,9 +25,9 @@
25
25
  "@babel/parser": "^7.11.5",
26
26
  "@babel/traverse": "^7.11.5",
27
27
  "@iarna/toml": "^2.2.3",
28
- "@stackbit/sdk": "1.0.9-develop.1",
29
- "@stackbit/types": "0.10.23-develop.1",
30
- "@stackbit/utils": "0.3.27-develop.1",
28
+ "@stackbit/sdk": "1.0.9",
29
+ "@stackbit/types": "0.10.23",
30
+ "@stackbit/utils": "0.3.27",
31
31
  "chalk": "^4.0.1",
32
32
  "content-engine": "0.0.19",
33
33
  "esm": "^3.2.25",
@@ -43,5 +43,5 @@
43
43
  "slugify": "^1.6.5",
44
44
  "uuid": "^9.0.0"
45
45
  },
46
- "gitHead": "ae8962204c596bf20ae9042476ab278e3b7e7b66"
46
+ "gitHead": "5a53d8edc1446a8b824eb301706679d716cd2621"
47
47
  }
@@ -1,12 +0,0 @@
1
- import * as ContentStoreTypes from '../types';
2
- import { SearchFilterItem } from '../types';
3
- import { ScheduledAction } from '@stackbit/types';
4
- import { SchemaForSearch } from './search-utils';
5
- declare type CustomFilterMethod = (filter: SearchFilterItem, document: ContentStoreTypes.Document, opts: {
6
- locale?: string;
7
- schema: SchemaForSearch;
8
- activeScheduledActionsByDocumentId: Record<string, ScheduledAction[]>;
9
- }) => boolean;
10
- export declare const CUSTOM_FILTERS: Record<string, CustomFilterMethod>;
11
- export {};
12
- //# sourceMappingURL=custom-search-filters.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-search-filters.d.ts","sourceRoot":"","sources":["../../src/utils/custom-search-filters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAqB,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAiE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEhH,aAAK,kBAAkB,GAAG,CACtB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,EACpC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,CAAC;IAAC,kCAAkC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;CAAE,KACxH,OAAO,CAAC;AAEb,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAwC7D,CAAC"}
@@ -1,46 +0,0 @@
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
@@ -1 +0,0 @@
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"}