diff --git a/src/app/api/graphql/resolvers.js b/src/app/api/graphql/resolvers.js index bc03e8d..5f8a503 100644 --- a/src/app/api/graphql/resolvers.js +++ b/src/app/api/graphql/resolvers.js @@ -62,9 +62,7 @@ const resolvers = { for (let task of body.tasks) { let agent = null; if (task.agent) { - agent = await prisma.agent.findFirst({ - where: { id: task.agent }, - }); + agent = crew.find((a) => a.id === task.agent) ?? null; } tasks.push({ ...task, @@ -97,9 +95,7 @@ const resolvers = { for (let task of body.tasks) { let agent = null; if (task.agent) { - agent = await prisma.agent.findFirst({ - where: { id: task.agent }, - }); + agent = crew.find((a) => a.id === task.agent) ?? null; } tasks.push({ ...task, diff --git a/src/components/modals/mission_modal.tsx b/src/components/modals/mission_modal.tsx index b4fd707..75883e0 100644 --- a/src/components/modals/mission_modal.tsx +++ b/src/components/modals/mission_modal.tsx @@ -127,14 +127,23 @@ export default function MissionModal(props: { value: agent.id, }))} multiple + value={tempMission.crew.map((agent) => agent.id!)} onValueChange={(event: any) => { const newValue = event.map((item: any) => item.value); const newCrew = agentsData.agents.filter( (agent: Agent) => newValue.includes(agent.id) ); + const newTasks = tempMission.tasks.map((task) => ({ + ...task, + agent: + newCrew.find( + (agent: Agent) => agent.id === task.agent?.id + ) ?? null, + })); setTempMission((prevState) => ({ ...prevState!, crew: newCrew, + tasks: newTasks, })); }} theme={selectTheme} @@ -208,8 +217,8 @@ export default function MissionModal(props: { {isEdit ? (