convertGetProjectsApiResponse
mapper for get projectunknown
dart
2 years ago
4.0 kB
15
Indexable
List<Project> convertGetProjectsApiResponse(Map<String, dynamic> response) {
var projects = List<Project>.empty(growable: true);
var data = response["data"];
for (var project in data) {
var members = List<User>.empty(growable: true);
var subProjects = List<Project>.empty(growable: true);
var milestones = List<Project>.empty(growable: true);
var member = project['attachment'][members];
member.forEach((member) {
members.add(User(
member['phid'],
));
});
project['subProjects'].forEach((sub) {
subProjects.add(Project(
sub['phid'],
sub['imageUrl'],
[],
name: sub['name'],
fullName: sub['name'],
isGroup: sub['icon']['key'] == 'group',
description: sub['description'] ?? "",
isForRsp: sub['isForRsp'],
isForDev: sub['isForDev'],
isArchived: sub['isArchived'],
isMilestone: sub['icon']['key'] == 'milestone' ? true : false,
members: members,
// sub['members'] != []
// ? sub['members'].forEach((member) {
// members.add(User(
// member['phid'],
// ));
// })
// : [],
intId: sub['id'],
depth: sub['depth'],
viewPolicy: sub['viewPolicy'],
editPolicy: sub['editPolicy'],
startDate: sub['startDate'] != null
? _dateUtil.fromMilliseconds(sub['startDate'] * 1000)
: null,
endDate: sub['endDate'] != null
? _dateUtil.fromMilliseconds(sub['endDate'] * 1000)
: null,
));
});
project['milestones'].forEach((miles) {
milestones.add(Project(
miles['phid'],
miles['imageUrl'],
[],
name: miles['name'],
fullName: miles['name'],
isGroup: miles['icon']['key'] == 'group',
description: miles['description'] ?? "",
isForRsp: miles['isForRsp'],
isForDev: miles['isForDev'],
isArchived: miles['isArchived'],
isMilestone: miles['icon']['key'] == 'milestone' ? true : false,
// members:
// miles['members'] != []
// ? miles['members'].forEach((member) {
// members.add(User(
// member['phid'],
// ));
// })
// : [],
members: members,
intId: miles['id'],
depth: miles['depth'],
viewPolicy: miles['viewPolicy'],
editPolicy: miles['editPolicy'],
startDate: miles['startDate'] != null
? _dateUtil.fromMilliseconds(miles['startDate'] * 1000)
: null,
endDate: miles['endDate'] != null
? _dateUtil.fromMilliseconds(miles['endDate'] * 1000)
: null,
));
});
projects.add(
Project(
project['phid'],
project['imageUrl'],
[],
name: project['name'],
fullName: project['name'],
isGroup: project['icon']['key'] == 'group',
description: project['description'] ?? "",
isForRsp: project['isForRsp'],
isForDev: project['isForDev'],
isArchived: project['isArchived'],
isMilestone: project['icon']['key'] == 'milestone' ? true : false,
members: members,
intId: project['id'],
depth: project['depth'],
viewPolicy: project['viewPolicy'],
editPolicy: project['editPolicy'],
startDate: project['startDate'] != null
? _dateUtil.fromMilliseconds(project['startDate'] * 1000)
: null,
endDate: project['endDate'] != null
? _dateUtil.fromMilliseconds(project['endDate'] * 1000)
: null,
subProjects: subProjects,
),
);
}
return projects;
}
Editor is loading...
Leave a Comment