Files
portal/services/groupService.go
2026-06-22 11:38:29 +02:00

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
}