Files
portal/services/groupService.go
2026-06-25 11:26:20 +02:00

63 lines
1.8 KiB
Go

package services
import (
"context"
"fmt"
"git.dynamicdiscord.de/malobeo/portal/internal"
"git.dynamicdiscord.de/malobeo/portal/openapi"
"github.com/gin-gonic/gin"
"os"
)
var (
Groups GroupService = GroupService{}
)
type GroupService struct{}
// return jwt tokenstring on success
func (u *GroupService) Create(c *gin.Context, groupName string) error {
apiClient := internal.GetApiClient(c)
groupCreate := *openapi.NewGroupCreate(groupName)
resp, r, err := apiClient.GroupAPI.CreateGroupApiV1GroupsPost(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(c *gin.Context) ([]openapi.GroupResponse, error) {
apiClient := internal.GetApiClient(c)
resp, r, err := apiClient.GroupAPI.GetGroupsApiV1GroupsGet(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(c *gin.Context, id int32) error {
apiClient := internal.GetApiClient(c)
_, r, err := apiClient.GroupAPI.DeleteGroupApiV1GroupsGroupIdDelete(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
}