Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrRoleIsNil = errors.New("role is nil")
Functions ¶
func SetDefaultAccessInvite ¶
func SetDefaultAccessInvite()
Types ¶
type AccessInviteSvc ¶
type AccessInviteSvc interface { // InviteCodeList 邀请码列表 InviteCodeList(ctx context.Context, req *api.InviteCodeListRequest) (*api.InviteCodeListResponse, error) // CreateInviteLink 创建邀请链接 CreateInviteLink(ctx context.Context, entity *script_entity.ScriptInvite) (*script_entity.ScriptInvite, error) // CreateInviteCode 创建邀请码 CreateInviteCode(ctx context.Context, req *api.CreateInviteCodeRequest) (*api.CreateInviteCodeResponse, error) // DeleteInviteCode 删除邀请码 DeleteInviteCode(ctx context.Context, req *api.DeleteInviteCodeRequest) (*api.DeleteInviteCodeResponse, error) // AuditInviteCode 审核邀请码 AuditInviteCode(ctx context.Context, req *api.AuditInviteCodeRequest) (*api.AuditInviteCodeResponse, error) // AcceptInvite 接受邀请 AcceptInvite(ctx context.Context, req *api.AcceptInviteRequest) (*api.AcceptInviteResponse, error) // GroupInviteCodeList 群组邀请码列表 GroupInviteCodeList(ctx context.Context, req *api.GroupInviteCodeListRequest) (*api.GroupInviteCodeListResponse, error) // CreateGroupInviteCode 创建群组邀请码 CreateGroupInviteCode(ctx context.Context, req *api.CreateGroupInviteCodeRequest) (*api.CreateGroupInviteCodeResponse, error) // InviteCodeInfo 邀请码信息 InviteCodeInfo(ctx context.Context, req *api.InviteCodeInfoRequest) (*api.InviteCodeInfoResponse, error) }
func AccessInvite ¶
func AccessInvite() AccessInviteSvc
func NewAccessInviteSvc ¶
func NewAccessInviteSvc() AccessInviteSvc
type AccessSvc ¶
type AccessSvc interface { // AccessList 访问控制列表 AccessList(ctx context.Context, req *api.AccessListRequest) (*api.AccessListResponse, error) // UpdateAccess 更新访问控制 UpdateAccess(ctx context.Context, req *api.UpdateAccessRequest) (*api.UpdateAccessResponse, error) // DeleteAccess 删除访问控制 DeleteAccess(ctx context.Context, req *api.DeleteAccessRequest) (*api.DeleteAccessResponse, error) // Check 检查是否有访问权限 Check(ctx context.Context, res, act string) (*CheckAccess, error) // CheckHandler 检查是否有访问权限中间件 CheckHandler(res, act string, opts ...CheckOption) gin.HandlerFunc // RequireAccess 需要权限存在 RequireAccess() gin.HandlerFunc // CtxAccess 获取访问权限 CtxAccess(ctx context.Context) *script_entity.ScriptAccess // AddGroupAccess 添加组权限 AddGroupAccess(ctx context.Context, req *api.AddGroupAccessRequest) (*api.AddGroupAccessResponse, error) // AddUserAccess 添加用户权限, 通过用户名进行邀请 AddUserAccess(ctx context.Context, req *api.AddUserAccessRequest) (*api.AddUserAccessResponse, error) // AddAccess 添加权限 内部用 AddAccess(ctx context.Context, entity *script_entity.ScriptAccess) error // GetRole 获取用户角色 GetRole(ctx context.Context, user *model.AuthInfo, script *script_entity.Script) ([]script_entity.AccessRole, error) }
type CheckAccess ¶
type CheckAccess struct { Roles []script_entity.AccessRole AccessMap map[string]map[string]struct{} }
type CheckOption ¶
type CheckOption func(*CheckOptions)
func WithCheckSkip ¶
func WithCheckSkip(f func(ctx *gin.Context) (bool, error)) CheckOption
type GroupSvc ¶
type GroupSvc interface { // GroupList 群组列表 GroupList(ctx context.Context, req *api.GroupListRequest) (*api.GroupListResponse, error) // CreateGroup 创建群组 CreateGroup(ctx context.Context, req *api.CreateGroupRequest) (*api.CreateGroupResponse, error) // UpdateGroup 更新群组 UpdateGroup(ctx context.Context, req *api.UpdateGroupRequest) (*api.UpdateGroupResponse, error) // DeleteGroup 删除群组 DeleteGroup(ctx context.Context, req *api.DeleteGroupRequest) (*api.DeleteGroupResponse, error) // GroupMemberList 群组成员列表 GroupMemberList(ctx context.Context, req *api.GroupMemberListRequest) (*api.GroupMemberListResponse, error) // AddMember 添加成员 AddMember(ctx context.Context, req *api.AddMemberRequest) (*api.AddMemberResponse, error) // AddMemberInternal 添加成员 内部调用 AddMemberInternal(ctx context.Context, entity *script_entity.ScriptGroupMember) error // RemoveMember 移除成员 RemoveMember(ctx context.Context, req *api.RemoveMemberRequest) (*api.RemoveMemberResponse, error) // RequireGroup 需要群组存在 RequireGroup() gin.HandlerFunc // CtxGroup 获取群组 CtxGroup(c context.Context) *script_entity.ScriptGroup // RequireMember 需要成员存在 RequireMember() gin.HandlerFunc // CtxMember 获取成员 CtxMember(c context.Context) *script_entity.ScriptGroupMember // UpdateMember 更新成员 UpdateMember(ctx context.Context, req *api.UpdateMemberRequest) (*api.UpdateMemberResponse, error) }
type RequireScriptOption ¶
type RequireScriptOption func(*RequireScriptOptions)
func WithRequireScriptAccess ¶
func WithRequireScriptAccess(res, act string) RequireScriptOption
type RequireScriptOptions ¶
type ScoreSvc ¶
type ScoreSvc interface { // PutScore 脚本评分 PutScore(ctx context.Context, req *api.PutScoreRequest) (*api.PutScoreResponse, error) // ScoreList 获取脚本评分列表 ScoreList(ctx context.Context, req *api.ScoreListRequest) (*api.ScoreListResponse, error) // SelfScore 用于获取自己对脚本的评价 SelfScore(ctx context.Context, req *api.SelfScoreRequest) (*api.SelfScoreResponse, error) // DelScore 用于删除脚本的评价,注意,只有管理员才有权限删除评价 DelScore(ctx context.Context, req *api.DelScoreRequest) (*api.DelScoreResponse, error) }
type ScriptSvc ¶
type ScriptSvc interface { // List 获取脚本列表 List(ctx context.Context, req *api.ListRequest) (*api.ListResponse, error) // Create 创建脚本/库 Create(ctx context.Context, req *api.CreateRequest) (*api.CreateResponse, error) // UpdateCode 更新脚本/库代码 UpdateCode(ctx context.Context, req *api.UpdateCodeRequest) (*api.UpdateCodeResponse, error) // MigrateEs 全量迁移数据到es MigrateEs() // GetCode 获取脚本代码,version为latest时获取最新版本 GetCode(ctx context.Context, id int64, version string) (*script_entity.Code, error) // Info 获取脚本信息 Info(ctx context.Context, req *api.InfoRequest) (*api.InfoResponse, error) // Code 获取脚本代码 Code(ctx context.Context, req *api.CodeRequest) (*api.CodeResponse, error) // VersionList 获取版本列表 VersionList(ctx context.Context, req *api.VersionListRequest) (*api.VersionListResponse, error) // VersionCode 获取指定版本代码 VersionCode(ctx context.Context, req *api.VersionCodeRequest) (*api.VersionCodeResponse, error) // State 脚本关注等 State(ctx context.Context, req *api.StateRequest) (*api.StateResponse, error) // Watch 关注脚本 Watch(ctx context.Context, req *api.WatchRequest) (*api.WatchResponse, error) // GetSetting 获取脚本设置 GetSetting(ctx context.Context, req *api.GetSettingRequest) (*api.GetSettingResponse, error) // UpdateSetting 更新脚本设置 UpdateSetting(ctx context.Context, req *api.UpdateSettingRequest) (*api.UpdateSettingResponse, error) // SyncOnce 同步一次 SyncOnce(ctx context.Context, script *script_entity.Script, forceSyncMarkdown bool) error // Archive 归档脚本 Archive(ctx context.Context, req *api.ArchiveRequest) (*api.ArchiveResponse, error) // Delete 删除脚本 Delete(ctx context.Context, req *api.DeleteRequest) (*api.DeleteResponse, error) // ToScript 转换为script response结构 ToScript(ctx context.Context, item *script_entity.Script, withcode bool, version string) (*api.Script, error) // GetCodeByGray 根据灰度逻辑获取脚本代码 GetCodeByGray(ctx *gin.Context, scriptId int64, isPreUser bool) (*script_entity.Code, error) // UpdateCodeSetting 更新脚本设置 UpdateCodeSetting(ctx context.Context, req *api.UpdateCodeSettingRequest) (*api.UpdateCodeSettingResponse, error) // CtxScript 获取脚本 CtxScript(ctx context.Context) *script_entity.Script // UpdateScriptPublic 更新脚本公开类型 UpdateScriptPublic(ctx context.Context, req *api.UpdateScriptPublicRequest) (*api.UpdateScriptPublicResponse, error) // UpdateScriptUnwell 更新脚本不适内容 UpdateScriptUnwell(ctx context.Context, req *api.UpdateScriptUnwellRequest) (*api.UpdateScriptUnwellResponse, error) // UpdateScriptGray 更新脚本灰度策略 UpdateScriptGray(ctx context.Context, req *api.UpdateScriptGrayRequest) (*api.UpdateScriptGrayResponse, error) // DeleteCode 删除脚本/库代码 DeleteCode(ctx context.Context, req *api.DeleteCodeRequest) (*api.DeleteCodeResponse, error) // Webhook 处理webhook请求 Webhook(ctx context.Context, req *api.WebhookRequest, body []byte) (*api.WebhookResponse, error) // LastScore 最新评分脚本 LastScore(ctx context.Context, req *api.LastScoreRequest) (*api.LastScoreResponse, error) // UpdateLibInfo 更新库信息 UpdateLibInfo(ctx context.Context, req *api.UpdateLibInfoRequest) (*api.UpdateLibInfoResponse, error) // UpdateSyncSetting 更新同步配置 UpdateSyncSetting(ctx context.Context, req *api.UpdateSyncSettingRequest) (*api.UpdateSyncSettingResponse, error) // Access 访问控制 Access() gin.HandlerFunc // RequireScript 需要脚本存在 RequireScript(opts ...RequireScriptOption) gin.HandlerFunc // IsArchive 检查归档 IsArchive() gin.HandlerFunc }
Click to show internal directories.
Click to hide internal directories.