model

package
v0.0.0-...-205be16 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2023 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	CPlusRole    sync.Map
	CPlusProject sync.Map
	WeworkUser   sync.Map
)
View Source
var ErrNotFound = sqlx.ErrNotFound

Functions

func InitAsynqScheduler

func InitAsynqScheduler(c config.RedisConf) *asynq.Scheduler

InitAsynqScheduler 初始化定时任务 asynq client scheduler 用来注册定时任务送入队列

func InitAsynqServer

func InitAsynqServer(c config.RedisConf) *asynq.Server

InitAsynqServer 初始化定时任务 asynq server 用来启动 worker 处理任务

func InitRedisClient

func InitRedisClient(c config.RedisConf) (redisClient *redis.Client)

InitRedisClient 初始化redis客户端

func InitWeworkCorpAPIUserManager

func InitWeworkCorpAPIUserManager(c config.WeworkConf) *api.CorpAPI

InitWeworkCorpAPIUserManager 初始化企业微信 通讯录管理应用api

func NewVolcIAMSvc

func NewVolcIAMSvc(c config.VolcConf) (iamSvc *iam.IAM)

Types

type CPlusModel

type CPlusModel interface {
	// GetUser 根据真实姓名、登录名查询用户
	GetUser(name, eid string) (user UserFields, err error)
	// SyncLdapUser 同步LDAP用户
	SyncLdapUser() (err error)
	// CacheProject 缓存所有c7n项目
	CacheProject() (err error)
	// GetProject 查询项目
	GetProject(projectName string) (projectField ProjectField, err error)
	// CacheRole 缓存角色
	CacheRole() (err error)
	// GetRole 查询角色
	GetRole(roleName string) (id string, err error)
	// AssignUserProjectRole 为c7n用户分配某项目的某角色
	AssignUserProjectRole(c7nPid int64, c7nUid string, c7nRids []string) (err error)
	// UnlockUser 解锁c7n用户
	UnlockUser(c7nUid string) (err error)
}

func NewCPlusModel

func NewCPlusModel(c config.Config) CPlusModel

type ClearUserDetail

type ClearUserDetail struct {
	Uid            string `json:"userid"`
	Name           string `json:"name"`
	Mobile         string `json:"mobile"`
	Position       string `json:"position"`
	Gender         string `json:"gender"`
	Email          string `json:"email"`
	Status         int    `json:"status"`
	IsLeaderInDept []int  `json:"is_leader_in_dept"`
	MainDepartment int    `json:"main_department"`
	Department     []int  `json:"department"`
	Order          []int  `json:"weOrder"`
	Eid            string `json:"eid"`
	ExpireDate     string `json:"expireDate"`
}

ClearUserDetail 清晰用户信息

func ParseWeworkUser

func ParseWeworkUser(raw map[string]interface{}) (user *ClearUserDetail, err error)

ParseWeworkUser 解析企业微信用户

type Depart

type Depart struct {
	Id       int    `json:"id"`
	Name     string `json:"name"`
	Order    int    `json:"weOrder"`
	Parentid int    `json:"parentid"`
}

Depart 部门

type DepartsMsg

type DepartsMsg struct {
	Department []Depart `json:"department"`
	Errcode    int      `json:"errcode"`
	Errmsg     string   `json:"errmsg"`
}

DepartsMsg 获取部门列表消息

type FetchLdapResp

type FetchLdapResp struct {
	ID     string `json:"id"`
	BaseDn string `json:"baseDn"`
}

FetchLdapResp 查询ldap连接接口返回结构体

type LdapUser

type LdapUser struct {
	Num            string `json:"num"`
	Sam            string `json:"sam"`
	DisplayName    string `json:"displayName"`
	Phone          string `json:"phone"`
	WeworkDepartId int    `json:"weworkDepartId"`
	Email          string `json:"email"`
	WeworkExpire   string `json:"weworkExpire"`
	TagID          int    `json:"tagid"`
}

LdapUser ldap用户属性

type Msg

type Msg struct {
	Errcode int    `json:"errcode"`
	Errmsg  string `json:"errmsg"`
}

type ProjectField

type ProjectField struct {
	Name           string `json:"name"`
	Code           string `json:"code"`
	ID             int64  `json:"id"`
	Enabled        bool   `json:"enabled"`
	CreationDate   string `json:"creationDate"`
	CreatedBy      int64  `json:"createdBy"`
	LastUpdateDate string `json:"lastUpdateDate"`
	LastUpdatedBy  int64  `json:"lastUpdatedBy"`
}

ProjectField 项目字段

type RoleField

type RoleField struct {
	ID          string `json:"id"`
	Code        string `json:"code"`
	Assignable  bool   `json:"assignable"`
	Enabled     bool   `json:"enabled"`
	Name        string `json:"name"`
	TplRoleName string `json:"tplRoleName"`
	RoleLevel   string `json:"roleLevel"`
}

RoleField 角色字段

type RoleResp

type RoleResp struct {
	TotalPages       int         `json:"totalPages"`
	TotalElements    int         `json:"totalElements"`
	NumberOfElements int         `json:"numberOfElements"`
	Size             int         `json:"size"`
	Number           int         `json:"number"`
	Content          []RoleField `json:"content"`
	Empty            bool        `json:"empty"`
}

RoleResp 查询用户接口返回结构体

type TokenResp

type TokenResp struct {
	// 正确时候
	AccessToken string `json:"access_token"`
	TokenType   string `json:"token_type"`
	ExpiresIn   int64  `json:"expires_in"`
	// 错误时候
	Error            string `json:"error"`
	ErrorDescription string `json:"error_description"`
}

TokenResp 获取token接口返回数据结构体

type User

type User struct {
	Uid        string `json:"userid"`
	Name       string `json:"name"`
	Department []int  `json:"department"`
}

type UserDetails

type UserDetails struct {
	Errcode        int    `json:"errcode"`
	Errmsg         string `json:"errmsg"`
	Uid            string `json:"userid"`
	Name           string `json:"name"`
	Mobile         string `json:"mobile"`
	Position       string `json:"position"`
	Gender         string `json:"gender"`
	Email          string `json:"email"`
	Status         int    `json:"status"`
	IsLeaderInDept []int  `json:"is_leader_in_dept"`
	MainDepartment int    `json:"main_department"`
	Department     []int  `json:"department"`
	Order          []int  `json:"weOrder"`
	Extattr        struct {
		Attrs []struct {
			Type int    `json:"type"`
			Name string `json:"name"`
			Text struct {
				Value string `json:"value"`
			} `json:"text"`
			Value string `json:"value"`
		} `json:"attrs"`
	} `json:"extattr"`
}

UserDetails 用户

type UserFields

type UserFields struct {
	ID        string `json:"id"`
	LoginName string `json:"loginName"`
	Name      string `json:"realName"`
	Phone     string `json:"phone"`
	Email     string `json:"email"`
	Password  string `json:"password"`
	OrgID     string `json:"organizationId"`
	Enabled   bool   `json:"enabled"`
	Locked    bool   `json:"locked"`
	Ldap      bool   `json:"ldap"`
	Admin     bool   `json:"admin"`
}

UserFields 用户字段

type UserResp

type UserResp struct {
	TotalPages       int64        `json:"totalPages"`
	TotalElements    int64        `json:"totalElements"`
	NumberOfElements int64        `json:"numberOfElements"`
	Size             int64        `json:"size"`
	Number           int64        `json:"number"`
	Content          []UserFields `json:"content"`
	Empty            bool         `json:"empty"`
}

UserResp 查询用户接口返回结构体

type UsersMsg

type UsersMsg struct {
	UserList []User `json:"userlist"`
	Errcode  int    `json:"errcode"`
	Errmsg   string `json:"errmsg"`
}

UsersMsg 获取用户列表消息

type VolcUserModel

type VolcUserModel interface {
	// AddVolcUser 新增
	AddVolcUser(userName, displayName, mobilePhone, email, pwd string) (resp *iam.CreateLoginProfileResp, err error)
	// DelVolcUser 删除
	DelVolcUser(userName string) (err error)
	// GetVolcUser 获取用户
	GetVolcUser(userName string) (resp *iam.UserResp, err error)
}

func NewVolcUserModel

func NewVolcUserModel(c config.Config) VolcUserModel

type WeworkUserModel

type WeworkUserModel interface {
	// CacheSingleUser 缓存单个企业微信用户
	CacheSingleUser(uid string) (err error)
	// CacheAllUser 缓存所有企业微信用户
	CacheAllUser() (err error)
	// GetUser 获取
	GetUser(name, eid string) (userDetail *ClearUserDetail, err error)
	// AddUser 新增
	AddUser(user *LdapUser) (err error)
	// DisableUser 禁用
	DisableUser(uid, name, eid string) (err error)
	// EnableUser 启用
	EnableUser(uid, name, eid string) (err error)
	// DelUser 删除
	DelUser(uid, name, eid string) (err error)
	// Renewal 续期
	Renewal(uid, eid, expireDate string) (err error)
	// RemoveUserExpireFlag 清空用户过期字段
	RemoveUserExpireFlag(uid, name, eid string) (err error)
	// GetDepart 根据名称获取部门id
	GetDepart(hrDepartName string) (depart Depart, err error)
}

func NewWeworkUserModel

func NewWeworkUserModel(c config.Config) WeworkUserModel

type WeworkUserSyncRecords

type WeworkUserSyncRecords struct {
	Id        int64        `db:"id"`
	CreatedAt sql.NullTime `db:"created_at"`
	UpdatedAt sql.NullTime `db:"updated_at"`
	DeletedAt sql.NullTime `db:"deleted_at"`
	Uid       string       `db:"uid"`       // 用户ID
	Name      string       `db:"name"`      // 真实姓名
	Eid       string       `db:"eid"`       // 工号
	SyncKind  string       `db:"sync_kind"` // 类别
}

type WeworkUserSyncRecordsModel

type WeworkUserSyncRecordsModel interface {
	// contains filtered or unexported methods
}

WeworkUserSyncRecordsModel is an interface to be customized, add more methods here, and implement the added methods in customWeworkUserSyncRecordsModel.

func NewWeworkUserSyncRecordsModel

func NewWeworkUserSyncRecordsModel(conn sqlx.SqlConn, c cache.CacheConf) WeworkUserSyncRecordsModel

NewWeworkUserSyncRecordsModel returns a model for the database table.

Jump to

Keyboard shortcuts

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