56 lines
1.5 KiB
Go
56 lines
1.5 KiB
Go
package main
|
|
|
|
import (
|
|
"net/http"
|
|
"context"
|
|
"fmt"
|
|
garage "git.deuxfleurs.fr/garage-sdk/garage-admin-sdk-golang"
|
|
)
|
|
|
|
func gadmin() (*garage.APIClient, context.Context) {
|
|
// Set Host and other parameters
|
|
configuration := garage.NewConfiguration()
|
|
configuration.Host = config.S3AdminEndpoint
|
|
|
|
// We can now generate a client
|
|
client := garage.NewAPIClient(configuration)
|
|
|
|
// Authentication is handled through the context pattern
|
|
ctx := context.WithValue(context.Background(), garage.ContextAccessToken, config.S3AdminToken)
|
|
return client, ctx
|
|
}
|
|
|
|
|
|
func createKey(name string) error {
|
|
client, ctx := gadmin()
|
|
|
|
kr := garage.AddKeyRequest{Name: &name}
|
|
resp, _, err := client.KeyApi.AddKey(ctx).AddKeyRequest(kr).Execute()
|
|
if err != nil {
|
|
fmt.Printf("%+v\n", err)
|
|
return err
|
|
}
|
|
fmt.Printf("%+v\n", resp)
|
|
return nil
|
|
}
|
|
|
|
func handleGarageKey(w http.ResponseWriter, r *http.Request) {
|
|
createKey("toto")
|
|
tKey := getTemplate("garage_key.html")
|
|
tKey.Execute(w, nil)
|
|
}
|
|
|
|
func handleGarageWebsiteList(w http.ResponseWriter, r *http.Request) {
|
|
tWebsiteList := getTemplate("garage_website_list.html")
|
|
tWebsiteList.Execute(w, nil)
|
|
}
|
|
|
|
func handleGarageWebsiteNew(w http.ResponseWriter, r *http.Request) {
|
|
tWebsiteNew := getTemplate("garage_website_new.html")
|
|
tWebsiteNew.Execute(w, nil)
|
|
}
|
|
|
|
func handleGarageWebsiteInspect(w http.ResponseWriter, r *http.Request) {
|
|
tWebsiteInspect := getTemplate("garage_website_inspect.html")
|
|
tWebsiteInspect.Execute(w, nil)
|
|
}
|