svc

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2023 License: MIT Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewByRefreshToken

func NewByRefreshToken(cfg *refreshTokenConfig, r repo.StaffRepo, d db.Repo) login.LoginTokenSystem

Types

type BaseSvc

type BaseSvc struct {
}

func (*BaseSvc) CheckStaffGroup

func (s *BaseSvc) CheckStaffGroup(ctx context.Context, projectGroupId int) ([]int, model.Role)

func (*BaseSvc) GetCreateByName

func (s *BaseSvc) GetCreateByName(ctx context.Context, db db.Repo, staffRepo repo.StaffRepo, createBy int) string

type ConfigSvc

type ConfigSvc struct {
	BaseSvc
	DB    db.Repo
	Store storage.Repo

	ConfigRepo        repo.ConfigRepo
	ConfigHistoryRepo repo.ConfigHistoryRepo
	ConfigLinkRepo    repo.ConfigLinkRepo

	PublishConfigRepo repo.PublishConfigRepo

	ProjectRepo   repo.ProjectRepo
	NamespaceRepo repo.NamespaceRepo
	StaffRepo     repo.StaffRepo
	// contains filtered or unexported fields
}

func (*ConfigSvc) Add

func (s *ConfigSvc) Add(sctx core.SvcContext, param *model.AddConfig) error

func (*ConfigSvc) ConfigEdit added in v0.6.0

func (s *ConfigSvc) ConfigEdit()

func (*ConfigSvc) ConfigKey

func (s *ConfigSvc) ConfigKey(isPublic bool, projectGroupID int, projectKey string, namespaceName string, configName string, configType model.ConfigType) string

ConfigKey NormalConfigKey : /conf/project_key/namespace_name/config_name.config.type PublicConfigKey : /conf/1-public/namespace_name/config_name.config.type

func (*ConfigSvc) Copy

func (s *ConfigSvc) Copy(sctx core.SvcContext, param *model.ConfigCopy) error

Copy 可以转为副本:即公共配置的更新不影响自己,此时自己可以编辑 可以关联公共配置:即把自己与公共配置重新关联,此时不能编辑了 注意:这个操作不会吧 config_link 表的记录删除,只是把flag改变,所以可以重新关联(或者叫再次关联) 如果一个配置创建时没关联公共配置,那么它是不能重新关联公共配置的。

func (*ConfigSvc) Del

func (s *ConfigSvc) Del(sctx core.SvcContext, configID int) error

func (*ConfigSvc) Edit

func (s *ConfigSvc) Edit(sctx core.SvcContext, param *model.EditConfig) error

Edit 改公共配置,需要把Link的配置全部改掉 要保证这个操作的原子性

func (*ConfigSvc) GetConfig added in v0.6.0

func (s *ConfigSvc) GetConfig(ctx context.Context, configID int) (*model.Config, error)

func (*ConfigSvc) GetConfigProjectAndNamespace added in v0.6.0

func (s *ConfigSvc) GetConfigProjectAndNamespace(ctx context.Context, projectID int, namespaceID int) (*model.Project, *model.Namespace, error)

func (*ConfigSvc) GetTemplate

func (s *ConfigSvc) GetTemplate(sctx core.SvcContext, temp string, projectID int, projectGroupID int, namespaceID int) (string, error)

func (*ConfigSvc) History

func (s *ConfigSvc) History(sctx core.SvcContext, configID int) ([]model.ConfigHistoryList, error)

func (*ConfigSvc) HistoryInfo

func (s *ConfigSvc) HistoryInfo(sctx core.SvcContext, configID int, reversion int) (string, error)

func (*ConfigSvc) Info

func (s *ConfigSvc) Info(sctx core.SvcContext, configID int) (*model.ConfigInfo, error)

func (*ConfigSvc) Rollback

func (s *ConfigSvc) Rollback(sctx core.SvcContext, param *model.RollbackConfig) error

func (*ConfigSvc) SetPublishSystem added in v0.6.0

func (s *ConfigSvc) SetPublishSystem(ps svc_interface.PublishSystem)

func (*ConfigSvc) SimplePublicTree

func (s *ConfigSvc) SimplePublicTree(projectGroupID int) map[int][]model.ConfigNode

func (*ConfigSvc) Tree

func (s *ConfigSvc) Tree(sctx core.SvcContext, projectID int, projectGroupID int) ([]model.ProjectTree, error)

type LoginSvc

type LoginSvc struct {
	DB        db.Repo
	StaffRepo repo.StaffRepo
	// contains filtered or unexported fields
}

func NewLoginSvc

func NewLoginSvc(
	db db.Repo,
	staffRepo repo.StaffRepo,
) *LoginSvc

func (*LoginSvc) ChangePassword

func (s *LoginSvc) ChangePassword(sctx core.SvcContext, newPass string) error

func (*LoginSvc) Login

func (s *LoginSvc) Login(sctx core.SvcContext, param *model.LoginParams) (*model.LoginResponse, error)

func (*LoginSvc) LoginOut

func (s *LoginSvc) LoginOut(sctx core.SvcContext) error

func (*LoginSvc) RefreshToken

func (s *LoginSvc) RefreshToken(sctx core.SvcContext, oldToken string) (*model.LoginResponse, error)

type MetaConfig

type MetaConfig struct {
	ETCDEndpoints      string // 逗号分隔的ETCD地址,0.0.0.0:2379,0.0.0.0:12379,0.0.0.0:22379
	ETCDUsername       string
	ETCDPassword       string
	ProjectKey         string
	Namespace          string
	NamespaceKey       string
	NamespaceKeyBase64 string
	Configs            string   // 逗号分隔的 config_name.config_type,如:mysql.toml,cfg.json,redis.yaml,空代表不下载任何配置
	ConfigsInCMR       []string // 空代表下载所有配置
	ConfigFilePath     string   // 本地配置文件存放路径,空代表不存储本都配置文件
	LogLevel           string   // 日志级别(DEBUG\INFO\WARN\ERROR),默认 WARN
	MergeConfig        bool     // 是否合并配置,合并配置则会将同类型的配置合并到一个文件中,需要先设置ConfigFilePath
	MergeConfigFile    string   // 仅用于 Kubernetes,当mergeConfig=true,传递给 CMR 的值
}

type NamespaceSvc

type NamespaceSvc struct {
	BaseSvc
	DB db.Repo

	NamespaceRepo    repo.NamespaceRepo
	StaffRepo        repo.StaffRepo
	ProjectGroupRepo repo.ProjectGroupRepo
}

func NewNamespaceSvc

func NewNamespaceSvc(
	db db.Repo,
	namespaceRepo repo.NamespaceRepo,
	pgRepo repo.ProjectGroupRepo,
	staffRepo repo.StaffRepo,
) *NamespaceSvc

func (*NamespaceSvc) Add

func (s *NamespaceSvc) Add(sctx core.SvcContext, param *model.AddNamespace) error

func (*NamespaceSvc) Delete

func (s *NamespaceSvc) Delete(sctx core.SvcContext, namespaceID int) error

func (*NamespaceSvc) Edit

func (s *NamespaceSvc) Edit(sctx core.SvcContext, param *model.EditNamespace) error

func (*NamespaceSvc) List

func (s *NamespaceSvc) List(sctx core.SvcContext, pr *page.PageRequest) (*page.Page, error)

func (*NamespaceSvc) SimpleList

func (s *NamespaceSvc) SimpleList(projectGroupId int) []model.Namespace

type ProjectGroupSvc

type ProjectGroupSvc struct {
	BaseSvc
	DB db.Repo

	PGRepo    repo.ProjectGroupRepo
	StaffRepo repo.StaffRepo
}

func NewProjectGroupSvc

func NewProjectGroupSvc(
	db db.Repo,
	pgRepo repo.ProjectGroupRepo,
	staffRepo repo.StaffRepo,
) *ProjectGroupSvc

func (*ProjectGroupSvc) Add

func (*ProjectGroupSvc) Delete

func (s *ProjectGroupSvc) Delete(sctx core.SvcContext, projectGroupID int) error

func (*ProjectGroupSvc) Edit

func (*ProjectGroupSvc) List

func (s *ProjectGroupSvc) List(sctx core.SvcContext, pr *page.PageRequest) (*page.Page, error)

func (*ProjectGroupSvc) SimpleList

func (s *ProjectGroupSvc) SimpleList() []model.ProjectGroup

type ProjectSvc

type ProjectSvc struct {
	BaseSvc
	DB db.Repo

	ProjectRepo      repo.ProjectRepo
	StaffRepo        repo.StaffRepo
	ProjectGroupRepo repo.ProjectGroupRepo
}

func NewProjectSvc

func NewProjectSvc(
	db db.Repo,
	projectRepo repo.ProjectRepo,
	pgRepo repo.ProjectGroupRepo,
	staffRepo repo.StaffRepo,
) *ProjectSvc

func (*ProjectSvc) Add

func (s *ProjectSvc) Add(sctx core.SvcContext, param *model.AddProject) error

func (*ProjectSvc) Delete

func (s *ProjectSvc) Delete(sctx core.SvcContext, projectID int) error

func (*ProjectSvc) Edit

func (s *ProjectSvc) Edit(sctx core.SvcContext, param *model.EditProject) error

func (*ProjectSvc) List

func (s *ProjectSvc) List(sctx core.SvcContext, pr *page.PageRequest) (*page.Page, error)

type ResourceType added in v0.6.0

type ResourceType int
const (
	ResourceNamespace ResourceType = iota + 1
	ResourceProject
	ResourcePublicConfig
	ResourceConfig
)

type StaffSvc

type StaffSvc struct {
	BaseSvc
	DB db.Repo

	StaffRepo      repo.StaffRepo
	StaffGroupRepo repo.StaffGroupRelRepo
	PGRepo         repo.ProjectGroupRepo
}

func NewStaffSvc

func NewStaffSvc(
	db db.Repo,
	r repo.StaffRepo,
	sgr repo.StaffGroupRelRepo,
	pgr repo.ProjectGroupRepo,
) *StaffSvc

func (*StaffSvc) Add

func (s *StaffSvc) Add(sctx core.SvcContext, param *model.AddStaff) error

func (*StaffSvc) DelGrant

func (s *StaffSvc) DelGrant(sctx core.SvcContext, staffGroupRelID int) error

func (*StaffSvc) Delete

func (s *StaffSvc) Delete(sctx core.SvcContext, staffID int) error

func (*StaffSvc) Edit

func (s *StaffSvc) Edit(sctx core.SvcContext, param *model.EditStaff) error

func (*StaffSvc) Grant

func (s *StaffSvc) Grant(sctx core.SvcContext, param *model.GrantStaff) error

func (*StaffSvc) List

func (s *StaffSvc) List(sctx core.SvcContext, pr *page.PageRequest) (*page.Page, error)

func (*StaffSvc) StaffGroup

func (s *StaffSvc) StaffGroup(sctx core.SvcContext) ([]model.StaffGroup, error)

type TestDataSvc added in v0.6.0

type TestDataSvc struct {
	BaseSvc
	DB db.Repo

	NamespaceSvc *NamespaceSvc
	ProjectSvc   *ProjectSvc
	ConfigSvc    *ConfigSvc
}

func NewTestDataSvc added in v0.6.0

func NewTestDataSvc(
	db db.Repo,
	ns *NamespaceSvc,
	ps *ProjectSvc,
	cs *ConfigSvc,
) *TestDataSvc

func (*TestDataSvc) CleanTestData added in v0.6.0

func (s *TestDataSvc) CleanTestData(sctx core.SvcContext) error

func (*TestDataSvc) CreateTestData added in v0.6.0

func (s *TestDataSvc) CreateTestData(sctx core.SvcContext) error

func (*TestDataSvc) GetTestData added in v0.6.0

func (s *TestDataSvc) GetTestData(sctx core.SvcContext) (map[string]interface{}, error)

Jump to

Keyboard shortcuts

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