repo

package
v1.7.0-beta2 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2023 License: GPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

This section is empty.

Types

type BasicOP

type BasicOP[T comparable, ID IDType, O any] interface {
	Writer[T, ID]
	Reader[T, ID, O]
}

type Creator

type Creator[T comparable] interface {
	Create(ctx context.Context, entity T) error
}

type DBQuery

type DBQuery interface {
	Q() *query.Query
}

type DBQueryFactory

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

func NewDBQueryFactory

func NewDBQueryFactory(q *query.Query) *DBQueryFactory

func (*DBQueryFactory) Q

func (f *DBQueryFactory) Q() *query.Query

type Deleter

type Deleter[ID IDType] interface {
	Delete(ctx context.Context, id ID) error
}

type IDType

type IDType interface {
	int64 | string
}

type Matter

type Matter interface {
	BasicOP[*entity.Matter, int64, *MatterListOption]

	FindWith(ctx context.Context, opt *MatterFindWithOption) (*entity.Matter, error)
	FindByAlias(ctx context.Context, alias string) (*entity.Matter, error)
	PathExist(ctx context.Context, path string) bool
	Copy(ctx context.Context, id int64, to string) (*entity.Matter, error)
	Recovery(ctx context.Context, id int64) error
	GetObjects(ctx context.Context, id int64) ([]string, error)
}

type MatterDBQuery

type MatterDBQuery struct {
	DBQuery
}

func NewMatterDBQuery

func NewMatterDBQuery(q DBQuery) *MatterDBQuery

func (*MatterDBQuery) Copy

func (db *MatterDBQuery) Copy(ctx context.Context, id int64, to string) (*entity.Matter, error)

func (*MatterDBQuery) Create

func (db *MatterDBQuery) Create(ctx context.Context, m *entity.Matter) error

func (*MatterDBQuery) Delete

func (db *MatterDBQuery) Delete(ctx context.Context, id int64) error

func (*MatterDBQuery) Find

func (db *MatterDBQuery) Find(ctx context.Context, id int64) (*entity.Matter, error)

func (*MatterDBQuery) FindAll

func (db *MatterDBQuery) FindAll(ctx context.Context, opts *MatterListOption) ([]*entity.Matter, int64, error)

func (*MatterDBQuery) FindByAlias

func (db *MatterDBQuery) FindByAlias(ctx context.Context, alias string) (*entity.Matter, error)

func (*MatterDBQuery) FindWith

func (db *MatterDBQuery) FindWith(ctx context.Context, opt *MatterFindWithOption) (*entity.Matter, error)

func (*MatterDBQuery) GetObjects

func (db *MatterDBQuery) GetObjects(ctx context.Context, id int64) ([]string, error)

func (*MatterDBQuery) PathExist

func (db *MatterDBQuery) PathExist(ctx context.Context, filepath string) bool

func (*MatterDBQuery) Recovery

func (db *MatterDBQuery) Recovery(ctx context.Context, id int64) error

func (*MatterDBQuery) Update

func (db *MatterDBQuery) Update(ctx context.Context, id int64, m *entity.Matter) error

type MatterFindWithOption

type MatterFindWithOption struct {
	Id      int64
	Alias   string
	Deleted bool
}

type MatterListOption

type MatterListOption struct {
	QueryPage
	Sid     int64
	Uid     int64
	Dir     string
	Type    string
	Keyword string
	Draft   bool
}

type Opt

type Opt[p any] interface {
	// contains filtered or unexported methods
}

type QueryPage

type QueryPage struct {
	Offset int `form:"offset"`
	Limit  int `form:"limit,default=500"`
}

type Reader

type Reader[T comparable, ID IDType, O any] interface {
	Find(ctx context.Context, id ID) (T, error)
	FindAll(ctx context.Context, opts O) ([]T, int64, error)
}

type RecycleBinDBQuery

type RecycleBinDBQuery struct {
	DBQuery
}

func NewRecycleBinDBQuery

func NewRecycleBinDBQuery(q DBQuery) *RecycleBinDBQuery

func (*RecycleBinDBQuery) Create

func (*RecycleBinDBQuery) Delete

func (r *RecycleBinDBQuery) Delete(ctx context.Context, alias string) error

func (*RecycleBinDBQuery) Find

func (r *RecycleBinDBQuery) Find(ctx context.Context, alias string) (*entity.RecycleBin, error)

func (*RecycleBinDBQuery) FindAll

func (r *RecycleBinDBQuery) FindAll(ctx context.Context, opts *RecycleBinFindOptions) (rows []*entity.RecycleBin, total int64, err error)

type RecycleBinFindOptions

type RecycleBinFindOptions struct {
	QueryPage

	Sid int64
	Uid int64
}

type Repository

type Repository struct {
	Storage    Storage
	Matter     Matter
	RecycleBin RecycleBin
}

func NewRepository

func NewRepository(storage Storage, matter Matter, recycleBin RecycleBin) *Repository

type Storage

type Storage interface {
	BasicOP[*entity.Storage, int64, *StorageFindOptions]
}

type StorageDBQuery

type StorageDBQuery struct {
	DBQuery
}

func NewStorageDBQuery

func NewStorageDBQuery(q DBQuery) *StorageDBQuery

func (*StorageDBQuery) Create

func (s *StorageDBQuery) Create(ctx context.Context, storage *entity.Storage) error

func (*StorageDBQuery) Delete

func (s *StorageDBQuery) Delete(ctx context.Context, id int64) error

func (*StorageDBQuery) Find

func (s *StorageDBQuery) Find(ctx context.Context, id int64) (*entity.Storage, error)

func (*StorageDBQuery) FindAll

func (s *StorageDBQuery) FindAll(ctx context.Context, opts *StorageFindOptions) (storages []*entity.Storage, total int64, err error)

func (*StorageDBQuery) Update

func (s *StorageDBQuery) Update(ctx context.Context, id int64, storage *entity.Storage) error

type StorageFindOptions

type StorageFindOptions struct {
	Offset int
	Limit  int
}

type Updater

type Updater[T comparable, ID IDType] interface {
	Update(ctx context.Context, id ID, entity T) error
}

type User

type User interface {
	GetUserStorage(ctx context.Context, uid int64) (*entity.UserStorage, error)
	UserStorageUsedIncr(ctx context.Context, matter *entity.Matter) error
	UserStorageUsedDecr(ctx context.Context, matter *entity.Matter) error
}

type UserDBQuery

type UserDBQuery struct {
	DBQuery
}

func NewUserDBQuery

func NewUserDBQuery(q DBQuery) *UserDBQuery

func (*UserDBQuery) GetUserStorage

func (u *UserDBQuery) GetUserStorage(ctx context.Context, uid int64) (*entity.UserStorage, error)

func (*UserDBQuery) UserStorageUsedDecr

func (u *UserDBQuery) UserStorageUsedDecr(ctx context.Context, matter *entity.Matter) error

func (*UserDBQuery) UserStorageUsedIncr

func (u *UserDBQuery) UserStorageUsedIncr(ctx context.Context, matter *entity.Matter) error

type Writer

type Writer[T comparable, ID IDType] interface {
	Creator[T]
	Updater[T, ID]
	Deleter[ID]
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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