organization

package
v0.6.19 Latest Latest
Warning

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

Go to latest
Published: May 17, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotExist      = errors.New("org doesn't exist")
	ErrInvalidUUID   = errors.New("invalid syntax of uuid")
	ErrInvalidID     = errors.New("org id is invalid")
	ErrConflict      = errors.New("org already exist")
	ErrInvalidDetail = errors.New("invalid org detail")
	ErrLogActivity   = errors.New("error while logging activity")
)

Functions

This section is empty.

Types

type ActivityService added in v0.6.15

type ActivityService interface {
	Log(ctx context.Context, action string, actor activity.Actor, data any) error
}

type Organization

type Organization struct {
	ID        string
	Name      string
	Slug      string
	Metadata  metadata.Metadata
	CreatedAt time.Time
	UpdatedAt time.Time
}

func (Organization) ToOrganizationLogData added in v0.6.15

func (organization Organization) ToOrganizationLogData() OrganizationLogData

type OrganizationLogData added in v0.6.15

type OrganizationLogData struct {
	Entity string `mapstructure:"entity"`
	ID     string `mapstructure:"id"`
	Name   string `mapstructure:"name"`
	Slug   string `mapstructure:"slug"`
}

type RelationService

type RelationService interface {
	Create(ctx context.Context, rel relation.RelationV2) (relation.RelationV2, error)
	Delete(ctx context.Context, rel relation.Relation) error
	CheckPermission(ctx context.Context, usr user.User, resourceNS namespace.Namespace, resourceIdxa string, action action.Action) (bool, error)
}

type Repository

type Repository interface {
	GetByID(ctx context.Context, id string) (Organization, error)
	GetBySlug(ctx context.Context, slug string) (Organization, error)
	Create(ctx context.Context, org Organization) (Organization, error)
	List(ctx context.Context) ([]Organization, error)
	UpdateByID(ctx context.Context, org Organization) (Organization, error)
	UpdateBySlug(ctx context.Context, org Organization) (Organization, error)
	ListAdminsByOrgID(ctx context.Context, id string) ([]user.User, error)
}

type Service

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

func NewService

func NewService(logger log.Logger, repository Repository, relationService RelationService, userService UserService, activityService ActivityService) *Service

func (Service) Create

func (s Service) Create(ctx context.Context, org Organization) (Organization, error)

func (Service) Get

func (s Service) Get(ctx context.Context, idOrSlug string) (Organization, error)

func (Service) List

func (s Service) List(ctx context.Context) ([]Organization, error)

func (Service) ListAdmins

func (s Service) ListAdmins(ctx context.Context, idOrSlug string) ([]user.User, error)

func (Service) Update

func (s Service) Update(ctx context.Context, org Organization) (Organization, error)

type UserService

type UserService interface {
	FetchCurrentUser(ctx context.Context) (user.User, error)
	GetByID(ctx context.Context, id string) (user.User, error)
	GetByIDs(ctx context.Context, userIDs []string) ([]user.User, error)
}

Jump to

Keyboard shortcuts

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