Я хотел бы нормализовать вложенный ответ данных JSON, который я получаю из API. Ответ данных содержит агентов, которые принадлежат к нескольким сменам. Отношения между сущностями являются ассоциацией «многие ко многим», поскольку «Сдвиг» может включать много агентов, а агент может принадлежать многим сменам. Итак, я наткнулся на эту утилиту нормализатора, где я попытался нормализовать дату в этой форме, чтобы я мог разобрать это проще.
Я пытался нормализовать эту форму
{
entities : {
shifts:[{...}],
agents:[{...}]
}
}
import { normalize, schema } from 'normalizr';
import stubData from './stubData';
const agent = new schema.Entity('agents', {});
const day_agents = new schema.Entity('day_agents', {
agents: [agent]
});
const shift = new schema.Entity('shifts', {
day_agents
});
const normalizedData = normalize(stubData, shift);
stubData:
"shifts": [{
"id": 1,
"name": "Shift 1",
"start_time": "9:00",
"end_time": "5:00",
"day_agents": {
"10/4/2019": {
"leaves": 1,
"agents": [
{
"id": 1,
"name": "a",
"email": "a@b.co",
"group_id": 1,
"Leave": false
},
{
"id": 2,
"name": "b",
"email": "b@b.co",
"group_id": 1,
"Leave": false
}
]
},
"11/4/2019": {
"leaves": 1,
"agents": [{
"id": 4,
"name": "c",
"email": "c@c.co",
"group_id": 2,
"Leave": true
},
{
"id": 5,
"name": "d",
"email": "d@d.co",
"group_id": 2,
"Leave": false
}
]
}
}
}]