diff --git a/backend/src/routes/api/navigate/group.js b/backend/src/routes/api/navigate/group.js index 486b1157..9b06c307 100644 --- a/backend/src/routes/api/navigate/group.js +++ b/backend/src/routes/api/navigate/group.js @@ -213,6 +213,7 @@ export const groupNavigate = async (req) => { export const groupReset = async (req) => { const { uid, currentScene } = req.body; + const groupId = req.params.groupId; const group = await getGroupByIdAndUser(req.params.groupId, uid); if (!group) { throw new HttpError("Group not found", STATUS.NOT_FOUND); @@ -233,12 +234,16 @@ export const groupReset = async (req) => { const hasReset = scene.components.some((c) => c.type === "RESET_BUTTON"); if (!hasReset) throw new HttpError("Invalid reset", STATUS.FORBIDDEN); - if (!(await deleteAllFlags(group))) - throw new HttpError("Failed to delete flags", STATUS.INTERNAL_SERVER_ERROR); + await Group.updateOne( + { _id: groupId }, + { $set: { path: [], currentFlags: [] } } + ).exec(); + + const groupTest = await Group.findById(groupId).lean(); - if (!(await deleteAllPaths(group))) - throw new HttpError("Failed to delete paths", STATUS.INTERNAL_SERVER_ERROR); + console.log(groupTest); + console.log(`${Date.now()} reset done`) return { status: STATUS.OK }; }; diff --git a/frontend/src/features/playScenario/PlayScenarioPageMulti.jsx b/frontend/src/features/playScenario/PlayScenarioPageMulti.jsx index 4f5beab1..bdf2017e 100644 --- a/frontend/src/features/playScenario/PlayScenarioPageMulti.jsx +++ b/frontend/src/features/playScenario/PlayScenarioPageMulti.jsx @@ -107,12 +107,14 @@ export default function PlayScenarioPageMulti({ group }) { const reset = async () => { try { - const res = await usePost( + await usePost( `api/navigate/group/reset/${group._id}`, { currentScene: sceneId }, user.getIdToken.bind(user) ); + setAddFlags([]); + setRemoveFlags([]); setPrevious(null); history.replace(`/play/${scenarioId}/multiplayer`); } catch (error) {