package api import ( "io/ioutil" "os" "srs.epita.fr/fic-server/libfic" "github.com/julienschmidt/httprouter" ) func init() { router.GET("/api/ca", apiHandler(genCA)) router.GET("/api/teams/:tid/certificate/", apiHandler(teamHandler(GetTeamCertificate))) router.GET("/api/teams/:tid/certificate/generate", apiHandler(teamHandler( func(team fic.Team, _ []byte) (interface{}, error) { return team.GenerateCert(), nil }))) router.GET("/api/teams/:tid/certificate/revoke", apiHandler(teamHandler( func(team fic.Team, _ []byte) (interface{}, error) { return team.RevokeCert(), nil }))) } func genCA(_ httprouter.Params, body []byte) (interface{}, error) { return fic.GenerateCA(), nil } func GetTeamCertificate(team fic.Team, body []byte) (interface{}, error) { if fd, err := os.Open("../PKI/pkcs/" + team.Name + ".p12"); err == nil { return ioutil.ReadAll(fd) } else { return nil, err } }