Files
esproject-2024/pkg/repository/repository.go
T

36 lines
837 B
Go

package repository
import (
"esproject"
"gorm.io/gorm"
)
type Project interface {
CreateProject(owner int64, name string, tags []string) (*esproject.Project, error)
SaveProject(user *esproject.Project) (int64, error)
GetProject(id int64) (*esproject.Project, error)
GetProjects(start, limit int) []int64
DeleteProject(id int64) error
GetProjectsCount() int64
}
type ProjectInvite interface {
CreateInvite(project int64, user int64) (*esproject.ProjectInvite, error)
GetInvite(id int64) (*esproject.ProjectInvite, error)
FindInvites(query, param string) ([]esproject.ProjectInvite, error)
DeleteInvite(id int64) error
}
type Repository struct {
Project
ProjectInvite
}
func NewRepository(db *gorm.DB) *Repository {
return &Repository{
Project: NewProjectSchema(db),
ProjectInvite: NewInviteSchema(db),
}
}