Add missing role handle param
This commit is contained in:
@@ -465,6 +465,12 @@
|
||||
"required": true,
|
||||
"title": "Name of Role"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "handle",
|
||||
"required": true,
|
||||
"title": "Handle for Role"
|
||||
},
|
||||
{
|
||||
"type": "[]string",
|
||||
"name": "members",
|
||||
@@ -495,6 +501,12 @@
|
||||
"required": false,
|
||||
"title": "Name of Role"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "handle",
|
||||
"required": false,
|
||||
"title": "Handle for Role"
|
||||
},
|
||||
{
|
||||
"type": "[]string",
|
||||
"name": "members",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"title": "Name of Role",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "handle",
|
||||
"required": true,
|
||||
"title": "Handle for Role",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "members",
|
||||
"required": false,
|
||||
@@ -70,6 +76,12 @@
|
||||
"title": "Name of Role",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "handle",
|
||||
"required": false,
|
||||
"title": "Handle for Role",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "members",
|
||||
"required": false,
|
||||
|
||||
@@ -734,6 +734,7 @@ An organisation may have many roles. Roles may have many channels available. Acc
|
||||
| Parameter | Type | Method | Description | Default | Required? |
|
||||
| --------- | ---- | ------ | ----------- | ------- | --------- |
|
||||
| name | string | POST | Name of Role | N/A | YES |
|
||||
| handle | string | POST | Handle for Role | N/A | YES |
|
||||
| members | []string | POST | Role member IDs | N/A | NO |
|
||||
|
||||
## Update role details
|
||||
@@ -750,6 +751,7 @@ An organisation may have many roles. Roles may have many channels available. Acc
|
||||
| --------- | ---- | ------ | ----------- | ------- | --------- |
|
||||
| roleID | uint64 | PATH | Role ID | N/A | YES |
|
||||
| name | string | POST | Name of Role | N/A | NO |
|
||||
| handle | string | POST | Handle for Role | N/A | NO |
|
||||
| members | []string | POST | Role member IDs | N/A | NO |
|
||||
|
||||
## Read role details and memberships
|
||||
|
||||
@@ -86,6 +86,7 @@ var _ RequestFiller = NewRoleList()
|
||||
// Role create request parameters
|
||||
type RoleCreate struct {
|
||||
Name string
|
||||
Handle string
|
||||
Members []string
|
||||
}
|
||||
|
||||
@@ -97,6 +98,7 @@ func (r RoleCreate) Auditable() map[string]interface{} {
|
||||
var out = map[string]interface{}{}
|
||||
|
||||
out["name"] = r.Name
|
||||
out["handle"] = r.Handle
|
||||
out["members"] = r.Members
|
||||
|
||||
return out
|
||||
@@ -132,6 +134,9 @@ func (r *RoleCreate) Fill(req *http.Request) (err error) {
|
||||
if val, ok := post["name"]; ok {
|
||||
r.Name = val
|
||||
}
|
||||
if val, ok := post["handle"]; ok {
|
||||
r.Handle = val
|
||||
}
|
||||
|
||||
if val, ok := req.Form["members"]; ok {
|
||||
r.Members = parseStrings(val)
|
||||
@@ -146,6 +151,7 @@ var _ RequestFiller = NewRoleCreate()
|
||||
type RoleUpdate struct {
|
||||
RoleID uint64 `json:",string"`
|
||||
Name string
|
||||
Handle string
|
||||
Members []string
|
||||
}
|
||||
|
||||
@@ -158,6 +164,7 @@ func (r RoleUpdate) Auditable() map[string]interface{} {
|
||||
|
||||
out["roleID"] = r.RoleID
|
||||
out["name"] = r.Name
|
||||
out["handle"] = r.Handle
|
||||
out["members"] = r.Members
|
||||
|
||||
return out
|
||||
@@ -194,6 +201,9 @@ func (r *RoleUpdate) Fill(req *http.Request) (err error) {
|
||||
if val, ok := post["name"]; ok {
|
||||
r.Name = val
|
||||
}
|
||||
if val, ok := post["handle"]; ok {
|
||||
r.Handle = val
|
||||
}
|
||||
|
||||
if val, ok := req.Form["members"]; ok {
|
||||
r.Members = parseStrings(val)
|
||||
|
||||
@@ -38,7 +38,8 @@ func (ctrl *Role) List(ctx context.Context, r *request.RoleList) (interface{}, e
|
||||
|
||||
func (ctrl *Role) Create(ctx context.Context, r *request.RoleCreate) (interface{}, error) {
|
||||
role := &types.Role{
|
||||
Name: r.Name,
|
||||
Name: r.Name,
|
||||
Handle: r.Handle,
|
||||
}
|
||||
|
||||
role, err := ctrl.svc.role.With(ctx).Create(role)
|
||||
@@ -57,8 +58,9 @@ func (ctrl *Role) Create(ctx context.Context, r *request.RoleCreate) (interface{
|
||||
|
||||
func (ctrl *Role) Update(ctx context.Context, r *request.RoleUpdate) (interface{}, error) {
|
||||
role := &types.Role{
|
||||
ID: r.RoleID,
|
||||
Name: r.Name,
|
||||
ID: r.RoleID,
|
||||
Name: r.Name,
|
||||
Handle: r.Handle,
|
||||
}
|
||||
|
||||
role, err := ctrl.svc.role.With(ctx).Update(role)
|
||||
|
||||
@@ -75,6 +75,7 @@ func TestRoleCreate(t *testing.T) {
|
||||
h.apiInit().
|
||||
Post("/roles/").
|
||||
FormData("name", string(rand.Bytes(10))).
|
||||
FormData("handle", string(rand.Bytes(10))).
|
||||
Expect(t).
|
||||
Status(http.StatusOK).
|
||||
Assert(helpers.AssertNoErrors).
|
||||
@@ -100,10 +101,12 @@ func TestRoleUpdate(t *testing.T) {
|
||||
h.allow(types.RolePermissionResource.AppendWildcard(), "update")
|
||||
|
||||
newName := "updated-" + string(rand.Bytes(10))
|
||||
newHandle := "updated-" + string(rand.Bytes(10))
|
||||
|
||||
h.apiInit().
|
||||
Put(fmt.Sprintf("/roles/%d", u.ID)).
|
||||
FormData("name", newName).
|
||||
FormData("handle", newHandle).
|
||||
Expect(t).
|
||||
Status(http.StatusOK).
|
||||
Assert(helpers.AssertNoErrors).
|
||||
@@ -113,6 +116,7 @@ func TestRoleUpdate(t *testing.T) {
|
||||
h.a.NoError(err)
|
||||
h.a.NotNil(u)
|
||||
h.a.Equal(newName, u.Name)
|
||||
h.a.Equal(newHandle, u.Handle)
|
||||
}
|
||||
|
||||
func TestRoleDeleteForbidden(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user