changed from json projects to m:n
This commit is contained in:
@@ -140,20 +140,35 @@ func setupApi(l *zap.Logger, cc *cache.MetricCache, us *users.Service, ps *proje
|
||||
return
|
||||
}
|
||||
|
||||
type GetProjectMembers struct {
|
||||
MemberId int `json:"memberId" binding:"required"`
|
||||
MemberRole string `json:"memberRole" binding:"required"`
|
||||
}
|
||||
type GetProject struct {
|
||||
Id int `json:"id" binding:"required"`
|
||||
Name string `json:"name" binding:"required"`
|
||||
MemberIds []int `json:"memberIds" binding:"required"`
|
||||
AdminIds []int `json:"adminIds" binding:"required"`
|
||||
Id int `json:"id" binding:"required"`
|
||||
Name string `json:"name" binding:"required"`
|
||||
Members []*GetProjectMembers `json:"members" binding:"required"`
|
||||
}
|
||||
|
||||
membersAsGetProjectMembers := func(projectMembers []projects.ProjectMember) []*GetProjectMembers {
|
||||
gpm := make([]*GetProjectMembers, len(projectMembers))
|
||||
|
||||
for i, pm := range projectMembers {
|
||||
gpm[i] = &GetProjectMembers{
|
||||
MemberId: pm.MemberId,
|
||||
MemberRole: pm.Role,
|
||||
}
|
||||
}
|
||||
|
||||
return gpm
|
||||
}
|
||||
|
||||
getProject := make([]GetProject, 0)
|
||||
for _, p := range projectsArr {
|
||||
getProject = append(getProject, GetProject{
|
||||
Id: p.Id,
|
||||
Name: p.Name,
|
||||
MemberIds: p.MemberIds,
|
||||
AdminIds: p.AdminIds,
|
||||
Id: p.Id,
|
||||
Name: p.Name,
|
||||
Members: membersAsGetProjectMembers(p.Members),
|
||||
})
|
||||
}
|
||||
c.JSON(http.StatusOK, getProject)
|
||||
|
Reference in New Issue
Block a user