Move common structs to libfic
This commit is contained in:
parent
d841542be4
commit
92b81e467f
|
@ -4,6 +4,8 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
|
"srs.epita.fr/fic-server/libfic"
|
||||||
)
|
)
|
||||||
|
|
||||||
var ApiTeamsRouting = map[string]DispatchFunction{
|
var ApiTeamsRouting = map[string]DispatchFunction{
|
||||||
|
@ -25,7 +27,7 @@ type uploadedMember struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func nginxGenTeam() (string, error) {
|
func nginxGenTeam() (string, error) {
|
||||||
if teams, err := GetTeams(); err != nil {
|
if teams, err := fic.GetTeams(); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
} else {
|
} else {
|
||||||
ret := ""
|
ret := ""
|
||||||
|
@ -43,14 +45,14 @@ func listTeam(args []string, body []byte) (interface{}, error) {
|
||||||
return nginxGenTeam()
|
return nginxGenTeam()
|
||||||
} else if tid, err := strconv.Atoi(string(args[0])); err != nil {
|
} else if tid, err := strconv.Atoi(string(args[0])); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else if team, err := GetTeam(tid); err != nil {
|
} else if team, err := fic.GetTeam(tid); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else {
|
} else {
|
||||||
return team.GetMembers()
|
return team.GetMembers()
|
||||||
}
|
}
|
||||||
} else if len(args) == 0 {
|
} else if len(args) == 0 {
|
||||||
// List all teams
|
// List all teams
|
||||||
return GetTeams()
|
return fic.GetTeams()
|
||||||
} else {
|
} else {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
@ -64,7 +66,7 @@ func creationTeam(args []string, body []byte) (interface{}, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return CreateTeam(ut.Name)
|
return fic.CreateTeam(ut.Name)
|
||||||
} else {
|
} else {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
@ -75,7 +77,7 @@ func creationTeamMembers(args []string, body []byte) (interface{}, error) {
|
||||||
// List given team
|
// List given team
|
||||||
if tid, err := strconv.Atoi(string(args[0])); err != nil {
|
if tid, err := strconv.Atoi(string(args[0])); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else if team, err := GetTeam(tid); err != nil {
|
} else if team, err := fic.GetTeam(tid); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else {
|
} else {
|
||||||
var member uploadedMember
|
var member uploadedMember
|
||||||
|
@ -94,7 +96,7 @@ func creationTeamMembers(args []string, body []byte) (interface{}, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if team, err := CreateTeam(""); err != nil {
|
if team, err := fic.CreateTeam(""); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else {
|
} else {
|
||||||
for _, member := range members {
|
for _, member := range members {
|
||||||
|
@ -114,7 +116,7 @@ func deletionTeam(args []string, body []byte) (interface{}, error) {
|
||||||
if len(args) == 1 {
|
if len(args) == 1 {
|
||||||
if tid, err := strconv.Atoi(string(args[0])); err != nil {
|
if tid, err := strconv.Atoi(string(args[0])); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else if team, err := GetTeam(tid); err != nil {
|
} else if team, err := fic.GetTeam(tid); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else {
|
} else {
|
||||||
return team.Delete()
|
return team.Delete()
|
||||||
|
|
|
@ -4,6 +4,8 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
|
"srs.epita.fr/fic-server/libfic"
|
||||||
)
|
)
|
||||||
|
|
||||||
var ApiThemesRouting = map[string]DispatchFunction{
|
var ApiThemesRouting = map[string]DispatchFunction{
|
||||||
|
@ -25,19 +27,19 @@ type uploadedExercice struct {
|
||||||
VideoURI string
|
VideoURI string
|
||||||
}
|
}
|
||||||
|
|
||||||
func getTheme(args []string) (Theme, error) {
|
func getTheme(args []string) (fic.Theme, error) {
|
||||||
if tid, err := strconv.Atoi(string(args[0])); err != nil {
|
if tid, err := strconv.Atoi(string(args[0])); err != nil {
|
||||||
return Theme{}, err
|
return fic.Theme{}, err
|
||||||
} else {
|
} else {
|
||||||
return GetTheme(tid)
|
return fic.GetTheme(tid)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func getExercice(args []string) (Exercice, error) {
|
func getExercice(args []string) (fic.Exercice, error) {
|
||||||
if theme, err := getTheme(args); err != nil {
|
if theme, err := getTheme(args); err != nil {
|
||||||
return Exercice{}, err
|
return fic.Exercice{}, err
|
||||||
} else if eid, err := strconv.Atoi(string(args[1])); err != nil {
|
} else if eid, err := strconv.Atoi(string(args[1])); err != nil {
|
||||||
return Exercice{}, err
|
return fic.Exercice{}, err
|
||||||
} else {
|
} else {
|
||||||
return theme.GetExercice(eid)
|
return theme.GetExercice(eid)
|
||||||
}
|
}
|
||||||
|
@ -50,7 +52,7 @@ func listTheme(args []string, body []byte) (interface{}, error) {
|
||||||
return getTheme(args)
|
return getTheme(args)
|
||||||
} else if len(args) == 0 {
|
} else if len(args) == 0 {
|
||||||
// List all themes
|
// List all themes
|
||||||
return GetThemes()
|
return fic.GetThemes()
|
||||||
} else {
|
} else {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
@ -71,9 +73,9 @@ func creationTheme(args []string, body []byte) (interface{}, error) {
|
||||||
return nil, errors.New("Title not filled")
|
return nil, errors.New("Title not filled")
|
||||||
}
|
}
|
||||||
|
|
||||||
var depend *Exercice = nil
|
var depend *fic.Exercice = nil
|
||||||
if ue.Depend != nil {
|
if ue.Depend != nil {
|
||||||
if d, err := GetExercice(*ue.Depend); err != nil {
|
if d, err := fic.GetExercice(*ue.Depend); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else {
|
} else {
|
||||||
depend = &d
|
depend = &d
|
||||||
|
@ -93,7 +95,7 @@ func creationTheme(args []string, body []byte) (interface{}, error) {
|
||||||
return nil, errors.New("Theme's name not filled")
|
return nil, errors.New("Theme's name not filled")
|
||||||
}
|
}
|
||||||
|
|
||||||
return CreateTheme(ut.Name)
|
return fic.CreateTheme(ut.Name)
|
||||||
} else {
|
} else {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,8 @@ import (
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
|
"srs.epita.fr/fic-server/libfic"
|
||||||
)
|
)
|
||||||
|
|
||||||
var SubmissionDir string
|
var SubmissionDir string
|
||||||
|
@ -19,15 +21,15 @@ func main() {
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
log.Println("Opening database...")
|
log.Println("Opening database...")
|
||||||
if err := DBInit(*dbfile); err != nil {
|
if err := fic.DBInit(*dbfile); err != nil {
|
||||||
log.Fatal("Cannot open the database: ", err)
|
log.Fatal("Cannot open the database: ", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|
||||||
}
|
}
|
||||||
defer DBClose()
|
defer fic.DBClose()
|
||||||
|
|
||||||
log.Println("Creating database...")
|
log.Println("Creating database...")
|
||||||
if err := DBCreate(); err != nil {
|
if err := fic.DBCreate(); err != nil {
|
||||||
log.Fatal("Cannot create database: ", err)
|
log.Fatal("Cannot create database: ", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package main
|
package fic
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
|
@ -1,4 +1,4 @@
|
||||||
package main
|
package fic
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
|
@ -1,4 +1,4 @@
|
||||||
package main
|
package fic
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/sha1"
|
"crypto/sha1"
|
||||||
|
@ -8,11 +8,11 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type EFile struct {
|
type EFile struct {
|
||||||
Id int64 `json:"id"`
|
Id int64 `json:"id"`
|
||||||
Path string `json:"path"`
|
Path string `json:"path"`
|
||||||
IdExercice int64 `json:"idExercice"`
|
IdExercice int64 `json:"idExercice"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Checksum []byte `json:"checksum"`
|
Checksum []byte `json:"checksum"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e Exercice) GetFiles() ([]EFile, error) {
|
func (e Exercice) GetFiles() ([]EFile, error) {
|
|
@ -1,14 +1,14 @@
|
||||||
package main
|
package fic
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/sha512"
|
"crypto/sha512"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Key struct {
|
type Key struct {
|
||||||
Id int64 `json:"id"`
|
Id int64 `json:"id"`
|
||||||
IdExercice int64 `json:"idExercice"`
|
IdExercice int64 `json:"idExercice"`
|
||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
Value [64]byte `json:"value"`
|
Value [64]byte `json:"value"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e Exercice) GetKeys() ([]Key, error) {
|
func (e Exercice) GetKeys() ([]Key, error) {
|
|
@ -1,4 +1,4 @@
|
||||||
package main
|
package fic
|
||||||
|
|
||||||
import ()
|
import ()
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package main
|
package fic
|
||||||
|
|
||||||
import ()
|
import ()
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package main
|
package fic
|
||||||
|
|
||||||
import ()
|
import ()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user