update config.yml, invite_schema.go, repository.go
This commit is contained in:
1 parent
b6133df436
commit
2c169c7d4d
3 files changed
+91
No files matched your search
@@ -0,0 +1,50 @@
|
||||
package repository
|
||||
|
||||
import (
|
||||
"esproject"
|
||||
"fmt"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type InviteSchema struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func NewInviteSchema(db *gorm.DB) *InviteSchema {
|
||||
return &InviteSchema{db: db}
|
||||
}
|
||||
|
||||
func (r InviteSchema) CreateInvite(project int64, user int64) (*esproject.ProjectInvite, error) {
|
||||
invite := &esproject.ProjectInvite{
|
||||
Project: project,
|
||||
User: user,
|
||||
}
|
||||
err := r.db.Create(invite).Error
|
||||
return invite, err
|
||||
}
|
||||
|
||||
func (r InviteSchema) GetInvite(id int64) (*esproject.ProjectInvite, error) {
|
||||
invite := esproject.ProjectInvite{}
|
||||
err := r.db.Find(&invite, "id = ?", id).Error
|
||||
if invite.Id == -1 {
|
||||
err = fmt.Errorf("unknown invite %d", id)
|
||||
}
|
||||
return &invite, err
|
||||
}
|
||||
|
||||
func (r InviteSchema) FindInvites(query, param string) ([]esproject.ProjectInvite, error) {
|
||||
var invites []esproject.ProjectInvite
|
||||
err := r.db.Find(&invites, query, param).Error
|
||||
return invites, err
|
||||
}
|
||||
|
||||
func (r InviteSchema) DeleteInvite(id int64) error {
|
||||
invite := esproject.ProjectInvite{}
|
||||
err := r.db.Find(&invite, "id = ?", id).Error
|
||||
if invite.Id == -1 {
|
||||
err = fmt.Errorf("unknown invite %d", id)
|
||||
}
|
||||
r.db.Delete(invite)
|
||||
return err
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
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),
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user