Chore: Add orguser methods to org service interface (#55668)

* Move role types to a separate package

* Make role type singular and remove _ from directory name

* Add orguser methods to org service

* Fix fake method
This commit is contained in:
idafurjes
2022-09-23 07:19:34 -04:00
committed by GitHub
parent 7f98f4b411
commit fb66439c3e
4 changed files with 119 additions and 8 deletions
+77
View File
@@ -244,3 +244,80 @@ func (s *Service) RemoveOrgUser(ctx context.Context, cmd *org.RemoveOrgUserComma
}
return s.sqlStore.RemoveOrgUser(ctx, c)
}
// TODO: remove wrapper around sqlstore
func (s *Service) GetOrgUsers(ctx context.Context, query *org.GetOrgUsersQuery) ([]*org.OrgUserDTO, error) {
q := &models.GetOrgUsersQuery{
UserID: query.UserID,
OrgId: query.OrgID,
Query: query.Query,
Limit: query.Limit,
DontEnforceAccessControl: query.DontEnforceAccessControl,
User: query.User,
}
err := s.sqlStore.GetOrgUsers(ctx, q)
if err != nil {
return nil, err
}
result := make([]*org.OrgUserDTO, 0)
for _, user := range q.Result {
result = append(result, &org.OrgUserDTO{
OrgID: user.OrgId,
UserID: user.UserId,
Login: user.Login,
Email: user.Email,
Name: user.Name,
AvatarURL: user.AvatarUrl,
Role: user.Role,
LastSeenAt: user.LastSeenAt,
LastSeenAtAge: user.LastSeenAtAge,
Updated: user.Updated,
Created: user.Created,
AccessControl: user.AccessControl,
IsDisabled: user.IsDisabled,
})
}
return result, nil
}
// TODO: remove wrapper around sqlstore
func (s *Service) SearchOrgUsers(ctx context.Context, query *org.SearchOrgUsersQuery) (*org.SearchOrgUsersQueryResult, error) {
q := &models.SearchOrgUsersQuery{
OrgID: query.OrgID,
Query: query.Query,
Page: query.Page,
Limit: query.Limit,
User: query.User,
}
err := s.sqlStore.SearchOrgUsers(ctx, q)
if err != nil {
return nil, err
}
result := &org.SearchOrgUsersQueryResult{
TotalCount: q.Result.TotalCount,
OrgUsers: make([]*org.OrgUserDTO, 0),
Page: q.Result.Page,
PerPage: q.Result.PerPage,
}
for _, user := range q.Result.OrgUsers {
result.OrgUsers = append(result.OrgUsers, &org.OrgUserDTO{
OrgID: user.OrgId,
UserID: user.UserId,
Login: user.Login,
Email: user.Email,
Name: user.Name,
AvatarURL: user.AvatarUrl,
Role: user.Role,
LastSeenAt: user.LastSeenAt,
LastSeenAtAge: user.LastSeenAtAge,
Updated: user.Updated,
Created: user.Created,
AccessControl: user.AccessControl,
IsDisabled: user.IsDisabled,
})
}
return result, nil
}