62 lines
1.8 KiB
Go
62 lines
1.8 KiB
Go
package services
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"git.dynamicdiscord.de/malobeo/portal/internal"
|
|
"git.dynamicdiscord.de/malobeo/portal/openapi"
|
|
"os"
|
|
)
|
|
|
|
var (
|
|
Groups GroupService = GroupService{}
|
|
)
|
|
|
|
type GroupService struct{}
|
|
|
|
// return jwt tokenstring on success
|
|
func (u *GroupService) Create(groupName string) error {
|
|
apiClient := internal.GetApiClient()
|
|
|
|
groupCreate := *openapi.NewGroupCreate(groupName)
|
|
resp, r, err := apiClient.GroupAPI.CreateGroupGroupsPost(context.Background()).GroupCreate(groupCreate).Execute()
|
|
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "Error when calling `GroupAPI.CreateGroupGroupsPost``: %v\n", err)
|
|
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
|
|
return err
|
|
}
|
|
// response from `LoginForAccessTokenTokenPost`: Token
|
|
fmt.Fprintf(os.Stdout, "Response from `GroupAPI.CreateGroupGroupsPost`: %v\n", resp)
|
|
return nil
|
|
}
|
|
|
|
func (u *GroupService) GetAll() ([]openapi.GroupResponse, error) {
|
|
apiClient := internal.GetApiClient()
|
|
|
|
resp, r, err := apiClient.GroupAPI.GetGroupsGroupsGet(context.Background()).Execute()
|
|
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "Error when calling `GroupAPI.GetGroupsGroupsGet``: %v\n", err)
|
|
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
|
|
return nil, err
|
|
}
|
|
// response from `LoginForAccessTokenTokenPost`: Token
|
|
fmt.Fprintf(os.Stdout, "Response from `GroupAPI.GetGroupsGroupsGet`: %v\n", resp)
|
|
return resp, nil
|
|
}
|
|
|
|
func (u *GroupService) Delete(id int32) error {
|
|
apiClient := internal.GetApiClient()
|
|
|
|
_, r, err := apiClient.GroupAPI.DeleteGroupGroupsGroupIdDelete(context.Background(), id).Execute()
|
|
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "Error when calling `GroupAPI.DeleteGroupGroupsGroupIdDelete``: %v\n", err)
|
|
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|