J'ai besoin de mettre à jour le statut de l'agent. Si le statut est vérifié, une API nécessite document_name (multiple) et reason. Si le statut est en attente et rejeté, une API a besoin de la seule raison.mettre à jour le statut de l'agent dans redux saga
Ceci est l'objet d'un agent.
{
"active": true,
"agent_info": [], // an array of object where document_name and reason has to be updated with
"user_role": "enduser",
"last_name": "m",
"middle_name": null,
"username": "[email protected]",
"_id": "594f4665ae36b70029f80ba0",
"first_name": "pm",
"email": "[email protected]",
}
lors de la présentation de l'état, je déclenche l'action suivante pour une saga
this.props.updateAgentStatus(status, agent, accepted, reason);
satus est l'état de l'agent de l'agent (vérifié, en attente ou rejeté) est le détail de l'agent accepté est le document dans le cas où le statut est raison Verified est la raison de l'état
function* updateAgent(action) {
const agentId = action.agent._id;
const status = action.status;
let agent = yield select(selectAgent(), action);
let updatedAgent;
let statusUpdatedAgent = agent.set("agent_status", fromJS(action.status));
if (status === "verified") {
updatedAgent = statusUpdatedAgent
.setIn(["agent_info", 0, "approval_documents"], fromJS(action.accepted))
.setIn(["agent_info", 0, "reason"], fromJS(action.reason));
} else {
updatedAgent = statusUpdatedAgent.setIn(
["agent_info", 0, "reason"],
fromJS(action.reason)
);
}
console.log("updateAgentStatus", updatedAgent.toJS());
// above log gives me the whole object of agent by updating the agent_info object with
// document_name and reason which is inside of agent_info block and agent_status which is
// outside the agent_info block.
yield fork(
XcelTrip.put(
`api/agent/applicant/status/${agentId}/?status=${status}`,
agentStatusUpdated,
agentStatusUpdatingError,
updatedAgent.toJS(),
agentId,
status
)
);
}
Ai-je besoin de passer l'objet entier ou simplement le nom de document et la raison si c'est un statut vérifié ou juste la raison si il est en attente et le statut rejeté? Si c'est juste document_name et reason, comment puis-je l'envoyer en tenant compte de tous ces statuts, car dans le cas d'un document_name supplémentaire vérifié est nécessaire?