Documentation ¶
Index ¶
- Constants
- type Group
- func (m *Group) Acquire(ctx context.Context, kind, uid string) (*schema.Group, error)
- func (m *Group) AcquireID(ctx context.Context, kind, uid string) (int64, error)
- func (m *Group) BatchAdd(ctx context.Context, groups []tpl.GroupBody) error
- func (m *Group) BatchAddMembers(ctx context.Context, group *schema.Group, users []string) error
- func (m *Group) Delete(ctx context.Context, groupID int64) error
- func (m *Group) Find(ctx context.Context, kind string, pg tpl.Pagination) ([]schema.Group, int, error)
- func (m *Group) FindByUID(ctx context.Context, kind, uid, selectStr string) (*schema.Group, error)
- func (m *Group) FindIDsByUser(ctx context.Context, userID int64) ([]int64, error)
- func (m *Group) FindLabels(ctx context.Context, groupID int64, pg tpl.Pagination) ([]tpl.MyLabel, int, error)
- func (m *Group) FindMembers(ctx context.Context, groupID int64, pg tpl.Pagination) ([]tpl.GroupMember, int, error)
- func (m *Group) FindSettings(ctx context.Context, groupID, productID, moduleID, settingID int64, ...) ([]tpl.MySetting, int, error)
- func (m *Group) RemoveMembers(ctx context.Context, groupID, userID int64, syncLt int64) error
- func (m *Group) Update(ctx context.Context, groupID int64, changed map[string]interface{}) (*schema.Group, error)
- type Healthz
- type Label
- func (m *Label) Acquire(ctx context.Context, productID int64, labelName string) (*schema.Label, error)
- func (m *Label) AcquireByID(ctx context.Context, labelID int64) (*schema.Label, error)
- func (m *Label) AcquireID(ctx context.Context, productID int64, labelName string) (int64, error)
- func (m *Label) AcquireRelease(ctx context.Context, labelID int64) (int64, error)
- func (m *Label) Assign(ctx context.Context, labelID int64, users []string, groups []*tpl.GroupKindUID) (*tpl.LabelReleaseInfo, error)
- func (m *Label) Cleanup(ctx context.Context, id int64) error
- func (m *Label) Create(ctx context.Context, label *schema.Label) error
- func (m *Label) Delete(ctx context.Context, id int64) error
- func (m *Label) Find(ctx context.Context, productID int64, pg tpl.Pagination) ([]schema.Label, int, error)
- func (m *Label) FindByName(ctx context.Context, productID int64, name, selectStr string) (*schema.Label, error)
- func (m *Label) ListGroups(ctx context.Context, labelID int64, pg tpl.Pagination) ([]tpl.LabelGroupInfo, int, error)
- func (m *Label) ListUsers(ctx context.Context, labelID int64, pg tpl.Pagination) ([]tpl.LabelUserInfo, int, error)
- func (m *Label) Offline(ctx context.Context, labelID int64) error
- func (m *Label) Recall(ctx context.Context, labelID, release int64) error
- func (m *Label) RemoveGroupLabel(ctx context.Context, groupID, labelID int64) (int64, error)
- func (m *Label) RemoveUserLabel(ctx context.Context, userID, labelID int64) (int64, error)
- func (m *Label) Update(ctx context.Context, labelID int64, changed map[string]interface{}) (*schema.Label, error)
- type LabelRule
- func (m *LabelRule) Acquire(ctx context.Context, labelRuleID int64) (*schema.LabelRule, error)
- func (m *LabelRule) ApplyRule(ctx context.Context, productID int64, userID int64, labelID int64, kind string) (int, error)
- func (m *LabelRule) ApplyRules(ctx context.Context, productID int64, userID int64, excludeLabels []int64, ...) (int, error)
- func (m *LabelRule) ApplyRulesToAnonymous(ctx context.Context, anonymousID string, productID int64, kind string) ([]schema.UserCacheLabel, error)
- func (m *LabelRule) ComputeUserRule(ctx context.Context, userID int64, excludeLabels []int64, ...) (int, error)
- func (m *LabelRule) Create(ctx context.Context, labelRule *schema.LabelRule) error
- func (m *LabelRule) Delete(ctx context.Context, id int64) (int64, error)
- func (m *LabelRule) Find(ctx context.Context, productID, labelID int64) ([]schema.LabelRule, error)
- func (m *LabelRule) Update(ctx context.Context, labelRuleID int64, changed map[string]interface{}) (*schema.LabelRule, error)
- type Model
- type Models
- func (ms *Models) ApplyLabelRulesAndRefreshUserLabels(ctx context.Context, productID int64, product string, userID int64, ...) (*schema.User, error)
- func (ms *Models) TryApplyLabelRulesAndRefreshUserLabels(ctx context.Context, productID int64, product string, userID int64, ...) *schema.User
- func (ms *Models) TryApplySettingRules(ctx context.Context, productID, userID int64)
- type Module
- func (m *Module) Acquire(ctx context.Context, productID int64, moduleName string) (*schema.Module, error)
- func (m *Module) AcquireID(ctx context.Context, productID int64, moduleName string) (int64, error)
- func (m *Module) Create(ctx context.Context, module *schema.Module) error
- func (m *Module) Find(ctx context.Context, productID int64, pg tpl.Pagination) ([]schema.Module, int, error)
- func (m *Module) FindByName(ctx context.Context, productID int64, name, selectStr string) (*schema.Module, error)
- func (m *Module) Offline(ctx context.Context, moduleID int64) error
- func (m *Module) Update(ctx context.Context, moduleID int64, changed map[string]interface{}) (*schema.Module, error)
- type Product
- func (m *Product) Acquire(ctx context.Context, productName string) (*schema.Product, error)
- func (m *Product) AcquireID(ctx context.Context, productName string) (int64, error)
- func (m *Product) Create(ctx context.Context, product *schema.Product) error
- func (m *Product) Delete(ctx context.Context, productID int64) error
- func (m *Product) Find(ctx context.Context, pg tpl.Pagination) ([]schema.Product, int, error)
- func (m *Product) FindByName(ctx context.Context, name, selectStr string) (*schema.Product, error)
- func (m *Product) Offline(ctx context.Context, productID int64) error
- func (m *Product) Statistics(ctx context.Context, productID int64) (*tpl.ProductStatistics, error)
- func (m *Product) Update(ctx context.Context, productID int64, changed map[string]interface{}) (*schema.Product, error)
- type Setting
- func (m *Setting) Acquire(ctx context.Context, moduleID int64, settingName string) (*schema.Setting, error)
- func (m *Setting) AcquireByID(ctx context.Context, settingID int64) (*schema.Setting, error)
- func (m *Setting) AcquireID(ctx context.Context, moduleID int64, settingName string) (int64, error)
- func (m *Setting) AcquireRelease(ctx context.Context, settingID int64) (int64, error)
- func (m *Setting) Assign(ctx context.Context, settingID int64, value string, users []string, ...) (*tpl.SettingReleaseInfo, error)
- func (m *Setting) Cleanup(ctx context.Context, id int64) error
- func (m *Setting) Create(ctx context.Context, setting *schema.Setting) error
- func (m *Setting) Delete(ctx context.Context, id int64) error
- func (m *Setting) Find(ctx context.Context, productID, moduleID int64, pg tpl.Pagination) ([]schema.Setting, int, error)
- func (m *Setting) FindByName(ctx context.Context, moduleID int64, name, selectStr string) (*schema.Setting, error)
- func (m *Setting) ListGroups(ctx context.Context, settingID int64, pg tpl.Pagination) ([]tpl.SettingGroupInfo, int, error)
- func (m *Setting) ListUsers(ctx context.Context, settingID int64, pg tpl.Pagination) ([]tpl.SettingUserInfo, int, error)
- func (m *Setting) Offline(ctx context.Context, moduleID, settingID int64) error
- func (m *Setting) Recall(ctx context.Context, settingID, release int64) error
- func (m *Setting) RemoveGroupSetting(ctx context.Context, groupID, settingID int64) (int64, error)
- func (m *Setting) RemoveUserSetting(ctx context.Context, userID, settingID int64) (int64, error)
- func (m *Setting) RollbackGroupSetting(ctx context.Context, groupID, settingID int64) error
- func (m *Setting) RollbackUserSetting(ctx context.Context, userID, settingID int64) error
- func (m *Setting) Update(ctx context.Context, settingID int64, changed map[string]interface{}) (*schema.Setting, error)
- type SettingRule
- func (m *SettingRule) Acquire(ctx context.Context, settingRuleID int64) (*schema.SettingRule, error)
- func (m *SettingRule) ApplyRules(ctx context.Context, productID, userID int64, kind string) error
- func (m *SettingRule) ApplyRulesToAnonymous(ctx context.Context, anonymousID string, productID int64, ...) ([]tpl.MySetting, error)
- func (m *SettingRule) Create(ctx context.Context, settingRule *schema.SettingRule) error
- func (m *SettingRule) Delete(ctx context.Context, id int64) (int64, error)
- func (m *SettingRule) Find(ctx context.Context, productID, settingID int64) ([]schema.SettingRule, error)
- func (m *SettingRule) Update(ctx context.Context, settingRuleID int64, changed map[string]interface{}) (*schema.SettingRule, error)
- type Statistic
- type User
- func (m *User) Acquire(ctx context.Context, uid string) (*schema.User, error)
- func (m *User) AcquireID(ctx context.Context, uid string) (int64, error)
- func (m *User) BatchAdd(ctx context.Context, uids []string) error
- func (m *User) Find(ctx context.Context, pg tpl.Pagination) ([]schema.User, int, error)
- func (m *User) FindByUID(ctx context.Context, uid string, selectStr string) (*schema.User, error)
- func (m *User) FindLabels(ctx context.Context, userID int64, pg tpl.Pagination) ([]tpl.MyLabel, int, error)
- func (m *User) FindSettings(ctx context.Context, userID, productID, moduleID, settingID int64, ...) ([]tpl.MySetting, int, error)
- func (m *User) FindSettingsUnionAll(ctx context.Context, groupIDs []int64, ...) ([]tpl.MySetting, error)
- func (m *User) RefreshLabels(ctx context.Context, id int64, now int64, force bool, product string) (*schema.User, []int64, bool, error)
Constants ¶
const ReadDB dbMode = "ReadDB"
ReadDB ...
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Group ¶
type Group struct {
*Model
}
Group ...
func (*Group) BatchAddMembers ¶
BatchAddMembers 批量添加群组成员,已存在则更新 sync_at
func (*Group) Find ¶
func (m *Group) Find(ctx context.Context, kind string, pg tpl.Pagination) ([]schema.Group, int, error)
Find 根据条件查找 groups
func (*Group) FindIDsByUser ¶ added in v1.4.0
FindIDsByUser 根据 userID 查找加入的 Group ID 数组
func (*Group) FindLabels ¶ added in v1.3.0
func (m *Group) FindLabels(ctx context.Context, groupID int64, pg tpl.Pagination) ([]tpl.MyLabel, int, error)
FindLabels 根据群组 ID 返回其 labels 数据。TODO:支持更多筛选条件和分页
func (*Group) FindMembers ¶
func (m *Group) FindMembers(ctx context.Context, groupID int64, pg tpl.Pagination) ([]tpl.GroupMember, int, error)
FindMembers 根据条件查找群组成员
func (*Group) FindSettings ¶ added in v1.2.0
func (m *Group) FindSettings(ctx context.Context, groupID, productID, moduleID, settingID int64, pg tpl.Pagination, channel, client string) ([]tpl.MySetting, int, error)
FindSettings 根据 Group ID, updateGt, productName 返回其 settings 数据。
func (*Group) RemoveMembers ¶
RemoveMembers 删除群组的成员
type Label ¶
type Label struct {
*Model
}
Label ...
func (*Label) Acquire ¶ added in v1.3.0
func (m *Label) Acquire(ctx context.Context, productID int64, labelName string) (*schema.Label, error)
Acquire ...
func (*Label) AcquireByID ¶ added in v1.3.0
AcquireByID ...
func (*Label) AcquireRelease ¶ added in v1.3.0
AcquireRelease ...
func (*Label) Assign ¶
func (m *Label) Assign(ctx context.Context, labelID int64, users []string, groups []*tpl.GroupKindUID) (*tpl.LabelReleaseInfo, error)
Assign 把标签批量分配给用户或群组,如果用户或群组不存在则忽略
func (*Label) Find ¶
func (m *Label) Find(ctx context.Context, productID int64, pg tpl.Pagination) ([]schema.Label, int, error)
Find 根据条件查找 labels
func (*Label) FindByName ¶
func (m *Label) FindByName(ctx context.Context, productID int64, name, selectStr string) (*schema.Label, error)
FindByName 根据 productID 和 name 返回 label 数据
func (*Label) ListGroups ¶ added in v1.3.0
func (m *Label) ListGroups(ctx context.Context, labelID int64, pg tpl.Pagination) ([]tpl.LabelGroupInfo, int, error)
ListGroups ...
func (*Label) ListUsers ¶ added in v1.3.0
func (m *Label) ListUsers(ctx context.Context, labelID int64, pg tpl.Pagination) ([]tpl.LabelUserInfo, int, error)
ListUsers ...
func (*Label) RemoveGroupLabel ¶ added in v1.3.0
RemoveGroupLabel 删除群组的 label
func (*Label) RemoveUserLabel ¶ added in v1.3.0
RemoveUserLabel 删除用户的 label
type LabelRule ¶ added in v1.3.0
type LabelRule struct {
*Model
}
LabelRule ...
func (*LabelRule) ApplyRule ¶ added in v1.8.0
func (m *LabelRule) ApplyRule(ctx context.Context, productID int64, userID int64, labelID int64, kind string) (int, error)
ApplyRule ...
func (*LabelRule) ApplyRules ¶ added in v1.3.0
func (m *LabelRule) ApplyRules(ctx context.Context, productID int64, userID int64, excludeLabels []int64, kind string) (int, error)
ApplyRules ...
func (*LabelRule) ApplyRulesToAnonymous ¶ added in v1.6.0
func (m *LabelRule) ApplyRulesToAnonymous(ctx context.Context, anonymousID string, productID int64, kind string) ([]schema.UserCacheLabel, error)
ApplyRulesToAnonymous ...
func (*LabelRule) ComputeUserRule ¶ added in v1.8.0
func (m *LabelRule) ComputeUserRule(ctx context.Context, userID int64, excludeLabels []int64, rules []schema.LabelRule) (int, error)
ComputeUserRule ...
type Models ¶
type Models struct { Model *Model Healthz *Healthz User *User Group *Group Product *Product Label *Label Module *Module Setting *Setting LabelRule *LabelRule SettingRule *SettingRule Statistic *Statistic }
Models ...
func (*Models) ApplyLabelRulesAndRefreshUserLabels ¶ added in v1.3.0
func (ms *Models) ApplyLabelRulesAndRefreshUserLabels(ctx context.Context, productID int64, product string, userID int64, now time.Time, force bool) (*schema.User, error)
ApplyLabelRulesAndRefreshUserLabels ...
type Module ¶
type Module struct {
*Model
}
Module ...
func (*Module) Acquire ¶ added in v1.3.0
func (m *Module) Acquire(ctx context.Context, productID int64, moduleName string) (*schema.Module, error)
Acquire ...
func (*Module) Find ¶
func (m *Module) Find(ctx context.Context, productID int64, pg tpl.Pagination) ([]schema.Module, int, error)
Find 根据条件查找 modules
func (*Module) FindByName ¶
func (m *Module) FindByName(ctx context.Context, productID int64, name, selectStr string) (*schema.Module, error)
FindByName 根据 productID 和 name 返回 module 数据
type Product ¶
type Product struct {
*Model
}
Product ...
func (*Product) FindByName ¶
FindByName 根据 name 返回 product 数据
func (*Product) Statistics ¶ added in v1.3.0
Statistics 返回产品的统计数据
type Setting ¶
type Setting struct {
*Model
}
Setting ...
func (*Setting) Acquire ¶ added in v1.3.0
func (m *Setting) Acquire(ctx context.Context, moduleID int64, settingName string) (*schema.Setting, error)
Acquire ...
func (*Setting) AcquireByID ¶ added in v1.3.0
AcquireByID ...
func (*Setting) AcquireRelease ¶ added in v1.3.0
AcquireRelease ...
func (*Setting) Assign ¶
func (m *Setting) Assign(ctx context.Context, settingID int64, value string, users []string, groups []*tpl.GroupKindUID) (*tpl.SettingReleaseInfo, error)
Assign 把标签批量分配给用户或群组,如果用户或群组不存在则忽略,如果已经分配,则把原值保存到 last_value 并更新值
func (*Setting) Find ¶
func (m *Setting) Find(ctx context.Context, productID, moduleID int64, pg tpl.Pagination) ([]schema.Setting, int, error)
Find 根据条件查找 settings
func (*Setting) FindByName ¶
func (m *Setting) FindByName(ctx context.Context, moduleID int64, name, selectStr string) (*schema.Setting, error)
FindByName 根据 moduleID 和 name 返回 setting 数据
func (*Setting) ListGroups ¶ added in v1.3.0
func (m *Setting) ListGroups(ctx context.Context, settingID int64, pg tpl.Pagination) ([]tpl.SettingGroupInfo, int, error)
ListGroups ...
func (*Setting) ListUsers ¶ added in v1.3.0
func (m *Setting) ListUsers(ctx context.Context, settingID int64, pg tpl.Pagination) ([]tpl.SettingUserInfo, int, error)
ListUsers ...
func (*Setting) RemoveGroupSetting ¶ added in v1.3.0
RemoveGroupSetting 删除群组的 setting
func (*Setting) RemoveUserSetting ¶ added in v1.3.0
RemoveUserSetting 删除用户的 setting
func (*Setting) RollbackGroupSetting ¶ added in v1.3.0
RollbackGroupSetting 回滚群组的 setting
func (*Setting) RollbackUserSetting ¶ added in v1.3.0
RollbackUserSetting 回滚用户的 setting
type SettingRule ¶ added in v1.3.0
type SettingRule struct {
*Model
}
SettingRule ...
func (*SettingRule) Acquire ¶ added in v1.3.0
func (m *SettingRule) Acquire(ctx context.Context, settingRuleID int64) (*schema.SettingRule, error)
Acquire ...
func (*SettingRule) ApplyRules ¶ added in v1.3.0
ApplyRules ...
func (*SettingRule) ApplyRulesToAnonymous ¶ added in v1.6.0
func (m *SettingRule) ApplyRulesToAnonymous(ctx context.Context, anonymousID string, productID int64, channel, client string, kind string) ([]tpl.MySetting, error)
ApplyRulesToAnonymous ...
func (*SettingRule) Create ¶ added in v1.3.0
func (m *SettingRule) Create(ctx context.Context, settingRule *schema.SettingRule) error
Create ...
func (*SettingRule) Find ¶ added in v1.3.0
func (m *SettingRule) Find(ctx context.Context, productID, settingID int64) ([]schema.SettingRule, error)
Find ...
func (*SettingRule) Update ¶ added in v1.3.0
func (m *SettingRule) Update(ctx context.Context, settingRuleID int64, changed map[string]interface{}) (*schema.SettingRule, error)
Update ...
type User ¶
type User struct {
*Model
}
User ...
func (*User) FindLabels ¶ added in v1.3.0
func (m *User) FindLabels(ctx context.Context, userID int64, pg tpl.Pagination) ([]tpl.MyLabel, int, error)
FindLabels 根据用户 ID 返回其 labels 数据。
func (*User) FindSettings ¶ added in v1.2.0
func (m *User) FindSettings(ctx context.Context, userID, productID, moduleID, settingID int64, pg tpl.Pagination, channel, client string) ([]tpl.MySetting, int, error)
FindSettings 根据用户 ID 返回 settings 数据。
func (*User) FindSettingsUnionAll ¶ added in v1.2.0
func (m *User) FindSettingsUnionAll(ctx context.Context, groupIDs []int64, userID, productID, moduleID, settingID int64, pg tpl.Pagination, channel, client string) ([]tpl.MySetting, error)
FindSettingsUnionAll 根据用户 ID, updateGt, productName 返回其 settings 数据。