Move common structs to libfic

This commit is contained in:
nemunaire 2016-01-13 20:25:25 +01:00
parent d841542be4
commit 92b81e467f
10 changed files with 42 additions and 36 deletions

View File

@ -4,6 +4,8 @@ import (
"encoding/json"
"fmt"
"strconv"
"srs.epita.fr/fic-server/libfic"
)
var ApiTeamsRouting = map[string]DispatchFunction{
@ -25,7 +27,7 @@ type uploadedMember struct {
}
func nginxGenTeam() (string, error) {
if teams, err := GetTeams(); err != nil {
if teams, err := fic.GetTeams(); err != nil {
return "", err
} else {
ret := ""
@ -43,14 +45,14 @@ func listTeam(args []string, body []byte) (interface{}, error) {
return nginxGenTeam()
} else if tid, err := strconv.Atoi(string(args[0])); err != nil {
return nil, err
} else if team, err := GetTeam(tid); err != nil {
} else if team, err := fic.GetTeam(tid); err != nil {
return nil, err
} else {
return team.GetMembers()
}
} else if len(args) == 0 {
// List all teams
return GetTeams()
return fic.GetTeams()
} else {
return nil, nil
}
@ -64,7 +66,7 @@ func creationTeam(args []string, body []byte) (interface{}, error) {
return nil, err
}
return CreateTeam(ut.Name)
return fic.CreateTeam(ut.Name)
} else {
return nil, nil
}
@ -75,7 +77,7 @@ func creationTeamMembers(args []string, body []byte) (interface{}, error) {
// List given team
if tid, err := strconv.Atoi(string(args[0])); err != nil {
return nil, err
} else if team, err := GetTeam(tid); err != nil {
} else if team, err := fic.GetTeam(tid); err != nil {
return nil, err
} else {
var member uploadedMember
@ -94,7 +96,7 @@ func creationTeamMembers(args []string, body []byte) (interface{}, error) {
return nil, err
}
if team, err := CreateTeam(""); err != nil {
if team, err := fic.CreateTeam(""); err != nil {
return nil, err
} else {
for _, member := range members {
@ -114,7 +116,7 @@ func deletionTeam(args []string, body []byte) (interface{}, error) {
if len(args) == 1 {
if tid, err := strconv.Atoi(string(args[0])); err != nil {
return nil, err
} else if team, err := GetTeam(tid); err != nil {
} else if team, err := fic.GetTeam(tid); err != nil {
return nil, err
} else {
return team.Delete()

View File

@ -4,6 +4,8 @@ import (
"encoding/json"
"errors"
"strconv"
"srs.epita.fr/fic-server/libfic"
)
var ApiThemesRouting = map[string]DispatchFunction{
@ -25,19 +27,19 @@ type uploadedExercice struct {
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 {
return Theme{}, err
return fic.Theme{}, err
} 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 {
return Exercice{}, err
return fic.Exercice{}, err
} else if eid, err := strconv.Atoi(string(args[1])); err != nil {
return Exercice{}, err
return fic.Exercice{}, err
} else {
return theme.GetExercice(eid)
}
@ -50,7 +52,7 @@ func listTheme(args []string, body []byte) (interface{}, error) {
return getTheme(args)
} else if len(args) == 0 {
// List all themes
return GetThemes()
return fic.GetThemes()
} else {
return nil, nil
}
@ -71,9 +73,9 @@ func creationTheme(args []string, body []byte) (interface{}, error) {
return nil, errors.New("Title not filled")
}
var depend *Exercice = nil
var depend *fic.Exercice = 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
} else {
depend = &d
@ -93,7 +95,7 @@ func creationTheme(args []string, body []byte) (interface{}, error) {
return nil, errors.New("Theme's name not filled")
}
return CreateTheme(ut.Name)
return fic.CreateTheme(ut.Name)
} else {
return nil, nil
}

View File

@ -6,6 +6,8 @@ import (
"log"
"net/http"
"os"
"srs.epita.fr/fic-server/libfic"
)
var SubmissionDir string
@ -19,15 +21,15 @@ func main() {
flag.Parse()
log.Println("Opening database...")
if err := DBInit(*dbfile); err != nil {
if err := fic.DBInit(*dbfile); err != nil {
log.Fatal("Cannot open the database: ", err)
os.Exit(1)
}
defer DBClose()
defer fic.DBClose()
log.Println("Creating database...")
if err := DBCreate(); err != nil {
if err := fic.DBCreate(); err != nil {
log.Fatal("Cannot create database: ", err)
os.Exit(1)

View File

@ -1,4 +1,4 @@
package main
package fic
import (
"database/sql"

View File

@ -1,4 +1,4 @@
package main
package fic
import (
"time"

View File

@ -1,4 +1,4 @@
package main
package fic
import (
"crypto/sha1"
@ -8,11 +8,11 @@ import (
)
type EFile struct {
Id int64 `json:"id"`
Path string `json:"path"`
IdExercice int64 `json:"idExercice"`
Name string `json:"name"`
Checksum []byte `json:"checksum"`
Id int64 `json:"id"`
Path string `json:"path"`
IdExercice int64 `json:"idExercice"`
Name string `json:"name"`
Checksum []byte `json:"checksum"`
}
func (e Exercice) GetFiles() ([]EFile, error) {

View File

@ -1,14 +1,14 @@
package main
package fic
import (
"crypto/sha512"
)
type Key struct {
Id int64 `json:"id"`
IdExercice int64 `json:"idExercice"`
Type string `json:"type"`
Value [64]byte `json:"value"`
Id int64 `json:"id"`
IdExercice int64 `json:"idExercice"`
Type string `json:"type"`
Value [64]byte `json:"value"`
}
func (e Exercice) GetKeys() ([]Key, error) {

View File

@ -1,4 +1,4 @@
package main
package fic
import ()

View File

@ -1,4 +1,4 @@
package main
package fic
import ()

View File

@ -1,4 +1,4 @@
package main
package fic
import ()