admin

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 25, 2026 License: Apache-2.0 Imports: 63 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetPageSize

func GetPageSize(ctx context.Context, pageSize int32) int32

GetPageSize 实现分页参数获取

func GetPageSizeByStructure

func GetPageSizeByStructure(ctx context.Context, pageSize int32, structure adminv1.Structure) int32

GetPageSizeByStructure 根据 Structure 返回分页参数

func GetUserID

func GetUserID(ctx context.Context) (int64, error)

GetUserID 获取用户 ID

func I18NName

func I18NName(name string) string

I18NName 用于获取 i18n name

func MetadataJSON

func MetadataJSON(metadata map[string]string) string

func MetadataParse

func MetadataParse(rawBody string) map[string]string

Types

type KnownAdminAPI

type KnownAdminAPI struct {
	// contains filtered or unexported fields
}

KnownAdminAPI xx

func New

func New(opts ...Options) *KnownAdminAPI

New xx

func (*KnownAdminAPI) ConfirmAuthMFASetup

func (a *KnownAdminAPI) ConfirmAuthMFASetup(ctx context.Context, req *adminv1.ConfirmAuthMFASetupRequest) (*adminv1.AuthToken, error)

ConfirmAuthMFASetup 登录态首次配置 MFA(确认)

func (*KnownAdminAPI) ConfirmUserMFA

ConfirmUserMFA 确认开启 MFA

func (*KnownAdminAPI) CreateAuthLogin

CreateAuthLogin 创建登录认证

func (*KnownAdminAPI) CreateAuthProvider

CreateAuthProvider 创建认证提供方

func (*KnownAdminAPI) CreateAuthToken

CreateAuthToken 创建认证令牌

func (*KnownAdminAPI) CreateCredential

CreateCredential 创建凭证

func (*KnownAdminAPI) CreateDatabaseInitialize

func (a *KnownAdminAPI) CreateDatabaseInitialize(ctx context.Context, req *adminv1.CreateDatabaseInitializeRequest) (*emptypb.Empty, error)

CreateDatabaseInitialize 幂等补全内置种子数据:已存在则跳过,缺失则创建。

func (*KnownAdminAPI) CreateDepartment

CreateDepartment 创建部门 请求字段与 proto Department 定义对齐,支持:parent_id, code, display_name, type, status, sort_order, description, cost_center_code, budget_item_code, max_members, external_id, metadata;created_by/updated_by 从上下文获取

func (*KnownAdminAPI) CreateDepartmentMembers

CreateDepartmentMembers 创建部门成员(与 proto Membership 定义对齐)

func (*KnownAdminAPI) CreateGroup

func (a *KnownAdminAPI) CreateGroup(ctx context.Context, req *adminv1.CreateGroupRequest) (*adminv1.Group, error)

CreateGroup 创建用户组

func (*KnownAdminAPI) CreateGroupMembers

CreateGroupMembers 创建群组成员

func (*KnownAdminAPI) CreateMenu

func (a *KnownAdminAPI) CreateMenu(ctx context.Context, req *adminv1.CreateMenuRequest) (*adminv1.Menu, error)

func (*KnownAdminAPI) CreateOAuth2Client

CreateOAuth2Client 创建 OAuth2 客户端

func (*KnownAdminAPI) CreatePolicy

CreatePolicy 创建策略

func (*KnownAdminAPI) CreateRole

func (a *KnownAdminAPI) CreateRole(ctx context.Context, req *adminv1.CreateRoleRequest) (*adminv1.Role, error)

CreateRole 创建角色

func (*KnownAdminAPI) CreateRoleMembers

CreateRoleMembers 批量添加角色主体绑定。

func (*KnownAdminAPI) CreateRoleMenus

CreateRoleMenus 批量创建角色菜单关联

func (*KnownAdminAPI) CreateUser

func (a *KnownAdminAPI) CreateUser(ctx context.Context, req *adminv1.CreateUserRequest) (*adminv1.User, error)

CreateUser 创建用户

func (*KnownAdminAPI) DeleteAuthProvider

func (a *KnownAdminAPI) DeleteAuthProvider(ctx context.Context, req *adminv1.DeleteAuthProviderRequest) (*emptypb.Empty, error)

DeleteAuthProvider 删除认证提供方

func (*KnownAdminAPI) DeleteCredential added in v0.4.1

func (a *KnownAdminAPI) DeleteCredential(ctx context.Context, req *adminv1.DeleteCredentialRequest) (*emptypb.Empty, error)

DeleteCredential 删除凭证(软删除) 受保护(protected=true)的凭证不可删除

func (*KnownAdminAPI) DeleteDepartment

func (a *KnownAdminAPI) DeleteDepartment(ctx context.Context, req *adminv1.DeleteDepartmentRequest) (*emptypb.Empty, error)

DeleteDepartment 删除部门

func (*KnownAdminAPI) DeleteDepartmentMember

func (a *KnownAdminAPI) DeleteDepartmentMember(ctx context.Context, req *adminv1.DeleteDepartmentMemberRequest) (*emptypb.Empty, error)

DeleteDepartmentMember 删除部门成员

func (*KnownAdminAPI) DeleteGroup

func (a *KnownAdminAPI) DeleteGroup(ctx context.Context, req *adminv1.DeleteGroupRequest) (*emptypb.Empty, error)

DeleteGroup 删除用户组(软删除:设置 deleted_at)

func (*KnownAdminAPI) DeleteGroupMember

func (a *KnownAdminAPI) DeleteGroupMember(ctx context.Context, req *adminv1.DeleteGroupMemberRequest) (*emptypb.Empty, error)

DeleteGroupMember 删除群组成员

func (*KnownAdminAPI) DeleteMenu

func (*KnownAdminAPI) DeleteOAuth2Client

func (a *KnownAdminAPI) DeleteOAuth2Client(ctx context.Context, req *adminv1.DeleteOAuth2ClientRequest) (*emptypb.Empty, error)

DeleteOAuth2Client 删除 OAuth2 客户端(软删除)

func (*KnownAdminAPI) DeletePolicy

func (a *KnownAdminAPI) DeletePolicy(ctx context.Context, req *adminv1.DeletePolicyRequest) (*emptypb.Empty, error)

DeletePolicy 删除策略

func (*KnownAdminAPI) DeleteRole

DeleteRole 删除角色

func (*KnownAdminAPI) DeleteRoleMember

func (a *KnownAdminAPI) DeleteRoleMember(ctx context.Context, req *adminv1.DeleteRoleMemberRequest) (*emptypb.Empty, error)

DeleteRoleMember 移除角色下的主体绑定。

func (*KnownAdminAPI) DeleteRoleMenu

func (a *KnownAdminAPI) DeleteRoleMenu(ctx context.Context, req *adminv1.DeleteRoleMenuRequest) (*emptypb.Empty, error)

DeleteRoleMenu 删除角色下的菜单关联

func (*KnownAdminAPI) DeleteRolePolicy

func (a *KnownAdminAPI) DeleteRolePolicy(ctx context.Context, req *adminv1.DeleteRolePolicyRequest) (*emptypb.Empty, error)

func (*KnownAdminAPI) DisableUserMFA

func (a *KnownAdminAPI) DisableUserMFA(ctx context.Context, req *adminv1.DisableUserMFARequest) (*emptypb.Empty, error)

DisableUserMFA 关闭 MFA

func (*KnownAdminAPI) GetAuthCallback

GetAuthCallback 处理 OAuth2.0 的回调

func (*KnownAdminAPI) GetAuthProvider

GetAuthProvider 获取认证提供方

func (*KnownAdminAPI) GetCredential added in v0.4.1

GetCredential 获取凭证详情

func (*KnownAdminAPI) GetGlobalSettings

func (*KnownAdminAPI) GetGroup

GetGroup 获取群组详情

func (*KnownAdminAPI) GetLionClient

func (a *KnownAdminAPI) GetLionClient() (*lion.Client, error)

func (*KnownAdminAPI) GetLocalConfigs

func (*KnownAdminAPI) GetMicroserviceGatewayServiceConfig added in v0.4.1

func (a *KnownAdminAPI) GetMicroserviceGatewayServiceConfig() (*serviceconfig.Service, error)

GetMicroserviceGatewayServiceConfig 公开的 gateway 配置访问器,委托给私有方法。 该方法在内部错误(如配置未加载)时返回 (nil, error),由调用方按需处理。

func (*KnownAdminAPI) GetMicroserviceGatewaySwagger added in v0.4.1

func (a *KnownAdminAPI) GetMicroserviceGatewaySwagger() (*openapiconfig.OpenAPIConfig, error)

GetMicroserviceGatewaySwagger 公开的 swagger 配置访问器,委托给私有方法。 该方法在内部错误(如配置未加载)时返回 (nil, error),由调用方按需处理。

func (*KnownAdminAPI) GetMicroserviceGatewaySwaggerJSON added in v0.4.1

func (a *KnownAdminAPI) GetMicroserviceGatewaySwaggerJSON() (fs.FS, string)

GetMicroserviceGatewaySwaggerJSON 返回微服务网关资产 FS 与 swagger 资产基名, 供 AutoBridge 侧 loadSwaggerDoc 加载 openapi/<name>.swagger.json(Phase 6)。 未调用 SetMicroserviceGatewayYAML 时 assets 为 nil,调用方应降级为仅 path 参数。

func (*KnownAdminAPI) GetOAuth2Client

GetOAuth2Client 获取 OAuth2 客户端详情

func (*KnownAdminAPI) GetOAuth2Discovery

func (a *KnownAdminAPI) GetOAuth2Discovery(ctx context.Context, req *emptypb.Empty) (*adminv1.OAuth2Discovery, error)

GetOAuth2Discovery 获取内置 OpenID 配置

func (*KnownAdminAPI) GetOAuth2JSONWebKeys

func (a *KnownAdminAPI) GetOAuth2JSONWebKeys(ctx context.Context, req *emptypb.Empty) (*adminv1.OAuth2JSONWebKeys, error)

GetOAuth2JSONWebKeys 获取内置 OpenID 公钥

func (*KnownAdminAPI) GetOAuth2Userinfo

func (a *KnownAdminAPI) GetOAuth2Userinfo(ctx context.Context, req *emptypb.Empty) (*adminv1.OAuth2Userinfo, error)

GetOAuth2Userinfo 获取内置 OpenID 用户信息 对应 OIDC userinfo endpoint,返回 OIDC Standard Claims 规范定义的用户信息 https://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse

func (*KnownAdminAPI) GetPolicy

GetPolicy 获取策略详情

func (*KnownAdminAPI) GetRole

GetRole 获取角色详情

func (*KnownAdminAPI) GetUser

GetUser 获取用户详情

func (*KnownAdminAPI) ListAuthProviders

ListAuthProviders 获取认证提供列表

func (*KnownAdminAPI) ListCredentials added in v0.4.1

ListCredentials 查询凭证列表

func (*KnownAdminAPI) ListDepartmentMembers

ListDepartmentMembers 获取部门成员(与 proto Membership 定义对齐)

func (*KnownAdminAPI) ListDepartments

ListDepartments 列出部门

func (*KnownAdminAPI) ListGroupMembers

ListGroupMembers 获取群组成员列表 根据群组类型从不同数据源获取成员:

  • DEPARTMENT: 从 user_departments 表查询关联部门的成员
  • ROLE: 从 user_roles 表查询关联角色的成员
  • DYNAMIC: 根据 ref_expr 动态规则从 users 表查询
  • SYSTEM: 同 DYNAMIC,根据 ref_expr 动态规则从 users 表查询(系统内置,不可创建/修改/删除)
  • 其他类型: 从 user_groups 表查询

func (*KnownAdminAPI) ListGroups

ListGroups 列出用户组

func (*KnownAdminAPI) ListLocalConfigs

func (*KnownAdminAPI) ListLoginOptions

ListLoginOptions 获取登录页可用的认证提供方列表(无需认证) 仅返回登录页渲染所需的最小字段集,不包含任何敏感配置信息

func (*KnownAdminAPI) ListMenus

func (*KnownAdminAPI) ListOAuth2Clients

ListOAuth2Clients 查询 OAuth2 客户端列表

func (*KnownAdminAPI) ListPolicies

ListPolicies 获取策略列表

func (*KnownAdminAPI) ListRoleMembers

ListRoleMembers 获取角色主体绑定列表,并在 full 视图下展开为用户 membership。

func (*KnownAdminAPI) ListRoleMenus

ListRoleMenus 获取角色菜单列表

func (*KnownAdminAPI) ListRolePolicies

func (*KnownAdminAPI) ListRoles

ListRoles 获取角色列表,默认返回树状结构 仅返回当前用户拥有的角色及其所有子角色

func (*KnownAdminAPI) ListServices

func (*KnownAdminAPI) ListUsers

ListUsers 获取用户列表

func (*KnownAdminAPI) RevealCredentialSecret added in v0.4.1

RevealCredentialSecret 揭示凭证密钥 通过当前用户密码二次验证后,解密并返回凭证的敏感字段。 安全约束: - 从 context 获取当前用户名,与 password_hash 一起验证身份 - 支持静态用户和数据库注册用户两种验证方式 - 验证失败返回 Unauthenticated - 按凭证类型仅解密并返回该类型实际拥有的字段 - 操作记录审计日志

func (*KnownAdminAPI) SetMicroserviceGatewayYAML

func (a *KnownAdminAPI) SetMicroserviceGatewayYAML(assets fs.FS) error

SetMicroserviceGatewayYAML 设置微服务网关的 YAML 配置,并在注入时立即完成解析

func (*KnownAdminAPI) SetupUserMFA

SetupUserMFA 初始化 MFA 设置(生成密钥 + 二维码 URI)

func (*KnownAdminAPI) StartAuthMFASetup

StartAuthMFASetup 登录态首次配置 MFA(开始)

func (*KnownAdminAPI) UpdateAuthProvider

UpdateAuthProvider 更新认证提供方

func (*KnownAdminAPI) UpdateCredential added in v0.4.1

UpdateCredential 更新凭证 仅允许更新 status / display_name / description / expires_at / metadata 受保护(protected=true)的凭证仅允许更新 display_name / description

func (*KnownAdminAPI) UpdateDepartment

UpdateDepartment 更新部门

func (*KnownAdminAPI) UpdateDepartmentMembers

UpdateDepartmentMembers 更新部门成员(按 department_id + user_id 定位,与 proto Membership 对齐)

func (*KnownAdminAPI) UpdateGroup

func (a *KnownAdminAPI) UpdateGroup(ctx context.Context, req *adminv1.UpdateGroupRequest) (*adminv1.Group, error)

UpdateGroup 更新用户组(code 创建后不建议修改,若 update_mask 含 code 仍可更新)

func (*KnownAdminAPI) UpdateGroupMember

UpdateGroupMember 更新群组成员

func (*KnownAdminAPI) UpdateMenu

func (a *KnownAdminAPI) UpdateMenu(ctx context.Context, req *adminv1.UpdateMenuRequest) (*adminv1.Menu, error)

func (*KnownAdminAPI) UpdateOAuth2Client

UpdateOAuth2Client 更新 OAuth2 客户端

func (*KnownAdminAPI) UpdatePolicy

UpdatePolicy 更新策略

func (*KnownAdminAPI) UpdateRole

func (a *KnownAdminAPI) UpdateRole(ctx context.Context, req *adminv1.UpdateRoleRequest) (*adminv1.Role, error)

UpdateRole 更新角色

func (*KnownAdminAPI) UpdateRoleMembers

UpdateRoleMembers 批量更新角色下主体绑定(PATCH .../roles/{parent}/members)。

func (*KnownAdminAPI) UpdateRoleMenus

UpdateRoleMenus 批量更新角色菜单关联

func (*KnownAdminAPI) UpdateUser

func (a *KnownAdminAPI) UpdateUser(ctx context.Context, req *adminv1.UpdateUserRequest) (*adminv1.User, error)

UpdateUser 更新用户信息

func (*KnownAdminAPI) UpdateUserPassword

UpdateUserPassword 修改用户密码

func (*KnownAdminAPI) UpsertAuthProviders

UpsertAuthProviders 更新认证提供方列表

func (*KnownAdminAPI) VerifyAuthMFA

VerifyAuthMFA 登录时的 MFA 二步验证

type LocalConfigSnapshot

type LocalConfigSnapshot struct {
	Services    *adminv1.ServicesConfig
	Discover    *adminv1.DiscoverConfig
	Security    *adminv1.SecurityConfig
	Database    *adminv1.DatabaseConfig
	Cachebox    *adminv1.CacheboxConfig
	Debugger    *adminv1.DebuggerConfig
	Objstore    *adminv1.ObjstoreConfig
	Frontend    *adminv1.FrontendConfig
	Observables *adminv1.ObservablesConfig
	Cloudevents *adminv1.CloudEventsConfig
	Automations *adminv1.AutomationsConfig
	Independent *structpb.Struct
}

LocalConfigSnapshot keeps admin runtime config sections for local-config APIs.

type Options

type Options func(c *config)

Options xx

func WithAESKey

func WithAESKey(key []byte) Options

WithAESKey 设置 AES 加密的密钥

func WithLionClient

func WithLionClient(client *lion.Client) Options

WithLionClient 内置管理模块的 ent client 数据库 lion 数据结构

func WithLocalConfigSnapshot

func WithLocalConfigSnapshot(snapshot *LocalConfigSnapshot) Options

WithLocalConfigSnapshot 设置运行时本地配置快照

func WithLogger

func WithLogger(logger *logrus.Entry) Options

WithLogger 返回一个 AdminAPIOption,用于设置 AdminAPI 的日志记录器。 参数 logger 是一个指向 logrus.Entry 的指针,表示要使用的日志记录器。 返回值是一个 AdminAPIOption,用于配置 AdminAPI 的日志记录器。

func WithOIDCProvider

func WithOIDCProvider(issuer, clientID, clientSecret string) Options

WithOIDCProvider 设置 oidc 认证的基础信息

func WithStaticUsers

func WithStaticUsers(users *StaticUsers) Options

WithStaticUsers 设置本地配置的静态用户

type StaticUser

type StaticUser struct {
	UserID       int64    `json:"user_id"`
	Username     string   `json:"username"`
	PasswordHash string   `json:"password_hash"`
	Email        string   `json:"email"`
	Groups       []string `json:"groups"`
	Tenant       string   `json:"tenant"`
}

StaticUser 本地配置的静态用户

func (StaticUser) GetAccessToken

func (s StaticUser) GetAccessToken(expiresIn int32, appid string) (string, error)

GetAccessToken 获取或生成 jwt token

type StaticUsers

type StaticUsers []*StaticUser

func (*StaticUsers) Append

func (s *StaticUsers) Append(user *StaticUser)

Append 添加本地静态用户

func (*StaticUsers) Len

func (s *StaticUsers) Len() int

Len 返回用户数量

func (*StaticUsers) Valid

func (s *StaticUsers) Valid(username, passwordHash string) (*StaticUser, bool)

Valid 验证 LOCAL 登录载荷(CreateAuthLoginRequest.password_hash)是否与静态用户匹配。 存储为 sha256 十六进制时做字符串相等比较;存储为 bcrypt 时(以 “$2” 开头)用 BcryptCompare,与库表 LOCAL 用户约定一致。

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL