Skip to content

Commit 3dd3ba9

Browse files
authored
feat: adding smtp server permission (#20)
1 parent bbf4c10 commit 3dd3ba9

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

core/security/enum/const.go

+9-1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ const (
3838
CommandRead = "system.command:read"
3939
CredentialAll = "system.credential:all"
4040
CredentialRead = "system.credential:read"
41+
SmtpServerAll = "system.smtp_server:all"
42+
SmtpServerRead = "system.smtp_server:read"
4143

4244
InstanceRead = "gateway.instance:read"
4345
InstanceAll = "gateway.instance:all"
@@ -142,6 +144,8 @@ const (
142144
PermissionMigrationTaskWrite = "task:write"
143145
PermissionComparisonTaskRead = "comparison_task:read"
144146
PermissionComparisonTaskWrite = "comparison_task:write"
147+
PermissionSmtpServerRead = "smtp_server:read"
148+
PermissionSmtpServerWrite = "smtp_server:write"
145149
)
146150

147151
var (
@@ -217,6 +221,8 @@ var (
217221
DashboardAllPermission = []string{PermissionLayoutRead, PermissionLayoutWrite}
218222
WorkbenchReadPermission = []string{PermissionElasticsearchClusterRead, PermissionActivityRead, PermissionAlertMessageRead, PermissionElasticsearchMetricRead}
219223
WorkbenchAllPermission = WorkbenchReadPermission
224+
SmtpServerReadPermission = []string{PermissionSmtpServerRead}
225+
SmtpServerAllPermission = []string{PermissionSmtpServerRead, PermissionSmtpServerWrite}
220226
)
221227

222228
var AdminPrivilege = []string{
@@ -228,7 +234,7 @@ var AdminPrivilege = []string{
228234
ClusterOverviewAll, MonitoringAll, ActivitiesAll,
229235
AliasAll, AgentInstanceAll, CredentialAll,
230236
DataMigrationAll, DataComparisonAll, DashboardAll, DevtoolConsoleAll,
231-
WorkbenchAll, TenantCustomerAll, SubscriptionAll, AuditLogsAll,
237+
WorkbenchAll, TenantCustomerAll, SubscriptionAll, AuditLogsAll, SmtpServerAll,
232238
}
233239

234240
func init() {
@@ -298,6 +304,8 @@ func init() {
298304

299305
SubscriptionRead: SubscriptionReadPermission,
300306
SubscriptionAll: SubscriptionAllPermission,
307+
SmtpServerRead: SmtpServerReadPermission,
308+
SmtpServerAll: SmtpServerAllPermission,
301309
}
302310

303311
}

plugin/api/email/api.go

+9-7
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ package email
2929

3030
import (
3131
log "github.com/cihub/seelog"
32+
"infini.sh/console/core"
33+
"infini.sh/console/core/security/enum"
3234
"infini.sh/console/model"
3335
"infini.sh/console/plugin/api/email/common"
3436
"infini.sh/framework/core/api"
@@ -38,17 +40,17 @@ import (
3840
)
3941

4042
type EmailAPI struct {
41-
api.Handler
43+
core.Handler
4244
}
4345

4446
func InitAPI() {
4547
email := EmailAPI{}
46-
api.HandleAPIMethod(api.POST, "/email/server/_test", email.testEmailServer)
47-
api.HandleAPIMethod(api.GET, "/email/server/:email_server_id", email.getEmailServer)
48-
api.HandleAPIMethod(api.POST, "/email/server", email.createEmailServer)
49-
api.HandleAPIMethod(api.PUT, "/email/server/:email_server_id", email.updateEmailServer)
50-
api.HandleAPIMethod(api.DELETE, "/email/server/:email_server_id", email.deleteEmailServer)
51-
api.HandleAPIMethod(api.GET, "/email/server/_search", email.searchEmailServer)
48+
api.HandleAPIMethod(api.POST, "/email/server/_test", email.RequirePermission(email.testEmailServer, enum.PermissionSmtpServerRead))
49+
api.HandleAPIMethod(api.GET, "/email/server/:email_server_id", email.RequirePermission(email.getEmailServer, enum.PermissionAlertRuleRead))
50+
api.HandleAPIMethod(api.POST, "/email/server", email.RequirePermission(email.createEmailServer, enum.PermissionSmtpServerWrite))
51+
api.HandleAPIMethod(api.PUT, "/email/server/:email_server_id", email.RequirePermission(email.updateEmailServer, enum.PermissionSmtpServerWrite))
52+
api.HandleAPIMethod(api.DELETE, "/email/server/:email_server_id", email.RequirePermission(email.deleteEmailServer, enum.PermissionSmtpServerWrite))
53+
api.HandleAPIMethod(api.GET, "/email/server/_search", email.RequirePermission(email.searchEmailServer, enum.PermissionSmtpServerRead))
5254

5355
credential.RegisterChangeEvent(func(cred *credential.Credential) {
5456
query := util.MapStr{

0 commit comments

Comments
 (0)