@payloadcms/plugin-search 1.0.1 → 3.0.0-alpha.42

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.
Files changed (70) hide show
  1. package/README.md +4 -119
  2. package/dist/Search/hooks/deleteFromSearch.d.ts +1 -0
  3. package/dist/Search/hooks/deleteFromSearch.d.ts.map +1 -0
  4. package/dist/Search/hooks/deleteFromSearch.js +20 -69
  5. package/dist/Search/hooks/deleteFromSearch.js.map +1 -1
  6. package/dist/Search/hooks/syncWithSearch.d.ts +2 -1
  7. package/dist/Search/hooks/syncWithSearch.d.ts.map +1 -0
  8. package/dist/Search/hooks/syncWithSearch.js +105 -167
  9. package/dist/Search/hooks/syncWithSearch.js.map +1 -1
  10. package/dist/Search/index.d.ts +2 -1
  11. package/dist/Search/index.d.ts.map +1 -0
  12. package/dist/Search/index.js +29 -35
  13. package/dist/Search/index.js.map +1 -1
  14. package/dist/Search/ui/index.d.ts +2 -1
  15. package/dist/Search/ui/index.d.ts.map +1 -0
  16. package/dist/Search/ui/index.js +24 -30
  17. package/dist/Search/ui/index.js.map +1 -1
  18. package/dist/index.d.ts +2 -1
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +43 -86
  21. package/dist/index.js.map +1 -1
  22. package/dist/types.d.ts +12 -8
  23. package/dist/types.d.ts.map +1 -0
  24. package/dist/types.js +4 -2
  25. package/dist/types.js.map +1 -1
  26. package/package.json +23 -32
  27. package/types.d.ts +1 -1
  28. package/types.js +1 -1
  29. package/dist/collections/FormSubmissions/hooks/createCharge.d.ts +0 -3
  30. package/dist/collections/FormSubmissions/hooks/createCharge.js +0 -53
  31. package/dist/collections/FormSubmissions/hooks/createCharge.js.map +0 -1
  32. package/dist/collections/FormSubmissions/hooks/sendEmail.d.ts +0 -3
  33. package/dist/collections/FormSubmissions/hooks/sendEmail.js +0 -151
  34. package/dist/collections/FormSubmissions/hooks/sendEmail.js.map +0 -1
  35. package/dist/collections/FormSubmissions/index.d.ts +0 -3
  36. package/dist/collections/FormSubmissions/index.js +0 -137
  37. package/dist/collections/FormSubmissions/index.js.map +0 -1
  38. package/dist/collections/Forms/DynamicFieldSelector.d.ts +0 -3
  39. package/dist/collections/Forms/DynamicFieldSelector.js +0 -62
  40. package/dist/collections/Forms/DynamicFieldSelector.js.map +0 -1
  41. package/dist/collections/Forms/DynamicPriceSelector.d.ts +0 -3
  42. package/dist/collections/Forms/DynamicPriceSelector.js +0 -77
  43. package/dist/collections/Forms/DynamicPriceSelector.js.map +0 -1
  44. package/dist/collections/Forms/fields.d.ts +0 -6
  45. package/dist/collections/Forms/fields.js +0 -456
  46. package/dist/collections/Forms/fields.js.map +0 -1
  47. package/dist/collections/Forms/index.d.ts +0 -3
  48. package/dist/collections/Forms/index.js +0 -194
  49. package/dist/collections/Forms/index.js.map +0 -1
  50. package/dist/collections/Search/index.d.ts +0 -3
  51. package/dist/collections/Search/index.js +0 -63
  52. package/dist/collections/Search/index.js.map +0 -1
  53. package/dist/mocks/serverModule.d.ts +0 -2
  54. package/dist/mocks/serverModule.js +0 -4
  55. package/dist/mocks/serverModule.js.map +0 -1
  56. package/dist/utilities/calculatePaymentTotal.d.ts +0 -4
  57. package/dist/utilities/calculatePaymentTotal.js +0 -47
  58. package/dist/utilities/calculatePaymentTotal.js.map +0 -1
  59. package/dist/utilities/deepMerge.d.ts +0 -2
  60. package/dist/utilities/deepMerge.js +0 -44
  61. package/dist/utilities/deepMerge.js.map +0 -1
  62. package/dist/utilities/getPaymentTotal.d.ts +0 -4
  63. package/dist/utilities/getPaymentTotal.js +0 -44
  64. package/dist/utilities/getPaymentTotal.js.map +0 -1
  65. package/dist/utilities/replaceDoubleCurlys.d.ts +0 -7
  66. package/dist/utilities/replaceDoubleCurlys.js +0 -20
  67. package/dist/utilities/replaceDoubleCurlys.js.map +0 -1
  68. package/dist/utilities/serializeRichText.d.ts +0 -10
  69. package/dist/utilities/serializeRichText.js +0 -49
  70. package/dist/utilities/serializeRichText.js.map +0 -1
package/README.md CHANGED
@@ -1,122 +1,7 @@
1
1
  # Payload Search Plugin
2
2
 
3
- [![NPM](https://img.shields.io/npm/v/@payloadcms/plugin-search)](https://www.npmjs.com/package/@payloadcms/plugin-search)
3
+ A plugin for [Payload](https://github.com/payloadcms/payload) to generate records of your documents that are extremely fast to search on.
4
4
 
5
- A plugin for [Payload](https://github.com/payloadcms/payload) to create extremely fast search results from your existing documents.
6
-
7
- Core features:
8
-
9
- - Creates a `search` collection that:
10
- - Automatically creates, syncs, and deletes search results related to your documents
11
- - Serves search results extremely quickly by saving only search-critical data that you define
12
- - Allows you to sort search results by priority
13
-
14
- ## Installation
15
-
16
- ```bash
17
- yarn add @payloadcms/plugin-search
18
- # OR
19
- npm i @payloadcms/plugin-search
20
- ```
21
-
22
- ## Basic Usage
23
-
24
- In the `plugins` array of your [Payload config](https://payloadcms.com/docs/configuration/overview), call the plugin with [options](#options):
25
-
26
- ```js
27
- import { buildConfig } from "payload/config";
28
- import search from "@payloadcms/plugin-search";
29
-
30
- const config = buildConfig({
31
- collections: [
32
- {
33
- slug: "pages",
34
- fields: [],
35
- },
36
- {
37
- slug: "posts",
38
- fields: [],
39
- },
40
- ],
41
- plugins: [
42
- search({
43
- collections: ["pages", "posts"],
44
- defaultPriorities: {
45
- pages: 10,
46
- posts: 20,
47
- },
48
- }),
49
- ],
50
- });
51
-
52
- export default config;
53
- ```
54
-
55
- ### Options
56
-
57
- #### `collections`
58
-
59
- An array of collections slugs to enable sync-to-search. Enabled collections receive a `beforeChange` and `afterDelete` hook that creates, syncs, and deleted the document to its related search document as it changes over time, and also an `afterDelete` hook that deletes.
60
-
61
- #### `defaultPriorities`
62
-
63
- The default priorities first set on `create` operations. Send an object of collection slugs, and set them to either a number or a function.
64
-
65
- ```js
66
- plugins: [
67
- searchPlugin({
68
- defaultPriorities: {
69
- pages: ({ doc }) => (doc.title.startsWith("Hello, world!") ? 1 : 10),
70
- posts: 20,
71
- },
72
- }),
73
- ];
74
- ```
75
-
76
- #### `searchOverrides`
77
-
78
- Override anything on the search collection by sending a [Payload Collection Config](https://payloadcms.com/docs/configuration/collections).
79
-
80
- ```js
81
- plugins: [
82
- searchPlugin({
83
- searchOverrides: {
84
- slug: "search-results",
85
- },
86
- }),
87
- ];
88
- ```
89
-
90
- #### `beforeSync`
91
-
92
- An [afterChange](<[afterChange](https://payloadcms.com/docs/hooks/globals#afterchange)>) hook that is called before creating or syncing the document to search. This allows you to modify the data in any way before doing so.
93
-
94
- ```js
95
- plugins: [
96
- searchPlugin({
97
- beforeSync: ({ originalDoc, searchDoc }) => ({
98
- ...searchDoc,
99
- // Modify your docs in any way here, this can be async
100
- excerpt: originalDoc?.excerpt || "This is a fallback excerpt",
101
- }),
102
- }),
103
- ];
104
- ```
105
-
106
- #### `syncDrafts`
107
-
108
- If true, will sync draft documents to search. By default, this plugin will only sync published documents. False by default. You must have [Payload Drafts](https://payloadcms.com/docs/versions/drafts) enabled for this to apply.
109
-
110
- #### `deleteDrafts`
111
-
112
- If true, will delete documents from search that change to draft status. True by default. You must have [Payload Drafts](https://payloadcms.com/docs/versions/drafts) enabled for this to apply.
113
-
114
- ## TypeScript
115
-
116
- All types can be directly imported:
117
-
118
- ```js
119
- import { SearchConfig, BeforeSync } from "@payloadcms/plugin-search/dist/types";
120
- ```
121
-
122
- ## Screenshots
5
+ - [Source code](https://github.com/payloadcms/payload/tree/main/packages/plugin-search)
6
+ - [Documentation](https://payloadcms.com/docs/plugins/search)
7
+ - [Documentation source](https://github.com/payloadcms/payload/tree/main/docs/plugins/search.mdx)
@@ -1,3 +1,4 @@
1
1
  import type { CollectionAfterDeleteHook } from 'payload/types';
2
2
  declare const deleteFromSearch: CollectionAfterDeleteHook;
3
3
  export default deleteFromSearch;
4
+ //# sourceMappingURL=deleteFromSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteFromSearch.d.ts","sourceRoot":"","sources":["../../../src/Search/hooks/deleteFromSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAE9D,QAAA,MAAM,gBAAgB,EAAE,yBA2BvB,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,78 +1,29 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- var deleteFromSearch = function (_a) {
40
- var payload = _a.req.payload, doc = _a.doc;
1
+ const deleteFromSearch = async ({ doc, req: { payload }, req })=>{
41
2
  try {
42
- var deleteSearchDoc = function () { return __awaiter(void 0, void 0, void 0, function () {
43
- var searchDocQuery;
44
- var _a, _b, _c;
45
- return __generator(this, function (_d) {
46
- switch (_d.label) {
47
- case 0: return [4 /*yield*/, payload.find({
48
- collection: 'search',
49
- where: {
50
- 'doc.value': {
51
- equals: doc.id,
52
- },
53
- },
54
- depth: 0,
55
- })];
56
- case 1:
57
- searchDocQuery = _d.sent();
58
- if ((_a = searchDocQuery === null || searchDocQuery === void 0 ? void 0 : searchDocQuery.docs) === null || _a === void 0 ? void 0 : _a[0]) {
59
- payload.delete({
60
- collection: 'search',
61
- id: (_c = (_b = searchDocQuery === null || searchDocQuery === void 0 ? void 0 : searchDocQuery.docs) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.id,
62
- });
63
- }
64
- return [2 /*return*/];
3
+ const searchDocQuery = await payload.find({
4
+ collection: 'search',
5
+ depth: 0,
6
+ req,
7
+ where: {
8
+ 'doc.value': {
9
+ equals: doc.id
65
10
  }
11
+ }
12
+ });
13
+ if (searchDocQuery?.docs?.[0]) {
14
+ await payload.delete({
15
+ id: searchDocQuery?.docs?.[0]?.id,
16
+ collection: 'search',
17
+ req
66
18
  });
67
- }); };
68
- deleteSearchDoc();
69
- }
70
- catch (err) {
19
+ }
20
+ } catch (err) {
71
21
  payload.logger.error({
72
- err: "Error deleting search doc: ".concat(err),
22
+ err: `Error deleting search doc: ${err}`
73
23
  });
74
24
  }
75
25
  return doc;
76
26
  };
77
- exports.default = deleteFromSearch;
27
+ export default deleteFromSearch;
28
+
78
29
  //# sourceMappingURL=deleteFromSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deleteFromSearch.js","sourceRoot":"","sources":["../../../src/Search/hooks/deleteFromSearch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAM,gBAAgB,GAA8B,UAAC,EAAyB;QAAhB,OAAO,iBAAA,EAAI,GAAG,SAAA;IAC1E,IAAI;QACF,IAAM,eAAe,GAAG;;;;;4BACC,qBAAM,OAAO,CAAC,IAAI,CAAC;4BACxC,UAAU,EAAE,QAAQ;4BACpB,KAAK,EAAE;gCACL,WAAW,EAAE;oCACX,MAAM,EAAE,GAAG,CAAC,EAAE;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;yBACT,CAAC,EAAA;;wBARI,cAAc,GAAG,SAQrB;wBAEF,IAAI,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAG,CAAC,CAAC,EAAE;4BAC7B,OAAO,CAAC,MAAM,CAAC;gCACb,UAAU,EAAE,QAAQ;gCACpB,EAAE,EAAE,MAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAG,CAAC,CAAC,0CAAE,EAAE;6BAClC,CAAC,CAAA;yBACH;;;;aACF,CAAA;QAED,eAAe,EAAE,CAAA;KAClB;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACnB,GAAG,EAAE,qCAA8B,GAAG,CAAE;SACzC,CAAC,CAAA;KACH;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,kBAAe,gBAAgB,CAAA"}
1
+ {"version":3,"sources":["../../../src/Search/hooks/deleteFromSearch.ts"],"sourcesContent":["import type { CollectionAfterDeleteHook } from 'payload/types'\n\nconst deleteFromSearch: CollectionAfterDeleteHook = async ({ doc, req: { payload }, req }) => {\n try {\n const searchDocQuery = await payload.find({\n collection: 'search',\n depth: 0,\n req,\n where: {\n 'doc.value': {\n equals: doc.id,\n },\n },\n })\n\n if (searchDocQuery?.docs?.[0]) {\n await payload.delete({\n id: searchDocQuery?.docs?.[0]?.id,\n collection: 'search',\n req,\n })\n }\n } catch (err: unknown) {\n payload.logger.error({\n err: `Error deleting search doc: ${err}`,\n })\n }\n\n return doc\n}\n\nexport default deleteFromSearch\n"],"names":["deleteFromSearch","doc","req","payload","searchDocQuery","find","collection","depth","where","equals","id","docs","delete","err","logger","error"],"mappings":"AAEA,MAAMA,mBAA8C,OAAO,EAAEC,GAAG,EAAEC,KAAK,EAAEC,OAAO,EAAE,EAAED,GAAG,EAAE;IACvF,IAAI;QACF,MAAME,iBAAiB,MAAMD,QAAQE,IAAI,CAAC;YACxCC,YAAY;YACZC,OAAO;YACPL;YACAM,OAAO;gBACL,aAAa;oBACXC,QAAQR,IAAIS,EAAE;gBAChB;YACF;QACF;QAEA,IAAIN,gBAAgBO,MAAM,CAAC,EAAE,EAAE;YAC7B,MAAMR,QAAQS,MAAM,CAAC;gBACnBF,IAAIN,gBAAgBO,MAAM,CAAC,EAAE,EAAED;gBAC/BJ,YAAY;gBACZJ;YACF;QACF;IACF,EAAE,OAAOW,KAAc;QACrBV,QAAQW,MAAM,CAACC,KAAK,CAAC;YACnBF,KAAK,CAAC,2BAA2B,EAAEA,IAAI,CAAC;QAC1C;IACF;IAEA,OAAOZ;AACT;AAEA,eAAeD,iBAAgB"}
@@ -1,3 +1,4 @@
1
- import type { SyncWithSearch } from '../../types';
1
+ import type { SyncWithSearch } from '../../types.js';
2
2
  declare const syncWithSearch: SyncWithSearch;
3
3
  export default syncWithSearch;
4
+ //# sourceMappingURL=syncWithSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncWithSearch.d.ts","sourceRoot":"","sources":["../../../src/Search/hooks/syncWithSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE7E,QAAA,MAAM,cAAc,EAAE,cA8JrB,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -1,200 +1,138 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
1
+ const syncWithSearch = async (args)=>{
2
+ const { collection, doc, operation, req: { payload }, req, // @ts-expect-error
3
+ searchConfig } = args;
4
+ const { id, _status: status, title } = doc || {};
5
+ const { beforeSync, defaultPriorities, deleteDrafts, syncDrafts } = searchConfig// todo fix SyncWithSearch type, see note in ./types.ts
6
+ ;
7
+ let dataToSave = {
8
+ doc: {
9
+ relationTo: collection,
10
+ value: id
11
+ },
12
+ title
10
13
  };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
14
+ if (typeof beforeSync === 'function') {
15
+ dataToSave = await beforeSync({
16
+ originalDoc: doc,
17
+ payload,
18
+ req,
19
+ searchDoc: dataToSave
20
+ });
21
+ }
22
+ let defaultPriority = 0;
23
+ if (defaultPriorities) {
24
+ const { [collection]: priority } = defaultPriorities;
25
+ if (typeof priority === 'function') {
26
+ try {
27
+ defaultPriority = await priority(doc);
28
+ } catch (err) {
29
+ payload.logger.error(err);
30
+ payload.logger.error(`Error gathering default priority for search documents related to ${collection}`);
43
31
  }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
32
+ } else {
33
+ defaultPriority = priority;
34
+ }
47
35
  }
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- var syncWithSearch = function (args) { return __awaiter(void 0, void 0, void 0, function () {
51
- var payload, doc, operation,
52
- // @ts-expect-error
53
- collection,
54
- // @ts-expect-error
55
- searchConfig, _a, title, id, status, _b, beforeSync, syncDrafts, deleteDrafts, defaultPriorities, dataToSave, defaultPriority, _c, _d, priority, err_1, doSync, searchDocQuery, docs, foundDoc, duplicativeDocs, searchDocID, err_2, err_3;
56
- return __generator(this, function (_e) {
57
- switch (_e.label) {
58
- case 0:
59
- payload = args.req.payload, doc = args.doc, operation = args.operation, collection = args.collection, searchConfig = args.searchConfig;
60
- _a = doc || {}, title = _a.title, id = _a.id, status = _a._status;
61
- _b = searchConfig // todo fix SyncWithSearch type, see note in ./types.ts
62
- , beforeSync = _b.beforeSync, syncDrafts = _b.syncDrafts, deleteDrafts = _b.deleteDrafts, defaultPriorities = _b.defaultPriorities;
63
- dataToSave = {
64
- title: title,
65
- doc: {
66
- relationTo: collection,
67
- value: id,
36
+ const doSync = syncDrafts || !syncDrafts && status !== 'draft';
37
+ try {
38
+ if (operation === 'create') {
39
+ if (doSync) {
40
+ await payload.create({
41
+ collection: 'search',
42
+ data: {
43
+ ...dataToSave,
44
+ priority: defaultPriority
68
45
  },
69
- };
70
- if (!(typeof beforeSync === 'function')) return [3 /*break*/, 2];
71
- return [4 /*yield*/, beforeSync({
72
- originalDoc: doc,
73
- searchDoc: dataToSave,
74
- payload: payload,
75
- })];
76
- case 1:
77
- dataToSave = _e.sent();
78
- _e.label = 2;
79
- case 2:
80
- defaultPriority = 0;
81
- if (!defaultPriorities) return [3 /*break*/, 8];
82
- _c = defaultPriorities, _d = collection, priority = _c[_d];
83
- if (!(typeof priority === 'function')) return [3 /*break*/, 7];
84
- _e.label = 3;
85
- case 3:
86
- _e.trys.push([3, 5, , 6]);
87
- return [4 /*yield*/, priority(doc)];
88
- case 4:
89
- defaultPriority = _e.sent();
90
- return [3 /*break*/, 6];
91
- case 5:
92
- err_1 = _e.sent();
93
- payload.logger.error(err_1);
94
- payload.logger.error("Error gathering default priority for search documents related to ".concat(collection));
95
- return [3 /*break*/, 6];
96
- case 6: return [3 /*break*/, 8];
97
- case 7:
98
- defaultPriority = priority;
99
- _e.label = 8;
100
- case 8:
101
- doSync = syncDrafts || (!syncDrafts && status !== 'draft');
102
- _e.label = 9;
103
- case 9:
104
- _e.trys.push([9, 14, , 15]);
105
- if (operation === 'create') {
106
- if (doSync) {
107
- payload.create({
108
- collection: 'search',
109
- data: __assign(__assign({}, dataToSave), { priority: defaultPriority }),
110
- });
46
+ req
47
+ });
48
+ }
49
+ }
50
+ if (operation === 'update') {
51
+ try {
52
+ // find the correct doc to sync with
53
+ const searchDocQuery = await payload.find({
54
+ collection: 'search',
55
+ depth: 0,
56
+ req,
57
+ where: {
58
+ 'doc.value': {
59
+ equals: id
60
+ }
111
61
  }
112
- }
113
- if (!(operation === 'update')) return [3 /*break*/, 13];
114
- _e.label = 10;
115
- case 10:
116
- _e.trys.push([10, 12, , 13]);
117
- return [4 /*yield*/, payload.find({
118
- collection: 'search',
119
- where: {
120
- 'doc.value': {
121
- equals: id,
122
- },
123
- },
124
- depth: 0,
125
- })];
126
- case 11:
127
- searchDocQuery = _e.sent();
128
- docs = (searchDocQuery === null || searchDocQuery === void 0 ? void 0 : searchDocQuery.docs) || [];
129
- foundDoc = docs[0], duplicativeDocs = docs.slice(1);
62
+ });
63
+ const docs = searchDocQuery?.docs || [];
64
+ const [foundDoc, ...duplicativeDocs] = docs;
130
65
  // delete all duplicative search docs (docs that reference the same page)
131
66
  // to ensure the same, out-of-date result does not appear twice (where only syncing the first found doc)
132
67
  if (duplicativeDocs.length > 0) {
133
68
  try {
134
- Promise.all(duplicativeDocs.map(function (_a) {
135
- var duplicativeDocID = _a.id;
136
- return payload.delete({
137
- collection: 'search',
138
- id: duplicativeDocID,
139
- });
140
- }));
141
- }
142
- catch (err) {
143
- payload.logger.error("Error deleting duplicative search documents.");
69
+ const duplicativeDocIDs = duplicativeDocs.map(({ id })=>id);
70
+ await payload.delete({
71
+ collection: 'search',
72
+ req,
73
+ where: {
74
+ id: {
75
+ in: duplicativeDocIDs
76
+ }
77
+ }
78
+ });
79
+ } catch (err) {
80
+ payload.logger.error(`Error deleting duplicative search documents.`);
144
81
  }
145
82
  }
146
83
  if (foundDoc) {
147
- searchDocID = foundDoc.id;
84
+ const { id: searchDocID } = foundDoc;
148
85
  if (doSync) {
149
86
  // update the doc normally
150
87
  try {
151
- payload.update({
152
- collection: 'search',
88
+ await payload.update({
153
89
  id: searchDocID,
154
- data: __assign(__assign({}, dataToSave), { priority: foundDoc.priority || defaultPriority }),
90
+ collection: 'search',
91
+ data: {
92
+ ...dataToSave,
93
+ priority: foundDoc.priority || defaultPriority
94
+ },
95
+ req
155
96
  });
156
- }
157
- catch (err) {
158
- payload.logger.error("Error updating search document.");
97
+ } catch (err) {
98
+ payload.logger.error(`Error updating search document.`);
159
99
  }
160
100
  }
161
101
  if (deleteDrafts && status === 'draft') {
162
102
  // do not include draft docs in search results, so delete the record
163
103
  try {
164
- payload.delete({
165
- collection: 'search',
104
+ await payload.delete({
166
105
  id: searchDocID,
106
+ collection: 'search',
107
+ req
167
108
  });
168
- }
169
- catch (err) {
170
- payload.logger.error("Error deleting search document: ".concat(err));
109
+ } catch (err) {
110
+ payload.logger.error(`Error deleting search document: ${err}`);
171
111
  }
172
112
  }
173
- }
174
- else if (doSync) {
113
+ } else if (doSync) {
175
114
  try {
176
- payload.create({
115
+ await payload.create({
177
116
  collection: 'search',
178
- data: __assign(__assign({}, dataToSave), { priority: defaultPriority }),
117
+ data: {
118
+ ...dataToSave,
119
+ priority: defaultPriority
120
+ },
121
+ req
179
122
  });
180
- }
181
- catch (err) {
182
- payload.logger.error("Error creating search document: ".concat(err));
123
+ } catch (err) {
124
+ payload.logger.error(`Error creating search document: ${err}`);
183
125
  }
184
126
  }
185
- return [3 /*break*/, 13];
186
- case 12:
187
- err_2 = _e.sent();
188
- payload.logger.error("Error finding search document: ".concat(err_2));
189
- return [3 /*break*/, 13];
190
- case 13: return [3 /*break*/, 15];
191
- case 14:
192
- err_3 = _e.sent();
193
- payload.logger.error("Error syncing search document related to ".concat(collection, " with id: '").concat(id, "': ").concat(err_3));
194
- return [3 /*break*/, 15];
195
- case 15: return [2 /*return*/, doc];
127
+ } catch (err) {
128
+ payload.logger.error(`Error finding search document: ${err}`);
129
+ }
196
130
  }
197
- });
198
- }); };
199
- exports.default = syncWithSearch;
131
+ } catch (err) {
132
+ payload.logger.error(`Error syncing search document related to ${collection} with id: '${id}': ${err}`);
133
+ }
134
+ return doc;
135
+ };
136
+ export default syncWithSearch;
137
+
200
138
  //# sourceMappingURL=syncWithSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncWithSearch.js","sourceRoot":"","sources":["../../../src/Search/hooks/syncWithSearch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/Search/hooks/syncWithSearch.ts"],"sourcesContent":["import type { DocToSync, SearchConfig, SyncWithSearch } from '../../types.js'\n\nconst syncWithSearch: SyncWithSearch = async (args) => {\n const {\n collection,\n doc,\n operation,\n req: { payload },\n req,\n // @ts-expect-error\n searchConfig,\n } = args\n\n const { id, _status: status, title } = doc || {}\n\n const { beforeSync, defaultPriorities, deleteDrafts, syncDrafts } = searchConfig as SearchConfig // todo fix SyncWithSearch type, see note in ./types.ts\n\n let dataToSave: DocToSync = {\n doc: {\n relationTo: collection,\n value: id,\n },\n title,\n }\n\n if (typeof beforeSync === 'function') {\n dataToSave = await beforeSync({\n originalDoc: doc,\n payload,\n req,\n searchDoc: dataToSave,\n })\n }\n\n let defaultPriority = 0\n if (defaultPriorities) {\n const { [collection]: priority } = defaultPriorities\n\n if (typeof priority === 'function') {\n try {\n defaultPriority = await priority(doc)\n } catch (err: unknown) {\n payload.logger.error(err)\n payload.logger.error(\n `Error gathering default priority for search documents related to ${collection}`,\n )\n }\n } else {\n defaultPriority = priority\n }\n }\n\n const doSync = syncDrafts || (!syncDrafts && status !== 'draft')\n\n try {\n if (operation === 'create') {\n if (doSync) {\n await payload.create({\n collection: 'search',\n data: {\n ...dataToSave,\n priority: defaultPriority,\n },\n req,\n })\n }\n }\n\n if (operation === 'update') {\n try {\n // find the correct doc to sync with\n const searchDocQuery = await payload.find({\n collection: 'search',\n depth: 0,\n req,\n where: {\n 'doc.value': {\n equals: id,\n },\n },\n })\n\n const docs: Array<{\n id: number | string\n priority?: number\n }> = searchDocQuery?.docs || []\n\n const [foundDoc, ...duplicativeDocs] = docs\n\n // delete all duplicative search docs (docs that reference the same page)\n // to ensure the same, out-of-date result does not appear twice (where only syncing the first found doc)\n if (duplicativeDocs.length > 0) {\n try {\n const duplicativeDocIDs = duplicativeDocs.map(({ id }) => id)\n await payload.delete({\n collection: 'search',\n req,\n where: { id: { in: duplicativeDocIDs } },\n })\n } catch (err: unknown) {\n payload.logger.error(`Error deleting duplicative search documents.`)\n }\n }\n\n if (foundDoc) {\n const { id: searchDocID } = foundDoc\n\n if (doSync) {\n // update the doc normally\n try {\n await payload.update({\n id: searchDocID,\n collection: 'search',\n data: {\n ...dataToSave,\n priority: foundDoc.priority || defaultPriority,\n },\n req,\n })\n } catch (err: unknown) {\n payload.logger.error(`Error updating search document.`)\n }\n }\n if (deleteDrafts && status === 'draft') {\n // do not include draft docs in search results, so delete the record\n try {\n await payload.delete({\n id: searchDocID,\n collection: 'search',\n req,\n })\n } catch (err: unknown) {\n payload.logger.error(`Error deleting search document: ${err}`)\n }\n }\n } else if (doSync) {\n try {\n await payload.create({\n collection: 'search',\n data: {\n ...dataToSave,\n priority: defaultPriority,\n },\n req,\n })\n } catch (err: unknown) {\n payload.logger.error(`Error creating search document: ${err}`)\n }\n }\n } catch (err: unknown) {\n payload.logger.error(`Error finding search document: ${err}`)\n }\n }\n } catch (err: unknown) {\n payload.logger.error(\n `Error syncing search document related to ${collection} with id: '${id}': ${err}`,\n )\n }\n\n return doc\n}\n\nexport default syncWithSearch\n"],"names":["syncWithSearch","args","collection","doc","operation","req","payload","searchConfig","id","_status","status","title","beforeSync","defaultPriorities","deleteDrafts","syncDrafts","dataToSave","relationTo","value","originalDoc","searchDoc","defaultPriority","priority","err","logger","error","doSync","create","data","searchDocQuery","find","depth","where","equals","docs","foundDoc","duplicativeDocs","length","duplicativeDocIDs","map","delete","in","searchDocID","update"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import type { CollectionConfig } from 'payload/types';
2
- import type { SearchConfig } from '../types';
2
+ import type { SearchConfig } from '../types.js';
3
3
  export declare const generateSearchCollection: (searchConfig: SearchConfig) => CollectionConfig;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Search/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAIrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK/C,eAAO,MAAM,wBAAwB,iBAAkB,YAAY,KAAG,gBA2DnE,CAAA"}