@payloadcms/db-mongodb 4.0.0-internal.38b7f1d → 4.0.0-internal.5f0cd13
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/dist/connect.d.ts.map +1 -1
- package/dist/connect.js +1 -2
- package/dist/connect.js.map +1 -1
- package/dist/createMigration.d.ts.map +1 -1
- package/dist/createMigration.js +5 -44
- package/dist/createMigration.js.map +1 -1
- package/dist/deleteOne.js.map +1 -1
- package/dist/index.d.ts +1 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -6
- package/dist/index.js.map +1 -1
- package/dist/models/buildCollectionSchema.d.ts.map +1 -1
- package/dist/models/buildGlobalModel.d.ts.map +1 -1
- package/dist/models/buildSchema.d.ts.map +1 -1
- package/dist/queries/buildQuery.d.ts.map +1 -1
- package/dist/queries/buildSortParam.d.ts.map +1 -1
- package/dist/queries/getBuildQueryPlugin.d.ts.map +1 -1
- package/dist/queries/getLocalizedSortProperty.d.ts.map +1 -1
- package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
- package/dist/updateGlobal.d.ts.map +1 -1
- package/dist/updateGlobal.js +10 -7
- package/dist/updateGlobal.js.map +1 -1
- package/dist/updateGlobalVersion.d.ts.map +1 -1
- package/dist/updateGlobalVersion.js +10 -7
- package/dist/updateGlobalVersion.js.map +1 -1
- package/dist/updateJobs.d.ts.map +1 -1
- package/dist/updateJobs.js +11 -8
- package/dist/updateJobs.js.map +1 -1
- package/dist/updateMany.d.ts.map +1 -1
- package/dist/updateMany.js +11 -8
- package/dist/updateMany.js.map +1 -1
- package/dist/updateOne.d.ts.map +1 -1
- package/dist/updateOne.js +10 -7
- package/dist/updateOne.js.map +1 -1
- package/dist/updateVersion.d.ts.map +1 -1
- package/dist/updateVersion.js +10 -7
- package/dist/updateVersion.js.map +1 -1
- package/dist/utilities/aggregatePaginate.d.ts.map +1 -1
- package/dist/utilities/buildJoinAggregation.d.ts.map +1 -1
- package/dist/utilities/buildProjectionFromSelect.d.ts.map +1 -1
- package/dist/utilities/getDBName.d.ts.map +1 -1
- package/dist/utilities/getEntity.d.ts.map +1 -1
- package/dist/utilities/handleError.d.ts.map +1 -1
- package/dist/utilities/isObjectID.d.ts.map +1 -1
- package/dist/utilities/transform.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/migrateFieldDelocalized.d.ts +0 -10
- package/dist/migrateFieldDelocalized.d.ts.map +0 -1
- package/dist/migrateFieldDelocalized.js +0 -40
- package/dist/migrateFieldDelocalized.js.map +0 -1
- package/dist/migrateFieldLocalized.d.ts +0 -10
- package/dist/migrateFieldLocalized.d.ts.map +0 -1
- package/dist/migrateFieldLocalized.js +0 -43
- package/dist/migrateFieldLocalized.js.map +0 -1
- package/dist/migrateVersionsEnabled.d.ts +0 -9
- package/dist/migrateVersionsEnabled.d.ts.map +0 -1
- package/dist/migrateVersionsEnabled.js +0 -52
- package/dist/migrateVersionsEnabled.js.map +0 -1
package/dist/updateJobs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/updateJobs.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../src/updateJobs.ts"],"sourcesContent":["import type { QueryOptions, UpdateQuery } from 'mongoose'\nimport type { Job, UpdateJobs, Where } from 'payload'\n\nimport type { MongooseAdapter } from './index.js'\n\nimport { buildQuery } from './queries/buildQuery.js'\nimport { buildSortParam } from './queries/buildSortParam.js'\nimport { getCollection } from './utilities/getEntity.js'\nimport { getSession } from './utilities/getSession.js'\nimport { handleError } from './utilities/handleError.js'\nimport { transform } from './utilities/transform.js'\n\nexport const updateJobs: UpdateJobs = async function updateMany(\n this: MongooseAdapter,\n { id, data, limit, req, returning, sort: sortArg, where: whereArg },\n) {\n if (\n !(data?.log as object[])?.length &&\n !(data.log && typeof data.log === 'object' && '$push' in data.log)\n ) {\n delete data.log\n }\n\n const where = id ? { id: { equals: id } } : (whereArg as Where)\n\n const { collectionConfig, Model } = getCollection({\n adapter: this,\n collectionSlug: 'payload-jobs',\n })\n\n const sort: Record<string, unknown> | undefined = buildSortParam({\n adapter: this,\n config: this.payload.config,\n fields: collectionConfig.flattenedFields,\n sort: sortArg || collectionConfig.defaultSort,\n timestamps: true,\n })\n\n let query = await buildQuery({\n adapter: this,\n collectionSlug: collectionConfig.slug,\n fields: collectionConfig.flattenedFields,\n where,\n })\n\n let updateData: UpdateQuery<any> = data\n\n const $inc: Record<string, number> = {}\n const $push: Record<string, { $each: any[] } | any> = {}\n const $addToSet: Record<string, { $each: any[] } | any> = {}\n const $pull: Record<string, { $in: any[] } | any> = {}\n\n transform({\n $addToSet,\n $inc,\n $pull,\n $push,\n adapter: this,\n data,\n fields: collectionConfig.fields,\n operation: 'write',\n })\n\n const updateOps: UpdateQuery<any> = {}\n\n if (Object.keys($inc).length) {\n updateOps.$inc = $inc\n }\n if (Object.keys($push).length) {\n updateOps.$push = $push\n }\n if (Object.keys($addToSet).length) {\n updateOps.$addToSet = $addToSet\n }\n if (Object.keys($pull).length) {\n updateOps.$pull = $pull\n }\n if (Object.keys(updateOps).length) {\n updateOps.$set = updateData\n updateData = updateOps\n }\n\n const baseOptions = {\n session: await getSession(this, req),\n // Timestamps are manually added by the write transform\n timestamps: false,\n } satisfies QueryOptions\n\n const findOptions: QueryOptions = {\n ...baseOptions,\n lean: true,\n new: true,\n }\n\n let result: Job[] = []\n\n try {\n if (id) {\n if (returning === false) {\n await Model.updateOne(query, updateData, baseOptions)\n transform({ adapter: this, data, fields: collectionConfig.fields, operation: 'read' })\n\n return null\n } else {\n const doc = await Model.findOneAndUpdate(query, updateData, findOptions)\n result = doc ? [doc] : []\n }\n } else {\n if (typeof limit === 'number' && limit > 0) {\n const documentsToUpdate = await Model.find(\n query,\n {},\n { ...findOptions, limit, projection: { _id: 1 }, sort },\n )\n if (documentsToUpdate.length === 0) {\n return null\n }\n\n query = { _id: { $in: documentsToUpdate.map((doc) => doc._id) } }\n }\n\n await Model.updateMany(query, updateData, baseOptions)\n\n if (returning === false) {\n return null\n }\n\n result = await Model.find(query, {}, { ...findOptions, sort })\n }\n } catch (error) {\n handleError({ collection: collectionConfig.slug, error, req })\n }\n\n transform({\n adapter: this,\n data: result,\n fields: collectionConfig.fields,\n operation: 'read',\n })\n\n return result\n}\n"],"names":["buildQuery","buildSortParam","getCollection","getSession","handleError","transform","updateJobs","updateMany","id","data","limit","req","returning","sort","sortArg","where","whereArg","log","length","equals","collectionConfig","Model","adapter","collectionSlug","config","payload","fields","flattenedFields","defaultSort","timestamps","query","slug","updateData","$inc","$push","$addToSet","$pull","operation","updateOps","Object","keys","$set","baseOptions","session","findOptions","lean","new","result","updateOne","doc","findOneAndUpdate","documentsToUpdate","find","projection","_id","$in","map","error","collection"],"mappings":"AAKA,SAASA,UAAU,QAAQ,0BAAyB;AACpD,SAASC,cAAc,QAAQ,8BAA6B;AAC5D,SAASC,aAAa,QAAQ,2BAA0B;AACxD,SAASC,UAAU,QAAQ,4BAA2B;AACtD,SAASC,WAAW,QAAQ,6BAA4B;AACxD,SAASC,SAAS,QAAQ,2BAA0B;AAEpD,OAAO,MAAMC,aAAyB,eAAeC,WAEnD,EAAEC,EAAE,EAAEC,IAAI,EAAEC,KAAK,EAAEC,GAAG,EAAEC,SAAS,EAAEC,MAAMC,OAAO,EAAEC,OAAOC,QAAQ,EAAE;IAEnE,IACE,CAAEP,MAAMQ,KAAkBC,UAC1B,CAAET,CAAAA,KAAKQ,GAAG,IAAI,OAAOR,KAAKQ,GAAG,KAAK,YAAY,WAAWR,KAAKQ,GAAG,AAAD,GAChE;QACA,OAAOR,KAAKQ,GAAG;IACjB;IAEA,MAAMF,QAAQP,KAAK;QAAEA,IAAI;YAAEW,QAAQX;QAAG;IAAE,IAAKQ;IAE7C,MAAM,EAAEI,gBAAgB,EAAEC,KAAK,EAAE,GAAGnB,cAAc;QAChDoB,SAAS,IAAI;QACbC,gBAAgB;IAClB;IAEA,MAAMV,OAA4CZ,eAAe;QAC/DqB,SAAS,IAAI;QACbE,QAAQ,IAAI,CAACC,OAAO,CAACD,MAAM;QAC3BE,QAAQN,iBAAiBO,eAAe;QACxCd,MAAMC,WAAWM,iBAAiBQ,WAAW;QAC7CC,YAAY;IACd;IAEA,IAAIC,QAAQ,MAAM9B,WAAW;QAC3BsB,SAAS,IAAI;QACbC,gBAAgBH,iBAAiBW,IAAI;QACrCL,QAAQN,iBAAiBO,eAAe;QACxCZ;IACF;IAEA,IAAIiB,aAA+BvB;IAEnC,MAAMwB,OAA+B,CAAC;IACtC,MAAMC,QAAgD,CAAC;IACvD,MAAMC,YAAoD,CAAC;IAC3D,MAAMC,QAA8C,CAAC;IAErD/B,UAAU;QACR8B;QACAF;QACAG;QACAF;QACAZ,SAAS,IAAI;QACbb;QACAiB,QAAQN,iBAAiBM,MAAM;QAC/BW,WAAW;IACb;IAEA,MAAMC,YAA8B,CAAC;IAErC,IAAIC,OAAOC,IAAI,CAACP,MAAMf,MAAM,EAAE;QAC5BoB,UAAUL,IAAI,GAAGA;IACnB;IACA,IAAIM,OAAOC,IAAI,CAACN,OAAOhB,MAAM,EAAE;QAC7BoB,UAAUJ,KAAK,GAAGA;IACpB;IACA,IAAIK,OAAOC,IAAI,CAACL,WAAWjB,MAAM,EAAE;QACjCoB,UAAUH,SAAS,GAAGA;IACxB;IACA,IAAII,OAAOC,IAAI,CAACJ,OAAOlB,MAAM,EAAE;QAC7BoB,UAAUF,KAAK,GAAGA;IACpB;IACA,IAAIG,OAAOC,IAAI,CAACF,WAAWpB,MAAM,EAAE;QACjCoB,UAAUG,IAAI,GAAGT;QACjBA,aAAaM;IACf;IAEA,MAAMI,cAAc;QAClBC,SAAS,MAAMxC,WAAW,IAAI,EAAEQ;QAChC,uDAAuD;QACvDkB,YAAY;IACd;IAEA,MAAMe,cAA4B;QAChC,GAAGF,WAAW;QACdG,MAAM;QACNC,KAAK;IACP;IAEA,IAAIC,SAAgB,EAAE;IAEtB,IAAI;QACF,IAAIvC,IAAI;YACN,IAAII,cAAc,OAAO;gBACvB,MAAMS,MAAM2B,SAAS,CAAClB,OAAOE,YAAYU;gBACzCrC,UAAU;oBAAEiB,SAAS,IAAI;oBAAEb;oBAAMiB,QAAQN,iBAAiBM,MAAM;oBAAEW,WAAW;gBAAO;gBAEpF,OAAO;YACT,OAAO;gBACL,MAAMY,MAAM,MAAM5B,MAAM6B,gBAAgB,CAACpB,OAAOE,YAAYY;gBAC5DG,SAASE,MAAM;oBAACA;iBAAI,GAAG,EAAE;YAC3B;QACF,OAAO;YACL,IAAI,OAAOvC,UAAU,YAAYA,QAAQ,GAAG;gBAC1C,MAAMyC,oBAAoB,MAAM9B,MAAM+B,IAAI,CACxCtB,OACA,CAAC,GACD;oBAAE,GAAGc,WAAW;oBAAElC;oBAAO2C,YAAY;wBAAEC,KAAK;oBAAE;oBAAGzC;gBAAK;gBAExD,IAAIsC,kBAAkBjC,MAAM,KAAK,GAAG;oBAClC,OAAO;gBACT;gBAEAY,QAAQ;oBAAEwB,KAAK;wBAAEC,KAAKJ,kBAAkBK,GAAG,CAAC,CAACP,MAAQA,IAAIK,GAAG;oBAAE;gBAAE;YAClE;YAEA,MAAMjC,MAAMd,UAAU,CAACuB,OAAOE,YAAYU;YAE1C,IAAI9B,cAAc,OAAO;gBACvB,OAAO;YACT;YAEAmC,SAAS,MAAM1B,MAAM+B,IAAI,CAACtB,OAAO,CAAC,GAAG;gBAAE,GAAGc,WAAW;gBAAE/B;YAAK;QAC9D;IACF,EAAE,OAAO4C,OAAO;QACdrD,YAAY;YAAEsD,YAAYtC,iBAAiBW,IAAI;YAAE0B;YAAO9C;QAAI;IAC9D;IAEAN,UAAU;QACRiB,SAAS,IAAI;QACbb,MAAMsC;QACNrB,QAAQN,iBAAiBM,MAAM;QAC/BW,WAAW;IACb;IAEA,OAAOU;AACT,EAAC"}
|
package/dist/updateMany.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateMany.d.ts","sourceRoot":"","sources":["../src/updateMany.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAYlE,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"updateMany.d.ts","sourceRoot":"","sources":["../src/updateMany.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAYlE,eAAO,MAAM,UAAU,EAAE,UAyIxB,CAAA"}
|
package/dist/updateMany.js
CHANGED
|
@@ -65,23 +65,26 @@ export const updateMany = async function updateMany({ collection: collectionSlug
|
|
|
65
65
|
updateOps.$set = data;
|
|
66
66
|
data = updateOps;
|
|
67
67
|
}
|
|
68
|
-
const
|
|
68
|
+
const baseOptions = {
|
|
69
69
|
...optionsArgs,
|
|
70
|
+
session: await getSession(this, req),
|
|
71
|
+
// Timestamps are manually added by the write transform
|
|
72
|
+
timestamps: false
|
|
73
|
+
};
|
|
74
|
+
const findOptions = {
|
|
75
|
+
...baseOptions,
|
|
70
76
|
lean: true,
|
|
71
77
|
new: true,
|
|
72
78
|
projection: buildProjectionFromSelect({
|
|
73
79
|
adapter: this,
|
|
74
80
|
fields: collectionConfig.flattenedFields,
|
|
75
81
|
select
|
|
76
|
-
})
|
|
77
|
-
session: await getSession(this, req),
|
|
78
|
-
// Timestamps are manually added by the write transform
|
|
79
|
-
timestamps: false
|
|
82
|
+
})
|
|
80
83
|
};
|
|
81
84
|
try {
|
|
82
85
|
if (typeof limit === 'number' && limit > 0) {
|
|
83
86
|
const documentsToUpdate = await Model.find(query, {}, {
|
|
84
|
-
...
|
|
87
|
+
...findOptions,
|
|
85
88
|
limit,
|
|
86
89
|
projection: {
|
|
87
90
|
_id: 1
|
|
@@ -97,7 +100,7 @@ export const updateMany = async function updateMany({ collection: collectionSlug
|
|
|
97
100
|
}
|
|
98
101
|
};
|
|
99
102
|
}
|
|
100
|
-
await Model.updateMany(query, data,
|
|
103
|
+
await Model.updateMany(query, data, baseOptions);
|
|
101
104
|
} catch (error) {
|
|
102
105
|
handleError({
|
|
103
106
|
collection: collectionSlug,
|
|
@@ -109,7 +112,7 @@ export const updateMany = async function updateMany({ collection: collectionSlug
|
|
|
109
112
|
return null;
|
|
110
113
|
}
|
|
111
114
|
const result = await Model.find(query, {}, {
|
|
112
|
-
...
|
|
115
|
+
...findOptions,
|
|
113
116
|
sort
|
|
114
117
|
});
|
|
115
118
|
transform({
|
package/dist/updateMany.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/updateMany.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../src/updateMany.ts"],"sourcesContent":["import type { QueryOptions, UpdateQuery } from 'mongoose'\n\nimport { flattenWhereToOperators, type UpdateMany } from 'payload'\n\nimport type { MongooseAdapter } from './index.js'\n\nimport { buildQuery } from './queries/buildQuery.js'\nimport { buildSortParam } from './queries/buildSortParam.js'\nimport { buildProjectionFromSelect } from './utilities/buildProjectionFromSelect.js'\nimport { getCollection } from './utilities/getEntity.js'\nimport { getSession } from './utilities/getSession.js'\nimport { handleError } from './utilities/handleError.js'\nimport { transform } from './utilities/transform.js'\n\nexport const updateMany: UpdateMany = async function updateMany(\n this: MongooseAdapter,\n {\n collection: collectionSlug,\n data,\n limit,\n locale,\n options: optionsArgs = {},\n req,\n returning,\n select,\n sort: sortArg,\n where,\n },\n) {\n let hasNearConstraint = false\n\n if (where) {\n const constraints = flattenWhereToOperators(where)\n hasNearConstraint = constraints.some((prop) => Object.keys(prop).some((key) => key === 'near'))\n }\n\n const { collectionConfig, Model } = getCollection({ adapter: this, collectionSlug })\n\n let sort: Record<string, unknown> | undefined\n if (!hasNearConstraint) {\n sort = buildSortParam({\n adapter: this,\n config: this.payload.config,\n fields: collectionConfig.flattenedFields,\n locale,\n sort: sortArg || collectionConfig.defaultSort,\n timestamps: true,\n })\n }\n\n let query = await buildQuery({\n adapter: this,\n collectionSlug,\n fields: collectionConfig.flattenedFields,\n locale,\n where,\n })\n\n const $inc: Record<string, number> = {}\n const $push: Record<string, { $each: any[] } | any> = {}\n const $addToSet: Record<string, { $each: any[] } | any> = {}\n const $pull: Record<string, { $in: any[] } | any> = {}\n\n transform({\n $addToSet,\n $inc,\n $pull,\n $push,\n adapter: this,\n data,\n fields: collectionConfig.fields,\n operation: 'write',\n })\n\n const updateOps: UpdateQuery<any> = {}\n\n if (Object.keys($inc).length) {\n updateOps.$inc = $inc\n }\n if (Object.keys($push).length) {\n updateOps.$push = $push\n }\n if (Object.keys($addToSet).length) {\n updateOps.$addToSet = $addToSet\n }\n if (Object.keys($pull).length) {\n updateOps.$pull = $pull\n }\n if (Object.keys(updateOps).length) {\n updateOps.$set = data\n data = updateOps\n }\n\n const baseOptions = {\n ...optionsArgs,\n session: await getSession(this, req),\n // Timestamps are manually added by the write transform\n timestamps: false,\n } satisfies QueryOptions\n\n const findOptions: QueryOptions = {\n ...baseOptions,\n lean: true,\n new: true,\n projection: buildProjectionFromSelect({\n adapter: this,\n fields: collectionConfig.flattenedFields,\n select,\n }),\n }\n\n try {\n if (typeof limit === 'number' && limit > 0) {\n const documentsToUpdate = await Model.find(\n query,\n {},\n { ...findOptions, limit, projection: { _id: 1 }, sort },\n )\n if (documentsToUpdate.length === 0) {\n return null\n }\n\n query = { _id: { $in: documentsToUpdate.map((doc) => doc._id) } }\n }\n\n await Model.updateMany(query, data, baseOptions)\n } catch (error) {\n handleError({ collection: collectionSlug, error, req })\n }\n\n if (returning === false) {\n return null\n }\n\n const result = await Model.find(\n query,\n {},\n {\n ...findOptions,\n sort,\n },\n )\n\n transform({\n adapter: this,\n data: result,\n fields: collectionConfig.fields,\n operation: 'read',\n })\n\n return result\n}\n"],"names":["flattenWhereToOperators","buildQuery","buildSortParam","buildProjectionFromSelect","getCollection","getSession","handleError","transform","updateMany","collection","collectionSlug","data","limit","locale","options","optionsArgs","req","returning","select","sort","sortArg","where","hasNearConstraint","constraints","some","prop","Object","keys","key","collectionConfig","Model","adapter","config","payload","fields","flattenedFields","defaultSort","timestamps","query","$inc","$push","$addToSet","$pull","operation","updateOps","length","$set","baseOptions","session","findOptions","lean","new","projection","documentsToUpdate","find","_id","$in","map","doc","error","result"],"mappings":"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"}
|
package/dist/updateOne.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateOne.d.ts","sourceRoot":"","sources":["../src/updateOne.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAWxC,eAAO,MAAM,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"updateOne.d.ts","sourceRoot":"","sources":["../src/updateOne.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAWxC,eAAO,MAAM,SAAS,EAAE,SAsGvB,CAAA"}
|
package/dist/updateOne.js
CHANGED
|
@@ -55,22 +55,25 @@ export const updateOne = async function updateOne({ id, collection: collectionSl
|
|
|
55
55
|
updateOps.$set = updateData;
|
|
56
56
|
updateData = updateOps;
|
|
57
57
|
}
|
|
58
|
-
const
|
|
58
|
+
const baseOptions = {
|
|
59
59
|
...optionsArgs,
|
|
60
|
+
session: await getSession(this, req),
|
|
61
|
+
// Timestamps are manually added by the write transform
|
|
62
|
+
timestamps: false
|
|
63
|
+
};
|
|
64
|
+
const findOptions = {
|
|
65
|
+
...baseOptions,
|
|
60
66
|
lean: true,
|
|
61
67
|
new: true,
|
|
62
68
|
projection: buildProjectionFromSelect({
|
|
63
69
|
adapter: this,
|
|
64
70
|
fields: collectionConfig.flattenedFields,
|
|
65
71
|
select
|
|
66
|
-
})
|
|
67
|
-
session: await getSession(this, req),
|
|
68
|
-
// Timestamps are manually added by the write transform
|
|
69
|
-
timestamps: false
|
|
72
|
+
})
|
|
70
73
|
};
|
|
71
74
|
try {
|
|
72
75
|
if (returning === false) {
|
|
73
|
-
await Model.updateOne(query, updateData,
|
|
76
|
+
await Model.updateOne(query, updateData, baseOptions);
|
|
74
77
|
transform({
|
|
75
78
|
adapter: this,
|
|
76
79
|
data,
|
|
@@ -79,7 +82,7 @@ export const updateOne = async function updateOne({ id, collection: collectionSl
|
|
|
79
82
|
});
|
|
80
83
|
return null;
|
|
81
84
|
} else {
|
|
82
|
-
result = await Model.findOneAndUpdate(query, updateData,
|
|
85
|
+
result = await Model.findOneAndUpdate(query, updateData, findOptions);
|
|
83
86
|
}
|
|
84
87
|
} catch (error) {
|
|
85
88
|
handleError({
|
package/dist/updateOne.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/updateOne.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../src/updateOne.ts"],"sourcesContent":["import type { QueryOptions, UpdateQuery } from 'mongoose'\nimport type { UpdateOne } from 'payload'\n\nimport type { MongooseAdapter } from './index.js'\n\nimport { buildQuery } from './queries/buildQuery.js'\nimport { buildProjectionFromSelect } from './utilities/buildProjectionFromSelect.js'\nimport { getCollection } from './utilities/getEntity.js'\nimport { getSession } from './utilities/getSession.js'\nimport { handleError } from './utilities/handleError.js'\nimport { transform } from './utilities/transform.js'\n\nexport const updateOne: UpdateOne = async function updateOne(\n this: MongooseAdapter,\n {\n id,\n collection: collectionSlug,\n data,\n locale,\n options: optionsArgs = {},\n req,\n returning,\n select,\n where: whereArg = {},\n },\n) {\n const { collectionConfig, Model } = getCollection({ adapter: this, collectionSlug })\n const where = id ? { id: { equals: id } } : whereArg\n const fields = collectionConfig.fields\n\n const query = await buildQuery({\n adapter: this,\n collectionSlug,\n fields: collectionConfig.flattenedFields,\n locale,\n where,\n })\n\n let result\n\n let updateData: UpdateQuery<any> = data\n\n const $inc: Record<string, number> = {}\n const $push: Record<string, { $each: any[] } | any> = {}\n const $addToSet: Record<string, { $each: any[] } | any> = {}\n const $pull: Record<string, { $in: any[] } | any> = {}\n\n transform({\n $addToSet,\n $inc,\n $pull,\n $push,\n adapter: this,\n data,\n fields,\n operation: 'write',\n })\n\n const updateOps: UpdateQuery<any> = {}\n\n if (Object.keys($inc).length) {\n updateOps.$inc = $inc\n }\n if (Object.keys($push).length) {\n updateOps.$push = $push\n }\n if (Object.keys($addToSet).length) {\n updateOps.$addToSet = $addToSet\n }\n if (Object.keys($pull).length) {\n updateOps.$pull = $pull\n }\n if (Object.keys(updateOps).length) {\n updateOps.$set = updateData\n updateData = updateOps\n }\n\n const baseOptions = {\n ...optionsArgs,\n session: await getSession(this, req),\n // Timestamps are manually added by the write transform\n timestamps: false,\n } satisfies QueryOptions\n\n const findOptions: QueryOptions = {\n ...baseOptions,\n lean: true,\n new: true,\n projection: buildProjectionFromSelect({\n adapter: this,\n fields: collectionConfig.flattenedFields,\n select,\n }),\n }\n\n try {\n if (returning === false) {\n await Model.updateOne(query, updateData, baseOptions)\n transform({ adapter: this, data, fields, operation: 'read' })\n return null\n } else {\n result = await Model.findOneAndUpdate(query, updateData, findOptions)\n }\n } catch (error) {\n handleError({ collection: collectionSlug, error, req })\n }\n\n if (!result) {\n return null\n }\n\n transform({ adapter: this, data: result, fields, operation: 'read' })\n\n return result\n}\n"],"names":["buildQuery","buildProjectionFromSelect","getCollection","getSession","handleError","transform","updateOne","id","collection","collectionSlug","data","locale","options","optionsArgs","req","returning","select","where","whereArg","collectionConfig","Model","adapter","equals","fields","query","flattenedFields","result","updateData","$inc","$push","$addToSet","$pull","operation","updateOps","Object","keys","length","$set","baseOptions","session","timestamps","findOptions","lean","new","projection","findOneAndUpdate","error"],"mappings":"AAKA,SAASA,UAAU,QAAQ,0BAAyB;AACpD,SAASC,yBAAyB,QAAQ,2CAA0C;AACpF,SAASC,aAAa,QAAQ,2BAA0B;AACxD,SAASC,UAAU,QAAQ,4BAA2B;AACtD,SAASC,WAAW,QAAQ,6BAA4B;AACxD,SAASC,SAAS,QAAQ,2BAA0B;AAEpD,OAAO,MAAMC,YAAuB,eAAeA,UAEjD,EACEC,EAAE,EACFC,YAAYC,cAAc,EAC1BC,IAAI,EACJC,MAAM,EACNC,SAASC,cAAc,CAAC,CAAC,EACzBC,GAAG,EACHC,SAAS,EACTC,MAAM,EACNC,OAAOC,WAAW,CAAC,CAAC,EACrB;IAED,MAAM,EAAEC,gBAAgB,EAAEC,KAAK,EAAE,GAAGlB,cAAc;QAAEmB,SAAS,IAAI;QAAEZ;IAAe;IAClF,MAAMQ,QAAQV,KAAK;QAAEA,IAAI;YAAEe,QAAQf;QAAG;IAAE,IAAIW;IAC5C,MAAMK,SAASJ,iBAAiBI,MAAM;IAEtC,MAAMC,QAAQ,MAAMxB,WAAW;QAC7BqB,SAAS,IAAI;QACbZ;QACAc,QAAQJ,iBAAiBM,eAAe;QACxCd;QACAM;IACF;IAEA,IAAIS;IAEJ,IAAIC,aAA+BjB;IAEnC,MAAMkB,OAA+B,CAAC;IACtC,MAAMC,QAAgD,CAAC;IACvD,MAAMC,YAAoD,CAAC;IAC3D,MAAMC,QAA8C,CAAC;IAErD1B,UAAU;QACRyB;QACAF;QACAG;QACAF;QACAR,SAAS,IAAI;QACbX;QACAa;QACAS,WAAW;IACb;IAEA,MAAMC,YAA8B,CAAC;IAErC,IAAIC,OAAOC,IAAI,CAACP,MAAMQ,MAAM,EAAE;QAC5BH,UAAUL,IAAI,GAAGA;IACnB;IACA,IAAIM,OAAOC,IAAI,CAACN,OAAOO,MAAM,EAAE;QAC7BH,UAAUJ,KAAK,GAAGA;IACpB;IACA,IAAIK,OAAOC,IAAI,CAACL,WAAWM,MAAM,EAAE;QACjCH,UAAUH,SAAS,GAAGA;IACxB;IACA,IAAII,OAAOC,IAAI,CAACJ,OAAOK,MAAM,EAAE;QAC7BH,UAAUF,KAAK,GAAGA;IACpB;IACA,IAAIG,OAAOC,IAAI,CAACF,WAAWG,MAAM,EAAE;QACjCH,UAAUI,IAAI,GAAGV;QACjBA,aAAaM;IACf;IAEA,MAAMK,cAAc;QAClB,GAAGzB,WAAW;QACd0B,SAAS,MAAMpC,WAAW,IAAI,EAAEW;QAChC,uDAAuD;QACvD0B,YAAY;IACd;IAEA,MAAMC,cAA4B;QAChC,GAAGH,WAAW;QACdI,MAAM;QACNC,KAAK;QACLC,YAAY3C,0BAA0B;YACpCoB,SAAS,IAAI;YACbE,QAAQJ,iBAAiBM,eAAe;YACxCT;QACF;IACF;IAEA,IAAI;QACF,IAAID,cAAc,OAAO;YACvB,MAAMK,MAAMd,SAAS,CAACkB,OAAOG,YAAYW;YACzCjC,UAAU;gBAAEgB,SAAS,IAAI;gBAAEX;gBAAMa;gBAAQS,WAAW;YAAO;YAC3D,OAAO;QACT,OAAO;YACLN,SAAS,MAAMN,MAAMyB,gBAAgB,CAACrB,OAAOG,YAAYc;QAC3D;IACF,EAAE,OAAOK,OAAO;QACd1C,YAAY;YAAEI,YAAYC;YAAgBqC;YAAOhC;QAAI;IACvD;IAEA,IAAI,CAACY,QAAQ;QACX,OAAO;IACT;IAEArB,UAAU;QAAEgB,SAAS,IAAI;QAAEX,MAAMgB;QAAQH;QAAQS,WAAW;IAAO;IAEnE,OAAON;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateVersion.d.ts","sourceRoot":"","sources":["../src/updateVersion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,SAAS,CAAA;AAU1E,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"updateVersion.d.ts","sourceRoot":"","sources":["../src/updateVersion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,SAAS,CAAA;AAU1E,eAAO,MAAM,aAAa,EAAE,aAkE3B,CAAA"}
|
package/dist/updateVersion.js
CHANGED
|
@@ -29,24 +29,27 @@ export const updateVersion = async function updateVersion({ id, collection: coll
|
|
|
29
29
|
fields,
|
|
30
30
|
operation: 'write'
|
|
31
31
|
});
|
|
32
|
-
const
|
|
32
|
+
const baseOptions = {
|
|
33
33
|
...optionsArgs,
|
|
34
|
+
session: await getSession(this, req),
|
|
35
|
+
// Timestamps are manually added by the write transform
|
|
36
|
+
timestamps: false
|
|
37
|
+
};
|
|
38
|
+
const findOptions = {
|
|
39
|
+
...baseOptions,
|
|
34
40
|
lean: true,
|
|
35
41
|
new: true,
|
|
36
42
|
projection: buildProjectionFromSelect({
|
|
37
43
|
adapter: this,
|
|
38
44
|
fields: flattenedFields,
|
|
39
45
|
select
|
|
40
|
-
})
|
|
41
|
-
session: await getSession(this, req),
|
|
42
|
-
// Timestamps are manually added by the write transform
|
|
43
|
-
timestamps: false
|
|
46
|
+
})
|
|
44
47
|
};
|
|
45
48
|
if (returning === false) {
|
|
46
|
-
await Model.updateOne(query, versionData,
|
|
49
|
+
await Model.updateOne(query, versionData, baseOptions);
|
|
47
50
|
return null;
|
|
48
51
|
}
|
|
49
|
-
const doc = await Model.findOneAndUpdate(query, versionData,
|
|
52
|
+
const doc = await Model.findOneAndUpdate(query, versionData, findOptions);
|
|
50
53
|
if (!doc) {
|
|
51
54
|
return null;
|
|
52
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/updateVersion.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../src/updateVersion.ts"],"sourcesContent":["import type { QueryOptions } from 'mongoose'\n\nimport { buildVersionCollectionFields, type UpdateVersion } from 'payload'\n\nimport type { MongooseAdapter } from './index.js'\n\nimport { buildQuery } from './queries/buildQuery.js'\nimport { buildProjectionFromSelect } from './utilities/buildProjectionFromSelect.js'\nimport { getCollection } from './utilities/getEntity.js'\nimport { getSession } from './utilities/getSession.js'\nimport { transform } from './utilities/transform.js'\n\nexport const updateVersion: UpdateVersion = async function updateVersion(\n this: MongooseAdapter,\n {\n id,\n collection: collectionSlug,\n locale,\n options: optionsArgs = {},\n req,\n returning,\n select,\n versionData,\n where,\n },\n) {\n const { collectionConfig, Model } = getCollection({\n adapter: this,\n collectionSlug,\n versions: true,\n })\n\n const whereToUse = where || { id: { equals: id } }\n const fields = buildVersionCollectionFields(this.payload.config, collectionConfig)\n\n const flattenedFields = buildVersionCollectionFields(this.payload.config, collectionConfig, true)\n\n const query = await buildQuery({\n adapter: this,\n fields: flattenedFields,\n locale,\n where: whereToUse,\n })\n\n transform({ adapter: this, data: versionData, fields, operation: 'write' })\n\n const baseOptions = {\n ...optionsArgs,\n session: await getSession(this, req),\n // Timestamps are manually added by the write transform\n timestamps: false,\n } satisfies QueryOptions\n\n const findOptions: QueryOptions = {\n ...baseOptions,\n lean: true,\n new: true,\n projection: buildProjectionFromSelect({\n adapter: this,\n fields: flattenedFields,\n select,\n }),\n }\n\n if (returning === false) {\n await Model.updateOne(query, versionData, baseOptions)\n return null\n }\n\n const doc = await Model.findOneAndUpdate(query, versionData, findOptions)\n\n if (!doc) {\n return null\n }\n\n transform({ adapter: this, data: doc, fields, operation: 'read' })\n\n return doc\n}\n"],"names":["buildVersionCollectionFields","buildQuery","buildProjectionFromSelect","getCollection","getSession","transform","updateVersion","id","collection","collectionSlug","locale","options","optionsArgs","req","returning","select","versionData","where","collectionConfig","Model","adapter","versions","whereToUse","equals","fields","payload","config","flattenedFields","query","data","operation","baseOptions","session","timestamps","findOptions","lean","new","projection","updateOne","doc","findOneAndUpdate"],"mappings":"AAEA,SAASA,4BAA4B,QAA4B,UAAS;AAI1E,SAASC,UAAU,QAAQ,0BAAyB;AACpD,SAASC,yBAAyB,QAAQ,2CAA0C;AACpF,SAASC,aAAa,QAAQ,2BAA0B;AACxD,SAASC,UAAU,QAAQ,4BAA2B;AACtD,SAASC,SAAS,QAAQ,2BAA0B;AAEpD,OAAO,MAAMC,gBAA+B,eAAeA,cAEzD,EACEC,EAAE,EACFC,YAAYC,cAAc,EAC1BC,MAAM,EACNC,SAASC,cAAc,CAAC,CAAC,EACzBC,GAAG,EACHC,SAAS,EACTC,MAAM,EACNC,WAAW,EACXC,KAAK,EACN;IAED,MAAM,EAAEC,gBAAgB,EAAEC,KAAK,EAAE,GAAGhB,cAAc;QAChDiB,SAAS,IAAI;QACbX;QACAY,UAAU;IACZ;IAEA,MAAMC,aAAaL,SAAS;QAAEV,IAAI;YAAEgB,QAAQhB;QAAG;IAAE;IACjD,MAAMiB,SAASxB,6BAA6B,IAAI,CAACyB,OAAO,CAACC,MAAM,EAAER;IAEjE,MAAMS,kBAAkB3B,6BAA6B,IAAI,CAACyB,OAAO,CAACC,MAAM,EAAER,kBAAkB;IAE5F,MAAMU,QAAQ,MAAM3B,WAAW;QAC7BmB,SAAS,IAAI;QACbI,QAAQG;QACRjB;QACAO,OAAOK;IACT;IAEAjB,UAAU;QAAEe,SAAS,IAAI;QAAES,MAAMb;QAAaQ;QAAQM,WAAW;IAAQ;IAEzE,MAAMC,cAAc;QAClB,GAAGnB,WAAW;QACdoB,SAAS,MAAM5B,WAAW,IAAI,EAAES;QAChC,uDAAuD;QACvDoB,YAAY;IACd;IAEA,MAAMC,cAA4B;QAChC,GAAGH,WAAW;QACdI,MAAM;QACNC,KAAK;QACLC,YAAYnC,0BAA0B;YACpCkB,SAAS,IAAI;YACbI,QAAQG;YACRZ;QACF;IACF;IAEA,IAAID,cAAc,OAAO;QACvB,MAAMK,MAAMmB,SAAS,CAACV,OAAOZ,aAAae;QAC1C,OAAO;IACT;IAEA,MAAMQ,MAAM,MAAMpB,MAAMqB,gBAAgB,CAACZ,OAAOZ,aAAakB;IAE7D,IAAI,CAACK,KAAK;QACR,OAAO;IACT;IAEAlC,UAAU;QAAEe,SAAS,IAAI;QAAES,MAAMU;QAAKf;QAAQM,WAAW;IAAO;IAEhE,OAAOS;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregatePaginate.d.ts","sourceRoot":"","sources":["../../src/utilities/aggregatePaginate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"aggregatePaginate.d.ts","sourceRoot":"","sources":["../../src/utilities/aggregatePaginate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,iBAAiB,GAAU,gJAcrC;IACD,OAAO,EAAE,eAAe,CAAA;IACxB,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,eAAe,CAAC,EAAE,aAAa,EAAE,CAAA;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,aAAa,EAAE,CAAA;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,KAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAmF7B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildJoinAggregation.d.ts","sourceRoot":"","sources":["../../src/utilities/buildJoinAggregation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAIL,KAAK,cAAc,EAInB,KAAK,SAAS,EACd,KAAK,yBAAyB,EAC/B,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAOlD,KAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,UAAU,EAAE,cAAc,CAAA;IAC1B,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"buildJoinAggregation.d.ts","sourceRoot":"","sources":["../../src/utilities/buildJoinAggregation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAIL,KAAK,cAAc,EAInB,KAAK,SAAS,EACd,KAAK,yBAAyB,EAC/B,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAOlD,KAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,UAAU,EAAE,cAAc,CAAA;IAC1B,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAU,gGASxC,wBAAwB,KAAG,OAAO,CAAC,aAAa,EAAE,GAAG,SAAS,CA0chE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildProjectionFromSelect.d.ts","sourceRoot":"","sources":["../../src/utilities/buildProjectionFromSelect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EAGd,UAAU,EACX,MAAM,SAAS,CAAA;AAShB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAgMlD,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"buildProjectionFromSelect.d.ts","sourceRoot":"","sources":["../../src/utilities/buildProjectionFromSelect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EAGd,UAAU,EACX,MAAM,SAAS,CAAA;AAShB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAgMlD,eAAO,MAAM,yBAAyB,GAAI,8BAIvC;IACD,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB,KAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAmB1B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDBName.d.ts","sourceRoot":"","sources":["../../src/utilities/getDBName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEzD,KAAK,IAAI,GAAG;IACV,MAAM,EAAE;QACN,MAAM,CAAC,EAAE,gBAAgB,CAAA;QACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAA;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"getDBName.d.ts","sourceRoot":"","sources":["../../src/utilities/getDBName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEzD,KAAK,IAAI,GAAG;IACV,MAAM,EAAE;QACN,MAAM,CAAC,EAAE,gBAAgB,CAAA;QACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAA;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,uDAKvB,IAAI,KAAG,MAuBT,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEntity.d.ts","sourceRoot":"","sources":["../../src/utilities/getEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAI3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"getEntity.d.ts","sourceRoot":"","sources":["../../src/utilities/getEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAI3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,aAAa,GAAI,wCAI3B;IACD,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAG;IACF,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;IAExC,KAAK,EAAE,eAAe,CAAA;CA+BvB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,eAAe,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,UAAU,SAAS;IACjB,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;KAAE,GAAG,iBAAiB,GAAG;QAC5D,YAAY,EAAE,qBAAqB,CAAA;QACnC,KAAK,EAAE,WAAW,CAAA;KACnB,CAAA;IACD,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,iBAAiB,GAAG;QAC/C,YAAY,EAAE,qBAAqB,CAAA;QACnC,KAAK,EAAE,eAAe,CAAA;KACvB,CAAA;CACF;AAED,eAAO,MAAM,SAAS,EAAE,SAsBvB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleError.d.ts","sourceRoot":"","sources":["../../src/utilities/handleError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAoC7C,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"handleError.d.ts","sourceRoot":"","sources":["../../src/utilities/handleError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAoC7C,eAAO,MAAM,WAAW,GAAI,qCAKzB;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;CAC9B,UAoCA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isObjectID.d.ts","sourceRoot":"","sources":["../../src/utilities/isObjectID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAErC,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"isObjectID.d.ts","sourceRoot":"","sources":["../../src/utilities/isObjectID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAErC,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,KAAK,CAAC,QAa1D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/utilities/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,KAAK,EAQN,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAmQlD,KAAK,IAAI,GAAG;IACV,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,GAAG,CAAC,CAAA;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,GAAG,CAAC,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,GAAG,CAAC,CAAA;IAC9C,8BAA8B;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACzD,uCAAuC;IACvC,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,SAAS,EAAE,MAAM,GAAG,OAAO,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAmMD;;;GAGG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/utilities/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,KAAK,EAQN,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAmQlD,KAAK,IAAI,GAAG;IACV,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,GAAG,CAAC,CAAA;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,GAAG,CAAC,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,GAAG,CAAC,CAAA;IAC9C,8BAA8B;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACzD,uCAAuC;IACvC,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,SAAS,EAAE,MAAM,GAAG,OAAO,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAmMD;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,4HAYvB,IAAI,qBA6XN,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/db-mongodb",
|
|
3
|
-
"version": "4.0.0-internal.
|
|
3
|
+
"version": "4.0.0-internal.5f0cd13",
|
|
4
4
|
"description": "The officially supported MongoDB database adapter for Payload",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"predefinedMigrations"
|
|
44
44
|
],
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"mongoose": "8.
|
|
46
|
+
"mongoose": "8.22.1",
|
|
47
47
|
"mongoose-paginate-v2": "1.9.4",
|
|
48
48
|
"prompts": "2.4.2",
|
|
49
49
|
"uuid": "14.0.0"
|
|
@@ -51,13 +51,13 @@
|
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@types/mongoose-aggregate-paginate-v2": "1.0.12",
|
|
53
53
|
"@types/prompts": "^2.4.5",
|
|
54
|
-
"mongodb": "6.
|
|
54
|
+
"mongodb": "6.20.0",
|
|
55
55
|
"mongodb-memory-server": "10.1.4",
|
|
56
56
|
"@payloadcms/eslint-config": "3.28.0",
|
|
57
|
-
"payload": "4.0.0-internal.
|
|
57
|
+
"payload": "4.0.0-internal.5f0cd13"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
|
-
"payload": "4.0.0-internal.
|
|
60
|
+
"payload": "4.0.0-internal.5f0cd13"
|
|
61
61
|
},
|
|
62
62
|
"scripts": {
|
|
63
63
|
"build": "pnpm build:types && pnpm build:swc",
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { PayloadRequest } from 'payload';
|
|
2
|
-
import type { MongooseAdapter } from './index.js';
|
|
3
|
-
export declare function migrateFieldDelocalized(this: MongooseAdapter, args: {
|
|
4
|
-
defaultLocale: string;
|
|
5
|
-
entity: 'collection' | 'global';
|
|
6
|
-
fieldPath: string;
|
|
7
|
-
req: PayloadRequest;
|
|
8
|
-
slug: string;
|
|
9
|
-
}): Promise<void>;
|
|
10
|
-
//# sourceMappingURL=migrateFieldDelocalized.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrateFieldDelocalized.d.ts","sourceRoot":"","sources":["../src/migrateFieldDelocalized.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAUjD,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IACJ,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAA;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,GACA,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { getCollection } from './utilities/getEntity.js';
|
|
2
|
-
function getValueAtPath(doc, path) {
|
|
3
|
-
return path.split('.').reduce((obj, key)=>obj?.[key], doc);
|
|
4
|
-
}
|
|
5
|
-
const BATCH_SIZE = 1000;
|
|
6
|
-
export async function migrateFieldDelocalized(args) {
|
|
7
|
-
const { slug, defaultLocale, entity, fieldPath } = args;
|
|
8
|
-
const { payload } = this;
|
|
9
|
-
payload.logger.warn(`[config-migration] Delocalizing field "${fieldPath}" on ${entity} "${slug}" — keeping only "${defaultLocale}" value`);
|
|
10
|
-
if (entity === 'collection') {
|
|
11
|
-
const { Model } = getCollection({
|
|
12
|
-
adapter: this,
|
|
13
|
-
collectionSlug: slug
|
|
14
|
-
});
|
|
15
|
-
const nativeCollection = Model.collection;
|
|
16
|
-
let page = 1;
|
|
17
|
-
let hasMore = true;
|
|
18
|
-
while(hasMore){
|
|
19
|
-
const docs = await nativeCollection.find({}).skip((page - 1) * BATCH_SIZE).limit(BATCH_SIZE).toArray();
|
|
20
|
-
for (const doc of docs){
|
|
21
|
-
const currentValue = getValueAtPath(doc, fieldPath);
|
|
22
|
-
if (currentValue !== null && currentValue !== undefined && typeof currentValue === 'object' && !Array.isArray(currentValue)) {
|
|
23
|
-
const defaultValue = currentValue[defaultLocale] ?? null;
|
|
24
|
-
const update = {};
|
|
25
|
-
update[fieldPath] = defaultValue;
|
|
26
|
-
await nativeCollection.updateOne({
|
|
27
|
-
_id: doc._id
|
|
28
|
-
}, {
|
|
29
|
-
$set: update
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
hasMore = docs.length === BATCH_SIZE;
|
|
34
|
-
page++;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
payload.logger.info(`[config-migration] Done delocalizing field "${fieldPath}" on ${entity} "${slug}"`);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
//# sourceMappingURL=migrateFieldDelocalized.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/migrateFieldDelocalized.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport type { MongooseAdapter } from './index.js'\n\nimport { getCollection } from './utilities/getEntity.js'\n\nfunction getValueAtPath(doc: Record<string, unknown>, path: string): unknown {\n return path.split('.').reduce((obj: any, key) => obj?.[key], doc)\n}\n\nconst BATCH_SIZE = 1000\n\nexport async function migrateFieldDelocalized(\n this: MongooseAdapter,\n args: {\n defaultLocale: string\n entity: 'collection' | 'global'\n fieldPath: string\n req: PayloadRequest\n slug: string\n },\n): Promise<void> {\n const { slug, defaultLocale, entity, fieldPath } = args\n const { payload } = this\n\n payload.logger.warn(\n `[config-migration] Delocalizing field \"${fieldPath}\" on ${entity} \"${slug}\" — keeping only \"${defaultLocale}\" value`,\n )\n\n if (entity === 'collection') {\n const { Model } = getCollection({ adapter: this, collectionSlug: slug })\n const nativeCollection = Model.collection\n\n let page = 1\n let hasMore = true\n\n while (hasMore) {\n const docs = await nativeCollection\n .find({})\n .skip((page - 1) * BATCH_SIZE)\n .limit(BATCH_SIZE)\n .toArray()\n\n for (const doc of docs) {\n const currentValue = getValueAtPath(doc as any, fieldPath)\n if (\n currentValue !== null &&\n currentValue !== undefined &&\n typeof currentValue === 'object' &&\n !Array.isArray(currentValue)\n ) {\n const defaultValue = (currentValue as Record<string, unknown>)[defaultLocale] ?? null\n const update: Record<string, unknown> = {}\n update[fieldPath] = defaultValue\n await nativeCollection.updateOne({ _id: doc._id }, { $set: update })\n }\n }\n\n hasMore = docs.length === BATCH_SIZE\n page++\n }\n }\n\n payload.logger.info(\n `[config-migration] Done delocalizing field \"${fieldPath}\" on ${entity} \"${slug}\"`,\n )\n}\n"],"names":["getCollection","getValueAtPath","doc","path","split","reduce","obj","key","BATCH_SIZE","migrateFieldDelocalized","args","slug","defaultLocale","entity","fieldPath","payload","logger","warn","Model","adapter","collectionSlug","nativeCollection","collection","page","hasMore","docs","find","skip","limit","toArray","currentValue","undefined","Array","isArray","defaultValue","update","updateOne","_id","$set","length","info"],"mappings":"AAIA,SAASA,aAAa,QAAQ,2BAA0B;AAExD,SAASC,eAAeC,GAA4B,EAAEC,IAAY;IAChE,OAAOA,KAAKC,KAAK,CAAC,KAAKC,MAAM,CAAC,CAACC,KAAUC,MAAQD,KAAK,CAACC,IAAI,EAAEL;AAC/D;AAEA,MAAMM,aAAa;AAEnB,OAAO,eAAeC,wBAEpBC,IAMC;IAED,MAAM,EAAEC,IAAI,EAAEC,aAAa,EAAEC,MAAM,EAAEC,SAAS,EAAE,GAAGJ;IACnD,MAAM,EAAEK,OAAO,EAAE,GAAG,IAAI;IAExBA,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,uCAAuC,EAAEH,UAAU,KAAK,EAAED,OAAO,EAAE,EAAEF,KAAK,kBAAkB,EAAEC,cAAc,OAAO,CAAC;IAGvH,IAAIC,WAAW,cAAc;QAC3B,MAAM,EAAEK,KAAK,EAAE,GAAGlB,cAAc;YAAEmB,SAAS,IAAI;YAAEC,gBAAgBT;QAAK;QACtE,MAAMU,mBAAmBH,MAAMI,UAAU;QAEzC,IAAIC,OAAO;QACX,IAAIC,UAAU;QAEd,MAAOA,QAAS;YACd,MAAMC,OAAO,MAAMJ,iBAChBK,IAAI,CAAC,CAAC,GACNC,IAAI,CAAC,AAACJ,CAAAA,OAAO,CAAA,IAAKf,YAClBoB,KAAK,CAACpB,YACNqB,OAAO;YAEV,KAAK,MAAM3B,OAAOuB,KAAM;gBACtB,MAAMK,eAAe7B,eAAeC,KAAYY;gBAChD,IACEgB,iBAAiB,QACjBA,iBAAiBC,aACjB,OAAOD,iBAAiB,YACxB,CAACE,MAAMC,OAAO,CAACH,eACf;oBACA,MAAMI,eAAe,AAACJ,YAAwC,CAAClB,cAAc,IAAI;oBACjF,MAAMuB,SAAkC,CAAC;oBACzCA,MAAM,CAACrB,UAAU,GAAGoB;oBACpB,MAAMb,iBAAiBe,SAAS,CAAC;wBAAEC,KAAKnC,IAAImC,GAAG;oBAAC,GAAG;wBAAEC,MAAMH;oBAAO;gBACpE;YACF;YAEAX,UAAUC,KAAKc,MAAM,KAAK/B;YAC1Be;QACF;IACF;IAEAR,QAAQC,MAAM,CAACwB,IAAI,CACjB,CAAC,4CAA4C,EAAE1B,UAAU,KAAK,EAAED,OAAO,EAAE,EAAEF,KAAK,CAAC,CAAC;AAEtF"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { PayloadRequest } from 'payload';
|
|
2
|
-
import type { MongooseAdapter } from './index.js';
|
|
3
|
-
export declare function migrateFieldLocalized(this: MongooseAdapter, args: {
|
|
4
|
-
defaultLocale: string;
|
|
5
|
-
entity: 'collection' | 'global';
|
|
6
|
-
fieldPath: string;
|
|
7
|
-
req: PayloadRequest;
|
|
8
|
-
slug: string;
|
|
9
|
-
}): Promise<void>;
|
|
10
|
-
//# sourceMappingURL=migrateFieldLocalized.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrateFieldLocalized.d.ts","sourceRoot":"","sources":["../src/migrateFieldLocalized.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAUjD,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IACJ,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAA;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,GACA,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { getCollection } from './utilities/getEntity.js';
|
|
2
|
-
function getValueAtPath(doc, path) {
|
|
3
|
-
return path.split('.').reduce((obj, key)=>obj?.[key], doc);
|
|
4
|
-
}
|
|
5
|
-
const BATCH_SIZE = 1000;
|
|
6
|
-
export async function migrateFieldLocalized(args) {
|
|
7
|
-
const { slug, defaultLocale, entity, fieldPath } = args;
|
|
8
|
-
const { payload } = this;
|
|
9
|
-
payload.logger.info(`[config-migration] Localizing field "${fieldPath}" on ${entity} "${slug}" → locale "${defaultLocale}"`);
|
|
10
|
-
if (entity === 'collection') {
|
|
11
|
-
const { Model } = getCollection({
|
|
12
|
-
adapter: this,
|
|
13
|
-
collectionSlug: slug
|
|
14
|
-
});
|
|
15
|
-
const nativeCollection = Model.collection;
|
|
16
|
-
let page = 1;
|
|
17
|
-
let hasMore = true;
|
|
18
|
-
while(hasMore){
|
|
19
|
-
const docs = await nativeCollection.find({}).skip((page - 1) * BATCH_SIZE).limit(BATCH_SIZE).toArray();
|
|
20
|
-
for (const doc of docs){
|
|
21
|
-
const currentValue = getValueAtPath(doc, fieldPath);
|
|
22
|
-
// Skip if already in localized shape
|
|
23
|
-
if (currentValue !== null && currentValue !== undefined && typeof currentValue === 'object' && !Array.isArray(currentValue)) {
|
|
24
|
-
continue;
|
|
25
|
-
}
|
|
26
|
-
const update = {};
|
|
27
|
-
update[fieldPath] = {
|
|
28
|
-
[defaultLocale]: currentValue
|
|
29
|
-
};
|
|
30
|
-
await nativeCollection.updateOne({
|
|
31
|
-
_id: doc._id
|
|
32
|
-
}, {
|
|
33
|
-
$set: update
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
hasMore = docs.length === BATCH_SIZE;
|
|
37
|
-
page++;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
payload.logger.info(`[config-migration] Done localizing field "${fieldPath}" on ${entity} "${slug}"`);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
//# sourceMappingURL=migrateFieldLocalized.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/migrateFieldLocalized.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport type { MongooseAdapter } from './index.js'\n\nimport { getCollection } from './utilities/getEntity.js'\n\nfunction getValueAtPath(doc: Record<string, unknown>, path: string): unknown {\n return path.split('.').reduce((obj: any, key) => obj?.[key], doc)\n}\n\nconst BATCH_SIZE = 1000\n\nexport async function migrateFieldLocalized(\n this: MongooseAdapter,\n args: {\n defaultLocale: string\n entity: 'collection' | 'global'\n fieldPath: string\n req: PayloadRequest\n slug: string\n },\n): Promise<void> {\n const { slug, defaultLocale, entity, fieldPath } = args\n const { payload } = this\n\n payload.logger.info(\n `[config-migration] Localizing field \"${fieldPath}\" on ${entity} \"${slug}\" → locale \"${defaultLocale}\"`,\n )\n\n if (entity === 'collection') {\n const { Model } = getCollection({ adapter: this, collectionSlug: slug })\n const nativeCollection = Model.collection\n\n let page = 1\n let hasMore = true\n\n while (hasMore) {\n const docs = await nativeCollection\n .find({})\n .skip((page - 1) * BATCH_SIZE)\n .limit(BATCH_SIZE)\n .toArray()\n\n for (const doc of docs) {\n const currentValue = getValueAtPath(doc as any, fieldPath)\n // Skip if already in localized shape\n if (\n currentValue !== null &&\n currentValue !== undefined &&\n typeof currentValue === 'object' &&\n !Array.isArray(currentValue)\n ) {\n continue\n }\n const update: Record<string, unknown> = {}\n update[fieldPath] = { [defaultLocale]: currentValue }\n await nativeCollection.updateOne({ _id: doc._id }, { $set: update })\n }\n\n hasMore = docs.length === BATCH_SIZE\n page++\n }\n }\n\n payload.logger.info(\n `[config-migration] Done localizing field \"${fieldPath}\" on ${entity} \"${slug}\"`,\n )\n}\n"],"names":["getCollection","getValueAtPath","doc","path","split","reduce","obj","key","BATCH_SIZE","migrateFieldLocalized","args","slug","defaultLocale","entity","fieldPath","payload","logger","info","Model","adapter","collectionSlug","nativeCollection","collection","page","hasMore","docs","find","skip","limit","toArray","currentValue","undefined","Array","isArray","update","updateOne","_id","$set","length"],"mappings":"AAIA,SAASA,aAAa,QAAQ,2BAA0B;AAExD,SAASC,eAAeC,GAA4B,EAAEC,IAAY;IAChE,OAAOA,KAAKC,KAAK,CAAC,KAAKC,MAAM,CAAC,CAACC,KAAUC,MAAQD,KAAK,CAACC,IAAI,EAAEL;AAC/D;AAEA,MAAMM,aAAa;AAEnB,OAAO,eAAeC,sBAEpBC,IAMC;IAED,MAAM,EAAEC,IAAI,EAAEC,aAAa,EAAEC,MAAM,EAAEC,SAAS,EAAE,GAAGJ;IACnD,MAAM,EAAEK,OAAO,EAAE,GAAG,IAAI;IAExBA,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,qCAAqC,EAAEH,UAAU,KAAK,EAAED,OAAO,EAAE,EAAEF,KAAK,YAAY,EAAEC,cAAc,CAAC,CAAC;IAGzG,IAAIC,WAAW,cAAc;QAC3B,MAAM,EAAEK,KAAK,EAAE,GAAGlB,cAAc;YAAEmB,SAAS,IAAI;YAAEC,gBAAgBT;QAAK;QACtE,MAAMU,mBAAmBH,MAAMI,UAAU;QAEzC,IAAIC,OAAO;QACX,IAAIC,UAAU;QAEd,MAAOA,QAAS;YACd,MAAMC,OAAO,MAAMJ,iBAChBK,IAAI,CAAC,CAAC,GACNC,IAAI,CAAC,AAACJ,CAAAA,OAAO,CAAA,IAAKf,YAClBoB,KAAK,CAACpB,YACNqB,OAAO;YAEV,KAAK,MAAM3B,OAAOuB,KAAM;gBACtB,MAAMK,eAAe7B,eAAeC,KAAYY;gBAChD,qCAAqC;gBACrC,IACEgB,iBAAiB,QACjBA,iBAAiBC,aACjB,OAAOD,iBAAiB,YACxB,CAACE,MAAMC,OAAO,CAACH,eACf;oBACA;gBACF;gBACA,MAAMI,SAAkC,CAAC;gBACzCA,MAAM,CAACpB,UAAU,GAAG;oBAAE,CAACF,cAAc,EAAEkB;gBAAa;gBACpD,MAAMT,iBAAiBc,SAAS,CAAC;oBAAEC,KAAKlC,IAAIkC,GAAG;gBAAC,GAAG;oBAAEC,MAAMH;gBAAO;YACpE;YAEAV,UAAUC,KAAKa,MAAM,KAAK9B;YAC1Be;QACF;IACF;IAEAR,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,0CAA0C,EAAEH,UAAU,KAAK,EAAED,OAAO,EAAE,EAAEF,KAAK,CAAC,CAAC;AAEpF"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { PayloadRequest } from 'payload';
|
|
2
|
-
import type { MongooseAdapter } from './index.js';
|
|
3
|
-
export declare function migrateVersionsEnabled(this: MongooseAdapter, args: {
|
|
4
|
-
entity: 'collection' | 'global';
|
|
5
|
-
initialStatus: 'draft' | 'published';
|
|
6
|
-
req: PayloadRequest;
|
|
7
|
-
slug: string;
|
|
8
|
-
}): Promise<void>;
|
|
9
|
-
//# sourceMappingURL=migrateVersionsEnabled.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrateVersionsEnabled.d.ts","sourceRoot":"","sources":["../src/migrateVersionsEnabled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAIjD,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IACJ,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAA;IAC/B,aAAa,EAAE,OAAO,GAAG,WAAW,CAAA;IACpC,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,GACA,OAAO,CAAC,IAAI,CAAC,CAsCf"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { batchTransform } from 'payload/migrations';
|
|
2
|
-
const BATCH_SIZE = 1000;
|
|
3
|
-
export async function migrateVersionsEnabled(args) {
|
|
4
|
-
const { slug, entity, initialStatus, req } = args;
|
|
5
|
-
const { payload } = this;
|
|
6
|
-
payload.logger.info(`[config-migration] MongoDB: creating version entries for ${entity} "${slug}" with _status: ${initialStatus}`);
|
|
7
|
-
if (entity === 'collection') {
|
|
8
|
-
await batchTransform({
|
|
9
|
-
batchSize: BATCH_SIZE,
|
|
10
|
-
fetcher: ({ limit, page })=>payload.db.find({
|
|
11
|
-
collection: slug,
|
|
12
|
-
limit,
|
|
13
|
-
page,
|
|
14
|
-
pagination: true,
|
|
15
|
-
req
|
|
16
|
-
}),
|
|
17
|
-
transform: async (doc)=>{
|
|
18
|
-
await payload.db.createVersion({
|
|
19
|
-
autosave: false,
|
|
20
|
-
collectionSlug: slug,
|
|
21
|
-
createdAt: doc.createdAt ?? new Date().toISOString(),
|
|
22
|
-
parent: doc.id,
|
|
23
|
-
req,
|
|
24
|
-
updatedAt: doc.updatedAt ?? new Date().toISOString(),
|
|
25
|
-
versionData: {
|
|
26
|
-
...doc,
|
|
27
|
-
_status: initialStatus
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
} else {
|
|
33
|
-
const globalDoc = await payload.db.findGlobal({
|
|
34
|
-
slug,
|
|
35
|
-
req
|
|
36
|
-
});
|
|
37
|
-
await payload.db.createGlobalVersion({
|
|
38
|
-
autosave: false,
|
|
39
|
-
createdAt: globalDoc.createdAt ?? new Date().toISOString(),
|
|
40
|
-
globalSlug: slug,
|
|
41
|
-
req,
|
|
42
|
-
updatedAt: globalDoc.updatedAt ?? new Date().toISOString(),
|
|
43
|
-
versionData: {
|
|
44
|
-
...globalDoc,
|
|
45
|
-
_status: initialStatus
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
payload.logger.info(`[config-migration] MongoDB: done creating version entries for "${slug}"`);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
//# sourceMappingURL=migrateVersionsEnabled.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/migrateVersionsEnabled.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { batchTransform } from 'payload/migrations'\n\nimport type { MongooseAdapter } from './index.js'\n\nconst BATCH_SIZE = 1000\n\nexport async function migrateVersionsEnabled(\n this: MongooseAdapter,\n args: {\n entity: 'collection' | 'global'\n initialStatus: 'draft' | 'published'\n req: PayloadRequest\n slug: string\n },\n): Promise<void> {\n const { slug, entity, initialStatus, req } = args\n const { payload } = this\n\n payload.logger.info(\n `[config-migration] MongoDB: creating version entries for ${entity} \"${slug}\" with _status: ${initialStatus}`,\n )\n\n if (entity === 'collection') {\n await batchTransform({\n batchSize: BATCH_SIZE,\n fetcher: ({ limit, page }: { limit: number; page: number }) =>\n payload.db.find({ collection: slug, limit, page, pagination: true, req }),\n transform: async (doc: any) => {\n await payload.db.createVersion({\n autosave: false,\n collectionSlug: slug as any,\n createdAt: doc.createdAt ?? new Date().toISOString(),\n parent: doc.id,\n req,\n updatedAt: doc.updatedAt ?? new Date().toISOString(),\n versionData: { ...doc, _status: initialStatus },\n })\n },\n })\n } else {\n const globalDoc = await payload.db.findGlobal({ slug, req })\n await payload.db.createGlobalVersion({\n autosave: false,\n createdAt: globalDoc.createdAt ?? new Date().toISOString(),\n globalSlug: slug as any,\n req,\n updatedAt: globalDoc.updatedAt ?? new Date().toISOString(),\n versionData: { ...globalDoc, _status: initialStatus },\n })\n }\n\n payload.logger.info(`[config-migration] MongoDB: done creating version entries for \"${slug}\"`)\n}\n"],"names":["batchTransform","BATCH_SIZE","migrateVersionsEnabled","args","slug","entity","initialStatus","req","payload","logger","info","batchSize","fetcher","limit","page","db","find","collection","pagination","transform","doc","createVersion","autosave","collectionSlug","createdAt","Date","toISOString","parent","id","updatedAt","versionData","_status","globalDoc","findGlobal","createGlobalVersion","globalSlug"],"mappings":"AAEA,SAASA,cAAc,QAAQ,qBAAoB;AAInD,MAAMC,aAAa;AAEnB,OAAO,eAAeC,uBAEpBC,IAKC;IAED,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEC,aAAa,EAAEC,GAAG,EAAE,GAAGJ;IAC7C,MAAM,EAAEK,OAAO,EAAE,GAAG,IAAI;IAExBA,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,yDAAyD,EAAEL,OAAO,EAAE,EAAED,KAAK,gBAAgB,EAAEE,eAAe;IAG/G,IAAID,WAAW,cAAc;QAC3B,MAAML,eAAe;YACnBW,WAAWV;YACXW,SAAS,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAmC,GACxDN,QAAQO,EAAE,CAACC,IAAI,CAAC;oBAAEC,YAAYb;oBAAMS;oBAAOC;oBAAMI,YAAY;oBAAMX;gBAAI;YACzEY,WAAW,OAAOC;gBAChB,MAAMZ,QAAQO,EAAE,CAACM,aAAa,CAAC;oBAC7BC,UAAU;oBACVC,gBAAgBnB;oBAChBoB,WAAWJ,IAAII,SAAS,IAAI,IAAIC,OAAOC,WAAW;oBAClDC,QAAQP,IAAIQ,EAAE;oBACdrB;oBACAsB,WAAWT,IAAIS,SAAS,IAAI,IAAIJ,OAAOC,WAAW;oBAClDI,aAAa;wBAAE,GAAGV,GAAG;wBAAEW,SAASzB;oBAAc;gBAChD;YACF;QACF;IACF,OAAO;QACL,MAAM0B,YAAY,MAAMxB,QAAQO,EAAE,CAACkB,UAAU,CAAC;YAAE7B;YAAMG;QAAI;QAC1D,MAAMC,QAAQO,EAAE,CAACmB,mBAAmB,CAAC;YACnCZ,UAAU;YACVE,WAAWQ,UAAUR,SAAS,IAAI,IAAIC,OAAOC,WAAW;YACxDS,YAAY/B;YACZG;YACAsB,WAAWG,UAAUH,SAAS,IAAI,IAAIJ,OAAOC,WAAW;YACxDI,aAAa;gBAAE,GAAGE,SAAS;gBAAED,SAASzB;YAAc;QACtD;IACF;IAEAE,QAAQC,MAAM,CAACC,IAAI,CAAC,CAAC,+DAA+D,EAAEN,KAAK,CAAC,CAAC;AAC/F"}
|