@payloadcms/db-mongodb 3.0.0-beta.54 → 3.0.0-beta.56
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/create.js +6 -2
- package/dist/create.js.map +1 -1
- package/dist/updateOne.js +6 -2
- package/dist/updateOne.js.map +1 -1
- package/dist/utilities/handleError.d.ts +6 -2
- package/dist/utilities/handleError.d.ts.map +1 -1
- package/dist/utilities/handleError.js +11 -8
- package/dist/utilities/handleError.js.map +1 -1
- package/package.json +4 -4
package/dist/create.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import handleError from './utilities/handleError.js';
|
1
|
+
import { handleError } from './utilities/handleError.js';
|
2
2
|
import { withSession } from './withSession.js';
|
3
3
|
export const create = async function create({ collection, data, req = {} }) {
|
4
4
|
const Model = this.collections[collection];
|
@@ -9,7 +9,11 @@ export const create = async function create({ collection, data, req = {} }) {
|
|
9
9
|
data
|
10
10
|
], options);
|
11
11
|
} catch (error) {
|
12
|
-
handleError(
|
12
|
+
handleError({
|
13
|
+
collection,
|
14
|
+
error,
|
15
|
+
req
|
16
|
+
});
|
13
17
|
}
|
14
18
|
// doc.toJSON does not do stuff like converting ObjectIds to string, or date strings to date objects. That's why we use JSON.parse/stringify here
|
15
19
|
const result = JSON.parse(JSON.stringify(doc));
|
package/dist/create.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/create.ts"],"sourcesContent":["import type { Create, Document, PayloadRequestWithData } from 'payload'\n\nimport type { MongooseAdapter } from './index.js'\n\nimport handleError from './utilities/handleError.js'\nimport { withSession } from './withSession.js'\n\nexport const create: Create = async function create(\n this: MongooseAdapter,\n { collection, data, req = {} as PayloadRequestWithData },\n) {\n const Model = this.collections[collection]\n const options = withSession(this, req.transactionID)\n let doc\n try {\n ;[doc] = await Model.create([data], options)\n } catch (error) {\n handleError(error, req)\n }\n\n // doc.toJSON does not do stuff like converting ObjectIds to string, or date strings to date objects. That's why we use JSON.parse/stringify here\n const result: Document = JSON.parse(JSON.stringify(doc))\n const verificationToken = doc._verificationToken\n\n // custom id type reset\n result.id = result._id\n if (verificationToken) {\n result._verificationToken = verificationToken\n }\n\n return result\n}\n"],"names":["handleError","withSession","create","collection","data","req","Model","collections","options","transactionID","doc","error","result","JSON","parse","stringify","verificationToken","_verificationToken","id","_id"],"mappings":"AAIA,
|
1
|
+
{"version":3,"sources":["../src/create.ts"],"sourcesContent":["import type { Create, Document, PayloadRequestWithData } from 'payload'\n\nimport type { MongooseAdapter } from './index.js'\n\nimport { handleError } from './utilities/handleError.js'\nimport { withSession } from './withSession.js'\n\nexport const create: Create = async function create(\n this: MongooseAdapter,\n { collection, data, req = {} as PayloadRequestWithData },\n) {\n const Model = this.collections[collection]\n const options = withSession(this, req.transactionID)\n let doc\n try {\n ;[doc] = await Model.create([data], options)\n } catch (error) {\n handleError({ collection, error, req })\n }\n\n // doc.toJSON does not do stuff like converting ObjectIds to string, or date strings to date objects. That's why we use JSON.parse/stringify here\n const result: Document = JSON.parse(JSON.stringify(doc))\n const verificationToken = doc._verificationToken\n\n // custom id type reset\n result.id = result._id\n if (verificationToken) {\n result._verificationToken = verificationToken\n }\n\n return result\n}\n"],"names":["handleError","withSession","create","collection","data","req","Model","collections","options","transactionID","doc","error","result","JSON","parse","stringify","verificationToken","_verificationToken","id","_id"],"mappings":"AAIA,SAASA,WAAW,QAAQ,6BAA4B;AACxD,SAASC,WAAW,QAAQ,mBAAkB;AAE9C,OAAO,MAAMC,SAAiB,eAAeA,OAE3C,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,CAAC,CAA2B,EAAE;IAExD,MAAMC,QAAQ,IAAI,CAACC,WAAW,CAACJ,WAAW;IAC1C,MAAMK,UAAUP,YAAY,IAAI,EAAEI,IAAII,aAAa;IACnD,IAAIC;IACJ,IAAI;QACD,CAACA,IAAI,GAAG,MAAMJ,MAAMJ,MAAM,CAAC;YAACE;SAAK,EAAEI;IACtC,EAAE,OAAOG,OAAO;QACdX,YAAY;YAAEG;YAAYQ;YAAON;QAAI;IACvC;IAEA,iJAAiJ;IACjJ,MAAMO,SAAmBC,KAAKC,KAAK,CAACD,KAAKE,SAAS,CAACL;IACnD,MAAMM,oBAAoBN,IAAIO,kBAAkB;IAEhD,uBAAuB;IACvBL,OAAOM,EAAE,GAAGN,OAAOO,GAAG;IACtB,IAAIH,mBAAmB;QACrBJ,OAAOK,kBAAkB,GAAGD;IAC9B;IAEA,OAAOJ;AACT,EAAC"}
|
package/dist/updateOne.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import handleError from './utilities/handleError.js';
|
1
|
+
import { handleError } from './utilities/handleError.js';
|
2
2
|
import sanitizeInternalFields from './utilities/sanitizeInternalFields.js';
|
3
3
|
import { withSession } from './withSession.js';
|
4
4
|
export const updateOne = async function updateOne({ id, collection, data, locale, req = {}, where: whereArg }) {
|
@@ -22,7 +22,11 @@ export const updateOne = async function updateOne({ id, collection, data, locale
|
|
22
22
|
try {
|
23
23
|
result = await Model.findOneAndUpdate(query, data, options);
|
24
24
|
} catch (error) {
|
25
|
-
handleError(
|
25
|
+
handleError({
|
26
|
+
collection,
|
27
|
+
error,
|
28
|
+
req
|
29
|
+
});
|
26
30
|
}
|
27
31
|
result = JSON.parse(JSON.stringify(result));
|
28
32
|
result.id = result._id;
|
package/dist/updateOne.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/updateOne.ts"],"sourcesContent":["import type { PayloadRequestWithData, UpdateOne } from 'payload'\n\nimport type { MongooseAdapter } from './index.js'\n\nimport handleError from './utilities/handleError.js'\nimport sanitizeInternalFields from './utilities/sanitizeInternalFields.js'\nimport { withSession } from './withSession.js'\n\nexport const updateOne: UpdateOne = async function updateOne(\n this: MongooseAdapter,\n { id, collection, data, locale, req = {} as PayloadRequestWithData, where: whereArg },\n) {\n const where = id ? { id: { equals: id } } : whereArg\n const Model = this.collections[collection]\n const options = {\n ...withSession(this, req.transactionID),\n lean: true,\n new: true,\n }\n\n const query = await Model.buildQuery({\n locale,\n payload: this.payload,\n where,\n })\n\n let result\n\n try {\n result = await Model.findOneAndUpdate(query, data, options)\n } catch (error) {\n handleError(error, req)\n }\n\n result = JSON.parse(JSON.stringify(result))\n result.id = result._id\n result = sanitizeInternalFields(result)\n\n return result\n}\n"],"names":["handleError","sanitizeInternalFields","withSession","updateOne","id","collection","data","locale","req","where","whereArg","equals","Model","collections","options","transactionID","lean","new","query","buildQuery","payload","result","findOneAndUpdate","error","JSON","parse","stringify","_id"],"mappings":"AAIA,
|
1
|
+
{"version":3,"sources":["../src/updateOne.ts"],"sourcesContent":["import type { PayloadRequestWithData, UpdateOne } from 'payload'\n\nimport type { MongooseAdapter } from './index.js'\n\nimport { handleError } from './utilities/handleError.js'\nimport sanitizeInternalFields from './utilities/sanitizeInternalFields.js'\nimport { withSession } from './withSession.js'\n\nexport const updateOne: UpdateOne = async function updateOne(\n this: MongooseAdapter,\n { id, collection, data, locale, req = {} as PayloadRequestWithData, where: whereArg },\n) {\n const where = id ? { id: { equals: id } } : whereArg\n const Model = this.collections[collection]\n const options = {\n ...withSession(this, req.transactionID),\n lean: true,\n new: true,\n }\n\n const query = await Model.buildQuery({\n locale,\n payload: this.payload,\n where,\n })\n\n let result\n\n try {\n result = await Model.findOneAndUpdate(query, data, options)\n } catch (error) {\n handleError({ collection, error, req })\n }\n\n result = JSON.parse(JSON.stringify(result))\n result.id = result._id\n result = sanitizeInternalFields(result)\n\n return result\n}\n"],"names":["handleError","sanitizeInternalFields","withSession","updateOne","id","collection","data","locale","req","where","whereArg","equals","Model","collections","options","transactionID","lean","new","query","buildQuery","payload","result","findOneAndUpdate","error","JSON","parse","stringify","_id"],"mappings":"AAIA,SAASA,WAAW,QAAQ,6BAA4B;AACxD,OAAOC,4BAA4B,wCAAuC;AAC1E,SAASC,WAAW,QAAQ,mBAAkB;AAE9C,OAAO,MAAMC,YAAuB,eAAeA,UAEjD,EAAEC,EAAE,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,MAAM,CAAC,CAA2B,EAAEC,OAAOC,QAAQ,EAAE;IAErF,MAAMD,QAAQL,KAAK;QAAEA,IAAI;YAAEO,QAAQP;QAAG;IAAE,IAAIM;IAC5C,MAAME,QAAQ,IAAI,CAACC,WAAW,CAACR,WAAW;IAC1C,MAAMS,UAAU;QACd,GAAGZ,YAAY,IAAI,EAAEM,IAAIO,aAAa,CAAC;QACvCC,MAAM;QACNC,KAAK;IACP;IAEA,MAAMC,QAAQ,MAAMN,MAAMO,UAAU,CAAC;QACnCZ;QACAa,SAAS,IAAI,CAACA,OAAO;QACrBX;IACF;IAEA,IAAIY;IAEJ,IAAI;QACFA,SAAS,MAAMT,MAAMU,gBAAgB,CAACJ,OAAOZ,MAAMQ;IACrD,EAAE,OAAOS,OAAO;QACdvB,YAAY;YAAEK;YAAYkB;YAAOf;QAAI;IACvC;IAEAa,SAASG,KAAKC,KAAK,CAACD,KAAKE,SAAS,CAACL;IACnCA,OAAOjB,EAAE,GAAGiB,OAAOM,GAAG;IACtBN,SAASpB,uBAAuBoB;IAEhC,OAAOA;AACT,EAAC"}
|
@@ -1,3 +1,7 @@
|
|
1
|
-
declare const handleError: (error
|
2
|
-
|
1
|
+
export declare const handleError: ({ collection, error, global, req, }: {
|
2
|
+
collection?: string;
|
3
|
+
error: any;
|
4
|
+
global?: string;
|
5
|
+
req: any;
|
6
|
+
}) => never;
|
3
7
|
//# sourceMappingURL=handleError.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"handleError.d.ts","sourceRoot":"","sources":["../../src/utilities/handleError.ts"],"names":[],"mappings":"AAGA,
|
1
|
+
{"version":3,"file":"handleError.d.ts","sourceRoot":"","sources":["../../src/utilities/handleError.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,wCAKrB;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,MAAA;IACL,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,MAAA;CACJ,UAqBA,CAAA"}
|
@@ -1,20 +1,23 @@
|
|
1
1
|
import httpStatus from 'http-status';
|
2
2
|
import { APIError, ValidationError } from 'payload';
|
3
|
-
const handleError = (error, req)=>{
|
3
|
+
export const handleError = ({ collection, error, global, req })=>{
|
4
4
|
// Handle uniqueness error from MongoDB
|
5
5
|
if (error.code === 11000 && error.keyValue) {
|
6
|
-
throw new ValidationError(
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
6
|
+
throw new ValidationError({
|
7
|
+
collection,
|
8
|
+
errors: [
|
9
|
+
{
|
10
|
+
field: Object.keys(error.keyValue)[0],
|
11
|
+
message: req.t('error:valueMustBeUnique')
|
12
|
+
}
|
13
|
+
],
|
14
|
+
global
|
15
|
+
}, req.t);
|
12
16
|
} else if (error.code === 11000) {
|
13
17
|
throw new APIError(req.t('error:valueMustBeUnique'), httpStatus.BAD_REQUEST);
|
14
18
|
} else {
|
15
19
|
throw error;
|
16
20
|
}
|
17
21
|
};
|
18
|
-
export default handleError;
|
19
22
|
|
20
23
|
//# sourceMappingURL=handleError.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/handleError.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { APIError, ValidationError } from 'payload'\n\
|
1
|
+
{"version":3,"sources":["../../src/utilities/handleError.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { APIError, ValidationError } from 'payload'\n\nexport const handleError = ({\n collection,\n error,\n global,\n req,\n}: {\n collection?: string\n error\n global?: string\n req\n}) => {\n // Handle uniqueness error from MongoDB\n if (error.code === 11000 && error.keyValue) {\n throw new ValidationError(\n {\n collection,\n errors: [\n {\n field: Object.keys(error.keyValue)[0],\n message: req.t('error:valueMustBeUnique'),\n },\n ],\n global,\n },\n req.t,\n )\n } else if (error.code === 11000) {\n throw new APIError(req.t('error:valueMustBeUnique'), httpStatus.BAD_REQUEST)\n } else {\n throw error\n }\n}\n"],"names":["httpStatus","APIError","ValidationError","handleError","collection","error","global","req","code","keyValue","errors","field","Object","keys","message","t","BAD_REQUEST"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,QAAQ,EAAEC,eAAe,QAAQ,UAAS;AAEnD,OAAO,MAAMC,cAAc,CAAC,EAC1BC,UAAU,EACVC,KAAK,EACLC,MAAM,EACNC,GAAG,EAMJ;IACC,uCAAuC;IACvC,IAAIF,MAAMG,IAAI,KAAK,SAASH,MAAMI,QAAQ,EAAE;QAC1C,MAAM,IAAIP,gBACR;YACEE;YACAM,QAAQ;gBACN;oBACEC,OAAOC,OAAOC,IAAI,CAACR,MAAMI,QAAQ,CAAC,CAAC,EAAE;oBACrCK,SAASP,IAAIQ,CAAC,CAAC;gBACjB;aACD;YACDT;QACF,GACAC,IAAIQ,CAAC;IAET,OAAO,IAAIV,MAAMG,IAAI,KAAK,OAAO;QAC/B,MAAM,IAAIP,SAASM,IAAIQ,CAAC,CAAC,4BAA4Bf,WAAWgB,WAAW;IAC7E,OAAO;QACL,MAAMX;IACR;AACF,EAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@payloadcms/db-mongodb",
|
3
|
-
"version": "3.0.0-beta.
|
3
|
+
"version": "3.0.0-beta.56",
|
4
4
|
"description": "The officially supported MongoDB database adapter for Payload",
|
5
5
|
"homepage": "https://payloadcms.com",
|
6
6
|
"repository": {
|
@@ -38,11 +38,11 @@
|
|
38
38
|
"@types/mongoose-aggregate-paginate-v2": "1.0.9",
|
39
39
|
"mongodb": "4.17.1",
|
40
40
|
"mongodb-memory-server": "^9",
|
41
|
-
"
|
42
|
-
"
|
41
|
+
"payload": "3.0.0-beta.56",
|
42
|
+
"@payloadcms/eslint-config": "1.1.1"
|
43
43
|
},
|
44
44
|
"peerDependencies": {
|
45
|
-
"payload": "3.0.0-beta.
|
45
|
+
"payload": "3.0.0-beta.56"
|
46
46
|
},
|
47
47
|
"scripts": {
|
48
48
|
"build": "pnpm build:types && pnpm build:swc",
|