update permit

This commit is contained in:
Liujian
2024-11-01 11:01:45 +08:00
parent 16084dabfe
commit 73daecf9b7
23 changed files with 338 additions and 249 deletions
+59 -19
View File
@@ -3,8 +3,9 @@ package access
import (
_ "embed"
yaml "gopkg.in/yaml.v3"
"github.com/eolinker/go-common/access"
"gopkg.in/yaml.v3"
)
type Access = access.Access
@@ -24,22 +25,61 @@ func init() {
access.Add(group, asl)
}
//defaultRoles := access.Roles()
//for group, rs := range defaultRoles {
// p, has := access.GetPermit(group)
// if !has {
// continue
// }
//
// for _, r := range rs {
// for _, pm := range r.Permits {
// apis, err := p.GetPermits(pm)
// if err != nil {
// continue
// }
// permit.AddPermitRule(pm, apis...)
// }
// }
//
//}
}
const (
SystemAnalysisRunViewView = "system.analysis.run_view.view"
SystemApiPortalApiPortalView = "system.api_portal.api_portal.view"
SystemSettingsAccountManager = "system.settings.account.manager"
SystemSettingsAccountView = "system.settings.account.view"
SystemSettingsAiProviderManager = "system.settings.ai_provider.manager"
SystemSettingsAiProviderView = "system.settings.ai_provider.view"
SystemSettingsApiGatewayManager = "system.settings.api_gateway.manager"
SystemSettingsApiGatewayView = "system.settings.api_gateway.view"
SystemSettingsDataSourceManager = "system.settings.data_source.manager"
SystemSettingsDataSourceView = "system.settings.data_source.view"
SystemSettingsGeneralManager = "system.settings.general.manager"
SystemSettingsGeneralView = "system.settings.general.view"
SystemSettingsLogConfigurationManager = "system.settings.log_configuration.manager"
SystemSettingsLogConfigurationView = "system.settings.log_configuration.view"
SystemSettingsRoleView = "system.settings.role.view"
SystemSettingsSslCertificateManager = "system.settings.ssl_certificate.manager"
SystemSettingsSslCertificateView = "system.settings.ssl_certificate.view"
SystemWorkspaceApplicationManagerAll = "system.workspace.application.manager_all"
SystemWorkspaceApplicationViewAll = "system.workspace.application.view_all"
SystemWorkspaceServiceManagerAll = "system.workspace.service.manager_all"
SystemWorkspaceServiceViewAll = "system.workspace.service.view_all"
SystemWorkspaceTeamCreate = "system.workspace.team.create"
SystemWorkspaceTeamManager = "system.workspace.team.manager"
SystemWorkspaceTeamViewAll = "system.workspace.team.view_all"
)
const (
TeamConsumerApplicationManager = "team.consumer.application.manager"
TeamConsumerAuthorizationManager = "team.consumer.authorization.manager"
TeamConsumerAuthorizationView = "team.consumer.authorization.view"
TeamConsumerSubscriptionManagerSubscribed = "team.consumer.subscription.manager_subscribed_services"
TeamConsumerSubscriptionSubscribe = "team.consumer.subscription.subscribe"
TeamConsumerSubscriptionViewSubscribed = "team.consumer.subscription.view_subscribed_service"
TeamServiceApiManager = "team.service.api.manager"
TeamServiceApiView = "team.service.api.view"
TeamServiceApiDocManager = "team.service.api_doc.manager"
TeamServiceApiDocView = "team.service.api_doc.view"
TeamServiceReleaseManager = "team.service.release.manager"
TeamServiceReleaseView = "team.service.release.view"
TeamServiceServiceManager = "team.service.service.manager"
TeamServiceServiceIntroManager = "team.service.service_intro.manager"
TeamServiceServiceIntroView = "team.service.service_intro.view"
TeamServiceSubscriptionManager = "team.service.subscription.manager"
TeamServiceSubscriptionView = "team.service.subscription.view"
TeamServiceUpstreamManager = "team.service.upstream.manager"
TeamServiceUpstreamView = "team.service.upstream.view"
TeamTeamConsumerManager = "team.team.consumer.manager"
TeamTeamConsumerView = "team.team.consumer.view"
TeamTeamMemberManager = "team.team.member.manager"
TeamTeamMemberView = "team.team.member.view"
TeamTeamServiceManager = "team.team.service.manager"
TeamTeamServiceView = "team.team.service.view"
TeamTeamTeamManager = "team.team.team.manager"
TeamTeamTeamView = "team.team.team.view"
)
+6 -108
View File
@@ -71,19 +71,6 @@ system:
guest_allow: true
- name: manager
value: 'manager'
apis:
- "POST:/api/v1/user/account"
- "PUT:/api/v1/user/account"
- "DELETE:/api/v1/user/account"
- "POST:/api/v1/user/account/enable"
- "POST:/api/v1/user/account/disable"
- "POST:/api/v1/user/department"
- "PUT:/api/v1/user/department"
- "DELETE:/api/v1/user/department"
- "POST:/api/v1/user/department/member"
- "DELETE:/api/v1/user/department/member"
- "POST:/api/v1/user/department/member/remove"
- "POST:/api/v1/account/role"
dependents:
- system.settings.account.view
- name: role
@@ -92,11 +79,6 @@ system:
- name: view
guest_allow: true
value: 'view'
apis:
- "GET:/api/v1/system/roles"
- "GET:/api/v1/system/role"
- "GET:/api/v1/team/roles"
- "GET:/api/v1/team/role"
- name: api gateway
value: 'api_gateway'
children:
@@ -104,27 +86,18 @@ system:
cname: 查看
value: 'view'
guest_allow: true
apis:
- "GET:/api/v1/cluster/nodes"
- name: manager
value: 'manager'
apis:
- "PUT:/api/v1/cluster/reset"
- "POST:/api/v1/cluster/check"
dependents:
- system.settings.api_gateway.view
- name: ai provider
value: 'ai_provider'
children:
- name: view
value: 'view'
guest_allow: true
apis:
- "GET:/api/v1/ai/providers"
- "GET:/api/v1/ai/provider/config"
- name: manager
value: 'manager'
apis:
- "PUT:/api/v1/ai/provider/config"
- "PUT:/api/v1/ai/provider/default-llm"
dependents:
- system.settings.ai_provider.view
- name: ssl certificate
@@ -134,15 +107,8 @@ system:
- name: view
value: 'view'
guest_allow: true
apis:
- "GET:/api/v1/certificates"
- "GET:/api/v1/certificate"
- name: manager
value: 'manager'
apis:
- "POST:/api/v1/certificate"
- "PUT:/api/v1/certificate"
- "DELETE:/api/v1/certificate"
dependents:
- system.settings.ssl_certificate.view
- name: data source
@@ -151,13 +117,8 @@ system:
- name: view
value: 'view'
guest_allow: true
apis:
- "GET:/api/v1/monitor/config"
- name: manager
value: 'manager'
apis:
- "POST:/api/v1/monitor/config"
- "PUT:/api/v1/monitor/config"
dependents:
- system.settings.data_source.view
- name: log configuration
@@ -166,18 +127,8 @@ system:
- name: view
value: 'view'
guest_allow: true
apis:
- "GET:/api/v1/dynamic/{name}/info"
- "GET:/api/v1/dynamic/{name}/list"
- "GET:/api/v1/dynamic/{name}/render"
- name: manager
value: 'manager'
apis:
- "POST:/api/v1/dynamic/{name}"
- "PUT:/api/v1/dynamic/{name}/config"
- "DELETE:/api/v1/dynamic/{name}/batch"
- "PUT:/api/v1/dynamic/{name}/online"
- "PUT:/api/v1/dynamic/{name}/offline"
dependents:
- system.settings.log_configuration.view
team:
@@ -190,17 +141,8 @@ team:
- name: view
value: 'view'
guest_allow: true
apis:
- "GET:/api/v1/service/routers"
- "GET:/api/v1/service/router/detail"
- "GET:/api/v1/service/router/detail/simple"
- "GET:/api/v1/service/router/define"
- name: manager
value: 'manager'
apis:
- "POST:/api/v1/service/router"
- "PUT:/api/v1/service/router"
- "DELETE:/api/v1/service/router"
dependents:
- team.service.api.view
- name: api doc
@@ -210,13 +152,8 @@ team:
- name: view
value: 'view'
guest_allow: true
apis:
- "GET:/api/v1/service/api_doc"
- name: manager
value: 'manager'
apis:
- "PUT:/api/v1/service/api_doc"
- "POST:/api/v1/service/api_doc/upload"
dependents:
- team.service.api_doc.view
- name: service intro
@@ -236,12 +173,8 @@ team:
- name: view
value: 'view'
guest_allow: true
apis:
- "GET:/api/v1/service/upstream"
- name: manager
value: 'manager'
apis:
- "PUT:/api/v1/service/upstream"
dependents:
- team.service.upstream.view
- name: release
@@ -250,18 +183,8 @@ team:
- name: view
value: 'view'
guest_allow: true
apis:
- "GET:/api/v1/service/releases"
- "GET:/api/v1/service/release"
- "GET:/api/v1/service/publishs"
- "GET:/api/v1/service/publish/check"
- "GET:/api/v1/service/release/preview"
- "GET:/api/v1/service/publish/status"
- name: manager
value: 'manager'
apis:
- "POST:/api/v1/service/publish/release/do"
- "DELETE:/api/v1/service/release"
dependents:
- team.service.release.view
- name: subscription review
@@ -270,16 +193,8 @@ team:
- name: view
value: 'view'
guest_allow: true
apis:
- "GET:/api/v1/service/approval/subscribes"
- "GET:/api/v1/service/approval/subscribe"
- "GET:/api/v1/service/subscribers"
- name: manager
value: 'manager'
apis:
- "POST:/api/v1/service/approval/subscribe"
- "POST:/api/v1/service/subscriber"
- "DELETE:/api/v1/service/subscriber"
dependents:
- team.service.subscription.view
- name: service
@@ -287,10 +202,6 @@ team:
children:
- name: manager
value: 'manager'
apis:
- "PUT:/api/v1/service/info"
- "POST:/api/v1/team/service"
- "DELETE:/api/v1/team/service"
dependents:
- team.service.service.manager
- name: consumer
@@ -305,38 +216,25 @@ team:
- name: view subscribed services
value: 'view_subscribed_service'
guest_allow: true
apis:
- "GET:/api/v1/application/subscription"
- name: manager subscribed services
value: 'manager_subscribed_services'
apis:
- "POST:/api/v1/catalogue/service/subscribe"
- "POST:/api/v1/application/subscription/cancel"
- "POST:/api/v1/application/subscription/cancel_apply"
dependents:
- team.consumer.subscription.manager_subscribed_services
- name: authorization
value: 'authorization'
children:
- name: view
value: 'view'
guest_allow: true
apis:
- "GET:/api/v1/app/authorization"
- "GET:/api/v1/app/authorizations"
- "GET:/api/v1/app/authorization/details"
- name: manager
value: 'manager'
apis:
- "POST:/api/v1/app/authorization"
- "PUT:/api/v1/app/authorization"
- "DELETE:/api/v1/app/authorization"
dependents:
- team.consumer.authorization.view
- name: consumer
value: 'application'
children:
- name: manager
value: 'manager'
apis:
- "PUT:/api/v1/app/info"
- "POST:/api/v1/team/app"
- name: team
value: 'team'
children:
+3 -19
View File
@@ -5,18 +5,15 @@ import (
"encoding/json"
"strings"
"github.com/eolinker/eosc"
"github.com/eolinker/go-common/pm3"
)
var (
//go:embed i18n/*
i18nDirs embed.FS
i18nData eosc.Untyped[string, map[string]string]
defaultI18n = "zh-CN"
i18nDirs embed.FS
)
func init() {
i18nData = eosc.BuildUntyped[string, map[string]string]()
files, err := i18nDirs.ReadDir("i18n")
if err != nil {
panic(err)
@@ -34,19 +31,6 @@ func init() {
panic(err)
}
key := strings.TrimSuffix(f.Name(), ".json")
i18nData.Set(key, tmp)
pm3.I18nRegister(key, tmp)
}
}
func Get(i18n string) map[string]string {
result, has := i18nData.Get(i18n)
if has {
return result
}
result, has = i18nData.Get(defaultI18n)
if !has {
return make(map[string]string)
}
return result
}