Documentation
¶
Index ¶
- Variables
- type Builder
- func (b *Builder) Build() (*Workspace, error)
- func (b *Builder) ID(id ID) *Builder
- func (b *Builder) Integrations(integrations map[IntegrationID]Member) *Builder
- func (b *Builder) Members(members map[UserID]Member) *Builder
- func (b *Builder) MustBuild() *Workspace
- func (b *Builder) Name(name string) *Builder
- func (b *Builder) NewID() *Builder
- func (b *Builder) ParseID(id string) *Builder
- func (b *Builder) Personal(p bool) *Builder
- func (b *Builder) Policy(p *PolicyID) *Builder
- type ID
- type IDList
- type InitParams
- type IntegrationID
- type List
- func (l List) FilterByID(ids ...ID) List
- func (l List) FilterByIntegrationRole(i IntegrationID, r Role) List
- func (l List) FilterByIntegrationRoleIncluding(i IntegrationID, r Role) List
- func (l List) FilterByUserRole(u UserID, r Role) List
- func (l List) FilterByUserRoleIncluding(u UserID, r Role) List
- func (l List) IDs() []ID
- type Member
- type Members
- func (m *Members) AddIntegration(iid IntegrationID, role Role, i UserID) error
- func (m *Members) Clone() *Members
- func (m *Members) Count() int
- func (m *Members) DeleteIntegration(iid IntegrationID) error
- func (m *Members) Fixed() bool
- func (m *Members) HasIntegration(i IntegrationID) bool
- func (m *Members) HasUser(u UserID) bool
- func (m *Members) Integration(i IntegrationID) *Member
- func (m *Members) IntegrationIDs() []IntegrationID
- func (m *Members) IntegrationRole(iId IntegrationID) Role
- func (m *Members) Integrations() map[IntegrationID]Member
- func (m *Members) IsEmpty() bool
- func (m *Members) IsOnlyOwner(u UserID) bool
- func (m *Members) IsOwnerOrMaintainer(u UserID) bool
- func (m *Members) Join(u *user.User, role Role, i UserID) error
- func (m *Members) Leave(u UserID) error
- func (m *Members) UpdateIntegrationRole(iId IntegrationID, role Role) error
- func (m *Members) UpdateUserRole(u UserID, role Role) error
- func (m *Members) User(u UserID) *Member
- func (m *Members) UserIDs() []UserID
- func (m *Members) UserRole(u UserID) Role
- func (m *Members) Users() map[UserID]Member
- func (m *Members) UsersByRole(role Role) []UserID
- type PolicyID
- type Role
- type UserID
- type UserIDList
- type Workspace
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrUserAlreadyJoined = rerror.NewE(i18n.T("user already joined")) ErrCannotModifyPersonalWorkspace = rerror.NewE(i18n.T("personal workspace cannot be modified")) ErrTargetUserNotInTheWorkspace = rerror.NewE(i18n.T("target user does not exist in the workspace")) ErrInvalidWorkspaceName = rerror.NewE(i18n.T("invalid workspace name")) ErrNoSpecifiedUsers = rerror.NewE(i18n.T("no specified users for removal")) )
View Source
var ( // RoleOwner is a role who can have full controll of projects and workspaces RoleOwner = Role("owner") // RoleMaintainer is a role who can manage projects RoleMaintainer = Role("maintainer") // RoleWriter is a role who can read and write projects RoleWriter = Role("writer") // RoleReader is a role who can read projects RoleReader = Role("reader") ErrInvalidRole = errors.New("invalid role") )
View Source
var ErrInvalidID = accountdomain.ErrInvalidID
View Source
var ErrMembersRequired = errors.New("members required")
View Source
var IDFrom = accountdomain.WorkspaceIDFrom
View Source
var IDFromRef = accountdomain.WorkspaceIDFromRef
View Source
var NewID = accountdomain.NewWorkspaceID
View Source
var NewIntegrationID = accountdomain.NewIntegrationID
View Source
var NewUserID = accountdomain.NewUserID
Functions ¶
This section is empty.
Types ¶
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
func (*Builder) Integrations ¶
func (b *Builder) Integrations(integrations map[IntegrationID]Member) *Builder
type ID ¶
type ID = accountdomain.WorkspaceID
type IDList ¶
type IDList = accountdomain.WorkspaceIDList
type InitParams ¶
type IntegrationID ¶
type IntegrationID = accountdomain.IntegrationID
type List ¶
type List []*Workspace
func (List) FilterByID ¶
func (List) FilterByIntegrationRole ¶
func (l List) FilterByIntegrationRole(i IntegrationID, r Role) List
func (List) FilterByIntegrationRoleIncluding ¶
func (l List) FilterByIntegrationRoleIncluding(i IntegrationID, r Role) List
func (List) FilterByUserRoleIncluding ¶
type Members ¶
type Members struct {
// contains filtered or unexported fields
}
func InitMembers ¶
func NewMembers ¶
func NewMembers() *Members
func NewMembersWith ¶
func (*Members) AddIntegration ¶
func (m *Members) AddIntegration(iid IntegrationID, role Role, i UserID) error
func (*Members) DeleteIntegration ¶
func (m *Members) DeleteIntegration(iid IntegrationID) error
func (*Members) HasIntegration ¶
func (m *Members) HasIntegration(i IntegrationID) bool
func (*Members) Integration ¶
func (m *Members) Integration(i IntegrationID) *Member
func (*Members) IntegrationIDs ¶
func (m *Members) IntegrationIDs() []IntegrationID
func (*Members) IntegrationRole ¶
func (m *Members) IntegrationRole(iId IntegrationID) Role
func (*Members) Integrations ¶
func (m *Members) Integrations() map[IntegrationID]Member
func (*Members) IsOnlyOwner ¶
func (*Members) IsOwnerOrMaintainer ¶
func (*Members) UpdateIntegrationRole ¶
func (m *Members) UpdateIntegrationRole(iId IntegrationID, role Role) error
func (*Members) UsersByRole ¶
type UserID ¶
type UserID = accountdomain.UserID
type UserIDList ¶
type UserIDList = accountdomain.UserIDList
type Workspace ¶
type Workspace struct {
// contains filtered or unexported fields
}
func (*Workspace) IsPersonal ¶
Click to show internal directories.
Click to hide internal directories.