dao

package
v1.0.0-rc2 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessWithLabel

type AccessWithLabel struct {
	model.Permission `pg:",override"`

	Label string `sql:"label"`
}

type DAO

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

func SetupDAO

func SetupDAO(dbURL string) (*DAO, error)

func (*DAO) AllNamespaces

func (dao *DAO) AllNamespaces(ctx context.Context, filter NamespaceFilter) (ret []model.NamespaceWithPermissions, err error)

func (*DAO) AllStorages

func (dao *DAO) AllStorages(ctx context.Context) (ret []model.Storage, err error)

func (*DAO) AllVolumes

func (dao *DAO) AllVolumes(ctx context.Context, filter VolumeFilter) (ret []model.VolumeWithPermissions, err error)

func (*DAO) CreateNamespace

func (dao *DAO) CreateNamespace(ctx context.Context, namespace *model.Namespace) error

func (*DAO) CreateStorage

func (dao *DAO) CreateStorage(ctx context.Context, storage *model.Storage) error

func (*DAO) CreateVolume

func (dao *DAO) CreateVolume(ctx context.Context, vol *model.Volume) error

func (*DAO) DeleteAllUserNamespaceVolumes

func (dao *DAO) DeleteAllUserNamespaceVolumes(ctx context.Context, userID string) (deleted []model.Volume, err error)

func (*DAO) DeleteAllUserNamespaces

func (dao *DAO) DeleteAllUserNamespaces(ctx context.Context, userID string) (deleted []model.Namespace, err error)

func (*DAO) DeleteAllVolumes

func (dao *DAO) DeleteAllVolumes(ctx context.Context, userID string) (deletedVols []model.Volume, err error)

func (*DAO) DeleteNamespace

func (dao *DAO) DeleteNamespace(ctx context.Context, namespace *model.Namespace) error

func (*DAO) DeleteNamespaceAccess

func (dao *DAO) DeleteNamespaceAccess(ctx context.Context, ns model.Namespace, userID string) error

func (*DAO) DeleteNamespaceVolumes

func (dao *DAO) DeleteNamespaceVolumes(ctx context.Context, namespace model.Namespace) (deleted []model.Volume, err error)

func (*DAO) DeleteStorage

func (dao *DAO) DeleteStorage(ctx context.Context, storage model.Storage) error

func (*DAO) DeleteVolume

func (dao *DAO) DeleteVolume(ctx context.Context, vol *model.Volume) error

func (*DAO) DeleteVolumeAccess

func (dao *DAO) DeleteVolumeAccess(ctx context.Context, vol model.Volume, userID string) error

func (*DAO) LeastUsedStorage

func (dao *DAO) LeastUsedStorage(ctx context.Context, minFree int) (ret model.Storage, err error)

func (*DAO) NamespaceByID

func (dao *DAO) NamespaceByID(ctx context.Context, userID, id string) (ret model.NamespaceWithPermissions, err error)

func (*DAO) NamespaceByLabel

func (dao *DAO) NamespaceByLabel(ctx context.Context, userID, label string) (ret model.NamespaceWithPermissions, err error)

func (*DAO) NamespacePermissions

func (dao *DAO) NamespacePermissions(ctx context.Context, ns *model.NamespaceWithPermissions) error

func (*DAO) NamespaceVolumes

func (dao *DAO) NamespaceVolumes(ctx context.Context, ns *model.Namespace) (err error)

func (*DAO) RenameNamespace

func (dao *DAO) RenameNamespace(ctx context.Context, namespace *model.Namespace, newLabel string) error

func (*DAO) RenameVolume

func (dao *DAO) RenameVolume(ctx context.Context, vol *model.Volume, newLabel string) error

func (*DAO) ResizeNamespace

func (dao *DAO) ResizeNamespace(ctx context.Context, namespace model.Namespace) error

func (*DAO) ResizeVolume

func (dao *DAO) ResizeVolume(ctx context.Context, vol model.Volume) error

func (*DAO) SetNamespaceAccess

func (dao *DAO) SetNamespaceAccess(ctx context.Context, ns model.Namespace, accessLevel model.AccessLevel, toUserID string) error

func (*DAO) SetUserAccesses

func (dao *DAO) SetUserAccesses(ctx context.Context, userID string, level model.AccessLevel) error

func (*DAO) SetVolumeAccess

func (dao *DAO) SetVolumeAccess(ctx context.Context, vol model.Volume, accessLevel model.AccessLevel, toUserID string) error

func (*DAO) StorageByName

func (dao *DAO) StorageByName(ctx context.Context, name string) (ret model.Storage, err error)

func (*DAO) Transactional

func (dao *DAO) Transactional(fn func(tx *DAO) error) error

func (*DAO) UpdateStorage

func (dao *DAO) UpdateStorage(ctx context.Context, name string, storage model.Storage) error

func (*DAO) UserAccesses

func (dao *DAO) UserAccesses(ctx context.Context, userID string) ([]AccessWithLabel, error)

func (*DAO) UserNamespaces

func (dao *DAO) UserNamespaces(ctx context.Context, userID string, filter NamespaceFilter) (ret []model.NamespaceWithPermissions, err error)

func (*DAO) UserVolumes

func (dao *DAO) UserVolumes(ctx context.Context, userID string, filter VolumeFilter) (ret []model.VolumeWithPermissions, err error)

func (*DAO) VolumeByID

func (dao *DAO) VolumeByID(ctx context.Context, userID, id string) (ret model.VolumeWithPermissions, err error)

func (*DAO) VolumeByLabel

func (dao *DAO) VolumeByLabel(ctx context.Context, userID, label string) (ret model.VolumeWithPermissions, err error)

func (*DAO) VolumePermissions

func (dao *DAO) VolumePermissions(ctx context.Context, vol *model.VolumeWithPermissions) (err error)

type NamespaceFilter

type NamespaceFilter struct {
	orm.Pager
	NotDeleted bool `filter:"not_deleted"`
	Deleted    bool `filter:"deleted"`
	NotLimited bool `filter:"not_limited"`
	Limited    bool `filter:"limited"`
	Owned      bool `filter:"owner"`
	NotOwned   bool `filter:"not_owner"`
}

func ParseNamespaceFilter

func ParseNamespaceFilter(filters ...string) NamespaceFilter

func (*NamespaceFilter) Filter

func (f *NamespaceFilter) Filter(q *orm.Query) (*orm.Query, error)

type VolumeFilter

type VolumeFilter struct {
	orm.Pager
	NotDeleted    bool `filter:"not_deleted"`
	Deleted       bool `filter:"deleted"`
	NotLimited    bool `filter:"not_limited"`
	Limited       bool `filter:"limited"`
	Owned         bool `filter:"owner"`
	NotOwned      bool `filter:"not_owner"`
	Persistent    bool `filter:"persistent"`
	NotPersistent bool `filter:"not_persistent"`
}

func ParseVolumeFilter

func ParseVolumeFilter(filters ...string) VolumeFilter

func (*VolumeFilter) Filter

func (f *VolumeFilter) Filter(q *orm.Query) (*orm.Query, error)

Jump to

Keyboard shortcuts

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