poetry

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2021 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GitLabProvider = "gitlab"
	GitHubProvider = "github"
	GerritProvider = "gerrit"
)
View Source
const (
	ProjectType      = 2
	AllUsersRoleName = "all-users"
)

roleType

View Source
const (
	DefaultOrganization = iota + 1
)
View Source
const (
	ProjectOwner = 3
)

Variables

This section is empty.

Functions

func ConvertUserInfo

func ConvertUserInfo(userInfo *UserInfo) *permission.User

Types

type Client

type Client struct {
	*httpclient.Client
	// contains filtered or unexported fields
}

func New

func New(host, token string) *Client

func (*Client) AddEnvRolePermission

func (c *Client) AddEnvRolePermission(productName, envName string, permissionUUIDs []string, roleID int, log *zap.SugaredLogger) (int, error)

func (*Client) AddProductTeam

func (c *Client) AddProductTeam(productName string, teamID int, userIDs []int, log *zap.SugaredLogger) (int, error)

func (*Client) ContributorRoleExist

func (c *Client) ContributorRoleExist(productName string, log *zap.SugaredLogger) bool

func (*Client) CreateContributorRole

func (c *Client) CreateContributorRole(product string, log *zap.SugaredLogger) error

func (*Client) CreateUserEnvPermission

func (c *Client) CreateUserEnvPermission(p *UserEnvPermission) error

func (*Client) DeleteEnvRolePermission

func (c *Client) DeleteEnvRolePermission(productName, envName string, log *zap.SugaredLogger) (int, error)

func (*Client) DeleteProductTeam

func (c *Client) DeleteProductTeam(productName string, log *zap.SugaredLogger) error

func (*Client) DeleteUserEnvPermission

func (c *Client) DeleteUserEnvPermission(productName, username string, userID int, log *zap.SugaredLogger) error

func (*Client) DeleteUserRole

func (c *Client) DeleteUserRole(roleID int64, roleType, userID int, productName string, log *zap.SugaredLogger) error

func (*Client) GetContributorRoleID

func (c *Client) GetContributorRoleID(productName string, log *zap.SugaredLogger) int64

func (*Client) GetJiraInfo

func (c *Client) GetJiraInfo() (*JiraInfo, error)

func (*Client) GetOrganization

func (c *Client) GetOrganization(orgID int) (*Organization, error)

func (*Client) GetTeam

func (c *Client) GetTeam(teamID int) (*Team, error)

func (*Client) GetUserEnvPermission

func (c *Client) GetUserEnvPermission(userID int, log *zap.SugaredLogger) ([]*UserEnv, error)

func (*Client) GetUserPermissionUUIDMap

func (c *Client) GetUserPermissionUUIDMap(productName, permissionUUID string, userID int, log *zap.SugaredLogger) (map[string]bool, error)

func (*Client) GetUserPermissionUUIDs

func (c *Client) GetUserPermissionUUIDs(roleID int64, productName string, log *zap.SugaredLogger) ([]string, error)

func (*Client) GetUserProject

func (c *Client) GetUserProject(userID int, log *zap.SugaredLogger) (map[string][]int64, error)

func (*Client) HasOperatePermission

func (c *Client) HasOperatePermission(productName, permissionUUID string, userID int, isSuperUser bool, log *zap.SugaredLogger) bool

func (*Client) ListCodeHosts

func (c *Client) ListCodeHosts() ([]*CodeHost, error)

func (*Client) ListEnvRolePermission

func (c *Client) ListEnvRolePermission(productName, envName string, roleID int64, log *zap.SugaredLogger) ([]*EnvRolePermission, error)

func (*Client) ListFeatures

func (c *Client) ListFeatures() ([]string, error)

func (*Client) ListPermissionUsers

func (c *Client) ListPermissionUsers(productName string, roleID int64, roleType int, log *zap.SugaredLogger) ([]int, error)

func (*Client) ListProductPermissionUsers

func (c *Client) ListProductPermissionUsers(productName, permissionID string, log *zap.SugaredLogger) ([]string, error)

ListProductPermissionUsers productName和permissionId为空时只返回所有管理员用户,不为空则返回所有管理员用户和有该权限的普通用户

func (*Client) ListRoleEnvs

func (c *Client) ListRoleEnvs(productName, envName string, roleID int64, log *zap.SugaredLogger) ([]*RoleEnv, error)

func (*Client) ListRolePermissions

func (c *Client) ListRolePermissions(roleID int64, roleType int, productName string, log *zap.SugaredLogger) ([]*RolePermission, error)

func (*Client) ListRoleProjects

func (c *Client) ListRoleProjects(roleID int64, log *zap.SugaredLogger) ([]*RoleProduct, error)

func (*Client) ListRoles

func (c *Client) ListRoles(productName string, log *zap.SugaredLogger) (*Role, error)

ListRoles 根据项目里面的角色名称获取对应的角色ID

func (*Client) ListTeams

func (c *Client) ListTeams(orgID int, log *zap.SugaredLogger) ([]*Team, error)

func (*Client) ListUserEnvPermission

func (c *Client) ListUserEnvPermission(productName string, userID int, log *zap.SugaredLogger) ([]*UserEnv, error)

func (*Client) ListUserRoles

func (c *Client) ListUserRoles(userID, roleType int, log *zap.SugaredLogger) ([]*UserRole, error)

func (*Client) SignatureCheck

func (c *Client) SignatureCheck(username, token string) error

func (*Client) UpdateUserRole

func (c *Client) UpdateUserRole(roleID int64, roleType int, productName string, userIDList []int, log *zap.SugaredLogger) error

type CodeHost

type CodeHost struct {
	ID          int    `json:"id"`
	OrgID       int    `json:"orgId"`
	Address     string `json:"address"`
	Type        string `json:"type"`
	AccessToken string `json:"accessToken"`
	Namespace   string `json:"namespace"`
}

type EnvRolePermission

type EnvRolePermission struct {
	ID             int64  `json:"id"`
	ProductName    string `json:"productName"`
	EnvName        string `json:"envName"`
	RoleID         int64  `json:"roleId"`
	PermissionUUID string `json:"permissionUUID"`
	RoleName       string `json:"roleName"`
}

type JiraInfo

type JiraInfo struct {
	ID             int64  `json:"id"`
	Host           string `json:"host"`
	User           string `json:"user"`
	AccessToken    string `json:"accessToken"`
	OrganizationID int    `json:"organizationId"`
	CreatedAt      int64  `json:"created_at"`
	UpdatedAt      int64  `json:"updated_at"`
}

func GetJiraInfo

func GetJiraInfo(host, token string) (*JiraInfo, error)

type Organization

type Organization struct {
	ID      int    `json:"id"`
	Name    string `json:"name"`
	Token   string `json:"orgToken"`
	Website string `json:"website"`
}

type ResponseMessage

type ResponseMessage struct {
	ResultCode int    `json:"resultCode"`
	ErrorMsg   string `json:"errorMsg"`
}

type Role

type Role struct {
	ID          int64  `json:"id"`
	IsDisabled  bool   `json:"isDisabled"`
	Name        string `json:"name"`
	ProductName string `json:"productName"`
	RoleType    int    `json:"roleType"`
	UpdateBy    string `json:"updateBy"`
	UpdateAt    int64  `json:"updatedAt"`
}

type RoleEnv

type RoleEnv struct {
	RoleID      int    `json:"roleId"`
	EnvName     string `json:"envName"`
	ProductName string `json:"productName"`
}

type RolePermission

type RolePermission struct {
	RoleID         int64  `json:"roleId"`
	PermissionUUID string `json:"permissionUUID"`
}

type RolePermissionReq

type RolePermissionReq struct {
	RoleID         int64    `json:"roleId"`
	PermissionUUID []string `json:"permissionUUIDs"`
	RoleType       int      `json:"roleType"`
	ProductName    string   `json:"productName"`
}

type RoleProduct

type RoleProduct struct {
	RoleID      int64  `json:"roleId"`
	ProductName string `json:"productName"`
	Role        Role   `json:"role"`
}

type Team

type Team struct {
	ID           int         `json:"id"`
	OrgID        int         `json:"orgId"`
	Name         string      `json:"name"`
	Desc         string      `json:"desc"`
	IsTeamLeader bool        `json:"isTeamLeader"`
	Users        []*UserInfo `json:"leaders"`
	CreatedAt    int64       `json:"created_at"`
	UpdatedAt    int64       `json:"updated_at"`
}

type UpdateUserRoleReq

type UpdateUserRoleReq struct {
	ProductName string `json:"productName"`
	RoleID      int64  `json:"roleId"`
	RoleType    int    `json:"roleType"`
	UserIDList  []int  `json:"userIds"`
}

type User

type User interface {
	GetName() string
	GetEmail() string
	GetPhone() string
}

type UserEnv

type UserEnv struct {
	ProductName    string `json:"productName"`
	EnvName        string `json:"envName"`
	UserID         int    `json:"userId"`
	PermissionUUID string `json:"permissionUUID"`
}

type UserEnvPermission

type UserEnvPermission struct {
	UserID          int      `json:"userId"`
	ProductName     string   `json:"productName"`
	EnvName         string   `json:"envName"`
	PermissionUUIDs []string `json:"permissionUUIDs"`
}

type UserInfo

type UserInfo struct {
	ID             int    `json:"id"`
	Name           string `json:"name"`
	Email          string `json:"email"`
	Password       string `json:"password"`
	Phone          string `json:"phone"`
	IsAdmin        bool   `json:"isAdmin"`
	IsSuperUser    bool   `json:"isSuperUser"`
	IsTeamLeader   bool   `json:"isTeamLeader"`
	OrganizationID int    `json:"organization_id"`
	Directory      string `json:"directory"`
	LastLoginAt    int64  `json:"lastLogin"`
	CreatedAt      int64  `json:"created_at"`
	UpdatedAt      int64  `json:"updated_at"`
}

func ListUsersDetail

func ListUsersDetail(poetryHost, authToken, authCookie string) (*UserInfo, error)

type UserRole

type UserRole struct {
	RoleID      int64  `json:"roleId"`
	UserID      int    `json:"userId"`
	ProductName string `json:"productName"`
}

Jump to

Keyboard shortcuts

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