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 Repository ¶
type Repository struct { User IUserRepository Cache ICacheRepo Project IProjectRepository Task ITaskRepository Tag ITagRepository }
Repository all repo object injected here
Click to show internal directories.
Click to hide internal directories.