@payloadcms/plugin-search 3.54.0 → 3.55.0-canary.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.
@@ -1 +1 @@
1
- {"version":3,"file":"generateReindexHandler.d.ts","sourceRoot":"","sources":["../../src/utilities/generateReindexHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAW7C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAS9D,eAAO,MAAM,sBAAsB,iBAClB,2BAA2B,KAAG,cAwJ5C,CAAA"}
1
+ {"version":3,"file":"generateReindexHandler.d.ts","sourceRoot":"","sources":["../../src/utilities/generateReindexHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAW7C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAS9D,eAAO,MAAM,sBAAsB,iBAClB,2BAA2B,KAAG,cA8J5C,CAAA"}
@@ -144,26 +144,31 @@ export const generateReindexHandler = (pluginConfig)=>async (req)=>{
144
144
  }
145
145
  };
146
146
  await initTransaction(req);
147
- for (const collection of collections){
148
- try {
149
- await deleteIndexes(collection);
150
- await reindexCollection(collection);
151
- } catch (err) {
152
- const message = t('error:unableToReindexCollection', {
153
- collection
154
- });
155
- payload.logger.error({
156
- err,
157
- msg: message
158
- });
159
- await killTransaction(req);
160
- return Response.json({
161
- message
162
- }, {
163
- headers,
164
- status: 500
165
- });
166
- }
147
+ try {
148
+ const promises = collections.map(async (collection)=>{
149
+ try {
150
+ await deleteIndexes(collection);
151
+ await reindexCollection(collection);
152
+ } catch (err) {
153
+ const message = t('error:unableToReindexCollection', {
154
+ collection
155
+ });
156
+ payload.logger.error({
157
+ err,
158
+ msg: message
159
+ });
160
+ await killTransaction(req);
161
+ throw new Error(message);
162
+ }
163
+ });
164
+ await Promise.all(promises);
165
+ } catch (err) {
166
+ return Response.json({
167
+ message: err.message
168
+ }, {
169
+ headers,
170
+ status: 500
171
+ });
167
172
  }
168
173
  const message = t('general:successfullyReindexed', {
169
174
  collections: collections.join(', '),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/generateReindexHandler.ts"],"sourcesContent":["import type { PayloadHandler } from 'payload'\n\nimport {\n addLocalesToRequestFromData,\n commitTransaction,\n getAccessResults,\n headersWithCors,\n initTransaction,\n killTransaction,\n} from 'payload'\n\nimport type { SanitizedSearchPluginConfig } from '../types.js'\n\nimport { syncDocAsSearchIndex } from './syncDocAsSearchIndex.js'\n\ntype ValidationResult = {\n isValid: boolean\n message?: string\n}\n\nexport const generateReindexHandler =\n (pluginConfig: SanitizedSearchPluginConfig): PayloadHandler =>\n async (req) => {\n addLocalesToRequestFromData(req)\n if (!req.json) {\n return new Response('Req.json is undefined', { status: 400 })\n }\n const { collections = [] } = (await req.json()) as { collections: string[] }\n const t = req.t\n\n const searchSlug = pluginConfig?.searchOverrides?.slug || 'search'\n const searchCollections = pluginConfig?.collections || []\n const reindexLocales = pluginConfig?.locales?.length\n ? pluginConfig.locales\n : req.locale\n ? [req.locale]\n : []\n\n const validatePermissions = async (): Promise<ValidationResult> => {\n const accessResults = await getAccessResults({ req })\n const searchAccessResults = accessResults.collections?.[searchSlug]\n if (!searchAccessResults) {\n return { isValid: false, message: t('error:notAllowedToPerformAction') }\n }\n\n const permissions = [searchAccessResults.delete, searchAccessResults.update]\n // plugin doesn't allow create by default:\n // if user provided, then add it to check\n if (pluginConfig.searchOverrides?.access?.create) {\n permissions.push(searchAccessResults.create)\n }\n // plugin allows reads by anyone by default:\n // so if user provided, then add to check\n if (pluginConfig.searchOverrides?.access?.read) {\n permissions.push(searchAccessResults.read)\n }\n return permissions.every(Boolean)\n ? { isValid: true }\n : { isValid: false, message: t('error:notAllowedToPerformAction') }\n }\n\n const validateCollections = (): ValidationResult => {\n const collectionsAreValid = collections.every((col) => searchCollections.includes(col))\n return collections.length && collectionsAreValid\n ? { isValid: true }\n : { isValid: false, message: t('error:invalidRequestArgs', { args: `'collections'` }) }\n }\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n const { isValid: hasPermissions, message: permissionError } = await validatePermissions()\n if (!hasPermissions) {\n return Response.json({ message: permissionError }, { headers, status: 401 })\n }\n\n const { isValid: validCollections, message: collectionError } = validateCollections()\n if (!validCollections) {\n return Response.json({ message: collectionError }, { headers, status: 400 })\n }\n\n const payload = req.payload\n const batchSize = pluginConfig.reindexBatchSize\n\n const defaultLocalApiProps = {\n overrideAccess: false,\n req,\n user: req.user,\n }\n let aggregateErrors = 0\n let aggregateDocs = 0\n\n const countDocuments = async (collection: string): Promise<number> => {\n const { totalDocs } = await payload.count({\n collection,\n ...defaultLocalApiProps,\n req: undefined,\n })\n return totalDocs\n }\n\n const deleteIndexes = async (collection: string) => {\n await payload.delete({\n collection: searchSlug,\n depth: 0,\n select: { id: true },\n where: { 'doc.relationTo': { equals: collection } },\n ...defaultLocalApiProps,\n })\n }\n\n const reindexCollection = async (collection: string) => {\n const totalDocs = await countDocuments(collection)\n const totalBatches = Math.ceil(totalDocs / batchSize)\n aggregateDocs += totalDocs\n\n for (let j = 0; j < reindexLocales.length; j++) {\n // create first index, then we update with other locales accordingly\n const operation = j === 0 ? 'create' : 'update'\n const localeToSync = reindexLocales[j]\n\n for (let i = 0; i < totalBatches; i++) {\n const { docs } = await payload.find({\n collection,\n depth: 0,\n limit: batchSize,\n locale: localeToSync,\n page: i + 1,\n ...defaultLocalApiProps,\n })\n\n for (const doc of docs) {\n await syncDocAsSearchIndex({\n collection,\n data: doc,\n doc,\n locale: localeToSync,\n onSyncError: () => operation === 'create' && aggregateErrors++,\n operation,\n pluginConfig,\n req,\n })\n }\n }\n }\n }\n\n await initTransaction(req)\n\n for (const collection of collections) {\n try {\n await deleteIndexes(collection)\n await reindexCollection(collection)\n } catch (err) {\n const message = t('error:unableToReindexCollection', { collection })\n payload.logger.error({ err, msg: message })\n\n await killTransaction(req)\n return Response.json({ message }, { headers, status: 500 })\n }\n }\n\n const message = t('general:successfullyReindexed', {\n collections: collections.join(', '),\n count: aggregateDocs - aggregateErrors,\n total: aggregateDocs,\n })\n\n await commitTransaction(req)\n\n return Response.json({ message }, { headers, status: 200 })\n }\n"],"names":["addLocalesToRequestFromData","commitTransaction","getAccessResults","headersWithCors","initTransaction","killTransaction","syncDocAsSearchIndex","generateReindexHandler","pluginConfig","req","json","Response","status","collections","t","searchSlug","searchOverrides","slug","searchCollections","reindexLocales","locales","length","locale","validatePermissions","accessResults","searchAccessResults","isValid","message","permissions","delete","update","access","create","push","read","every","Boolean","validateCollections","collectionsAreValid","col","includes","args","headers","Headers","hasPermissions","permissionError","validCollections","collectionError","payload","batchSize","reindexBatchSize","defaultLocalApiProps","overrideAccess","user","aggregateErrors","aggregateDocs","countDocuments","collection","totalDocs","count","undefined","deleteIndexes","depth","select","id","where","equals","reindexCollection","totalBatches","Math","ceil","j","operation","localeToSync","i","docs","find","limit","page","doc","data","onSyncError","err","logger","error","msg","join","total"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utilities/generateReindexHandler.ts"],"sourcesContent":["import type { PayloadHandler } from 'payload'\n\nimport {\n addLocalesToRequestFromData,\n commitTransaction,\n getAccessResults,\n headersWithCors,\n initTransaction,\n killTransaction,\n} from 'payload'\n\nimport type { SanitizedSearchPluginConfig } from '../types.js'\n\nimport { syncDocAsSearchIndex } from './syncDocAsSearchIndex.js'\n\ntype ValidationResult = {\n isValid: boolean\n message?: string\n}\n\nexport const generateReindexHandler =\n (pluginConfig: SanitizedSearchPluginConfig): PayloadHandler =>\n async (req) => {\n addLocalesToRequestFromData(req)\n if (!req.json) {\n return new Response('Req.json is undefined', { status: 400 })\n }\n const { collections = [] } = (await req.json()) as { collections: string[] }\n const t = req.t\n\n const searchSlug = pluginConfig?.searchOverrides?.slug || 'search'\n const searchCollections = pluginConfig?.collections || []\n const reindexLocales = pluginConfig?.locales?.length\n ? pluginConfig.locales\n : req.locale\n ? [req.locale]\n : []\n\n const validatePermissions = async (): Promise<ValidationResult> => {\n const accessResults = await getAccessResults({ req })\n const searchAccessResults = accessResults.collections?.[searchSlug]\n if (!searchAccessResults) {\n return { isValid: false, message: t('error:notAllowedToPerformAction') }\n }\n\n const permissions = [searchAccessResults.delete, searchAccessResults.update]\n // plugin doesn't allow create by default:\n // if user provided, then add it to check\n if (pluginConfig.searchOverrides?.access?.create) {\n permissions.push(searchAccessResults.create)\n }\n // plugin allows reads by anyone by default:\n // so if user provided, then add to check\n if (pluginConfig.searchOverrides?.access?.read) {\n permissions.push(searchAccessResults.read)\n }\n return permissions.every(Boolean)\n ? { isValid: true }\n : { isValid: false, message: t('error:notAllowedToPerformAction') }\n }\n\n const validateCollections = (): ValidationResult => {\n const collectionsAreValid = collections.every((col) => searchCollections.includes(col))\n return collections.length && collectionsAreValid\n ? { isValid: true }\n : { isValid: false, message: t('error:invalidRequestArgs', { args: `'collections'` }) }\n }\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n const { isValid: hasPermissions, message: permissionError } = await validatePermissions()\n if (!hasPermissions) {\n return Response.json({ message: permissionError }, { headers, status: 401 })\n }\n\n const { isValid: validCollections, message: collectionError } = validateCollections()\n if (!validCollections) {\n return Response.json({ message: collectionError }, { headers, status: 400 })\n }\n\n const payload = req.payload\n const batchSize = pluginConfig.reindexBatchSize\n\n const defaultLocalApiProps = {\n overrideAccess: false,\n req,\n user: req.user,\n }\n let aggregateErrors = 0\n let aggregateDocs = 0\n\n const countDocuments = async (collection: string): Promise<number> => {\n const { totalDocs } = await payload.count({\n collection,\n ...defaultLocalApiProps,\n req: undefined,\n })\n return totalDocs\n }\n\n const deleteIndexes = async (collection: string) => {\n await payload.delete({\n collection: searchSlug,\n depth: 0,\n select: { id: true },\n where: { 'doc.relationTo': { equals: collection } },\n ...defaultLocalApiProps,\n })\n }\n\n const reindexCollection = async (collection: string) => {\n const totalDocs = await countDocuments(collection)\n const totalBatches = Math.ceil(totalDocs / batchSize)\n aggregateDocs += totalDocs\n\n for (let j = 0; j < reindexLocales.length; j++) {\n // create first index, then we update with other locales accordingly\n const operation = j === 0 ? 'create' : 'update'\n const localeToSync = reindexLocales[j]\n\n for (let i = 0; i < totalBatches; i++) {\n const { docs } = await payload.find({\n collection,\n depth: 0,\n limit: batchSize,\n locale: localeToSync,\n page: i + 1,\n ...defaultLocalApiProps,\n })\n\n for (const doc of docs) {\n await syncDocAsSearchIndex({\n collection,\n data: doc,\n doc,\n locale: localeToSync,\n onSyncError: () => operation === 'create' && aggregateErrors++,\n operation,\n pluginConfig,\n req,\n })\n }\n }\n }\n }\n\n await initTransaction(req)\n\n try {\n const promises = collections.map(async (collection) => {\n try {\n await deleteIndexes(collection)\n await reindexCollection(collection)\n } catch (err) {\n const message = t('error:unableToReindexCollection', { collection })\n payload.logger.error({ err, msg: message })\n\n await killTransaction(req)\n throw new Error(message)\n }\n })\n\n await Promise.all(promises)\n } catch (err: any) {\n return Response.json({ message: err.message }, { headers, status: 500 })\n }\n\n const message = t('general:successfullyReindexed', {\n collections: collections.join(', '),\n count: aggregateDocs - aggregateErrors,\n total: aggregateDocs,\n })\n\n await commitTransaction(req)\n\n return Response.json({ message }, { headers, status: 200 })\n }\n"],"names":["addLocalesToRequestFromData","commitTransaction","getAccessResults","headersWithCors","initTransaction","killTransaction","syncDocAsSearchIndex","generateReindexHandler","pluginConfig","req","json","Response","status","collections","t","searchSlug","searchOverrides","slug","searchCollections","reindexLocales","locales","length","locale","validatePermissions","accessResults","searchAccessResults","isValid","message","permissions","delete","update","access","create","push","read","every","Boolean","validateCollections","collectionsAreValid","col","includes","args","headers","Headers","hasPermissions","permissionError","validCollections","collectionError","payload","batchSize","reindexBatchSize","defaultLocalApiProps","overrideAccess","user","aggregateErrors","aggregateDocs","countDocuments","collection","totalDocs","count","undefined","deleteIndexes","depth","select","id","where","equals","reindexCollection","totalBatches","Math","ceil","j","operation","localeToSync","i","docs","find","limit","page","doc","data","onSyncError","promises","map","err","logger","error","msg","Error","Promise","all","join","total"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-search",
3
- "version": "3.54.0",
3
+ "version": "3.55.0-canary.0",
4
4
  "description": "Search plugin for Payload",
5
5
  "keywords": [
6
6
  "payload",
@@ -50,19 +50,19 @@
50
50
  "dist"
51
51
  ],
52
52
  "dependencies": {
53
- "@payloadcms/next": "3.54.0",
54
- "@payloadcms/ui": "3.54.0"
53
+ "@payloadcms/next": "3.55.0-canary.0",
54
+ "@payloadcms/ui": "3.55.0-canary.0"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@types/react": "19.1.8",
58
58
  "@types/react-dom": "19.1.6",
59
- "payload": "3.54.0",
60
- "@payloadcms/eslint-config": "3.28.0"
59
+ "@payloadcms/eslint-config": "3.28.0",
60
+ "payload": "3.55.0-canary.0"
61
61
  },
62
62
  "peerDependencies": {
63
63
  "react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
64
64
  "react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
65
- "payload": "3.54.0"
65
+ "payload": "3.55.0-canary.0"
66
66
  },
67
67
  "publishConfig": {
68
68
  "registry": "https://registry.npmjs.org/"