3
0

Add memberID param to roles list endpoint

This commit is contained in:
Tomaž Jerman 2021-10-07 10:48:52 +02:00
parent 5acd267470
commit fd07179be2
3 changed files with 21 additions and 2 deletions

View File

@ -228,6 +228,7 @@ endpoints:
parameters:
get:
- { type: "string", name: "query", title: "Search query" }
- { type: "uint64", name: "memberID", title: "Search roles for member"}
- { type: "uint", name: "deleted", title: "Exclude (0, default), include (1) or return only (2) deleted roles" }
- { type: "uint", name: "archived", title: "Exclude (0, default), include (1) or return only (2) archived roles" }
- { type: "map[string]string", name: "labels", title: "Labels", parser: "label.ParseStrings" }

View File

@ -41,6 +41,11 @@ type (
// Search query
Query string
// MemberID GET parameter
//
// Search roles for member
MemberID uint64 `json:",string"`
// Deleted GET parameter
//
// Exclude (0, default), include (1) or return only (2) deleted roles
@ -243,6 +248,7 @@ func NewRoleList() *RoleList {
func (r RoleList) Auditable() map[string]interface{} {
return map[string]interface{}{
"query": r.Query,
"memberID": r.MemberID,
"deleted": r.Deleted,
"archived": r.Archived,
"labels": r.Labels,
@ -257,6 +263,11 @@ func (r RoleList) GetQuery() string {
return r.Query
}
// Auditable returns all auditable/loggable parameters
func (r RoleList) GetMemberID() uint64 {
return r.MemberID
}
// Auditable returns all auditable/loggable parameters
func (r RoleList) GetDeleted() uint {
return r.Deleted
@ -300,6 +311,12 @@ func (r *RoleList) Fill(req *http.Request) (err error) {
return err
}
}
if val, ok := tmp["memberID"]; ok && len(val) > 0 {
r.MemberID, err = payload.ParseUint64(val[0]), nil
if err != nil {
return err
}
}
if val, ok := tmp["deleted"]; ok && len(val) > 0 {
r.Deleted, err = payload.ParseUint(val[0]), nil
if err != nil {

View File

@ -66,8 +66,9 @@ func (ctrl Role) List(ctx context.Context, r *request.RoleList) (interface{}, er
var (
err error
f = types.RoleFilter{
Query: r.Query,
Labels: r.Labels,
Query: r.Query,
Labels: r.Labels,
MemberID: r.MemberID,
Archived: filter.State(r.Archived),
Deleted: filter.State(r.Deleted),