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,6 @@
|
|||||||
|
port: "8013"
|
||||||
|
db:
|
||||||
|
host: "mysql-pl-wa10.joinserver.xyz"
|
||||||
|
port: "3306"
|
||||||
|
username: "u45925_HjjJCz8EVf"
|
||||||
|
dbname: "s45925_tentula"
|
||||||
@@ -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