interactor

package
v0.0.0-...-b80d6b0 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2025 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCerbos

func NewCerbos(r *repo.Container, cerbos gateway.CerbosGateway) interfaces.Cerbos

func NewMultiUser

func NewMultiUser(r *repo.Container, g *gateway.Container, signupSecret, authSrcUIDomain string, users []repo.User) interfaces.User

func NewPermittable

func NewPermittable(r *repo.Container) interfaces.Permittable

func NewRole

func NewRole(r *repo.Container) interfaces.Role

func NewUser

func NewUser(r *repo.Container, g *gateway.Container, signupSecret, authSrcUIDomain string) interfaces.User

func NewWorkspace

func NewWorkspace(r *repo.Container, enforceMemberCount WorkspaceMemberCountEnforcer) interfaces.Workspace

func Run0

func Run0(ctx context.Context, op *usecase.Operator, r *repo.Container, e *uc, f func(ctx context.Context) error) (err error)

func Run1

func Run1[A any](ctx context.Context, op *usecase.Operator, r *repo.Container, e *uc, f func(ctx context.Context) (A, error)) (a A, err error)

func Run2

func Run2[A, B any](ctx context.Context, op *usecase.Operator, r *repo.Container, e *uc, f func(ctx context.Context) (A, B, error)) (a A, b B, err error)

func Run3

func Run3[A, B, C any](ctx context.Context, op *usecase.Operator, r *repo.Container, e *uc, f func(ctx context.Context) (A, B, C, error)) (a A, b B, c C, err error)

func Usecase

func Usecase() *uc

Types

type Cerbos

type Cerbos struct {
	// contains filtered or unexported fields
}

func (*Cerbos) CheckPermission

type ContainerConfig

type ContainerConfig struct {
	SignupSecret    string
	AuthSrvUIDomain string
}

type OpenIDConfiguration

type OpenIDConfiguration struct {
	UserinfoEndpoint string `json:"userinfo_endpoint"`
}

type Permittable

type Permittable struct {
	// contains filtered or unexported fields
}

func (*Permittable) GetUsersWithRoles

func (i *Permittable) GetUsersWithRoles(ctx context.Context) (user.List, map[user.ID]role.List, error)

func (*Permittable) UpdatePermittable

type Role

type Role struct {
	// contains filtered or unexported fields
}

func (*Role) AddRole

func (i *Role) AddRole(ctx context.Context, param interfaces.AddRoleParam) (*role.Role, error)

func (*Role) GetRoles

func (i *Role) GetRoles(ctx context.Context) (role.List, error)

func (*Role) RemoveRole

func (i *Role) RemoveRole(ctx context.Context, param interfaces.RemoveRoleParam) (id.RoleID, error)

func (*Role) UpdateRole

func (i *Role) UpdateRole(ctx context.Context, param interfaces.UpdateRoleParam) (*role.Role, error)

type User

type User struct {
	// contains filtered or unexported fields
}

func (*User) CreateVerification

func (i *User) CreateVerification(ctx context.Context, email string) error

func (*User) DeleteMe

func (i *User) DeleteMe(ctx context.Context, userID user.ID, operator *usecase.Operator) (err error)

func (*User) FetchByID

func (i *User) FetchByID(ctx context.Context, ids user.IDList) (user.List, error)

func (*User) FetchByNameOrEmail

func (i *User) FetchByNameOrEmail(ctx context.Context, nameOrEmail string) (*user.Simple, error)

func (*User) FetchBySub

func (i *User) FetchBySub(ctx context.Context, sub string) (*user.User, error)

func (*User) FindOrCreate

func (i *User) FindOrCreate(ctx context.Context, param interfaces.UserFindOrCreateParam) (u *user.User, err error)

func (*User) GetUserByCredentials

func (i *User) GetUserByCredentials(ctx context.Context, inp interfaces.GetUserByCredentials) (u *user.User, err error)

func (*User) GetUserBySubject

func (i *User) GetUserBySubject(ctx context.Context, sub string) (u *user.User, err error)

func (*User) PasswordReset

func (i *User) PasswordReset(ctx context.Context, password string, token string) error

func (*User) RemoveMyAuth

func (i *User) RemoveMyAuth(ctx context.Context, authProvider string, operator *usecase.Operator) (u *user.User, err error)

func (*User) SearchUser

func (i *User) SearchUser(ctx context.Context, keyword string) (user.SimpleList, error)

func (*User) Signup

func (i *User) Signup(ctx context.Context, param interfaces.SignupParam) (u *user.User, err error)

func (*User) SignupOIDC

func (i *User) SignupOIDC(ctx context.Context, param interfaces.SignupOIDCParam) (*user.User, error)

func (*User) StartPasswordReset

func (i *User) StartPasswordReset(ctx context.Context, email string) error

func (*User) UpdateMe

func (i *User) UpdateMe(ctx context.Context, p interfaces.UpdateMeParam, operator *usecase.Operator) (u *user.User, err error)

func (*User) VerifyUser

func (i *User) VerifyUser(ctx context.Context, code string) (*user.User, error)

type UserInfo

type UserInfo struct {
	Sub      string `json:"sub"`
	Name     string `json:"name"`
	Nickname string `json:"nickname"`
	Email    string `json:"email"`
	Error    string `json:"error"`
}

type UserQuery

type UserQuery struct {
	// contains filtered or unexported fields
}

func NewUserQuery

func NewUserQuery(primary repo.User, repos ...repo.User) *UserQuery

func (*UserQuery) FetchByID

func (q *UserQuery) FetchByID(ctx context.Context, ids user.IDList) (user.List, error)

func (*UserQuery) FetchByNameOrEmail

func (q *UserQuery) FetchByNameOrEmail(ctx context.Context, nameOrEmail string) (*user.Simple, error)

func (*UserQuery) FetchBySub

func (q *UserQuery) FetchBySub(ctx context.Context, sub string) (*user.User, error)

func (*UserQuery) SearchUser

func (q *UserQuery) SearchUser(ctx context.Context, keyword string) (user.SimpleList, error)

type Workspace

type Workspace struct {
	// contains filtered or unexported fields
}

func (*Workspace) AddIntegrationMember

func (i *Workspace) AddIntegrationMember(ctx context.Context, wId workspace.ID, iId workspace.IntegrationID, role workspace.Role, operator *usecase.Operator) (_ *workspace.Workspace, err error)

func (*Workspace) AddUserMember

func (i *Workspace) AddUserMember(ctx context.Context, workspaceID workspace.ID, users map[workspace.UserID]workspace.Role, operator *usecase.Operator) (_ *workspace.Workspace, err error)

func (*Workspace) Create

func (i *Workspace) Create(ctx context.Context, alias, name, description string, firstUser workspace.UserID, operator *usecase.Operator) (_ *workspace.Workspace, err error)

func (*Workspace) Fetch

func (i *Workspace) Fetch(ctx context.Context, ids workspace.IDList, operator *usecase.Operator) (workspace.List, error)

func (*Workspace) FetchByAlias

func (i *Workspace) FetchByAlias(ctx context.Context, alias string) (*workspace.Workspace, error)

func (*Workspace) FetchByID

func (i *Workspace) FetchByID(ctx context.Context, id workspace.ID) (*workspace.Workspace, error)

func (*Workspace) FetchByName

func (i *Workspace) FetchByName(ctx context.Context, name string) (*workspace.Workspace, error)

func (*Workspace) FindByUser

func (i *Workspace) FindByUser(ctx context.Context, id workspace.UserID, operator *usecase.Operator) (workspace.List, error)

func (*Workspace) Remove

func (i *Workspace) Remove(ctx context.Context, id workspace.ID, operator *usecase.Operator) error

func (*Workspace) RemoveIntegration

func (i *Workspace) RemoveIntegration(ctx context.Context, wId workspace.ID, iId workspace.IntegrationID, operator *usecase.Operator) (_ *workspace.Workspace, err error)

func (*Workspace) RemoveIntegrations

func (i *Workspace) RemoveIntegrations(ctx context.Context, wId workspace.ID, iIDs workspace.IntegrationIDList, operator *usecase.Operator) (_ *workspace.Workspace, err error)

func (*Workspace) RemoveMultipleUserMembers

func (i *Workspace) RemoveMultipleUserMembers(ctx context.Context, id workspace.ID, userIds workspace.UserIDList, operator *usecase.Operator) (_ *workspace.Workspace, err error)

func (*Workspace) RemoveUserMember

func (i *Workspace) RemoveUserMember(ctx context.Context, id workspace.ID, u workspace.UserID, operator *usecase.Operator) (*workspace.Workspace, error)

func (*Workspace) Update

func (i *Workspace) Update(ctx context.Context, id workspace.ID, name string, operator *usecase.Operator) (_ *workspace.Workspace, err error)

func (*Workspace) UpdateIntegration

func (i *Workspace) UpdateIntegration(ctx context.Context, wId workspace.ID, iId workspace.IntegrationID, role workspace.Role, operator *usecase.Operator) (_ *workspace.Workspace, err error)

func (*Workspace) UpdateUserMember

func (i *Workspace) UpdateUserMember(ctx context.Context, id workspace.ID, u workspace.UserID, role workspace.Role, operator *usecase.Operator) (_ *workspace.Workspace, err error)

type WorkspaceMemberCountEnforcer

type WorkspaceMemberCountEnforcer func(context.Context, *workspace.Workspace, user.List, *usecase.Operator) error

Jump to

Keyboard shortcuts

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