upd(messaging): permissions to rules
This commit is contained in:
@@ -704,15 +704,15 @@
|
||||
"parameters": {}
|
||||
},
|
||||
{
|
||||
"name": "getTeam",
|
||||
"path": "/permissions/{team}",
|
||||
"name": "get",
|
||||
"path": "/permissions/{teamID}",
|
||||
"method": "GET",
|
||||
"title": "Retrieve current permission settings",
|
||||
"parameters": {
|
||||
"path": [
|
||||
{
|
||||
"name": "team",
|
||||
"type": "string",
|
||||
"name": "teamID",
|
||||
"type": "uint64",
|
||||
"required": true,
|
||||
"title": "Team ID"
|
||||
}
|
||||
@@ -734,15 +734,15 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "setTeam",
|
||||
"path": "/permissions/{team}",
|
||||
"name": "set",
|
||||
"path": "/permissions/{teamID}",
|
||||
"method": "POST",
|
||||
"title": "Update permission settings",
|
||||
"parameters": {
|
||||
"path": [
|
||||
{
|
||||
"name": "team",
|
||||
"type": "string",
|
||||
"name": "teamID",
|
||||
"type": "uint64",
|
||||
"required": true,
|
||||
"title": "Team ID"
|
||||
}
|
||||
@@ -750,9 +750,9 @@
|
||||
"post": [
|
||||
{
|
||||
"name": "permissions",
|
||||
"type": "[]rules.Permission",
|
||||
"type": "[]rules.Rules",
|
||||
"required": true,
|
||||
"title": "List of permissions to set"
|
||||
"title": "List of rules to set"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
"Parameters": {}
|
||||
},
|
||||
{
|
||||
"Name": "getTeam",
|
||||
"Name": "get",
|
||||
"Method": "GET",
|
||||
"Title": "Retrieve current permission settings",
|
||||
"Path": "/permissions/{team}",
|
||||
"Path": "/permissions/{teamID}",
|
||||
"Parameters": {
|
||||
"get": [
|
||||
{
|
||||
@@ -45,34 +45,34 @@
|
||||
],
|
||||
"path": [
|
||||
{
|
||||
"name": "team",
|
||||
"name": "teamID",
|
||||
"required": true,
|
||||
"title": "Team ID",
|
||||
"type": "string"
|
||||
"type": "uint64"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "setTeam",
|
||||
"Name": "set",
|
||||
"Method": "POST",
|
||||
"Title": "Update permission settings",
|
||||
"Path": "/permissions/{team}",
|
||||
"Path": "/permissions/{teamID}",
|
||||
"Parameters": {
|
||||
"path": [
|
||||
{
|
||||
"name": "team",
|
||||
"name": "teamID",
|
||||
"required": true,
|
||||
"title": "Team ID",
|
||||
"type": "string"
|
||||
"type": "uint64"
|
||||
}
|
||||
],
|
||||
"post": [
|
||||
{
|
||||
"name": "permissions",
|
||||
"required": true,
|
||||
"title": "List of permissions to set",
|
||||
"type": "[]rules.Permission"
|
||||
"title": "List of rules to set",
|
||||
"type": "[]rules.Rules"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -469,7 +469,7 @@ The following event types may be sent with a message event:
|
||||
|
||||
| URI | Protocol | Method | Authentication |
|
||||
| --- | -------- | ------ | -------------- |
|
||||
| `/permissions/permissions/{team}` | HTTP/S | GET | Client ID, Session ID |
|
||||
| `/permissions/permissions/{teamID}` | HTTP/S | GET | Client ID, Session ID |
|
||||
|
||||
#### Request parameters
|
||||
|
||||
@@ -477,7 +477,7 @@ The following event types may be sent with a message event:
|
||||
| --------- | ---- | ------ | ----------- | ------- | --------- |
|
||||
| scope | string | GET | Permissions scope | N/A | YES |
|
||||
| resource | string | GET | Permissions resource | N/A | YES |
|
||||
| team | string | PATH | Team ID | N/A | YES |
|
||||
| teamID | uint64 | PATH | Team ID | N/A | YES |
|
||||
|
||||
## Update permission settings
|
||||
|
||||
@@ -485,14 +485,14 @@ The following event types may be sent with a message event:
|
||||
|
||||
| URI | Protocol | Method | Authentication |
|
||||
| --- | -------- | ------ | -------------- |
|
||||
| `/permissions/permissions/{team}` | HTTP/S | POST | Client ID, Session ID |
|
||||
| `/permissions/permissions/{teamID}` | HTTP/S | POST | Client ID, Session ID |
|
||||
|
||||
#### Request parameters
|
||||
|
||||
| Parameter | Type | Method | Description | Default | Required? |
|
||||
| --------- | ---- | ------ | ----------- | ------- | --------- |
|
||||
| team | string | PATH | Team ID | N/A | YES |
|
||||
| permissions | []rules.Permission | POST | List of permissions to set | N/A | YES |
|
||||
| teamID | uint64 | PATH | Team ID | N/A | YES |
|
||||
| permissions | []rules.Rules | POST | List of rules to set | N/A | YES |
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -21,15 +21,4 @@ type (
|
||||
// false = unchecked (deny)
|
||||
Default Access `json:"default"`
|
||||
}
|
||||
|
||||
Permission struct {
|
||||
// Scope (organisation, team, channel)
|
||||
Scope string `json:"scope"`
|
||||
// Resource (org:1, team:123123, etc.)
|
||||
Resource string `json:"resource"`
|
||||
// Operation name (Operation.Key)
|
||||
Operation string `json:"operation"`
|
||||
// Operation state (inherit, allow, deny)
|
||||
State Access `json:"state"`
|
||||
}
|
||||
)
|
||||
|
||||
@@ -28,15 +28,15 @@ import (
|
||||
// Internal API interface
|
||||
type PermissionsAPI interface {
|
||||
List(context.Context, *request.PermissionsList) (interface{}, error)
|
||||
GetTeam(context.Context, *request.PermissionsGetTeam) (interface{}, error)
|
||||
SetTeam(context.Context, *request.PermissionsSetTeam) (interface{}, error)
|
||||
Get(context.Context, *request.PermissionsGet) (interface{}, error)
|
||||
Set(context.Context, *request.PermissionsSet) (interface{}, error)
|
||||
}
|
||||
|
||||
// HTTP API interface
|
||||
type Permissions struct {
|
||||
List func(http.ResponseWriter, *http.Request)
|
||||
GetTeam func(http.ResponseWriter, *http.Request)
|
||||
SetTeam func(http.ResponseWriter, *http.Request)
|
||||
List func(http.ResponseWriter, *http.Request)
|
||||
Get func(http.ResponseWriter, *http.Request)
|
||||
Set func(http.ResponseWriter, *http.Request)
|
||||
}
|
||||
|
||||
func NewPermissions(ph PermissionsAPI) *Permissions {
|
||||
@@ -48,18 +48,18 @@ func NewPermissions(ph PermissionsAPI) *Permissions {
|
||||
return ph.List(r.Context(), params)
|
||||
})
|
||||
},
|
||||
GetTeam: func(w http.ResponseWriter, r *http.Request) {
|
||||
Get: func(w http.ResponseWriter, r *http.Request) {
|
||||
defer r.Body.Close()
|
||||
params := request.NewPermissionsGetTeam()
|
||||
params := request.NewPermissionsGet()
|
||||
resputil.JSON(w, params.Fill(r), func() (interface{}, error) {
|
||||
return ph.GetTeam(r.Context(), params)
|
||||
return ph.Get(r.Context(), params)
|
||||
})
|
||||
},
|
||||
SetTeam: func(w http.ResponseWriter, r *http.Request) {
|
||||
Set: func(w http.ResponseWriter, r *http.Request) {
|
||||
defer r.Body.Close()
|
||||
params := request.NewPermissionsSetTeam()
|
||||
params := request.NewPermissionsSet()
|
||||
resputil.JSON(w, params.Fill(r), func() (interface{}, error) {
|
||||
return ph.SetTeam(r.Context(), params)
|
||||
return ph.Set(r.Context(), params)
|
||||
})
|
||||
},
|
||||
}
|
||||
@@ -70,8 +70,8 @@ func (ph *Permissions) MountRoutes(r chi.Router, middlewares ...func(http.Handle
|
||||
r.Use(middlewares...)
|
||||
r.Route("/permissions", func(r chi.Router) {
|
||||
r.Get("/permissions", ph.List)
|
||||
r.Get("/permissions/{team}", ph.GetTeam)
|
||||
r.Post("/permissions/{team}", ph.SetTeam)
|
||||
r.Get("/permissions/{teamID}", ph.Get)
|
||||
r.Post("/permissions/{teamID}", ph.Set)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@@ -24,10 +24,10 @@ func (ctrl *Permissions) List(ctx context.Context, r *request.PermissionsList) (
|
||||
return ctrl.svc.perms.List()
|
||||
}
|
||||
|
||||
func (ctrl *Permissions) GetTeam(ctx context.Context, r *request.PermissionsGetTeam) (interface{}, error) {
|
||||
return ctrl.svc.perms.Get(r.Team, r.Scope, r.Resource)
|
||||
func (ctrl *Permissions) Get(ctx context.Context, r *request.PermissionsGet) (interface{}, error) {
|
||||
return ctrl.svc.perms.Get(r.TeamID, r.Scope, r.Resource)
|
||||
}
|
||||
|
||||
func (ctrl *Permissions) SetTeam(ctx context.Context, r *request.PermissionsSetTeam) (interface{}, error) {
|
||||
return ctrl.svc.perms.Set(r.Team, r.Permissions)
|
||||
func (ctrl *Permissions) SetTeam(ctx context.Context, r *request.PermissionsSet) (interface{}, error) {
|
||||
return ctrl.svc.perms.Set(r.TeamID, r.Permissions)
|
||||
}
|
||||
|
||||
@@ -71,18 +71,18 @@ func (p *PermissionsList) Fill(r *http.Request) (err error) {
|
||||
|
||||
var _ RequestFiller = NewPermissionsList()
|
||||
|
||||
// Permissions getTeam request parameters
|
||||
type PermissionsGetTeam struct {
|
||||
// Permissions get request parameters
|
||||
type PermissionsGet struct {
|
||||
Scope string
|
||||
Resource string
|
||||
Team string
|
||||
TeamID uint64 `json:",string"`
|
||||
}
|
||||
|
||||
func NewPermissionsGetTeam() *PermissionsGetTeam {
|
||||
return &PermissionsGetTeam{}
|
||||
func NewPermissionsGet() *PermissionsGet {
|
||||
return &PermissionsGet{}
|
||||
}
|
||||
|
||||
func (p *PermissionsGetTeam) Fill(r *http.Request) (err error) {
|
||||
func (p *PermissionsGet) Fill(r *http.Request) (err error) {
|
||||
if strings.ToLower(r.Header.Get("content-type")) == "application/json" {
|
||||
err = json.NewDecoder(r.Body).Decode(p)
|
||||
|
||||
@@ -117,24 +117,24 @@ func (p *PermissionsGetTeam) Fill(r *http.Request) (err error) {
|
||||
|
||||
p.Resource = val
|
||||
}
|
||||
p.Team = chi.URLParam(r, "team")
|
||||
p.TeamID = parseUInt64(chi.URLParam(r, "teamID"))
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
var _ RequestFiller = NewPermissionsGetTeam()
|
||||
var _ RequestFiller = NewPermissionsGet()
|
||||
|
||||
// Permissions setTeam request parameters
|
||||
type PermissionsSetTeam struct {
|
||||
Team string
|
||||
Permissions []rules.Permission
|
||||
// Permissions set request parameters
|
||||
type PermissionsSet struct {
|
||||
TeamID uint64 `json:",string"`
|
||||
Permissions []rules.Rules
|
||||
}
|
||||
|
||||
func NewPermissionsSetTeam() *PermissionsSetTeam {
|
||||
return &PermissionsSetTeam{}
|
||||
func NewPermissionsSet() *PermissionsSet {
|
||||
return &PermissionsSet{}
|
||||
}
|
||||
|
||||
func (p *PermissionsSetTeam) Fill(r *http.Request) (err error) {
|
||||
func (p *PermissionsSet) Fill(r *http.Request) (err error) {
|
||||
if strings.ToLower(r.Header.Get("content-type")) == "application/json" {
|
||||
err = json.NewDecoder(r.Body).Decode(p)
|
||||
|
||||
@@ -161,9 +161,9 @@ func (p *PermissionsSetTeam) Fill(r *http.Request) (err error) {
|
||||
post[name] = string(param[0])
|
||||
}
|
||||
|
||||
p.Team = chi.URLParam(r, "team")
|
||||
p.TeamID = parseUInt64(chi.URLParam(r, "teamID"))
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
var _ RequestFiller = NewPermissionsSetTeam()
|
||||
var _ RequestFiller = NewPermissionsSet()
|
||||
|
||||
@@ -21,8 +21,8 @@ type (
|
||||
With(ctx context.Context) PermissionsService
|
||||
|
||||
List() (interface{}, error)
|
||||
Get(team string, scope string, resource string) (interface{}, error)
|
||||
Set(team string, permissions []rules.Permission) (interface{}, error)
|
||||
Get(teamID uint64, scope string, resource string) (interface{}, error)
|
||||
Set(teamID uint64, rules []rules.Rules) (interface{}, error)
|
||||
}
|
||||
)
|
||||
|
||||
@@ -45,10 +45,10 @@ func (p *permissions) List() (interface{}, error) {
|
||||
return p.scopes.List(), nil
|
||||
}
|
||||
|
||||
func (p *permissions) Get(team string, scope string, resource string) (interface{}, error) {
|
||||
func (p *permissions) Get(teamID uint64, scope string, resource string) (interface{}, error) {
|
||||
return nil, errors.New("service.permissions.get: not implemented")
|
||||
}
|
||||
|
||||
func (p *permissions) Set(team string, permissions []rules.Permission) (interface{}, error) {
|
||||
func (p *permissions) Set(teamID uint64, rules []rules.Rules) (interface{}, error) {
|
||||
return nil, errors.New("service.permissions.set: not implemented")
|
||||
}
|
||||
|
||||
@@ -18,40 +18,40 @@ func (*Channel) Permissions() []rules.OperationGroup {
|
||||
},
|
||||
},
|
||||
}, rules.OperationGroup{
|
||||
Title: "Text Permissions",
|
||||
Title: "Message Permissions",
|
||||
Operations: []rules.Operation{
|
||||
rules.Operation{
|
||||
Key: "text.send",
|
||||
Key: "message.send",
|
||||
Title: "Send Messages",
|
||||
Subtitle: "",
|
||||
Enabled: true,
|
||||
Default: rules.Inherit,
|
||||
}, rules.Operation{
|
||||
Key: "text.embed",
|
||||
Key: "message.embed",
|
||||
Title: "Embed Links",
|
||||
Subtitle: "",
|
||||
Enabled: true,
|
||||
Default: rules.Inherit,
|
||||
}, rules.Operation{
|
||||
Key: "text.attach",
|
||||
Key: "message.attach",
|
||||
Title: "Attach Files",
|
||||
Subtitle: "",
|
||||
Enabled: true,
|
||||
Default: rules.Inherit,
|
||||
}, rules.Operation{
|
||||
Key: "text.edit_own",
|
||||
Title: "Manage own messages",
|
||||
Subtitle: "Members with this permission can edit/delete their own messages inside this channel",
|
||||
Key: "message.update_own",
|
||||
Title: "Update own messages",
|
||||
Subtitle: "Members with this permission can update/delete their own messages inside this channel",
|
||||
Enabled: true,
|
||||
Default: rules.Inherit,
|
||||
}, rules.Operation{
|
||||
Key: "text.edit_all",
|
||||
Title: "Manage messages",
|
||||
Subtitle: "Members with this permission can edit/delete messages inside this channel",
|
||||
Key: "message.update_all",
|
||||
Title: "Update messages",
|
||||
Subtitle: "Members with this permission can update/delete messages inside this channel",
|
||||
Enabled: true,
|
||||
Default: rules.Inherit,
|
||||
}, rules.Operation{
|
||||
Key: "text.react",
|
||||
Key: "message.react",
|
||||
Title: "Manage reactions",
|
||||
Subtitle: "Members with this permission can add new reactions to a message",
|
||||
Enabled: true,
|
||||
@@ -64,13 +64,13 @@ func (*Channel) Permissions() []rules.OperationGroup {
|
||||
|
||||
func (*Channel) PermissionDefault(key string) rules.Access {
|
||||
values := map[string]rules.Access{
|
||||
"text.attach": rules.Inherit,
|
||||
"text.edit_own": rules.Inherit,
|
||||
"text.edit_all": rules.Inherit,
|
||||
"text.react": rules.Inherit,
|
||||
"manage.webhooks": rules.Inherit,
|
||||
"text.send": rules.Inherit,
|
||||
"text.embed": rules.Inherit,
|
||||
"message.react": rules.Inherit,
|
||||
"manage.webhooks": rules.Inherit,
|
||||
"message.send": rules.Inherit,
|
||||
"message.embed": rules.Inherit,
|
||||
"message.attach": rules.Inherit,
|
||||
"message.update_own": rules.Inherit,
|
||||
"message.update_all": rules.Inherit,
|
||||
}
|
||||
if value, ok := values[key]; ok {
|
||||
return value
|
||||
|
||||
@@ -48,40 +48,40 @@ func (*Organisation) Permissions() []rules.OperationGroup {
|
||||
},
|
||||
},
|
||||
}, rules.OperationGroup{
|
||||
Title: "Text Permissions",
|
||||
Title: "Message Permissions",
|
||||
Operations: []rules.Operation{
|
||||
rules.Operation{
|
||||
Key: "text.send",
|
||||
Key: "message.send",
|
||||
Title: "Send Messages",
|
||||
Subtitle: "",
|
||||
Enabled: true,
|
||||
Default: rules.Allow,
|
||||
}, rules.Operation{
|
||||
Key: "text.embed",
|
||||
Key: "message.embed",
|
||||
Title: "Embed Links",
|
||||
Subtitle: "",
|
||||
Enabled: true,
|
||||
Default: rules.Allow,
|
||||
}, rules.Operation{
|
||||
Key: "text.attach",
|
||||
Key: "message.attach",
|
||||
Title: "Attach Files",
|
||||
Subtitle: "",
|
||||
Enabled: true,
|
||||
Default: rules.Allow,
|
||||
}, rules.Operation{
|
||||
Key: "text.edit_own",
|
||||
Title: "Manage own messages",
|
||||
Subtitle: "Members with this permission can edit/delete their own messages inside channels",
|
||||
Key: "message.update_own",
|
||||
Title: "Update own messages",
|
||||
Subtitle: "Members with this permission can update/delete their own messages inside channels",
|
||||
Enabled: true,
|
||||
Default: rules.Allow,
|
||||
}, rules.Operation{
|
||||
Key: "text.edit_all",
|
||||
Title: "Manage messages",
|
||||
Subtitle: "Members with this permission can edit/delete messages inside channels",
|
||||
Key: "message.update_all",
|
||||
Title: "Update messages",
|
||||
Subtitle: "Members with this permission can update/delete messages inside channels",
|
||||
Enabled: true,
|
||||
Default: rules.Deny,
|
||||
}, rules.Operation{
|
||||
Key: "text.react",
|
||||
Key: "message.react",
|
||||
Title: "Manage reactions",
|
||||
Subtitle: "Members with this permission can add new reactions to a message",
|
||||
Enabled: true,
|
||||
@@ -96,16 +96,16 @@ func (*Organisation) PermissionDefault(key string) rules.Access {
|
||||
values := map[string]rules.Access{
|
||||
"audit": rules.Deny,
|
||||
"manage.organisation": rules.Deny,
|
||||
"manage.webhooks": rules.Deny,
|
||||
"text.embed": rules.Allow,
|
||||
"text.edit_own": rules.Allow,
|
||||
"text.react": rules.Allow,
|
||||
"admin": rules.Deny,
|
||||
"manage.roles": rules.Deny,
|
||||
"message.send": rules.Allow,
|
||||
"message.embed": rules.Allow,
|
||||
"message.attach": rules.Allow,
|
||||
"admin": rules.Deny,
|
||||
"manage.channels": rules.Deny,
|
||||
"text.send": rules.Allow,
|
||||
"text.attach": rules.Allow,
|
||||
"text.edit_all": rules.Deny,
|
||||
"manage.webhooks": rules.Deny,
|
||||
"message.update_own": rules.Allow,
|
||||
"message.update_all": rules.Deny,
|
||||
"message.react": rules.Allow,
|
||||
}
|
||||
if value, ok := values[key]; ok {
|
||||
return value
|
||||
|
||||
@@ -47,42 +47,42 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Text Permissions",
|
||||
"title": "Message Permissions",
|
||||
"operations": [
|
||||
{
|
||||
"key": "text.send",
|
||||
"key": "message.send",
|
||||
"title": "Send Messages",
|
||||
"enabled": true,
|
||||
"default": "allow"
|
||||
},
|
||||
{
|
||||
"key": "text.embed",
|
||||
"key": "message.embed",
|
||||
"title": "Embed Links",
|
||||
"enabled": true,
|
||||
"default": "allow"
|
||||
},
|
||||
{
|
||||
"key": "text.attach",
|
||||
"key": "message.attach",
|
||||
"title": "Attach Files",
|
||||
"enabled": true,
|
||||
"default": "allow"
|
||||
},
|
||||
{
|
||||
"key": "text.edit_own",
|
||||
"title": "Manage own messages",
|
||||
"subtitle": "Members with this permission can edit/delete their own messages inside channels",
|
||||
"key": "message.update_own",
|
||||
"title": "Update own messages",
|
||||
"subtitle": "Members with this permission can update/delete their own messages inside channels",
|
||||
"enabled": true,
|
||||
"default": "allow"
|
||||
},
|
||||
{
|
||||
"key": "text.edit_all",
|
||||
"title": "Manage messages",
|
||||
"subtitle": "Members with this permission can edit/delete messages inside channels",
|
||||
"key": "message.update_all",
|
||||
"title": "Update messages",
|
||||
"subtitle": "Members with this permission can update/delete messages inside channels",
|
||||
"enabled": true,
|
||||
"default": "deny"
|
||||
},
|
||||
{
|
||||
"key": "text.react",
|
||||
"key": "message.react",
|
||||
"title": "Manage reactions",
|
||||
"subtitle": "Members with this permission can add new reactions to a message",
|
||||
"enabled": true,
|
||||
|
||||
@@ -11,37 +11,37 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Text Permissions",
|
||||
"title": "Message Permissions",
|
||||
"operations": [
|
||||
{
|
||||
"key": "text.send",
|
||||
"key": "message.send",
|
||||
"title": "Send Messages",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "text.embed",
|
||||
"key": "message.embed",
|
||||
"title": "Embed Links",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "text.attach",
|
||||
"key": "message.attach",
|
||||
"title": "Attach Files",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "text.edit_own",
|
||||
"title": "Manage own messages",
|
||||
"subtitle": "Members with this permission can edit/delete their own messages inside channels",
|
||||
"key": "message.update_own",
|
||||
"title": "Update own messages",
|
||||
"subtitle": "Members with this permission can update/delete their own messages inside channels",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "text.edit_all",
|
||||
"title": "Manage messages",
|
||||
"subtitle": "Members with this permission can edit/delete messages inside channels",
|
||||
"key": "message.update_all",
|
||||
"title": "Update messages",
|
||||
"subtitle": "Members with this permission can update/delete messages inside channels",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "text.react",
|
||||
"key": "message.react",
|
||||
"title": "Manage reactions",
|
||||
"subtitle": "Members with this permission can add new reactions to a message",
|
||||
"enabled": true
|
||||
|
||||
@@ -11,37 +11,37 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Text Permissions",
|
||||
"title": "Message Permissions",
|
||||
"operations": [
|
||||
{
|
||||
"key": "text.send",
|
||||
"key": "message.send",
|
||||
"title": "Send Messages",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "text.embed",
|
||||
"key": "message.embed",
|
||||
"title": "Embed Links",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "text.attach",
|
||||
"key": "message.attach",
|
||||
"title": "Attach Files",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "text.edit_own",
|
||||
"title": "Manage own messages",
|
||||
"subtitle": "Members with this permission can edit/delete their own messages inside this channel",
|
||||
"key": "message.update_own",
|
||||
"title": "Update own messages",
|
||||
"subtitle": "Members with this permission can update/delete their own messages inside this channel",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "text.edit_all",
|
||||
"title": "Manage messages",
|
||||
"subtitle": "Members with this permission can edit/delete messages inside this channel",
|
||||
"key": "message.update_all",
|
||||
"title": "Update messages",
|
||||
"subtitle": "Members with this permission can update/delete messages inside this channel",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"key": "text.react",
|
||||
"key": "message.react",
|
||||
"title": "Manage reactions",
|
||||
"subtitle": "Members with this permission can add new reactions to a message",
|
||||
"enabled": true
|
||||
|
||||
@@ -18,40 +18,40 @@ func (*Team) Permissions() []rules.OperationGroup {
|
||||
},
|
||||
},
|
||||
}, rules.OperationGroup{
|
||||
Title: "Text Permissions",
|
||||
Title: "Message Permissions",
|
||||
Operations: []rules.Operation{
|
||||
rules.Operation{
|
||||
Key: "text.send",
|
||||
Key: "message.send",
|
||||
Title: "Send Messages",
|
||||
Subtitle: "",
|
||||
Enabled: true,
|
||||
Default: rules.Inherit,
|
||||
}, rules.Operation{
|
||||
Key: "text.embed",
|
||||
Key: "message.embed",
|
||||
Title: "Embed Links",
|
||||
Subtitle: "",
|
||||
Enabled: true,
|
||||
Default: rules.Inherit,
|
||||
}, rules.Operation{
|
||||
Key: "text.attach",
|
||||
Key: "message.attach",
|
||||
Title: "Attach Files",
|
||||
Subtitle: "",
|
||||
Enabled: true,
|
||||
Default: rules.Inherit,
|
||||
}, rules.Operation{
|
||||
Key: "text.edit_own",
|
||||
Title: "Manage own messages",
|
||||
Subtitle: "Members with this permission can edit/delete their own messages inside channels",
|
||||
Key: "message.update_own",
|
||||
Title: "Update own messages",
|
||||
Subtitle: "Members with this permission can update/delete their own messages inside channels",
|
||||
Enabled: true,
|
||||
Default: rules.Inherit,
|
||||
}, rules.Operation{
|
||||
Key: "text.edit_all",
|
||||
Title: "Manage messages",
|
||||
Subtitle: "Members with this permission can edit/delete messages inside channels",
|
||||
Key: "message.update_all",
|
||||
Title: "Update messages",
|
||||
Subtitle: "Members with this permission can update/delete messages inside channels",
|
||||
Enabled: true,
|
||||
Default: rules.Inherit,
|
||||
}, rules.Operation{
|
||||
Key: "text.react",
|
||||
Key: "message.react",
|
||||
Title: "Manage reactions",
|
||||
Subtitle: "Members with this permission can add new reactions to a message",
|
||||
Enabled: true,
|
||||
@@ -64,13 +64,13 @@ func (*Team) Permissions() []rules.OperationGroup {
|
||||
|
||||
func (*Team) PermissionDefault(key string) rules.Access {
|
||||
values := map[string]rules.Access{
|
||||
"text.edit_all": rules.Inherit,
|
||||
"text.react": rules.Inherit,
|
||||
"manage.webhooks": rules.Inherit,
|
||||
"text.send": rules.Inherit,
|
||||
"text.embed": rules.Inherit,
|
||||
"text.attach": rules.Inherit,
|
||||
"text.edit_own": rules.Inherit,
|
||||
"manage.webhooks": rules.Inherit,
|
||||
"message.send": rules.Inherit,
|
||||
"message.embed": rules.Inherit,
|
||||
"message.attach": rules.Inherit,
|
||||
"message.update_own": rules.Inherit,
|
||||
"message.update_all": rules.Inherit,
|
||||
"message.react": rules.Inherit,
|
||||
}
|
||||
if value, ok := values[key]; ok {
|
||||
return value
|
||||
|
||||
Reference in New Issue
Block a user