@payloadcms/plugin-search 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +129 -0
- package/dist/Search/hooks/deleteFromSearch.d.ts +3 -0
- package/dist/Search/hooks/deleteFromSearch.js +76 -0
- package/dist/Search/hooks/deleteFromSearch.js.map +1 -0
- package/dist/Search/hooks/syncWithSearch.d.ts +3 -0
- package/dist/Search/hooks/syncWithSearch.js +201 -0
- package/dist/Search/hooks/syncWithSearch.js.map +1 -0
- package/dist/Search/index.d.ts +3 -0
- package/dist/Search/index.js +68 -0
- package/dist/Search/index.js.map +1 -0
- package/dist/Search/ui/index.d.ts +3 -0
- package/dist/Search/ui/index.js +32 -0
- package/dist/Search/ui/index.js.map +1 -0
- package/dist/collections/FormSubmissions/hooks/createCharge.d.ts +3 -0
- package/dist/collections/FormSubmissions/hooks/createCharge.js +53 -0
- package/dist/collections/FormSubmissions/hooks/createCharge.js.map +1 -0
- package/dist/collections/FormSubmissions/hooks/sendEmail.d.ts +3 -0
- package/dist/collections/FormSubmissions/hooks/sendEmail.js +151 -0
- package/dist/collections/FormSubmissions/hooks/sendEmail.js.map +1 -0
- package/dist/collections/FormSubmissions/index.d.ts +3 -0
- package/dist/collections/FormSubmissions/index.js +137 -0
- package/dist/collections/FormSubmissions/index.js.map +1 -0
- package/dist/collections/Forms/DynamicFieldSelector.d.ts +3 -0
- package/dist/collections/Forms/DynamicFieldSelector.js +62 -0
- package/dist/collections/Forms/DynamicFieldSelector.js.map +1 -0
- package/dist/collections/Forms/DynamicPriceSelector.d.ts +3 -0
- package/dist/collections/Forms/DynamicPriceSelector.js +77 -0
- package/dist/collections/Forms/DynamicPriceSelector.js.map +1 -0
- package/dist/collections/Forms/fields.d.ts +6 -0
- package/dist/collections/Forms/fields.js +456 -0
- package/dist/collections/Forms/fields.js.map +1 -0
- package/dist/collections/Forms/index.d.ts +3 -0
- package/dist/collections/Forms/index.js +194 -0
- package/dist/collections/Forms/index.js.map +1 -0
- package/dist/collections/Search/index.d.ts +3 -0
- package/dist/collections/Search/index.js +63 -0
- package/dist/collections/Search/index.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +96 -0
- package/dist/index.js.map +1 -0
- package/dist/mocks/serverModule.d.ts +2 -0
- package/dist/mocks/serverModule.js +4 -0
- package/dist/mocks/serverModule.js.map +1 -0
- package/dist/types.d.ts +28 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utilities/calculatePaymentTotal.d.ts +4 -0
- package/dist/utilities/calculatePaymentTotal.js +47 -0
- package/dist/utilities/calculatePaymentTotal.js.map +1 -0
- package/dist/utilities/deepMerge.d.ts +2 -0
- package/dist/utilities/deepMerge.js +44 -0
- package/dist/utilities/deepMerge.js.map +1 -0
- package/dist/utilities/getPaymentTotal.d.ts +4 -0
- package/dist/utilities/getPaymentTotal.js +44 -0
- package/dist/utilities/getPaymentTotal.js.map +1 -0
- package/dist/utilities/replaceDoubleCurlys.d.ts +7 -0
- package/dist/utilities/replaceDoubleCurlys.js +20 -0
- package/dist/utilities/replaceDoubleCurlys.js.map +1 -0
- package/dist/utilities/serializeRichText.d.ts +10 -0
- package/dist/utilities/serializeRichText.js +49 -0
- package/dist/utilities/serializeRichText.js.map +1 -0
- package/package.json +39 -0
package/README.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Payload Search Plugin
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@payloadcms/plugin-search)
|
|
4
|
+
|
|
5
|
+
A plugin for [Payload CMS](https://github.com/payloadcms/payload) to create extremely fast search results from your existing documents.
|
|
6
|
+
|
|
7
|
+
Core features:
|
|
8
|
+
- Creates a `search` collection that:
|
|
9
|
+
- Automatically creates, syncs, and deletes search results related to your documents
|
|
10
|
+
- Serves search results extremely quickly by saving only search-critical data that you define
|
|
11
|
+
- Allows you to sort search results by priority
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
yarn add @payloadcms/plugin-search
|
|
17
|
+
# OR
|
|
18
|
+
npm i @payloadcms/plugin-search
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Basic Usage
|
|
22
|
+
|
|
23
|
+
In the `plugins` array of your [Payload config](https://payloadcms.com/docs/configuration/overview), call the plugin with [options](#options):
|
|
24
|
+
|
|
25
|
+
```js
|
|
26
|
+
import { buildConfig } from 'payload/config';
|
|
27
|
+
import search from 'payload-search';
|
|
28
|
+
|
|
29
|
+
const config = buildConfig({
|
|
30
|
+
collections: [
|
|
31
|
+
{
|
|
32
|
+
slug: 'pages',
|
|
33
|
+
fields: []
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
slug: 'posts',
|
|
37
|
+
fields: []
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
plugins: [
|
|
41
|
+
search({
|
|
42
|
+
collections: [
|
|
43
|
+
'pages',
|
|
44
|
+
'posts'
|
|
45
|
+
],
|
|
46
|
+
defaultPriorities: {
|
|
47
|
+
pages: 10,
|
|
48
|
+
posts: 20
|
|
49
|
+
}
|
|
50
|
+
})
|
|
51
|
+
]
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
export default config;
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Options
|
|
58
|
+
|
|
59
|
+
#### `collections`
|
|
60
|
+
|
|
61
|
+
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.
|
|
62
|
+
|
|
63
|
+
#### `defaultPriorities`
|
|
64
|
+
|
|
65
|
+
The default priorities first set on `create` operations. Send an object of collection slugs, and set them to either a number or a function.
|
|
66
|
+
|
|
67
|
+
```js
|
|
68
|
+
plugins: [
|
|
69
|
+
searchPlugin({
|
|
70
|
+
defaultPriorities: {
|
|
71
|
+
pages: ({ doc }) => doc.title.startsWith('Hello, world!') ? 1 : 10,
|
|
72
|
+
posts: 20
|
|
73
|
+
}
|
|
74
|
+
})
|
|
75
|
+
]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### `searchOverrides`
|
|
79
|
+
|
|
80
|
+
Override anything on the search collection by sending a [Payload Collection Config](https://payloadcms.com/docs/configuration/collections).
|
|
81
|
+
|
|
82
|
+
```js
|
|
83
|
+
plugins: [
|
|
84
|
+
searchPlugin({
|
|
85
|
+
searchOverrides: {
|
|
86
|
+
slug: 'search-results'
|
|
87
|
+
}
|
|
88
|
+
})
|
|
89
|
+
]
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
#### `beforeSync`
|
|
93
|
+
|
|
94
|
+
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.
|
|
95
|
+
|
|
96
|
+
```js
|
|
97
|
+
plugins: [
|
|
98
|
+
searchPlugin({
|
|
99
|
+
beforeSync: ({ originalDoc, searchDoc }) => ({
|
|
100
|
+
...searchDoc,
|
|
101
|
+
// Modify your docs in any way here, this can be async
|
|
102
|
+
excerpt: originalDoc?.excerpt || 'This is a fallback excerpt'
|
|
103
|
+
}),
|
|
104
|
+
})
|
|
105
|
+
]
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
#### `syncDrafts`
|
|
109
|
+
|
|
110
|
+
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.
|
|
111
|
+
|
|
112
|
+
#### `deleteDrafts`
|
|
113
|
+
|
|
114
|
+
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.
|
|
115
|
+
|
|
116
|
+
## TypeScript
|
|
117
|
+
|
|
118
|
+
All types can be directly imported:
|
|
119
|
+
|
|
120
|
+
```js
|
|
121
|
+
import {
|
|
122
|
+
SearchConfig,
|
|
123
|
+
BeforeSync
|
|
124
|
+
} from '@payloadcms/plugin-search/dist/types';
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Screenshots
|
|
128
|
+
|
|
129
|
+
<!--  -->
|
|
@@ -0,0 +1,76 @@
|
|
|
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 (_) 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;
|
|
41
|
+
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*/];
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}); };
|
|
68
|
+
deleteSearchDoc();
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
console.error(err);
|
|
72
|
+
}
|
|
73
|
+
return doc;
|
|
74
|
+
};
|
|
75
|
+
exports.default = deleteFromSearch;
|
|
76
|
+
//# sourceMappingURL=deleteFromSearch.js.map
|
|
@@ -0,0 +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,SAQd;wBAET,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,CAAC;yBACJ;;;;aACF,CAAC;QAEF,eAAe,EAAE,CAAC;KACnB;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACpB;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,201 @@
|
|
|
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;
|
|
10
|
+
};
|
|
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 (_) 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;
|
|
43
|
+
}
|
|
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 };
|
|
47
|
+
}
|
|
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-ignore
|
|
53
|
+
collection,
|
|
54
|
+
// @ts-ignore
|
|
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, beforeSync = _b.beforeSync, syncDrafts = _b.syncDrafts, deleteDrafts = _b.deleteDrafts, defaultPriorities = _b.defaultPriorities;
|
|
62
|
+
dataToSave = {
|
|
63
|
+
title: title,
|
|
64
|
+
doc: {
|
|
65
|
+
relationTo: collection,
|
|
66
|
+
value: id,
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
if (!(typeof beforeSync === 'function')) return [3 /*break*/, 2];
|
|
70
|
+
return [4 /*yield*/, beforeSync({
|
|
71
|
+
originalDoc: doc,
|
|
72
|
+
searchDoc: dataToSave,
|
|
73
|
+
payload: payload
|
|
74
|
+
})];
|
|
75
|
+
case 1:
|
|
76
|
+
dataToSave = _e.sent();
|
|
77
|
+
_e.label = 2;
|
|
78
|
+
case 2:
|
|
79
|
+
defaultPriority = 0;
|
|
80
|
+
if (!defaultPriorities) return [3 /*break*/, 8];
|
|
81
|
+
_c = defaultPriorities, _d = collection, priority = _c[_d];
|
|
82
|
+
if (!(typeof priority === 'function')) return [3 /*break*/, 7];
|
|
83
|
+
_e.label = 3;
|
|
84
|
+
case 3:
|
|
85
|
+
_e.trys.push([3, 5, , 6]);
|
|
86
|
+
return [4 /*yield*/, priority(doc)];
|
|
87
|
+
case 4:
|
|
88
|
+
defaultPriority = _e.sent();
|
|
89
|
+
return [3 /*break*/, 6];
|
|
90
|
+
case 5:
|
|
91
|
+
err_1 = _e.sent();
|
|
92
|
+
payload.logger.error(err_1);
|
|
93
|
+
payload.logger.error("Error gathering default priority for search documents related to ".concat(collection));
|
|
94
|
+
return [3 /*break*/, 6];
|
|
95
|
+
case 6: return [3 /*break*/, 8];
|
|
96
|
+
case 7:
|
|
97
|
+
defaultPriority = priority;
|
|
98
|
+
_e.label = 8;
|
|
99
|
+
case 8:
|
|
100
|
+
doSync = syncDrafts || (!syncDrafts && status !== 'draft');
|
|
101
|
+
_e.label = 9;
|
|
102
|
+
case 9:
|
|
103
|
+
_e.trys.push([9, 14, , 15]);
|
|
104
|
+
if (operation === 'create') {
|
|
105
|
+
if (doSync) {
|
|
106
|
+
payload.create({
|
|
107
|
+
collection: 'search',
|
|
108
|
+
data: __assign(__assign({}, dataToSave), { priority: defaultPriority }),
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (!(operation === 'update')) return [3 /*break*/, 13];
|
|
113
|
+
_e.label = 10;
|
|
114
|
+
case 10:
|
|
115
|
+
_e.trys.push([10, 12, , 13]);
|
|
116
|
+
return [4 /*yield*/, payload.find({
|
|
117
|
+
collection: 'search',
|
|
118
|
+
where: {
|
|
119
|
+
'doc.value': {
|
|
120
|
+
equals: id,
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
depth: 0,
|
|
124
|
+
})];
|
|
125
|
+
case 11:
|
|
126
|
+
searchDocQuery = _e.sent();
|
|
127
|
+
docs = (searchDocQuery === null || searchDocQuery === void 0 ? void 0 : searchDocQuery.docs) || [];
|
|
128
|
+
foundDoc = docs[0], duplicativeDocs = docs.slice(1);
|
|
129
|
+
// delete all duplicative search docs (docs that reference the same page)
|
|
130
|
+
// to ensure the same, out-of-date result does not appear twice (where only syncing the first found doc)
|
|
131
|
+
if (duplicativeDocs.length > 0) {
|
|
132
|
+
try {
|
|
133
|
+
Promise.all(duplicativeDocs.map(function (_a) {
|
|
134
|
+
var duplicativeDocID = _a.id;
|
|
135
|
+
return payload.delete({
|
|
136
|
+
collection: 'search',
|
|
137
|
+
id: duplicativeDocID,
|
|
138
|
+
});
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
141
|
+
catch (err) {
|
|
142
|
+
payload.logger.error("Error deleting duplicative search documents.");
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (foundDoc) {
|
|
146
|
+
searchDocID = foundDoc.id;
|
|
147
|
+
if (doSync) {
|
|
148
|
+
// update the doc normally
|
|
149
|
+
try {
|
|
150
|
+
payload.update({
|
|
151
|
+
collection: 'search',
|
|
152
|
+
id: searchDocID,
|
|
153
|
+
data: __assign(__assign({}, dataToSave), { priority: foundDoc.priority || defaultPriority }),
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
catch (err) {
|
|
157
|
+
payload.logger.error("Error updating search document.");
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (deleteDrafts && status === 'draft') {
|
|
161
|
+
// do not include draft docs in search results, so delete the record
|
|
162
|
+
try {
|
|
163
|
+
payload.delete({
|
|
164
|
+
collection: 'search',
|
|
165
|
+
id: searchDocID,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
catch (err) {
|
|
169
|
+
payload.logger.error("Error deleting search document.");
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
else if (doSync) {
|
|
174
|
+
try {
|
|
175
|
+
payload.create({
|
|
176
|
+
collection: 'search',
|
|
177
|
+
data: __assign(__assign({}, dataToSave), { priority: defaultPriority }),
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
catch (err) {
|
|
181
|
+
payload.logger.error(err);
|
|
182
|
+
payload.logger.error("Error creating search document.");
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return [3 /*break*/, 13];
|
|
186
|
+
case 12:
|
|
187
|
+
err_2 = _e.sent();
|
|
188
|
+
payload.logger.error("Error finding search document.");
|
|
189
|
+
return [3 /*break*/, 13];
|
|
190
|
+
case 13: return [3 /*break*/, 15];
|
|
191
|
+
case 14:
|
|
192
|
+
err_3 = _e.sent();
|
|
193
|
+
payload.logger.error(err_3);
|
|
194
|
+
payload.logger.error("Error syncing search document related to ".concat(collection, " with id: '").concat(id, "'"));
|
|
195
|
+
return [3 /*break*/, 15];
|
|
196
|
+
case 15: return [2 /*return*/, doc];
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
}); };
|
|
200
|
+
exports.default = syncWithSearch;
|
|
201
|
+
//# sourceMappingURL=syncWithSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncWithSearch.js","sourceRoot":"","sources":["../../../src/Search/hooks/syncWithSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
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.generateSearchCollection = void 0;
|
|
7
|
+
var ts_deepmerge_1 = __importDefault(require("ts-deepmerge"));
|
|
8
|
+
var ui_1 = require("./ui");
|
|
9
|
+
// all settings can be overridden by the config
|
|
10
|
+
var generateSearchCollection = function (searchConfig) { return (0, ts_deepmerge_1.default)({
|
|
11
|
+
slug: 'search',
|
|
12
|
+
labels: {
|
|
13
|
+
singular: 'Search Result',
|
|
14
|
+
plural: 'Search Results',
|
|
15
|
+
},
|
|
16
|
+
admin: {
|
|
17
|
+
useAsTitle: 'title',
|
|
18
|
+
defaultColumns: [
|
|
19
|
+
'title',
|
|
20
|
+
],
|
|
21
|
+
description: 'This is a collection of automatically created search results. These results are used by the global site search and will be updated automatically as documents in the CMS are created or updated.',
|
|
22
|
+
enableRichTextRelationship: false,
|
|
23
|
+
},
|
|
24
|
+
access: {
|
|
25
|
+
read: function () { return true; },
|
|
26
|
+
create: function () { return false; },
|
|
27
|
+
},
|
|
28
|
+
fields: [
|
|
29
|
+
{
|
|
30
|
+
name: 'title',
|
|
31
|
+
type: 'text',
|
|
32
|
+
admin: {
|
|
33
|
+
readOnly: true,
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'priority',
|
|
38
|
+
type: 'number',
|
|
39
|
+
admin: {
|
|
40
|
+
position: 'sidebar'
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'doc',
|
|
45
|
+
type: 'relationship',
|
|
46
|
+
relationTo: (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.collections) || [],
|
|
47
|
+
required: true,
|
|
48
|
+
index: true,
|
|
49
|
+
maxDepth: 0,
|
|
50
|
+
admin: {
|
|
51
|
+
readOnly: true,
|
|
52
|
+
position: 'sidebar'
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: 'docUrl',
|
|
57
|
+
type: 'ui',
|
|
58
|
+
admin: {
|
|
59
|
+
position: 'sidebar',
|
|
60
|
+
components: {
|
|
61
|
+
Field: ui_1.LinkToDoc
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
}, (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.searchOverrides) || {}); };
|
|
67
|
+
exports.generateSearchCollection = generateSearchCollection;
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Search/index.ts"],"names":[],"mappings":";;;;;;AAEA,8DAAqC;AACrC,2BAAiC;AAEjC,+CAA+C;AACxC,IAAM,wBAAwB,GAAG,UAAC,YAA0B,IAAuB,OAAA,IAAA,sBAAS,EAAC;IAClG,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE;QACN,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,gBAAgB;KACzB;IACD,KAAK,EAAE;QACL,UAAU,EAAE,OAAO;QACnB,cAAc,EAAE;YACd,OAAO;SACR;QACD,WAAW,EAAE,kMAAkM;QAC/M,0BAA0B,EAAE,KAAK;KAClC;IACD,MAAM,EAAE;QACN,IAAI,EAAE,cAAe,OAAA,IAAI,EAAJ,CAAI;QACzB,MAAM,EAAE,cAAe,OAAA,KAAK,EAAL,CAAK;KAC7B;IACD,MAAM,EAAE;QACN;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI;aACf;SACF;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE;gBACL,QAAQ,EAAE,SAAS;aACpB;SACF;QACD;YACE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,KAAI,EAAE;YAC3C,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,SAAS;aACpB;SACF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI;YACV,KAAK,EAAE;gBACL,QAAQ,EAAE,SAAS;gBACnB,UAAU,EAAE;oBACV,KAAK,EAAE,cAAS;iBACjB;aACF;SACF;KACF;CACF,EAAE,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,eAAe,KAAI,EAAE,CAAC,EAxDmD,CAwDnD,CAAC;AAxD3B,QAAA,wBAAwB,4BAwDG"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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.LinkToDoc = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var forms_1 = require("payload/components/forms");
|
|
9
|
+
var CopyToClipboard_1 = __importDefault(require("payload/dist/admin/components/elements/CopyToClipboard"));
|
|
10
|
+
var utilities_1 = require("payload/components/utilities");
|
|
11
|
+
var LinkToDoc = function () {
|
|
12
|
+
var form = (0, forms_1.useWatchForm)();
|
|
13
|
+
var fields = form.fields;
|
|
14
|
+
var _a = fields.doc.value, relationTo = _a.relationTo, docId = _a.value;
|
|
15
|
+
var config = (0, utilities_1.useConfig)();
|
|
16
|
+
var serverURL = config.serverURL, _b = config.routes, _c = _b === void 0 ? {} : _b, adminRoute = _c.admin;
|
|
17
|
+
var href = "".concat(serverURL).concat(adminRoute, "/collections/").concat(relationTo, "/").concat(docId);
|
|
18
|
+
return (react_1.default.createElement("div", null,
|
|
19
|
+
react_1.default.createElement("div", null,
|
|
20
|
+
react_1.default.createElement("span", { className: "label", style: {
|
|
21
|
+
color: '#9A9A9A'
|
|
22
|
+
} }, "Doc URL"),
|
|
23
|
+
react_1.default.createElement(CopyToClipboard_1.default, { value: href })),
|
|
24
|
+
react_1.default.createElement("div", { style: {
|
|
25
|
+
overflow: 'hidden',
|
|
26
|
+
textOverflow: 'ellipsis',
|
|
27
|
+
fontWeight: '600'
|
|
28
|
+
} },
|
|
29
|
+
react_1.default.createElement("a", { href: href }, href))));
|
|
30
|
+
};
|
|
31
|
+
exports.LinkToDoc = LinkToDoc;
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Search/ui/index.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAC1B,kDAAwD;AACxD,2GAAqF;AAGrF,0DAAyD;AAWlD,IAAM,SAAS,GAAsB;IAC1C,IAAM,IAAI,GAAG,IAAA,oBAAY,GAAE,CAAC;IAC5B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAuB,CAAC;IAIxC,IAAA,KAKA,MAAM,UAFL,EAFC,UAAU,gBAAA,EACH,KAAK,WACb,CAEM;IAEX,IAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;IAGzB,IAAA,SAAS,GAIP,MAAM,UAJC,EACT,KAGE,MAAM,OADF,EAFN,qBAEI,EAAE,KAAA,EADG,UAAU,WACb,CACG;IAEX,IAAM,IAAI,GAAG,UAAG,SAAS,SAAG,UAAU,0BAAgB,UAAU,cAAI,KAAK,CAAE,CAAA;IAE3E,OAAO,CACL;QACE;YACE,wCACE,SAAS,EAAC,OAAO,EACjB,KAAK,EAAE;oBACL,KAAK,EAAE,SAAS;iBACjB,cAGI;YACP,8BAAC,yBAAe,IACd,KAAK,EAAE,IAAc,GACrB,CACE;QACN,uCACE,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,UAAU;gBACxB,UAAU,EAAE,KAAK;aAClB;YAED,qCAAG,IAAI,EAAE,IAAc,IACpB,IAAI,CACH,CACA,CACD,CACR,CAAC;AACJ,CAAC,CAAC;AApDW,QAAA,SAAS,aAoDpB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
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 (_) 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 createCharge = function (beforeChangeData, formConfig) { return __awaiter(void 0, void 0, void 0, function () {
|
|
40
|
+
var operation, handlePayment;
|
|
41
|
+
return __generator(this, function (_a) {
|
|
42
|
+
operation = beforeChangeData.operation;
|
|
43
|
+
if (operation === 'create') {
|
|
44
|
+
handlePayment = (formConfig || {}).handlePayment;
|
|
45
|
+
if (typeof handlePayment === 'function') {
|
|
46
|
+
handlePayment(beforeChangeData);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return [2 /*return*/, beforeChangeData];
|
|
50
|
+
});
|
|
51
|
+
}); };
|
|
52
|
+
exports.default = createCharge;
|
|
53
|
+
//# sourceMappingURL=createCharge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCharge.js","sourceRoot":"","sources":["../../../../src/collections/FormSubmissions/hooks/createCharge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAM,YAAY,GAAG,UAAO,gBAAqB,EAAE,UAAsB;;;QAErE,SAAS,GACP,gBAAgB,UADT,CACU;QAErB,IAAI,SAAS,KAAK,QAAQ,EAAE;YAExB,aAAa,GACX,CAAA,UAAU,IAAI,EAAE,CAAA,cADL,CACM;YAErB,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;gBACvC,aAAa,CAAC,gBAAgB,CAAC,CAAC;aACjC;SACF;QAED,sBAAO,gBAAgB,EAAC;;KACzB,CAAC;AAEF,kBAAe,YAAY,CAAA"}
|