Я пытаюсь создать вложенный объект JSON, используя NodeJS. Я получаю данные с сервера программного обеспечения JIRA и пытаюсь отобразить схему моего приложения. Ниже приведена схема моего приложения.
схема:
Product:
_id: ObjectId
categories: [Category]
backlog: [Section]
Category:
_id: ObjectId
name: String
color: String
Section:
_id: ObjectId
title: String
backlogItems: [BacklogItem]
BacklogItem:
_id: ObjectId
productId: ObjectId
title: String
description: String
category: Category
acceptanceCriteria: [AcceptanceCriterion]
tasks: [Task]
notes: [Note]
Я хочу создать одну категорию для задач. Например, если есть две или более проблем из JIRA типа «Epi c», я хочу создать только одну категорию, а затем я хочу создать массив BacklogItems, но он выдает ошибку ниже:
categories: [Category], Category is not defined
Ниже я пытаюсь сделать следующее:
function parseResponse(body) {
var data = JSON.parse(body);
result.product = {
id: ObjectID(),
categories: [Category],
backlog: [Section]
};
for (var i = 0; i < data.issues.length; i++) {
var color;
var categoryName;
switch (data.issues[i].fields.issuetype.name) {
case "Story":
color = "green";
break;
case "Epic":
color = "purple";
break;
case "Task":
color = "blue";
break;
case "Bug":
color = "red";
break;
}
var uniqeCategory = [
...new Set(data.issues.map(x => x.fields.issuetype.name))
];
if (uniqeCategory[i] !== data.issues[i].fields.issuetype.name) {
categoryName = uniqeCategory[i];
} else {
categoryName = data.issues[i].fields.issuetype.name;
}
console.log(uniqeCategory);
result.product.backlog.push({
id: ObjectID(),
title: "importer",
backlogItem: []
});
result.product.backlog.backlogItem.push({
id: data.total,
productId: result.product.id,
title: data.issues[i].fields.summary,
description: data.issues[i].fields.description,
category: data.issues[i].fields.issuetype.name,
acceptanceCriteria: [],
tasks: [],
notes: []
});
Может кто-нибудь попытаться сказать мне, что я делаю неправильно, и как я могу создать такой объект?
PS: я только начал работать с NodeJS и пытался изучить его, делая это.