16 lines
722 B
Go
16 lines
722 B
Go
package repository
|
|
|
|
import "github.com/ajaxray/geek-life/model"
|
|
|
|
// ProjectRepository interface defines methods of project data accessor
|
|
type ProjectRepository interface {
|
|
GetAll(ctx *model.UserContext) ([]model.Project, error)
|
|
GetByID(ctx *model.UserContext, id int64) (model.Project, error)
|
|
GetByTitle(ctx *model.UserContext, title string) (model.Project, error)
|
|
GetByUUID(ctx *model.UserContext, UUID string) (model.Project, error)
|
|
Create(ctx *model.UserContext, title, UUID string) (model.Project, error)
|
|
Update(ctx *model.UserContext, p *model.Project) error
|
|
UpdateField(ctx *model.UserContext, p *model.Project, field string, value interface{}) error
|
|
Delete(ctx *model.UserContext, p *model.Project) error
|
|
}
|