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