вопрос от новичка, 1) тоесть запросить только одну структуру (первую в вашем случае) и сделать .map на клиенте - плохо; 2) вы пишите лучше сделать отдельный тип - тоесть тип что-то вроде типа categoryIds - который массив id'шек только ?
1. запросить одну структуру, а потом рекурсивно делать дерово, или из дерева делать список тоже рекурсивно. Это не то чтобы сложна, просто бэк это сделает в разы быстрее и по сети лишних издержек нет. Ну тоесть если бы был rest да. Я бы запросил дерево, и из дерева сделал бы список, потому что делать два запроса дорого по времени, а тут я сделал два запроса к базе из одного запроса к серверу. Шикарно же ведь )))
2. Отдельный тип бэк так и не сделал, а бэк на пхп (в который я лезть вообще не хочу!!). Ну и впринцепе так тоже работет. ))