admin

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package admin 定义控制面使用的租户、工作区、用户、角色、权限和审计领域类型。

Index

Constants

View Source
const (
	PermissionSuperAdmin = "canSuperAdmin"

	PermissionWorkspaceRead   = "workspace:read"
	PermissionWorkspaceCreate = "workspace:create"
	PermissionWorkspaceUpdate = "workspace:update"
	PermissionWorkspaceDelete = "workspace:delete"

	PermissionUserRead   = "user:read"
	PermissionUserInvite = "user:invite"
	PermissionUserUpdate = "user:update"
	PermissionUserRemove = "user:remove"

	PermissionRoleRead   = "role:read"
	PermissionRoleCreate = "role:create"
	PermissionRoleUpdate = "role:update"
	PermissionRoleDelete = "role:delete"

	PermissionWorkflowRead    = "workflow:read"
	PermissionWorkflowCreate  = "workflow:create"
	PermissionWorkflowUpdate  = "workflow:update"
	PermissionWorkflowPublish = "workflow:publish"
	PermissionWorkflowDisable = "workflow:disable"
	PermissionWorkflowExecute = "workflow:execute"

	PermissionNodeRead   = "node:read"
	PermissionNodeManage = "node:manage"

	PermissionTraceRead = "trace:read"
	PermissionAuditRead = "audit:read"

	PermissionApprovalRead   = "approval:read"
	PermissionApprovalSubmit = "approval:submit"
	PermissionApprovalJudge  = "approval:judge"

	PermissionPermissionRead   = "permission:read"
	PermissionPermissionCreate = "permission:create"
	PermissionPermissionUpdate = "permission:update"
)

Variables

This section is empty.

Functions

func AllPermissions

func AllPermissions() []string

AllPermissions 返回所有内置权限名称。

Types

type ApprovalObjectType

type ApprovalObjectType string

ApprovalObjectType 表示审批单关联的对象类型。

const (
	ApprovalObjectWorkspaceJoin    ApprovalObjectType = "workspace_join"
	ApprovalObjectWorkflowPublish  ApprovalObjectType = "workflow_publish"
	ApprovalObjectWorkflowDisable  ApprovalObjectType = "workflow_disable"
	ApprovalObjectWorkflowRollback ApprovalObjectType = "workflow_rollback"
)

type ApprovalRequest

type ApprovalRequest struct {
	ID          string                 `json:"id"`
	Workspace   string                 `json:"workspace"`
	ObjectType  ApprovalObjectType     `json:"objectType"`
	ObjectID    string                 `json:"objectId"`
	Title       string                 `json:"title"`
	Reason      string                 `json:"reason"`
	Attrs       map[string]interface{} `json:"attrs"`
	RequesterID string                 `json:"requesterId"`
	Requester   string                 `json:"requester"`
	ApproverIDs []string               `json:"approverIds"`
	ReviewerID  string                 `json:"reviewerId"`
	Reviewer    string                 `json:"reviewer"`
	Status      ApprovalStatus         `json:"status"`
	Comment     string                 `json:"comment"`
	DecidedAt   *time.Time             `json:"decidedAt,omitempty"`
	CreatedAt   time.Time              `json:"createdAt"`
	UpdatedAt   time.Time              `json:"updatedAt"`
}

ApprovalRequest 表示一张待处理或已完成的审批单。

type ApprovalStatus

type ApprovalStatus string

ApprovalStatus 表示审批单生命周期状态。

const (
	ApprovalStatusPending   ApprovalStatus = "pending"
	ApprovalStatusApproved  ApprovalStatus = "approved"
	ApprovalStatusRejected  ApprovalStatus = "rejected"
	ApprovalStatusCancelled ApprovalStatus = "cancelled"
)

type Permission

type Permission struct {
	ID          string `json:"id"`
	Workspace   string `json:"workspace"`
	Name        string `json:"name"`
	Description string `json:"description"`
}

Permission 表示一个可授权的操作点。

func DefaultPermissions

func DefaultPermissions() []*Permission

DefaultPermissions 返回系统初始化时应创建的默认权限集合。

type Role

type Role struct {
	ID          string        `json:"id"`
	Workspace   string        `json:"workspace"`
	Name        string        `json:"name"`
	Description string        `json:"description"`
	Permissions []*Permission `json:"permissions"`
}

Role 表示工作空间内的一组权限。

type User

type User struct {
	ID           string    `json:"id"`
	Username     string    `json:"username"`
	PasswordHash string    `json:"-"`
	IsSuperAdmin bool      `json:"isSuperAdmin"`
	Disabled     bool      `json:"disabled"`
	CreatedAt    time.Time `json:"createdAt"`
	UpdatedAt    time.Time `json:"updatedAt"`
}

User 表示控制面用户账号。

func (*User) CheckPassword

func (u *User) CheckPassword(password string) bool

CheckPassword 校验明文密码是否匹配用户密码哈希。

func (*User) SetPassword

func (u *User) SetPassword(password string) error

SetPassword 计算并保存用户密码哈希。

type WorkflowProgress

type WorkflowProgress struct {
	Workspace      string         `json:"workspace"`
	WorkflowID     string         `json:"workflowId"`
	Version        string         `json:"version"`
	CurrentEnv     string         `json:"currentEnv"`
	PendingEnv     string         `json:"pendingEnv"`
	ApprovalStatus ApprovalStatus `json:"approvalStatus"`
	UpdatedBy      string         `json:"updatedBy"`
	UpdatedAt      time.Time      `json:"updatedAt"`
}

WorkflowProgress 记录一个 workflow 版本在环境流水线中的推进位置和待发布目标授权。 workflow 定义本身统一保存在 workflow_versions 表;这里不重复保存 workflow JSON。

type Workspace

type Workspace struct {
	ID          string    `json:"id"`
	Name        string    `json:"name"`
	Tag         string    `json:"tag"`
	Description string    `json:"description"`
	OwnerUserID string    `json:"ownerUserId"`
	CreatedAt   time.Time `json:"createdAt"`
	UpdatedAt   time.Time `json:"updatedAt"`
}

Workspace 表示控制面的一个工作空间。

type WorkspaceEnvironment

type WorkspaceEnvironment struct {
	ID               uint      `json:"id"`
	Workspace        string    `json:"workspace"`
	Env              string    `json:"env"`
	Name             string    `json:"name"`
	Description      string    `json:"description"`
	Order            int       `json:"order"`
	Enabled          bool      `json:"enabled"`
	ApprovalRequired bool      `json:"approvalRequired"`
	ApproverIDs      []string  `json:"approverIds"`
	CreatedAt        time.Time `json:"createdAt"`
	UpdatedAt        time.Time `json:"updatedAt"`
}

WorkspaceEnvironment 表示工作空间内可发布 workflow 的一个运行环境。 Order 决定发布推进顺序;ApprovalRequired 表示推进到该环境前必须先通过审批。

type WorkspaceMember

type WorkspaceMember struct {
	Workspace string  `json:"workspace"`
	UserID    string  `json:"userId"`
	Roles     []*Role `json:"roles"`
}

WorkspaceMember 表示用户在工作空间内的成员关系和角色。

Jump to

Keyboard shortcuts

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