convertGetProjectsApiResponse
mapper for get projectunknown
dart
a year ago
4.0 kB
12
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