From c85c350923c6b1e8ea2aa5c1ba59803eb24ef420 Mon Sep 17 00:00:00 2001 From: Jannis Baum Date: Tue, 4 Apr 2023 10:37:40 +0200 Subject: [PATCH 1/2] fix(#579): disable validation (& middleware) for backup loading --- anni/src/pages/api/backup.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/anni/src/pages/api/backup.ts b/anni/src/pages/api/backup.ts index f4a3ae323..c2a835ac3 100644 --- a/anni/src/pages/api/backup.ts +++ b/anni/src/pages/api/backup.ts @@ -38,7 +38,9 @@ const api: NextApiHandler = async (req, res) => const data: Record = req.body.data; await Promise.all( Object.entries(data).map(([name, docs]) => - mongoose.models[name].insertMany(docs), + mongoose.models[name].create(docs, { + validateBeforeSave: false, + }), ), ); return { successStatus: 201 }; From 7f83b33e56511882192a366cca9b322d9ca040e9 Mon Sep 17 00:00:00 2001 From: Jannis Baum Date: Tue, 4 Apr 2023 10:38:38 +0200 Subject: [PATCH 2/2] feat(#579): get backup data from body before deleting --- anni/src/pages/api/backup.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/anni/src/pages/api/backup.ts b/anni/src/pages/api/backup.ts index c2a835ac3..5ebd87dfc 100644 --- a/anni/src/pages/api/backup.ts +++ b/anni/src/pages/api/backup.ts @@ -27,6 +27,8 @@ const api: NextApiHandler = async (req, res) => return { successStatus: 200, data }; }, POST: async () => { + const data: Record = req.body.data; + await dbConnect(); await Promise.all( @@ -35,7 +37,6 @@ const api: NextApiHandler = async (req, res) => ), ); - const data: Record = req.body.data; await Promise.all( Object.entries(data).map(([name, docs]) => mongoose.models[name].create(docs, {