@stackbit/cms-core 0.8.3-develop.1 → 0.8.3-develop.2

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.
@@ -3,25 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.searchDocuments = void 0;
6
+ exports.isListFieldMatches = exports.isDateFieldMatches = exports.isBooleanFieldMatches = exports.searchDocuments = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
+ const utils_1 = require("@stackbit/utils");
8
9
  const content_store_utils_1 = require("../content-store-utils");
9
- const META_FIELD = {
10
- createdAt: {
11
- type: 'date'
12
- },
13
- updatedAt: {
14
- type: 'date'
15
- },
16
- status: {
17
- type: 'enum'
18
- }
19
- };
10
+ const meta_fields_filters_1 = require("./meta-fields-filters");
20
11
  const searchDocuments = (data) => {
21
- var _a;
12
+ var _a, _b;
22
13
  const query = (_a = data.query) === null || _a === void 0 ? void 0 : _a.toLowerCase();
23
14
  const { documents, schema } = data;
24
15
  let allDocuments = 0;
16
+ const activeScheduledActionsByDocumentId = groupScheduledActionsByDocumentId((_b = data.scheduledActions) !== null && _b !== void 0 ? _b : []);
25
17
  const matchedDocuments = documents.filter((document) => {
26
18
  var _a, _b, _c;
27
19
  const contentSourceId = (0, content_store_utils_1.getContentSourceId)(document.srcType, document.srcProjectId);
@@ -43,9 +35,21 @@ const searchDocuments = (data) => {
43
35
  if ((_c = data.filter) === null || _c === void 0 ? void 0 : _c.and) {
44
36
  // only 'and' supported for now; later we can add e.g. 'or'
45
37
  const matches = data.filter.and.every((filter) => {
46
- var _a, _b;
47
- const field = getFieldForFilter(document, filter);
48
- return isFieldMatchesFilter({ field, filter, document, schema, locale: (_a = data.locale) !== null && _a !== void 0 ? _a : (_b = data.defaultLocales) === null || _b === void 0 ? void 0 : _b[contentSourceId] });
38
+ var _a, _b, _c, _d;
39
+ const filterFieldResult = getFieldForFilter({
40
+ document,
41
+ filter,
42
+ context: {
43
+ activeScheduledActionsByDocumentId,
44
+ locale: (_a = data.locale) !== null && _a !== void 0 ? _a : (_b = data.defaultLocales) === null || _b === void 0 ? void 0 : _b[contentSourceId],
45
+ schema
46
+ }
47
+ });
48
+ if ('result' in filterFieldResult) {
49
+ return filterFieldResult.result;
50
+ }
51
+ const { field, model } = filterFieldResult;
52
+ return isFieldMatchesFilter({ field, filter, document, model, locale: (_c = data.locale) !== null && _c !== void 0 ? _c : (_d = data.defaultLocales) === null || _d === void 0 ? void 0 : _d[contentSourceId] });
49
53
  });
50
54
  if (!matches) {
51
55
  return false;
@@ -82,28 +86,25 @@ const isDocumentMatchesPattern = (document, query, locale) => {
82
86
  return false;
83
87
  });
84
88
  };
85
- const getFieldForFilter = (document, filter) => {
89
+ const getFieldForFilter = ({ document, filter, context }) => {
90
+ var _a, _b, _c;
86
91
  if (filter.isMeta) {
87
- if (filter.field !== 'createdAt' && filter.field !== 'updatedAt' && filter.field !== 'status') {
92
+ const filterField = filter.field;
93
+ if (!(filterField in meta_fields_filters_1.META_FIELDS)) {
88
94
  throw new Error(`Unsupported meta field ${filter.field}`);
89
95
  }
90
- const fieldDef = META_FIELD[filter.field];
91
- const dateValue = document[filter.field];
92
- return {
93
- ...fieldDef,
94
- value: dateValue
95
- };
96
+ return meta_fields_filters_1.META_FIELDS[filterField]({ filter, document, context });
96
97
  }
97
98
  else {
98
99
  const documentField = document.fields[filter.field];
99
100
  if (!documentField) {
100
101
  throw new Error(`Field not found ${filter.field}`);
101
102
  }
102
- return documentField;
103
+ const model = (_c = (_b = (_a = context.schema) === null || _a === void 0 ? void 0 : _a[document.srcType]) === null || _b === void 0 ? void 0 : _b[document.srcProjectId]) === null || _c === void 0 ? void 0 : _c[document.srcModelName];
104
+ return { field: documentField, model };
103
105
  }
104
106
  };
105
- const isFieldMatchesFilter = ({ document, field, filter, locale, schema }) => {
106
- var _a, _b;
107
+ const isFieldMatchesFilter = ({ document, field, filter, locale, model }) => {
107
108
  switch (field === null || field === void 0 ? void 0 : field.type) {
108
109
  case 'string':
109
110
  case 'slug':
@@ -115,18 +116,17 @@ const isFieldMatchesFilter = ({ document, field, filter, locale, schema }) => {
115
116
  case 'number':
116
117
  return isNumberFieldMatches({ field, filter, locale });
117
118
  case 'boolean':
118
- return isBooleanFieldMatches({ field, filter, locale });
119
+ return (0, exports.isBooleanFieldMatches)({ field, filter, locale });
119
120
  case 'date':
120
121
  case 'datetime':
121
- return isDateFieldMatches({ field, filter, locale });
122
+ return (0, exports.isDateFieldMatches)({ field, filter, locale });
122
123
  case 'enum':
123
124
  return isEnumFieldMatches({ field, filter, locale });
124
125
  case 'list': {
125
- const model = (_b = (_a = schema === null || schema === void 0 ? void 0 : schema[document.srcType]) === null || _a === void 0 ? void 0 : _a[document.srcProjectId]) === null || _b === void 0 ? void 0 : _b[document.srcModelName];
126
126
  if (!model || model.type === 'image') {
127
127
  throw new Error(`Can't find model for the ${filter.field}`);
128
128
  }
129
- return isListFieldMatches({ field, filter, model, locale, document });
129
+ return (0, exports.isListFieldMatches)({ field, filter, model, locale, document });
130
130
  }
131
131
  case 'cross-reference':
132
132
  case 'reference':
@@ -227,6 +227,7 @@ const isBooleanFieldMatches = ({ field, filter, locale }) => {
227
227
  }
228
228
  throw new Error(`Not supported operator ${filter.operator} for field ${filter.field}`);
229
229
  };
230
+ exports.isBooleanFieldMatches = isBooleanFieldMatches;
230
231
  const parseDateValue = (value) => {
231
232
  let dateValue;
232
233
  if (value === null || value === void 0 ? void 0 : value.endsWith('Z')) {
@@ -298,6 +299,7 @@ const isDateFieldMatches = ({ field, filter, locale }) => {
298
299
  }
299
300
  throw new Error(`Not supported operator ${filter.operator} for field ${filter.field}`);
300
301
  };
302
+ exports.isDateFieldMatches = isDateFieldMatches;
301
303
  const isEnumFieldMatches = ({ field, filter, locale }) => {
302
304
  var _a;
303
305
  const fieldValue = (_a = (0, content_store_utils_1.getDocumentFieldForLocale)(field, locale)) === null || _a === void 0 ? void 0 : _a.value;
@@ -416,6 +418,7 @@ const isListFieldMatches = ({ field, filter, locale, model, document }) => {
416
418
  }
417
419
  throw new Error(`Not supported operator ${filter.operator} for field ${filter.field}`);
418
420
  };
421
+ exports.isListFieldMatches = isListFieldMatches;
419
422
  const isReferenceFieldMatches = ({ field, filter, document, locale }) => {
420
423
  var _a;
421
424
  // ignoring case
@@ -450,4 +453,12 @@ const isReferenceFieldMatches = ({ field, filter, document, locale }) => {
450
453
  }
451
454
  throw new Error(`Not supported operator ${filter.operator} for field ${filter.field}`);
452
455
  };
456
+ function groupScheduledActionsByDocumentId(scheduledActions) {
457
+ return lodash_1.default.reduce(scheduledActions === null || scheduledActions === void 0 ? void 0 : scheduledActions.filter((scheduledAction) => scheduledAction.state === 'scheduled'), (res, scheduledAction) => {
458
+ for (const docId of scheduledAction.documentIds) {
459
+ (0, utils_1.append)(res, [docId], scheduledAction);
460
+ }
461
+ return res;
462
+ }, {});
463
+ }
453
464
  //# sourceMappingURL=search-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-utils.js","sourceRoot":"","sources":["../../src/utils/search-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-utils.js","sourceRoot":"","sources":["../../src/utils/search-utils.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAGvB,2CAAyC;AAIzC,gEAAuF;AACvF,+DAAqE;AAI9D,MAAM,eAAe,GAAG,CAAC,IAa/B,EAGC,EAAE;;IACA,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,EAAE,CAAC;IAExC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEnC,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,MAAM,kCAAkC,GAAG,iCAAiC,CAAC,MAAA,IAAI,CAAC,gBAAgB,mCAAI,EAAE,CAAC,CAAC;IAE1G,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;;QACnD,MAAM,eAAe,GAAG,IAAA,wCAAkB,EAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpF,MAAM,eAAe,GAAG,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACxC,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,SAAS,EAAE,QAAQ,CAAC,YAAY;SACnC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,EAAE;YAClB,OAAO,KAAK,CAAC;SAChB;QAED,YAAY,IAAI,CAAC,CAAC;QAElB,IAAI,KAAK,EAAE;YACP,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,MAAA,IAAI,CAAC,cAAc,0CAAG,eAAe,CAAC,CAAC,CAAC;YACjH,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,KAAK,CAAC;aAChB;SACJ;QAED,IAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,GAAG,EAAE;YAClB,2DAA2D;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;;gBAC7C,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;oBACxC,QAAQ;oBACR,MAAM;oBACN,OAAO,EAAE;wBACL,kCAAkC;wBAClC,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,MAAA,IAAI,CAAC,cAAc,0CAAG,eAAe,CAAC;wBAC7D,MAAM;qBACT;iBACJ,CAAC,CAAC;gBAEH,IAAI,QAAQ,IAAI,iBAAiB,EAAE;oBAC/B,OAAO,iBAAiB,CAAC,MAAM,CAAC;iBACnC;gBAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC;gBAC3C,OAAO,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,MAAA,IAAI,CAAC,cAAc,0CAAG,eAAe,CAAC,EAAE,CAAC,CAAC;YACnI,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,KAAK,CAAC;aAChB;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,YAAY;KACtB,CAAC;AACN,CAAC,CAAC;AA9EW,QAAA,eAAe,mBA8E1B;AAEF,MAAM,wBAAwB,GAAG,CAAC,QAAoC,EAAE,KAAa,EAAE,MAAe,EAAW,EAAE;IAC/G,IAAI,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACtD,OAAO,IAAI,CAAC;KACf;IAED,OAAO,gBAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;;QACrC,IAAI,KAAK,CAAC;QACV,QAAQ,KAAK,CAAC,IAAI,EAAE;YAChB,KAAK,QAAQ,CAAC;YACd,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK,CAAC;YACX,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU,CAAC;YAChB,KAAK,MAAM;gBACP,KAAK,GAAG,MAAA,IAAA,+CAAyB,EAAC,KAAK,EAAE,MAAM,CAAC,0CAAE,KAAK,CAAC;gBACxD,MAAM;SACb;QAED,IAAI,KAAK,EAAE;YACP,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC1D;QAED,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAoB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;;IACzE,IAAI,MAAM,CAAC,MAAM,EAAE;QACf,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,CAAC,WAAW,IAAI,iCAAW,CAAC,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;SAC7D;QACD,OAAO,iCAAW,CAAC,WAAW,CAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;KACnE;SAAM;QACH,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;SACtD;QACD,MAAM,KAAK,GAAG,MAAA,MAAA,MAAA,OAAO,CAAC,MAAM,0CAAG,QAAQ,CAAC,OAAO,CAAC,0CAAG,QAAQ,CAAC,YAAY,CAAC,0CAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QACnG,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;KAC1C;AACL,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,EAC1B,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,EAOR,EAAW,EAAE;IACV,QAAQ,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM;YACP,OAAO,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAE3D,KAAK,QAAQ;YACT,OAAO,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAE3D,KAAK,SAAS;YACV,OAAO,IAAA,6BAAqB,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAE5D,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU;YACX,OAAO,IAAA,0BAAkB,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEzD,KAAK,MAAM;YACP,OAAO,kBAAkB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEzD,KAAK,MAAM,CAAC,CAAC;YACT,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;gBAClC,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aAC/D;YACD,OAAO,IAAA,0BAAkB,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;SACzE;QAED,KAAK,iBAAiB,CAAC;QACvB,KAAK,WAAW;YACZ,OAAO,uBAAuB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAExE;YACI,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,KAAK,cAAc,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,CAAC,CAAC;KAChG;AACL,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,MAAM,EAKT,EAAE,EAAE;;IACD,gBAAgB;IAChB,MAAM,UAAU,GAAG,MAAA,MAAA,IAAA,+CAAyB,EAAC,KAAK,EAAE,MAAM,CAAC,0CAAE,KAAK,0CAAE,WAAW,EAAE,CAAC;IAElF,QAAQ,MAAM,CAAC,QAAQ,EAAE;QACrB,KAAK,cAAc;YACf,OAAO,UAAU,KAAK,SAAS,CAAC;QACpC,KAAK,kBAAkB;YACnB,OAAO,UAAU,KAAK,SAAS,CAAC;QAEpC,KAAK,IAAI,CAAC,CAAC,MAAM;QACjB,KAAK,KAAK,CAAC,CAAC,MAAM;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,cAAc,CAAC,CAAC;YACjB,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAClC,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aAC9E;YAED,MAAM,WAAW,GAAG,MAAA,MAAM,CAAC,KAAK,0CAAE,QAAQ,GAAG,WAAW,EAAE,CAAC;YAE3D,QAAQ,MAAM,CAAC,QAAQ,EAAE;gBACrB,KAAK,IAAI;oBACL,OAAO,UAAU,KAAK,WAAW,CAAC;gBACtC,KAAK,KAAK;oBACN,OAAO,UAAU,KAAK,WAAW,CAAC;gBACtC,KAAK,UAAU;oBACX,OAAO,OAAO,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACtD,KAAK,cAAc;oBACf,OAAO,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAC,WAAW,CAAC,CAAA,CAAC;aACjD;SACJ;KACJ;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,MAAM,EAKT,EAAE,EAAE;;IACD,MAAM,UAAU,GAAG,MAAA,IAAA,+CAAyB,EAAC,KAAK,EAAE,MAAM,CAAC,0CAAE,KAAK,CAAC;IAEnE,QAAQ,MAAM,CAAC,QAAQ,EAAE;QACrB,KAAK,cAAc;YACf,OAAO,UAAU,KAAK,SAAS,CAAC;QACpC,KAAK,kBAAkB;YACnB,OAAO,UAAU,KAAK,SAAS,CAAC;QAEpC,KAAK,IAAI,CAAC,CAAC,MAAM;QACjB,KAAK,KAAK,CAAC,CAAC,MAAM;QAClB,KAAK,KAAK,CAAC,CAAC,KAAK;QACjB,KAAK,KAAK,CAAC,CAAC;YACR,KAAK;YACL,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAClC,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aAC9E;YAED,QAAQ,MAAM,CAAC,QAAQ,EAAE;gBACrB,KAAK,IAAI;oBACL,OAAO,UAAU,KAAK,MAAM,CAAC,KAAK,CAAC;gBACvC,KAAK,KAAK;oBACN,OAAO,UAAU,KAAK,MAAM,CAAC,KAAK,CAAC;gBACvC,KAAK,KAAK;oBACN,OAAO,OAAO,CAAC,UAAU,IAAI,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7D,KAAK,KAAK;oBACN,OAAO,OAAO,CAAC,UAAU,IAAI,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;aAChE;YAED,MAAM;SACT;QAED,KAAK,SAAS,CAAC,CAAC;YACZ,QAAQ;YACR,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC9E,MAAM,IAAI,KAAK,CAAC,6DAA6D,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aAChG;YAED,OAAO,OAAO,CAAC,UAAU,IAAI,UAAU,IAAI,MAAM,CAAC,UAAU,IAAI,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;SAClG;KACJ;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,EAClC,KAAK,EACL,MAAM,EACN,MAAM,EAKT,EAAE,EAAE;;IACD,MAAM,UAAU,GAAG,MAAA,IAAA,+CAAyB,EAAC,KAAK,EAAE,MAAM,CAAC,0CAAE,KAAK,CAAC;IAEnE,QAAQ,MAAM,CAAC,QAAQ,EAAE;QACrB,KAAK,cAAc;YACf,OAAO,UAAU,KAAK,SAAS,CAAC;QACpC,KAAK,kBAAkB;YACnB,OAAO,UAAU,KAAK,SAAS,CAAC;QAEpC,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC,CAAC;YACR,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;gBACnC,MAAM,IAAI,KAAK,CAAC,4CAA4C,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aAC/E;YAED,QAAQ,MAAM,CAAC,QAAQ,EAAE;gBACrB,KAAK,IAAI;oBACL,OAAO,UAAU,KAAK,MAAM,CAAC,KAAK,CAAC;gBACvC,KAAK,KAAK;oBACN,OAAO,UAAU,KAAK,MAAM,CAAC,KAAK,CAAC;aAC1C;SACJ;KACJ;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3F,CAAC,CAAC;AAjCW,QAAA,qBAAqB,yBAiChC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAc,EAAoB,EAAE;IACxD,IAAI,SAAS,CAAC;IACd,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;QACtB,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;SAAM,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,0BAA0B,CAAC,EAAE;QACjD,4BAA4B;QAC5B,wEAAwE;QACxE,wCAAwC;QACxC,wCAAwC;QACxC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;KAClD;IACD,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACvC,OAAO,SAAS,CAAC;KACpB;AACL,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,EAC/B,KAAK,EACL,MAAM,EACN,MAAM,EAKT,EAAE,EAAE;;IACD,MAAM,SAAS,GAAG,MAAA,IAAA,+CAAyB,EAAC,KAAK,EAAE,MAAM,CAAC,0CAAE,KAAK,CAAC;IAClE,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;KAC/E;IAED,QAAQ,MAAM,CAAC,QAAQ,EAAE;QACrB,KAAK,cAAc;YACf,OAAO,UAAU,KAAK,SAAS,CAAC;QACpC,KAAK,kBAAkB;YACnB,OAAO,UAAU,KAAK,SAAS,CAAC;QAEpC,KAAK,IAAI,CAAC,CAAC,MAAM;QACjB,KAAK,KAAK,CAAC,CAAC,MAAM;QAClB,KAAK,KAAK,CAAC,CAAC,KAAK;QACjB,KAAK,KAAK,CAAC,CAAC;YACR,KAAK;YACL,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAClC,MAAM,IAAI,KAAK,CAAC,0DAA0D,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aAC7F;YAED,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEjD,IAAI,CAAC,WAAW,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,mDAAmD,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aACtF;YAED,QAAQ,MAAM,CAAC,QAAQ,EAAE;gBACrB,KAAK,IAAI,CAAC;gBACV,KAAK,KAAK,CAAC,CAAC;oBACR,2BAA2B;oBAC3B,MAAM,MAAM,GACR,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,EAAE,MAAK,WAAW,CAAC,WAAW,EAAE;wBACvD,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EAAE,MAAK,WAAW,CAAC,QAAQ,EAAE;wBACjD,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE,MAAK,WAAW,CAAC,OAAO,EAAE,CAAC;oBACpD,OAAO,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACtD;gBAED,KAAK,KAAK;oBACN,OAAO,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACjE,KAAK,KAAK;oBACN,OAAO,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;aACpE;YAED,MAAM;SACT;QAED,KAAK,SAAS,CAAC,CAAC;YACZ,QAAQ;YACR,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC9E,MAAM,IAAI,KAAK,CAAC,4EAA4E,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aAC/G;YAED,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE;gBACxB,MAAM,IAAI,KAAK,CAAC,qEAAqE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aACxG;YAED,OAAO,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;SACnH;KACJ;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3F,CAAC,CAAC;AAzEW,QAAA,kBAAkB,sBAyE7B;AAEF,MAAM,kBAAkB,GAAG,CAAC,EACxB,KAAK,EACL,MAAM,EACN,MAAM,EAKT,EAAE,EAAE;;IACD,MAAM,UAAU,GAAG,MAAA,IAAA,+CAAyB,EAAC,KAAK,EAAE,MAAM,CAAC,0CAAE,KAAK,CAAC;IAEnE,QAAQ,MAAM,CAAC,QAAQ,EAAE;QACrB,KAAK,cAAc;YACf,OAAO,UAAU,KAAK,SAAS,CAAC;QACpC,KAAK,kBAAkB;YACnB,OAAO,UAAU,KAAK,SAAS,CAAC;QAEpC,KAAK,IAAI,CAAC,CAAC,SAAS;QACpB,KAAK,KAAK,CAAC,CAAC;YACR,UAAU;YACV,MAAM,YAAY,GAAG,MAAM,CAAC,MAAe,CAAC;YAE5C,QAAQ,MAAM,CAAC,QAAQ,EAAE;gBACrB,KAAK,IAAI;oBACL,OAAO,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC7C,KAAK,KAAK;oBACN,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aACjD;SACJ;KACJ;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,EAC/B,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,QAAQ,EAOX,EAAE,EAAE;;IACD,MAAM,UAAU,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAK,MAAM,KAAI,MAAA,UAAU,CAAC,KAAK,0CAAE,IAAI,CAAA,CAAC;IAC5E,MAAM,eAAe,GACjB,aAAa;QACb,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC3J,IAAI,CAAC,eAAe,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAC,KAAK,kBAAkB,aAAa,EAAE,CAAC,CAAC;KACvG;IAED,MAAM,cAAc,GAAG,IAAA,+CAAyB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEhE,QAAQ,MAAM,CAAC,QAAQ,EAAE;QACrB,KAAK,UAAU;YACX,OAAO,CAAC,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,CAAC,MAAM,mCAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,KAAK,cAAc;YACf,OAAO,CAAC,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,CAAC,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAEnD,KAAK,IAAI,CAAC,CAAC,SAAS;QACpB,KAAK,KAAK,CAAC,CAAC,UAAU;QACtB,KAAK,KAAK,CAAC,CAAC;YACR,SAAS;YACT,MAAM,YAAY,GAAG,MAAM,CAAC,MAAe,CAAC;YAE5C,QAAQ,MAAM,CAAC,QAAQ,EAAE;gBACrB,KAAK,IAAI,CAAC;gBACV,KAAK,KAAK,CAAC,CAAC;oBACR,MAAM,MAAM,GACR,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wBAChC,QAAQ,IAAI,CAAC,IAAI,EAAE;4BACf,KAAK,QAAQ,CAAC;4BACd,KAAK,MAAM,CAAC;4BACZ,KAAK,KAAK,CAAC;4BACX,KAAK,MAAM,CAAC;4BACZ,KAAK,UAAU,CAAC;4BAChB,KAAK,SAAS,CAAC;4BACf,KAAK,MAAM,CAAC;4BACZ,KAAK,UAAU,CAAC;4BAChB,KAAK,QAAQ,CAAC;4BACd,KAAK,MAAM,CAAC,CAAC;gCACT,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;6BAC5C;4BAED,KAAK,WAAW,CAAC;4BACjB,KAAK,iBAAiB,CAAC,CAAC;gCACpB,IAAI,IAAI,CAAC,OAAO,EAAE;oCACd,sDAAsD;oCACtD,OAAO,KAAK,CAAC;iCAChB;gCAED,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;gCACzC,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE;oCACjC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;oCAC1B,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;iCACpC;gCACD,OAAO,YAAY,CAAC,IAAI,CACpB,CAAC,YAAY,EAAE,EAAE,CACb,YAAY,CAAC,OAAO,KAAK,OAAO;oCAChC,YAAY,CAAC,YAAY,KAAK,YAAY;oCAC1C,YAAY,CAAC,aAAa,KAAK,IAAI,CAAC,KAAK,CAChD,CAAC;6BACL;4BAED;gCACI,OAAO,KAAK,CAAC;yBACpB;oBACL,CAAC,CAAC,mCAAI,KAAK,CAAC;oBAChB,OAAO,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACtD;gBACD,KAAK,KAAK;oBACN,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE;wBACtC,OAAO,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;4BACvC,QAAQ,IAAI,CAAC,IAAI,EAAE;gCACf,KAAK,QAAQ,CAAC;gCACd,KAAK,MAAM,CAAC;gCACZ,KAAK,KAAK,CAAC;gCACX,KAAK,MAAM,CAAC;gCACZ,KAAK,UAAU,CAAC;gCAChB,KAAK,SAAS,CAAC;gCACf,KAAK,MAAM,CAAC;gCACZ,KAAK,UAAU,CAAC;gCAChB,KAAK,QAAQ,CAAC;gCACd,KAAK,MAAM,CAAC,CAAC;oCACT,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC;iCACrC;gCAED,KAAK,WAAW,CAAC;gCACjB,KAAK,iBAAiB,CAAC,CAAC;oCACpB,IAAI,IAAI,CAAC,OAAO,EAAE;wCACd,OAAO,KAAK,CAAC;qCAChB;oCAED,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;oCACzC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,iBAAiB,EAAE;wCAClC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;wCAC1B,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;qCACpC;oCAED,OAAO,CACH,WAAW,CAAC,OAAO,KAAK,OAAO,IAAI,WAAW,CAAC,YAAY,KAAK,YAAY,IAAI,WAAW,CAAC,aAAa,KAAK,IAAI,CAAC,KAAK,CAC3H,CAAC;iCACL;gCAED;oCACI,OAAO,KAAK,CAAC;6BACpB;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;aACV;SACJ;KACJ;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3F,CAAC,CAAC;AA7HW,QAAA,kBAAkB,sBA6H7B;AAEF,MAAM,uBAAuB,GAAG,CAAC,EAC7B,KAAK,EACL,MAAM,EACN,QAAQ,EACR,MAAM,EAMT,EAAE,EAAE;;IACD,gBAAgB;IAChB,MAAM,UAAU,GAAG,IAAA,+CAAyB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE5D,QAAQ,MAAM,CAAC,QAAQ,EAAE;QACrB,KAAK,cAAc;YACf,OAAO,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,mCAAI,KAAK,CAAC;QACxC,KAAK,kBAAkB;YACnB,OAAO,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAA,CAAC;QAEhC,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC,CAAC;YACR,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE;gBAC1E,MAAM,IAAI,KAAK,CAAC,qDAAqD,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aACxF;YAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAA8B,CAAC;YAE3D,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE;gBACrB,sCAAsC;gBACtC,OAAO,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC;aACpC;YAED,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;YACzC,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAK,iBAAiB,EAAE;gBACxC,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC;gBAChC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;aAC1C;YAED,QAAQ,MAAM,CAAC,QAAQ,EAAE;gBACrB,KAAK,IAAI;oBACL,OAAO,YAAY,CAAC,IAAI,CACpB,CAAC,WAAW,EAAE,EAAE,CACZ,WAAW,CAAC,OAAO,KAAK,OAAO,IAAI,WAAW,CAAC,YAAY,KAAK,YAAY,IAAI,WAAW,CAAC,aAAa,MAAK,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAA,CACtI,CAAC;gBACN,KAAK,KAAK;oBACN,OAAO,YAAY,CAAC,KAAK,CACrB,CAAC,WAAW,EAAE,EAAE,CACZ,WAAW,CAAC,OAAO,KAAK,OAAO,IAAI,WAAW,CAAC,YAAY,KAAK,YAAY,IAAI,WAAW,CAAC,aAAa,MAAK,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAA,CACtI,CAAC;aACT;SACJ;KACJ;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF,SAAS,iCAAiC,CAAC,gBAAmC;IAC1E,OAAO,gBAAC,CAAC,MAAM,CACX,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,KAAK,WAAW,CAAC,EACpF,CAAC,GAAsC,EAAE,eAAe,EAAE,EAAE;QACxD,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,WAAW,EAAE;YAC7C,IAAA,cAAM,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC;SACzC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,EACD,EAAE,CACL,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackbit/cms-core",
3
- "version": "0.8.3-develop.1",
3
+ "version": "0.8.3-develop.2",
4
4
  "description": "stackbit-dev",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -42,5 +42,5 @@
42
42
  "slugify": "^1.6.5",
43
43
  "uuid": "^9.0.0"
44
44
  },
45
- "gitHead": "07acef9014e126866ceb1dc4fd2f1874b022fbac"
45
+ "gitHead": "d5c62e1a34093dd065cdadd2eae3f19ba599ea65"
46
46
  }
@@ -2570,6 +2570,7 @@ export class ContentStore {
2570
2570
  const contentSourceIds = Object.keys(objectsBySourceId);
2571
2571
  const documents: ContentStoreTypes.Document[] = [];
2572
2572
  const schema: Record<string, Record<string, Record<string, Model>>> = {};
2573
+ const scheduledActions: ScheduledAction[] = [];
2573
2574
  const defaultLocales: Record<string, string> = {};
2574
2575
 
2575
2576
  contentSourceIds.forEach((contentSourceId) => {
@@ -2580,10 +2581,10 @@ export class ContentStore {
2580
2581
  const contentSourceDocuments = _.isEmpty(locale)
2581
2582
  ? contentSourceData.documents
2582
2583
  : contentSourceData.documents.filter((document) => !document.locale || document.locale === locale);
2583
-
2584
+ const contentSourceScheduledActions = contentSourceData.scheduledActions;
2584
2585
  const filteredDocuments = contentSourceDocuments.filter((document) => document.srcModelName !== StackbitPresetModelName);
2585
2586
  documents.push(...filteredDocuments);
2586
-
2587
+ scheduledActions.push(...contentSourceScheduledActions);
2587
2588
  if (contentSourceData.defaultLocaleCode) {
2588
2589
  defaultLocales[contentSourceId] = contentSourceData.defaultLocaleCode;
2589
2590
  }
@@ -2594,6 +2595,7 @@ export class ContentStore {
2594
2595
  documents,
2595
2596
  schema,
2596
2597
  locale,
2598
+ scheduledActions,
2597
2599
  defaultLocales
2598
2600
  });
2599
2601
  }
@@ -0,0 +1,34 @@
1
+ import { isDateFieldMatches, SearchSchema } from './search-utils';
2
+ import { ImageModel } from '@stackbit/sdk';
3
+ import { Model, ScheduledAction } from '@stackbit/types';
4
+ import { SearchFilterItem } from '../types';
5
+ import * as ContentStoreTypes from '../types';
6
+
7
+ export type MetaFieldMethodContext = { locale?: string; schema: SearchSchema; activeScheduledActionsByDocumentId: Record<string, ScheduledAction[]> };
8
+ export type MetaFieldMethod = ({
9
+ filter,
10
+ document,
11
+ context
12
+ }: {
13
+ filter: SearchFilterItem;
14
+ document: ContentStoreTypes.Document;
15
+ context: MetaFieldMethodContext;
16
+ }) => { field: ContentStoreTypes.DocumentField; model?: Model | ImageModel } | { result: boolean };
17
+
18
+ export const META_FIELDS = {
19
+ createdAt: ({ filter, document }) => ({ field: { type: 'date', value: document.createdAt } }),
20
+ updatedAt: ({ filter, document }) => ({ field: { type: 'date', value: document.updatedAt } }),
21
+ status: ({ filter, document }) => ({ field: { type: 'enum', value: document.status } }),
22
+ hasScheduledActions: ({ filter, document, context }) => ({
23
+ field: { type: 'boolean', value: !!context.activeScheduledActionsByDocumentId[document.srcObjectId]?.length }
24
+ }),
25
+ scheduledActionDate: ({ filter, document, context }) => {
26
+ return {
27
+ result:
28
+ context.activeScheduledActionsByDocumentId[document.srcObjectId]?.some((scheduledAction) => {
29
+ const field: ContentStoreTypes.DocumentField = { type: 'date', value: scheduledAction.executeAt };
30
+ return isDateFieldMatches({ field, filter, locale: context.locale });
31
+ }) ?? false
32
+ };
33
+ }
34
+ } as Record<string, MetaFieldMethod>;
@@ -1,23 +1,14 @@
1
1
  import _ from 'lodash';
2
2
  import { ImageModel, Model } from '@stackbit/sdk';
3
+ import { ScheduledAction } from '@stackbit/types';
4
+ import { append } from '@stackbit/utils';
3
5
 
4
6
  import * as ContentStoreTypes from '../types';
5
7
  import { ReferenceValueType, SearchFilter, SearchFilterItem } from '../types';
6
8
  import { getContentSourceId, getDocumentFieldForLocale } from '../content-store-utils';
9
+ import { META_FIELDS, MetaFieldMethod } from './meta-fields-filters';
7
10
 
8
- const META_FIELD = {
9
- createdAt: {
10
- type: 'date'
11
- },
12
- updatedAt: {
13
- type: 'date'
14
- },
15
- status: {
16
- type: 'enum'
17
- }
18
- } as const;
19
-
20
- type Schema = Record<string, Record<string, Record<string, Model | ImageModel>>>;
11
+ export type SearchSchema = Record<string, Record<string, Record<string, Model | ImageModel>>>;
21
12
 
22
13
  export const searchDocuments = (data: {
23
14
  query?: string;
@@ -28,7 +19,8 @@ export const searchDocuments = (data: {
28
19
  modelName: string;
29
20
  }>;
30
21
  documents: ContentStoreTypes.Document[];
31
- schema: Schema;
22
+ schema: SearchSchema;
23
+ scheduledActions?: ScheduledAction[];
32
24
  locale?: string;
33
25
  defaultLocales?: Record<string, string>;
34
26
  }): {
@@ -41,6 +33,8 @@ export const searchDocuments = (data: {
41
33
 
42
34
  let allDocuments = 0;
43
35
 
36
+ const activeScheduledActionsByDocumentId = groupScheduledActionsByDocumentId(data.scheduledActions ?? []);
37
+
44
38
  const matchedDocuments = documents.filter((document) => {
45
39
  const contentSourceId = getContentSourceId(document.srcType, document.srcProjectId);
46
40
  const isIncludedModel = _.find(data.models, {
@@ -64,8 +58,22 @@ export const searchDocuments = (data: {
64
58
  if (data.filter?.and) {
65
59
  // only 'and' supported for now; later we can add e.g. 'or'
66
60
  const matches = data.filter.and.every((filter) => {
67
- const field = getFieldForFilter(document, filter);
68
- return isFieldMatchesFilter({ field, filter, document, schema, locale: data.locale ?? data.defaultLocales?.[contentSourceId] });
61
+ const filterFieldResult = getFieldForFilter({
62
+ document,
63
+ filter,
64
+ context: {
65
+ activeScheduledActionsByDocumentId,
66
+ locale: data.locale ?? data.defaultLocales?.[contentSourceId],
67
+ schema
68
+ }
69
+ });
70
+
71
+ if ('result' in filterFieldResult) {
72
+ return filterFieldResult.result;
73
+ }
74
+
75
+ const { field, model } = filterFieldResult;
76
+ return isFieldMatchesFilter({ field, filter, document, model, locale: data.locale ?? data.defaultLocales?.[contentSourceId] });
69
77
  });
70
78
 
71
79
  if (!matches) {
@@ -108,23 +116,20 @@ const isDocumentMatchesPattern = (document: ContentStoreTypes.Document, query: s
108
116
  });
109
117
  };
110
118
 
111
- const getFieldForFilter = (document: ContentStoreTypes.Document, filter: SearchFilterItem): ContentStoreTypes.DocumentField => {
119
+ const getFieldForFilter: MetaFieldMethod = ({ document, filter, context }) => {
112
120
  if (filter.isMeta) {
113
- if (filter.field !== 'createdAt' && filter.field !== 'updatedAt' && filter.field !== 'status') {
121
+ const filterField = filter.field;
122
+ if (!(filterField in META_FIELDS)) {
114
123
  throw new Error(`Unsupported meta field ${filter.field}`);
115
124
  }
116
- const fieldDef = META_FIELD[filter.field];
117
- const dateValue = document[filter.field];
118
- return {
119
- ...fieldDef,
120
- value: dateValue
121
- };
125
+ return META_FIELDS[filterField]!({ filter, document, context });
122
126
  } else {
123
127
  const documentField = document.fields[filter.field];
124
128
  if (!documentField) {
125
129
  throw new Error(`Field not found ${filter.field}`);
126
130
  }
127
- return documentField;
131
+ const model = context.schema?.[document.srcType]?.[document.srcProjectId]?.[document.srcModelName];
132
+ return { field: documentField, model };
128
133
  }
129
134
  };
130
135
 
@@ -133,13 +138,13 @@ const isFieldMatchesFilter = ({
133
138
  field,
134
139
  filter,
135
140
  locale,
136
- schema
141
+ model
137
142
  }: {
138
143
  document: ContentStoreTypes.Document;
139
144
  field: ContentStoreTypes.DocumentField;
140
145
  filter: SearchFilterItem;
141
146
  locale?: string;
142
- schema: Schema;
147
+ model?: Model | ImageModel;
143
148
  }): boolean => {
144
149
  switch (field?.type) {
145
150
  case 'string':
@@ -164,7 +169,6 @@ const isFieldMatchesFilter = ({
164
169
  return isEnumFieldMatches({ field, filter, locale });
165
170
 
166
171
  case 'list': {
167
- const model = schema?.[document.srcType]?.[document.srcProjectId]?.[document.srcModelName];
168
172
  if (!model || model.type === 'image') {
169
173
  throw new Error(`Can't find model for the ${filter.field}`);
170
174
  }
@@ -277,7 +281,7 @@ const isNumberFieldMatches = ({
277
281
  throw new Error(`Not supported operator ${filter.operator} for field ${filter.field}`);
278
282
  };
279
283
 
280
- const isBooleanFieldMatches = ({
284
+ export const isBooleanFieldMatches = ({
281
285
  field,
282
286
  filter,
283
287
  locale
@@ -328,7 +332,7 @@ const parseDateValue = (value?: string): Date | undefined => {
328
332
  }
329
333
  };
330
334
 
331
- const isDateFieldMatches = ({
335
+ export const isDateFieldMatches = ({
332
336
  field,
333
337
  filter,
334
338
  locale
@@ -437,7 +441,7 @@ const isEnumFieldMatches = ({
437
441
  throw new Error(`Not supported operator ${filter.operator} for field ${filter.field}`);
438
442
  };
439
443
 
440
- const isListFieldMatches = ({
444
+ export const isListFieldMatches = ({
441
445
  field,
442
446
  filter,
443
447
  locale,
@@ -446,7 +450,7 @@ const isListFieldMatches = ({
446
450
  }: {
447
451
  field: ContentStoreTypes.DocumentFieldForType<'list'>;
448
452
  filter: SearchFilterItem;
449
- model: Model;
453
+ model?: Model;
450
454
  document: ContentStoreTypes.Document;
451
455
  locale?: string;
452
456
  }) => {
@@ -620,3 +624,16 @@ const isReferenceFieldMatches = ({
620
624
 
621
625
  throw new Error(`Not supported operator ${filter.operator} for field ${filter.field}`);
622
626
  };
627
+
628
+ function groupScheduledActionsByDocumentId(scheduledActions: ScheduledAction[]) {
629
+ return _.reduce(
630
+ scheduledActions?.filter((scheduledAction) => scheduledAction.state === 'scheduled'),
631
+ (res: Record<string, ScheduledAction[]>, scheduledAction) => {
632
+ for (const docId of scheduledAction.documentIds) {
633
+ append(res, [docId], scheduledAction);
634
+ }
635
+ return res;
636
+ },
637
+ {}
638
+ );
639
+ }