From 92b81e467fb8c53b4efcd134a25673f986e58ee9 Mon Sep 17 00:00:00 2001 From: nemunaire Date: Wed, 13 Jan 2016 20:25:25 +0100 Subject: [PATCH] Move common structs to libfic --- admin/api_team.go | 16 +++++++++------- admin/api_theme.go | 22 ++++++++++++---------- admin/main.go | 8 +++++--- {admin => libfic}/db.go | 2 +- {admin => libfic}/exercice.go | 2 +- {admin => libfic}/file.go | 12 ++++++------ {admin => libfic}/key.go | 10 +++++----- {admin => libfic}/member.go | 2 +- {admin => libfic}/team.go | 2 +- {admin => libfic}/theme.go | 2 +- 10 files changed, 42 insertions(+), 36 deletions(-) rename {admin => libfic}/db.go (99%) rename {admin => libfic}/exercice.go (99%) rename {admin => libfic}/file.go (91%) rename {admin => libfic}/key.go (90%) rename {admin => libfic}/member.go (99%) rename {admin => libfic}/team.go (99%) rename {admin => libfic}/theme.go (99%) diff --git a/admin/api_team.go b/admin/api_team.go index 91f90c69..e77c7118 100644 --- a/admin/api_team.go +++ b/admin/api_team.go @@ -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() diff --git a/admin/api_theme.go b/admin/api_theme.go index 48bc0180..1f59315e 100644 --- a/admin/api_theme.go +++ b/admin/api_theme.go @@ -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 } diff --git a/admin/main.go b/admin/main.go index 6277cef4..080fa3d5 100644 --- a/admin/main.go +++ b/admin/main.go @@ -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) diff --git a/admin/db.go b/libfic/db.go similarity index 99% rename from admin/db.go rename to libfic/db.go index 0a8bc61e..cbfe7fb6 100644 --- a/admin/db.go +++ b/libfic/db.go @@ -1,4 +1,4 @@ -package main +package fic import ( "database/sql" diff --git a/admin/exercice.go b/libfic/exercice.go similarity index 99% rename from admin/exercice.go rename to libfic/exercice.go index 2d9fc1af..1f96a863 100644 --- a/admin/exercice.go +++ b/libfic/exercice.go @@ -1,4 +1,4 @@ -package main +package fic import ( "time" diff --git a/admin/file.go b/libfic/file.go similarity index 91% rename from admin/file.go rename to libfic/file.go index b1255fda..5ba0c45d 100644 --- a/admin/file.go +++ b/libfic/file.go @@ -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) { diff --git a/admin/key.go b/libfic/key.go similarity index 90% rename from admin/key.go rename to libfic/key.go index a39f2cf6..c570f236 100644 --- a/admin/key.go +++ b/libfic/key.go @@ -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) { diff --git a/admin/member.go b/libfic/member.go similarity index 99% rename from admin/member.go rename to libfic/member.go index 2e17d1d9..7dad3c4c 100644 --- a/admin/member.go +++ b/libfic/member.go @@ -1,4 +1,4 @@ -package main +package fic import () diff --git a/admin/team.go b/libfic/team.go similarity index 99% rename from admin/team.go rename to libfic/team.go index f1a42f69..57302509 100644 --- a/admin/team.go +++ b/libfic/team.go @@ -1,4 +1,4 @@ -package main +package fic import () diff --git a/admin/theme.go b/libfic/theme.go similarity index 99% rename from admin/theme.go rename to libfic/theme.go index 5ca0b34e..fd61750b 100644 --- a/admin/theme.go +++ b/libfic/theme.go @@ -1,4 +1,4 @@ -package main +package fic import ()