Documentation
¶
Overview ¶
Package repository 定义控制面持久化接口和通用仓储错误。
service 层依赖这些接口;具体内存或 Gorm 实现放在子包中。
Index ¶
- Variables
- type ApprovalQuery
- type ApprovalRepository
- type AuditAction
- type AuditLog
- type AuditLogRepository
- type OperationKind
- type PermissionQuery
- type PermissionRepository
- type RoleQuery
- type RoleRepository
- type TraceEventQuery
- type TraceQuery
- type TraceRepository
- type TraceSummary
- type UserQuery
- type UserRepository
- type WorkflowProgressRepository
- type WorkflowQuery
- type WorkflowRepository
- type WorkspaceEnvironmentQuery
- type WorkspaceEnvironmentReferenceRepository
- type WorkspaceEnvironmentReferences
- type WorkspaceEnvironmentRepository
- type WorkspaceMemberRepository
- type WorkspaceQuery
- type WorkspaceRepository
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type ApprovalQuery ¶
type ApprovalQuery struct {
Workspace string
RequesterID string
ApproverID string
ObjectType admin.ApprovalObjectType
Status admin.ApprovalStatus
Keyword string
Offset int
Limit int
}
ApprovalQuery 是审批单列表查询条件。
type ApprovalRepository ¶
type ApprovalRepository interface {
Create(ctx context.Context, request *admin.ApprovalRequest) error
Decide(ctx context.Context, request *admin.ApprovalRequest) error
Get(ctx context.Context, workspace string, requestID string) (*admin.ApprovalRequest, error)
List(ctx context.Context, query *ApprovalQuery) ([]*admin.ApprovalRequest, int64, error)
}
ApprovalRepository 定义单行审批记录的持久化能力。
type AuditAction ¶
type AuditAction string
AuditAction 表示审计日志动作类型。
const ( AuditActionCreate AuditAction = "create" AuditActionUpdate AuditAction = "update" AuditActionDelete AuditAction = "delete" AuditActionPublish AuditAction = "publish" AuditActionDisable AuditAction = "disable" AuditActionEnable AuditAction = "enable" AuditActionLogin AuditAction = "login" AuditActionExecute AuditAction = "execute" AuditActionRollback AuditAction = "rollback" AuditActionReset AuditAction = "reset" )
type AuditLog ¶
type AuditLog struct {
ID string `json:"id"`
Kind OperationKind `json:"kind"`
Workspace string `json:"workspace"`
UserID string `json:"userId"`
Username string `json:"username"`
Resource string `json:"resource"`
ResourceID string `json:"resourceId"`
Action AuditAction `json:"action"`
Success bool `json:"success"`
Message string `json:"message"`
Attrs map[string]interface{} `json:"attrs"`
Status admin.ApprovalStatus `json:"status,omitempty"`
ReviewerID string `json:"reviewerId,omitempty"`
Reviewer string `json:"reviewer,omitempty"`
Comment string `json:"comment,omitempty"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
AuditLog 是控制面审计日志领域记录。
type AuditLogRepository ¶
type AuditLogRepository interface {
Append(ctx context.Context, log *AuditLog) error
List(ctx context.Context, workspace string, resource string, resourceID string, offset int, limit int) ([]*AuditLog, int64, error)
}
AuditLogRepository 定义审计日志持久化能力。
type OperationKind ¶
type OperationKind string
OperationKind 区分普通操作记录和审批记录。
const ( OperationKindAudit OperationKind = "audit" OperationKindApproval OperationKind = "approval" )
type PermissionQuery ¶
PermissionQuery 是权限列表查询条件。
type PermissionRepository ¶
type PermissionRepository interface {
Create(ctx context.Context, permission *admin.Permission) error
Update(ctx context.Context, permission *admin.Permission) error
Get(ctx context.Context, workspace string, permissionID string) (*admin.Permission, error)
List(ctx context.Context, query *PermissionQuery) ([]*admin.Permission, int64, error)
Delete(ctx context.Context, workspace string, permissionID string) error
}
PermissionRepository 定义权限持久化能力。
type RoleRepository ¶
type RoleRepository interface {
Create(ctx context.Context, role *admin.Role) error
Update(ctx context.Context, role *admin.Role) error
Get(ctx context.Context, workspace string, roleID string) (*admin.Role, error)
List(ctx context.Context, query *RoleQuery) ([]*admin.Role, int64, error)
Delete(ctx context.Context, workspace string, roleID string) error
}
RoleRepository 定义角色持久化能力。
type TraceEventQuery ¶
TraceEventQuery 是单条 trace 的事件分页查询条件。
type TraceQuery ¶
type TraceQuery struct {
Env string
Workspace string
TraceID string
Status string
Attrs map[string]interface{}
StartTime time.Time
EndTime time.Time
Offset int
Limit int
}
TraceQuery 是 trace 摘要列表查询条件。
type TraceRepository ¶
type TraceRepository interface {
Search(ctx context.Context, query *TraceQuery) ([]*TraceSummary, int64, error)
GetEvents(ctx context.Context, query *TraceEventQuery) ([]*event.Event, int64, error)
}
TraceRepository 定义 trace 事件查询能力。
type TraceSummary ¶
type TraceSummary struct {
TraceID string `json:"traceId"`
Env string `json:"env"`
Workspace string `json:"workspace"`
Attrs map[string]interface{} `json:"attrs,omitempty"`
FirstTime time.Time `json:"firstTime"`
LastTime time.Time `json:"lastTime"`
FinalStatus string `json:"finalStatus"`
ErrorCode string `json:"errorCode"`
ErrorMessage string `json:"errorMessage"`
RunCount int `json:"runCount"`
NodeCount int `json:"nodeCount"`
}
TraceSummary 是按 traceId 聚合后的客服/研发查询摘要。
type UserQuery ¶
type UserQuery struct {
Workspace string
UserIDs []string
FilterByUserIDs bool
Keyword string
Offset int
Limit int
}
UserQuery 是用户列表查询条件。
type UserRepository ¶
type UserRepository interface {
Create(ctx context.Context, user *admin.User) error
Update(ctx context.Context, user *admin.User) error
Get(ctx context.Context, userID string) (*admin.User, error)
GetByUsername(ctx context.Context, username string) (*admin.User, error)
List(ctx context.Context, query *UserQuery) ([]*admin.User, int64, error)
}
UserRepository 定义用户持久化能力。
type WorkflowProgressRepository ¶
type WorkflowProgressRepository interface {
Reset(ctx context.Context, workspace string, workflowID string, version string, operator string) error
MarkPending(ctx context.Context, workspace string, workflowID string, version string, pendingEnv string, operator string) error
MarkApproved(ctx context.Context, workspace string, workflowID string, version string, pendingEnv string, operator string) error
MarkPublished(ctx context.Context, workspace string, workflowID string, version string, currentEnv string, operator string) error
ClearPending(ctx context.Context, workspace string, workflowID string, version string, operator string) error
Get(ctx context.Context, workspace string, workflowID string, version string) (*admin.WorkflowProgress, error)
}
WorkflowProgressRepository 定义 workflow 环境推进状态的持久化能力。
type WorkflowQuery ¶
type WorkflowQuery struct {
Env string
Workspace string
WorkflowID string
Keyword string
Status core.WorkflowStatus
Offset int
Limit int
}
WorkflowQuery 是 workflow 版本列表查询条件。
type WorkflowRepository ¶
type WorkflowRepository interface {
Save(ctx context.Context, workflow *core.Workflow) error
Delete(ctx context.Context, env string, workspace string, workflowID string, version string) error
Publish(ctx context.Context, env string, workspace string, workflowID string, version string, remark string, publishedBy string) (*core.WorkflowVersion, error)
Promote(ctx context.Context, sourceEnv string, targetEnv string, workspace string, workflowID string, version string, remark string, publishedBy string) (*core.WorkflowVersion, error)
GetVersion(ctx context.Context, env string, workspace string, workflowID string, version string) (*core.WorkflowVersion, error)
GetPublished(ctx context.Context, env string, workspace string, workflowID string, version string) (*core.Workflow, error)
List(ctx context.Context, query *WorkflowQuery) ([]*core.WorkflowVersion, int64, error)
Disable(ctx context.Context, env string, workspace string, workflowID string, version string) error
}
WorkflowRepository 定义 workflow 新增编辑、发布和停用的持久化能力。
type WorkspaceEnvironmentQuery ¶
type WorkspaceEnvironmentQuery struct {
Workspace string
Keyword string
Enabled *bool
Offset int
Limit int
}
WorkspaceEnvironmentQuery 是工作空间环境列表查询条件。
type WorkspaceEnvironmentReferenceRepository ¶
type WorkspaceEnvironmentReferenceRepository interface {
Count(ctx context.Context, workspace string, env string) (*WorkspaceEnvironmentReferences, error)
}
WorkspaceEnvironmentReferenceRepository 查询一个环境是否仍被流程生命周期引用。
type WorkspaceEnvironmentReferences ¶
type WorkspaceEnvironmentReferences struct {
WorkflowVersions int64 `json:"workflowVersions"`
WorkflowProgress int64 `json:"workflowProgress"`
Approvals int64 `json:"approvals"`
}
WorkspaceEnvironmentReferences 汇总阻止环境删除的领域引用。
func (*WorkspaceEnvironmentReferences) Total ¶
func (r *WorkspaceEnvironmentReferences) Total() int64
type WorkspaceEnvironmentRepository ¶
type WorkspaceEnvironmentRepository interface {
Save(ctx context.Context, env *admin.WorkspaceEnvironment) error
Get(ctx context.Context, workspace string, env string) (*admin.WorkspaceEnvironment, error)
List(ctx context.Context, query *WorkspaceEnvironmentQuery) ([]*admin.WorkspaceEnvironment, int64, error)
Delete(ctx context.Context, workspace string, env string) error
}
WorkspaceEnvironmentRepository 定义工作空间环境的持久化能力。
type WorkspaceMemberRepository ¶
type WorkspaceMemberRepository interface {
Add(ctx context.Context, member *admin.WorkspaceMember) error
UpdateRoles(ctx context.Context, workspace string, userID string, roleIDs []string) error
Get(ctx context.Context, workspace string, userID string) (*admin.WorkspaceMember, error)
List(ctx context.Context, workspace string, offset int, limit int) ([]*admin.WorkspaceMember, int64, error)
Remove(ctx context.Context, workspace string, userID string) error
}
WorkspaceMemberRepository 定义工作空间成员持久化能力。
type WorkspaceQuery ¶
WorkspaceQuery 是工作空间列表查询条件。
type WorkspaceRepository ¶
type WorkspaceRepository interface {
Create(ctx context.Context, workspace *admin.Workspace) error
Update(ctx context.Context, workspace *admin.Workspace) error
Get(ctx context.Context, workspace string) (*admin.Workspace, error)
List(ctx context.Context, query *WorkspaceQuery) ([]*admin.Workspace, int64, error)
Delete(ctx context.Context, workspace string) error
}
WorkspaceRepository 定义工作空间持久化能力。
Directories
¶
| Path | Synopsis |
|---|---|
|
Package gormmodel 定义 Gorm 持久化模型和结构化 JSON 转换工具。
|
Package gormmodel 定义 Gorm 持久化模型和结构化 JSON 转换工具。 |
|
Package gormrepo 使用 Gorm 实现控制面的 repository 接口。
|
Package gormrepo 使用 Gorm 实现控制面的 repository 接口。 |
|
Package memory 提供控制面 repository 接口的内存实现。
|
Package memory 提供控制面 repository 接口的内存实现。 |