63 lines
1.8 KiB
Go
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
|
|
}
|