Improve bus (#3)

* Improve bus
* Add ticket log
This commit is contained in:
Jonas Plum
2021-12-27 19:08:07 +01:00
committed by GitHub
parent 1fade14ba5
commit b5dd0cfacd
50 changed files with 756 additions and 456 deletions

View File

@@ -3,37 +3,50 @@ package service
import (
"context"
"errors"
"fmt"
"github.com/arangodb/go-driver"
"github.com/SecurityBrewery/catalyst/database"
"github.com/SecurityBrewery/catalyst/database/busdb"
"github.com/SecurityBrewery/catalyst/generated/restapi/api"
"github.com/SecurityBrewery/catalyst/generated/restapi/operations/userdata"
)
func userdataID(id string) []driver.DocumentID {
return []driver.DocumentID{driver.DocumentID(fmt.Sprintf("%s/%s", database.UserDataCollectionName, id))}
}
func (s *Service) GetUserData(ctx context.Context, params *userdata.GetUserDataParams) *api.Response {
return response(s.database.UserDataGet(ctx, params.ID))
userData, err := s.database.UserDataGet(ctx, params.ID)
return s.response(ctx, "GetUserData", nil, userData, err)
}
func (s *Service) ListUserData(ctx context.Context) *api.Response {
return response(s.database.UserDataList(ctx))
userData, err := s.database.UserDataList(ctx)
return s.response(ctx, "ListUserData", nil, userData, err)
}
func (s *Service) UpdateUserData(ctx context.Context, params *userdata.UpdateUserDataParams) *api.Response {
return response(s.database.UserDataUpdate(ctx, params.ID, params.Userdata))
userData, err := s.database.UserDataUpdate(ctx, params.ID, params.Userdata)
return s.response(ctx, "UpdateUserData", userdataID(userData.ID), userData, err)
}
func (s *Service) CurrentUserData(ctx context.Context) *api.Response {
user, ok := busdb.UserFromContext(ctx)
if !ok {
return response(nil, errors.New("no user in context"))
return s.response(ctx, "CurrentUserData", userdataID(user.ID), nil, errors.New("no user in context"))
}
return s.GetUserData(ctx, &userdata.GetUserDataParams{ID: user.ID})
userData, err := s.database.UserDataGet(ctx, user.ID)
return s.response(ctx, "GetUserData", nil, userData, err)
}
func (s *Service) UpdateCurrentUserData(ctx context.Context, params *userdata.UpdateCurrentUserDataParams) *api.Response {
user, ok := busdb.UserFromContext(ctx)
if !ok {
return response(nil, errors.New("no user in context"))
return s.response(ctx, "UpdateCurrentUserData", userdataID(user.ID), nil, errors.New("no user in context"))
}
return response(s.database.UserDataUpdate(ctx, user.ID, params.Userdata))
userData, err := s.database.UserDataUpdate(ctx, user.ID, params.Userdata)
return s.response(ctx, "UpdateCurrentUserData", userdataID(user.ID), userData, err)
}