repository

package
v0.0.0-...-a54da22 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ICacheRepo

type ICacheRepo interface {
	WriteCache(key string, data interface{}, ttl time.Duration) (err error)
	WriteCacheIfEmpty(key string, data interface{}, ttl time.Duration) (err error)
	ReadCache(key string) (data interface{}, err error)
	DeleteCache(key string) (err error)
}

ICacheRepo interface for cache repo

func NewCacheRepository

func NewCacheRepository(opt Option) ICacheRepo

NewCacheRepository initiate cache repo

type IProjectRepository

type IProjectRepository interface {
	GetProjects(cond ...interface{}) ([]entity.Project, error)
	GetProject(cond ...interface{}) (entity.Project, error)
	AddProject(project entity.Project) (entity.Project, error)
	UpdateProject(project entity.Project) (entity.Project, error)
	DeleteProject(id uint) error
}

func NewProjectRepository

func NewProjectRepository(opt Option) IProjectRepository

type ITagRepository

type ITagRepository interface {
	Create(tag entity.Tag) (entity.Tag, error)
	Update(tag entity.Tag) (entity.Tag, error)
	Delete(id uint) error
	GetAll(cond ...interface{}) ([]entity.Tag, error)
	GetOne(cond ...interface{}) (entity.Tag, error)
}

func NewTagRepository

func NewTagRepository(opt Option) ITagRepository

type ITaskRepository

type ITaskRepository interface {
	Create(task entity.Task) (entity.Task, error)
	Update(task entity.Task) (entity.Task, error)
	Delete(id uint) error
	GetAll(cond ...interface{}) ([]entity.Task, error)
	GetOne(cond ...interface{}) (entity.Task, error)
}

func NewTaskRepository

func NewTaskRepository(opt Option) ITaskRepository

type IUserRepository

type IUserRepository interface {
	GetAll() ([]entity.User, error)
	GetByID(id int) (entity.User, error)
	Create(user entity.User) (entity.User, error)
	GetByEmail(email string) (entity.User, error)
	Update(user entity.User) (entity.User, error)
	Delete(id int) error
}

func NewUserRepository

func NewUserRepository(opt Option) IUserRepository

type Option

type Option struct {
	commons.Options
}

Option anything any repo object needed

type Repository

type Repository struct {
	User    IUserRepository
	Cache   ICacheRepo
	Project IProjectRepository
	Task    ITaskRepository
	Tag     ITagRepository
}

Repository all repo object injected here

Jump to

Keyboard shortcuts

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