space

package
v0.0.0-...-ef83997 Latest Latest
Warning

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

Go to latest
Published: May 2, 2018 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package space provides all the required functions to manage the definition of spaces.

Index

Constants

This section is empty.

Variables

View Source
var (
	SystemSpace = uuid.FromStringOrNil("2e0698d8-753e-4cef-bb7c-f027634824a2")
	SpaceType   = "spaces"
)

Functions

This section is empty.

Types

type GormRepository

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

GormRepository implements SpaceRepository using gorm

func NewRepository

func NewRepository(db *gorm.DB) *GormRepository

NewRepository creates a new space repo

func (*GormRepository) CheckExists

func (r *GormRepository) CheckExists(ctx context.Context, id uuid.UUID) error

CheckExists returns nil if the given ID exists otherwise returns an error

func (*GormRepository) Create

func (r *GormRepository) Create(ctx context.Context, space *Space) (*Space, error)

Create creates a new Space in the db returns BadParameterError or InternalError

func (*GormRepository) Delete

func (r *GormRepository) Delete(ctx context.Context, ID uuid.UUID) error

Delete deletes the space with the given id returns NotFoundError or InternalError

func (*GormRepository) List

func (r *GormRepository) List(ctx context.Context, start *int, limit *int) ([]Space, int, error)

List returns work item selected by the given criteria.Expression, starting with start (zero-based) and returning at most limit items

func (*GormRepository) Load

func (r *GormRepository) Load(ctx context.Context, ID uuid.UUID) (*Space, error)

Load returns the space for the given id returns NotFoundError or InternalError

func (*GormRepository) LoadByOwner

func (r *GormRepository) LoadByOwner(ctx context.Context, userID *uuid.UUID, start *int, limit *int) ([]Space, int, error)

func (*GormRepository) LoadByOwnerAndName

func (r *GormRepository) LoadByOwnerAndName(ctx context.Context, userID *uuid.UUID, spaceName *string) (*Space, error)

func (*GormRepository) LoadMany

func (r *GormRepository) LoadMany(ctx context.Context, IDs []uuid.UUID) ([]Space, error)

LoadMany returns the spaces for the given IDs returns NotFoundError or InternalError

func (*GormRepository) Save

func (r *GormRepository) Save(ctx context.Context, p *Space) (*Space, error)

Save updates the given space in the db. Version must be the same as the one in the stored version returns NotFoundError, BadParameterError, VersionConflictError or InternalError

func (*GormRepository) Search

func (r *GormRepository) Search(ctx context.Context, q *string, start *int, limit *int) ([]Space, int, error)

type Repository

type Repository interface {
	repository.Exister
	Create(ctx context.Context, space *Space) (*Space, error)
	Save(ctx context.Context, space *Space) (*Space, error)
	Load(ctx context.Context, ID uuid.UUID) (*Space, error)
	LoadMany(ctx context.Context, IDs []uuid.UUID) ([]Space, error)
	Delete(ctx context.Context, ID uuid.UUID) error
	LoadByOwner(ctx context.Context, userID *uuid.UUID, start *int, length *int) ([]Space, int, error)
	LoadByOwnerAndName(ctx context.Context, userID *uuid.UUID, spaceName *string) (*Space, error)
	List(ctx context.Context, start *int, length *int) ([]Space, int, error)
	Search(ctx context.Context, q *string, start *int, length *int) ([]Space, int, error)
}

Repository encapsulate storage & retrieval of spaces

type Space

type Space struct {
	gormsupport.Lifecycle
	ID              uuid.UUID
	Version         int
	Name            string
	Description     string
	OwnerID         uuid.UUID `sql:"type:uuid"` // Belongs To Identity
	SpaceTemplateID uuid.UUID `sql:"type:uuid"`
}

Space represents a Space on the domain and db layer

func (Space) Equal

func (p Space) Equal(u convert.Equaler) bool

Equal returns true if two Space objects are equal; otherwise false is returned.

func (Space) GetETagData

func (p Space) GetETagData() []interface{}

GetETagData returns the field values to use to generate the ETag

func (Space) GetLastModified

func (p Space) GetLastModified() time.Time

GetLastModified returns the last modification time

func (Space) TableName

func (p Space) TableName() string

TableName overrides the table name settings in Gorm to force a specific table name in the database.

Directories

Path Synopsis
Package authz contains the code that authorizes space operations
Package authz contains the code that authorizes space operations

Jump to

Keyboard shortcuts

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