Skip to content
Snippets Groups Projects
Commit bbedf774 authored by Fabian Seidl's avatar Fabian Seidl
Browse files

Resolve "Some of the used errors do not provide useful information"

See merge request !336
parent 8e9d37a3
No related branches found
No related tags found
2 merge requests!336Resolve "Some of the used errors do not provide useful information",!333WIP: Develop
Pipeline #106530 passed
Showing
with 69 additions and 69 deletions
...@@ -65,7 +65,7 @@ func (s *DatabaseDeviceStore) getByID(idOfDevice uuid.UUID) (device.LoadedDevice ...@@ -65,7 +65,7 @@ func (s *DatabaseDeviceStore) getByID(idOfDevice uuid.UUID) (device.LoadedDevice
err := result.Decode(&loadedDevice) err := result.Decode(&loadedDevice)
if err != nil { if err != nil {
log.Printf("Failed marshalling %v", err) log.Printf("Failed marshalling %v", err)
return loadedDevice, errors.ErrCouldNotMarshall{StoreName: s.storeName} return loadedDevice, errors.ErrCouldNotMarshall{Identifier: idOfDevice, Type: loadedDevice, Err: err}
} }
return loadedDevice, nil return loadedDevice, nil
...@@ -88,7 +88,7 @@ func (s *DatabaseDeviceStore) getByName(nameOfDevice string) (device.LoadedDevic ...@@ -88,7 +88,7 @@ func (s *DatabaseDeviceStore) getByName(nameOfDevice string) (device.LoadedDevic
err := result.Decode(&loadedDevice) err := result.Decode(&loadedDevice)
if err != nil { if err != nil {
log.Printf("Failed marshalling %v", err) log.Printf("Failed marshalling %v", err)
return loadedDevice, errors.ErrCouldNotMarshall{StoreName: s.storeName} return loadedDevice, errors.ErrCouldNotMarshall{Identifier: nameOfDevice, Type: loadedDevice, Err: err}
} }
return loadedDevice, nil return loadedDevice, nil
...@@ -114,7 +114,7 @@ func (s *DatabaseDeviceStore) GetAll() ([]device.LoadedDevice, error) { ...@@ -114,7 +114,7 @@ func (s *DatabaseDeviceStore) GetAll() ([]device.LoadedDevice, error) {
if err != nil { if err != nil {
log.Printf("Failed marshalling %v", err) log.Printf("Failed marshalling %v", err)
return nil, errors.ErrCouldNotMarshall{StoreName: pndStoreName} return nil, errors.ErrCouldNotMarshall{Type: loadedDevices, Err: err}
} }
return loadedDevices, nil return loadedDevices, nil
...@@ -131,7 +131,7 @@ func (s *DatabaseDeviceStore) Add(deviceToAdd device.Device) error { ...@@ -131,7 +131,7 @@ func (s *DatabaseDeviceStore) Add(deviceToAdd device.Device) error {
InsertOne(ctx, deviceToAdd) InsertOne(ctx, deviceToAdd)
if err != nil { if err != nil {
log.Printf("Could not create Device: %v", err) log.Printf("Could not create Device: %v", err)
return errors.ErrCouldNotCreate{StoreName: pndStoreName} return errors.ErrCouldNotCreate{Identifier: deviceToAdd.ID(), Type: deviceToAdd, Err: err}
} }
return nil return nil
...@@ -162,7 +162,7 @@ func (s *DatabaseDeviceStore) Update(deviceToUpdate device.Device) error { ...@@ -162,7 +162,7 @@ func (s *DatabaseDeviceStore) Update(deviceToUpdate device.Device) error {
if err != nil { if err != nil {
log.Printf("Could not update Device: %v", err) log.Printf("Could not update Device: %v", err)
return errors.ErrCouldNotUpdate{StoreName: pndStoreName} return errors.ErrCouldNotUpdate{Identifier: deviceToUpdate.ID(), Type: deviceToUpdate, Err: err}
} }
return nil return nil
...@@ -178,7 +178,7 @@ func (s *DatabaseDeviceStore) Delete(deviceToDelete device.Device) error { ...@@ -178,7 +178,7 @@ func (s *DatabaseDeviceStore) Delete(deviceToDelete device.Device) error {
collection := db.Collection(s.storeName) collection := db.Collection(s.storeName)
_, err := collection.DeleteOne(ctx, bson.D{primitive.E{Key: deviceToDelete.ID().String()}}) _, err := collection.DeleteOne(ctx, bson.D{primitive.E{Key: deviceToDelete.ID().String()}})
if err != nil { if err != nil {
return err return errors.ErrCouldNotDelete{Identifier: deviceToDelete.ID(), Type: deviceToDelete, Err: err}
} }
return nil return nil
......
...@@ -44,7 +44,7 @@ func (s *DatabasePndStore) Get(query store.Query) (networkdomain.NetworkDomain, ...@@ -44,7 +44,7 @@ func (s *DatabasePndStore) Get(query store.Query) (networkdomain.NetworkDomain,
if err != nil { if err != nil {
log.Printf("Failed marshalling %v", err) log.Printf("Failed marshalling %v", err)
return nil, errors.ErrCouldNotMarshall{StoreName: pndStoreName} return nil, errors.ErrCouldNotMarshall{Identifier: query.ID, Type: loadedPND, Err: err}
} }
csbiClient, err := s.getCsbiClient() csbiClient, err := s.getCsbiClient()
...@@ -87,7 +87,7 @@ func (s *DatabasePndStore) GetAll() ([]networkdomain.NetworkDomain, error) { ...@@ -87,7 +87,7 @@ func (s *DatabasePndStore) GetAll() ([]networkdomain.NetworkDomain, error) {
if err != nil { if err != nil {
log.Printf("Failed marshalling %v", err) log.Printf("Failed marshalling %v", err)
return nil, errors.ErrCouldNotMarshall{StoreName: pndStoreName} return nil, errors.ErrCouldNotMarshall{Type: loadedPnds, Err: err}
} }
csbiClient, err := s.getCsbiClient() csbiClient, err := s.getCsbiClient()
...@@ -114,16 +114,16 @@ func (s *DatabasePndStore) GetAll() ([]networkdomain.NetworkDomain, error) { ...@@ -114,16 +114,16 @@ func (s *DatabasePndStore) GetAll() ([]networkdomain.NetworkDomain, error) {
} }
// Add adds a pnd to the pnd store. // Add adds a pnd to the pnd store.
func (s *DatabasePndStore) Add(pnd networkdomain.NetworkDomain) error { func (s *DatabasePndStore) Add(pndToAdd networkdomain.NetworkDomain) error {
client, ctx, cancel := database.GetMongoConnection() client, ctx, cancel := database.GetMongoConnection()
defer cancel() defer cancel()
defer client.Disconnect(ctx) defer client.Disconnect(ctx)
_, err := client.Database(database.DatabaseName). _, err := client.Database(database.DatabaseName).
Collection(s.pndStoreName). Collection(s.pndStoreName).
InsertOne(ctx, pnd) InsertOne(ctx, pndToAdd)
if err != nil { if err != nil {
return errors.ErrCouldNotCreate{StoreName: pndStoreName} return errors.ErrCouldNotCreate{Identifier: pndToAdd.ID(), Type: pndToAdd, Err: err}
} }
return nil return nil
...@@ -131,16 +131,16 @@ func (s *DatabasePndStore) Add(pnd networkdomain.NetworkDomain) error { ...@@ -131,16 +131,16 @@ func (s *DatabasePndStore) Add(pnd networkdomain.NetworkDomain) error {
// Delete deletes a pnd. // Delete deletes a pnd.
// It also deletes all assosicated devices and sbis. // It also deletes all assosicated devices and sbis.
func (s *DatabasePndStore) Delete(pnd networkdomain.NetworkDomain) error { func (s *DatabasePndStore) Delete(pndToDelete networkdomain.NetworkDomain) error {
client, ctx, cancel := database.GetMongoConnection() client, ctx, cancel := database.GetMongoConnection()
defer cancel() defer cancel()
defer client.Disconnect(ctx) defer client.Disconnect(ctx)
db := client.Database(database.DatabaseName) db := client.Database(database.DatabaseName)
collection := db.Collection(s.pndStoreName) collection := db.Collection(s.pndStoreName)
_, err := collection.DeleteOne(ctx, bson.D{primitive.E{Key: pnd.ID().String()}}) _, err := collection.DeleteOne(ctx, bson.D{primitive.E{Key: pndToDelete.ID().String()}})
if err != nil { if err != nil {
return err return errors.ErrCouldNotDelete{Identifier: pndToDelete.ID(), Type: pndToDelete, Err: err}
} }
// TODO: Delete all assosicated devices + SBIs // TODO: Delete all assosicated devices + SBIs
......
...@@ -18,36 +18,36 @@ type DatabaseSbiStore struct { ...@@ -18,36 +18,36 @@ type DatabaseSbiStore struct {
} }
// Add adds a SBI. // Add adds a SBI.
func (s *DatabaseSbiStore) Add(item southbound.SouthboundInterface) error { func (s *DatabaseSbiStore) Add(sbiToAdd southbound.SouthboundInterface) error {
client, ctx, cancel := database.GetMongoConnection() client, ctx, cancel := database.GetMongoConnection()
defer cancel() defer cancel()
defer client.Disconnect(ctx) defer client.Disconnect(ctx)
_, err := client.Database(database.DatabaseName). _, err := client.Database(database.DatabaseName).
Collection(s.sbiStoreName). Collection(s.sbiStoreName).
InsertOne(ctx, item) InsertOne(ctx, sbiToAdd)
if err != nil { if err != nil {
if mongo.IsDuplicateKeyError(err) { if mongo.IsDuplicateKeyError(err) {
return nil return nil
} }
return errors.ErrCouldNotCreate{StoreName: sbiStoreName} return errors.ErrCouldNotCreate{Identifier: sbiToAdd.ID(), Type: sbiToAdd, Err: err}
} }
return nil return nil
} }
// Delete deletes an SBI. // Delete deletes an SBI.
func (s *DatabaseSbiStore) Delete(item southbound.SouthboundInterface) error { func (s *DatabaseSbiStore) Delete(sbiToDelete southbound.SouthboundInterface) error {
client, ctx, cancel := database.GetMongoConnection() client, ctx, cancel := database.GetMongoConnection()
defer cancel() defer cancel()
defer client.Disconnect(ctx) defer client.Disconnect(ctx)
_, err := client.Database(database.DatabaseName). _, err := client.Database(database.DatabaseName).
Collection(s.sbiStoreName). Collection(s.sbiStoreName).
DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: item.ID().String()}}) DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: sbiToDelete.ID().String()}})
if err != nil { if err != nil {
return errors.ErrCouldNotDelete{StoreName: sbiStoreName} return errors.ErrCouldNotDelete{Identifier: sbiToDelete.ID(), Type: sbiToDelete, Err: err}
} }
return nil return nil
...@@ -75,7 +75,7 @@ func (s *DatabaseSbiStore) Get(query store.Query) (southbound.LoadedSbi, error) ...@@ -75,7 +75,7 @@ func (s *DatabaseSbiStore) Get(query store.Query) (southbound.LoadedSbi, error)
if err != nil { if err != nil {
log.Printf("Failed marshalling %v", err) log.Printf("Failed marshalling %v", err)
return loadedSbi, errors.ErrCouldNotMarshall{StoreName: sbiStoreName} return loadedSbi, errors.ErrCouldNotMarshall{Identifier: query.ID, Type: loadedSbi, Err: err}
} }
return loadedSbi, nil return loadedSbi, nil
...@@ -101,7 +101,7 @@ func (s *DatabaseSbiStore) GetAll() ([]southbound.LoadedSbi, error) { ...@@ -101,7 +101,7 @@ func (s *DatabaseSbiStore) GetAll() ([]southbound.LoadedSbi, error) {
if err != nil { if err != nil {
log.Printf("Failed marshalling %v", err) log.Printf("Failed marshalling %v", err)
return nil, errors.ErrCouldNotMarshall{StoreName: sbiStoreName} return nil, errors.ErrCouldNotMarshall{Type: loadedSbis, Err: err}
} }
return loadedSbis, nil return loadedSbis, nil
......
...@@ -142,7 +142,7 @@ func (s *FilesystemDeviceStore) Update(deviceToUpdate device.Device) error { ...@@ -142,7 +142,7 @@ func (s *FilesystemDeviceStore) Update(deviceToUpdate device.Device) error {
} }
} }
return &errors.ErrCouldNotFind{ID: deviceToUpdate.ID().String(), Name: deviceToUpdate.Name()} return &errors.ErrCouldNotUpdate{Identifier: deviceToUpdate.ID(), Type: deviceToUpdate, Err: err}
} }
// Delete deletes a device from the device store. // Delete deletes a device from the device store.
...@@ -170,5 +170,5 @@ func (s *FilesystemDeviceStore) Delete(deviceToDelete device.Device) error { ...@@ -170,5 +170,5 @@ func (s *FilesystemDeviceStore) Delete(deviceToDelete device.Device) error {
} }
} }
return &errors.ErrCouldNotFind{ID: deviceToDelete.ID, Name: deviceToDelete.Name()} return &errors.ErrCouldNotDelete{Identifier: deviceToDelete.ID(), Type: deviceToDelete, Err: err}
} }
...@@ -162,21 +162,25 @@ func (e ErrTypeNotSupported) Error() string { ...@@ -162,21 +162,25 @@ func (e ErrTypeNotSupported) Error() string {
// ErrCouldNotMarshall implements Error interface and is called if a // ErrCouldNotMarshall implements Error interface and is called if a
// database respone can not be parsed. // database respone can not be parsed.
type ErrCouldNotMarshall struct { type ErrCouldNotMarshall struct {
StoreName string Identifier any
Type any
Err error
} }
func (e ErrCouldNotMarshall) Error() string { func (e ErrCouldNotMarshall) Error() string {
return fmt.Sprintf("could not marshall %s", e.StoreName) return fmt.Sprintf("could not marshall Identifier: %v of Type: %T, Internal error: %v", e.Identifier, e.Type, e.Err)
} }
// ErrCouldNotUpdate implements the Error interface and is called if a // ErrCouldNotUpdate implements the Error interface and is called if a
// stored item can not be updated. // stored item can not be updated.
type ErrCouldNotUpdate struct { type ErrCouldNotUpdate struct {
StoreName string Identifier any
Type any
Err error
} }
func (e ErrCouldNotUpdate) Error() string { func (e ErrCouldNotUpdate) Error() string {
return fmt.Sprintf("could not update %s", e.StoreName) return fmt.Sprintf("could not update Identifier: %v of Type: %T, Internal error: %v", e.Identifier, e.Type, e.Err)
} }
// ErrCouldNotFind implements the Error interface and is called if a // ErrCouldNotFind implements the Error interface and is called if a
...@@ -193,21 +197,25 @@ func (e ErrCouldNotFind) Error() string { ...@@ -193,21 +197,25 @@ func (e ErrCouldNotFind) Error() string {
// ErrCouldNotCreate implements the Error interface and is called if a // ErrCouldNotCreate implements the Error interface and is called if a
// stored item can not be found. // stored item can not be found.
type ErrCouldNotCreate struct { type ErrCouldNotCreate struct {
StoreName string Identifier any
Type any
Err error
} }
func (e ErrCouldNotCreate) Error() string { func (e ErrCouldNotCreate) Error() string {
return fmt.Sprintf("could not create %s", e.StoreName) return fmt.Sprintf("could not create Identifier: %v of Type: %T, Internal error: %v", e.Identifier, e.Type, e.Err)
} }
// ErrCouldNotDelete implements the Error interface and is called if a // ErrCouldNotDelete implements the Error interface and is called if a
// stored item can not be deleted. // stored item can not be deleted.
type ErrCouldNotDelete struct { type ErrCouldNotDelete struct {
StoreName string Identifier any
Type any
Err error
} }
func (e ErrCouldNotDelete) Error() string { func (e ErrCouldNotDelete) Error() string {
return fmt.Sprintf("could not delete %s", e.StoreName) return fmt.Sprintf("could not delete Identifier: %v of Type: %T, Internal error: %v", e.Identifier, e.Type, e.Err)
} }
// ErrNoNewChanges implements the Error interface and is called if a the // ErrNoNewChanges implements the Error interface and is called if a the
......
...@@ -85,7 +85,7 @@ func (t *MemorySbiStore) Get(query store.Query) (southbound.LoadedSbi, error) { ...@@ -85,7 +85,7 @@ func (t *MemorySbiStore) Get(query store.Query) (southbound.LoadedSbi, error) {
// Second search for name // Second search for name
id, ok := t.nameLookupTable[query.Name] id, ok := t.nameLookupTable[query.Name]
if !ok { if !ok {
return item, errors.ErrCouldNotDelete{StoreName: sbiStoreName} return item, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name}
} }
item, ok := t.Store[id] item, ok := t.Store[id]
......
...@@ -87,7 +87,7 @@ func (t *FilesystemPndStore) writeAllPndsToFile(pnds []networkdomain.NetworkDoma ...@@ -87,7 +87,7 @@ func (t *FilesystemPndStore) writeAllPndsToFile(pnds []networkdomain.NetworkDoma
} }
// Add a pnd to the store. // Add a pnd to the store.
func (t *FilesystemPndStore) Add(item networkdomain.NetworkDomain) error { func (t *FilesystemPndStore) Add(pndToAdd networkdomain.NetworkDomain) error {
t.fileMutex.Lock() t.fileMutex.Lock()
defer t.fileMutex.Unlock() defer t.fileMutex.Unlock()
...@@ -96,7 +96,7 @@ func (t *FilesystemPndStore) Add(item networkdomain.NetworkDomain) error { ...@@ -96,7 +96,7 @@ func (t *FilesystemPndStore) Add(item networkdomain.NetworkDomain) error {
return err return err
} }
pnds = append(pnds, item) pnds = append(pnds, pndToAdd)
err = t.writeAllPndsToFile(pnds) err = t.writeAllPndsToFile(pnds)
if err != nil { if err != nil {
...@@ -107,7 +107,7 @@ func (t *FilesystemPndStore) Add(item networkdomain.NetworkDomain) error { ...@@ -107,7 +107,7 @@ func (t *FilesystemPndStore) Add(item networkdomain.NetworkDomain) error {
} }
// Delete deletes a pnd from the store. // Delete deletes a pnd from the store.
func (t *FilesystemPndStore) Delete(item networkdomain.NetworkDomain) error { func (t *FilesystemPndStore) Delete(pndToDelete networkdomain.NetworkDomain) error {
t.fileMutex.Lock() t.fileMutex.Lock()
defer t.fileMutex.Unlock() defer t.fileMutex.Unlock()
...@@ -117,7 +117,7 @@ func (t *FilesystemPndStore) Delete(item networkdomain.NetworkDomain) error { ...@@ -117,7 +117,7 @@ func (t *FilesystemPndStore) Delete(item networkdomain.NetworkDomain) error {
} }
for i, pnd := range pnds { for i, pnd := range pnds {
if pnd.ID() == item.ID() { if pnd.ID() == pndToDelete.ID() {
//remove item from slice //remove item from slice
pnds[i] = pnds[len(pnds)-1] pnds[i] = pnds[len(pnds)-1]
pnds = pnds[:len(pnds)-1] pnds = pnds[:len(pnds)-1]
...@@ -131,7 +131,7 @@ func (t *FilesystemPndStore) Delete(item networkdomain.NetworkDomain) error { ...@@ -131,7 +131,7 @@ func (t *FilesystemPndStore) Delete(item networkdomain.NetworkDomain) error {
} }
} }
return &errors.ErrCouldNotFind{ID: item.ID, Name: item.GetName()} return &errors.ErrCouldNotDelete{Identifier: pndToDelete.ID(), Type: pndToDelete, Err: err}
} }
// Get provides a the query interface to find a stored pnd. // Get provides a the query interface to find a stored pnd.
......
...@@ -8,10 +8,6 @@ import ( ...@@ -8,10 +8,6 @@ import (
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
) )
const (
pndStoreName = "pnd"
)
// LoadedPnd represents a Principal Network Domain that was loaeded by using // LoadedPnd represents a Principal Network Domain that was loaeded by using
// the Load() method of the PndStore. // the Load() method of the PndStore.
type LoadedPnd struct { type LoadedPnd struct {
......
...@@ -110,7 +110,7 @@ func (s *FilesystemSbiStore) Delete(sbiToDelete southbound.SouthboundInterface) ...@@ -110,7 +110,7 @@ func (s *FilesystemSbiStore) Delete(sbiToDelete southbound.SouthboundInterface)
return nil return nil
} }
} }
return &errors.ErrCouldNotFind{ID: sbiToDelete.ID, Name: sbiToDelete.Name()} return &errors.ErrCouldNotDelete{Identifier: sbiToDelete.ID(), Type: sbiToDelete, Err: err}
} }
// Get takes a SouthboundInterface's UUID or name and returns the SouthboundInterface. If the requested // Get takes a SouthboundInterface's UUID or name and returns the SouthboundInterface. If the requested
......
...@@ -9,10 +9,6 @@ import ( ...@@ -9,10 +9,6 @@ import (
"github.com/google/uuid" "github.com/google/uuid"
) )
const (
sbiStoreName = "sbi"
)
// SbiStore is used to store SouthboundInterfaces // SbiStore is used to store SouthboundInterfaces
type SbiStore struct { type SbiStore struct {
sbiStoreName string sbiStoreName string
......
...@@ -32,7 +32,7 @@ func (s *DatabaseRoleStore) Add(roleToAdd rbac.Role) error { ...@@ -32,7 +32,7 @@ func (s *DatabaseRoleStore) Add(roleToAdd rbac.Role) error {
return nil return nil
} }
return errors.ErrCouldNotCreate{StoreName: s.roleStoreName} return errors.ErrCouldNotCreate{Identifier: roleToAdd.ID(), Type: roleToAdd, Err: err}
} }
return nil return nil
...@@ -48,7 +48,7 @@ func (s *DatabaseRoleStore) Delete(roleToDelete rbac.Role) error { ...@@ -48,7 +48,7 @@ func (s *DatabaseRoleStore) Delete(roleToDelete rbac.Role) error {
Collection(s.roleStoreName). Collection(s.roleStoreName).
DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: roleToDelete.ID().String()}}) DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: roleToDelete.ID().String()}})
if err != nil { if err != nil {
return errors.ErrCouldNotFind{ID: roleToDelete.ID(), Name: roleToDelete.Name()} return errors.ErrCouldNotDelete{Identifier: roleToDelete.ID(), Type: roleToDelete, Err: err}
} }
return nil return nil
...@@ -93,7 +93,7 @@ func (s *DatabaseRoleStore) getByID(idOfRole uuid.UUID) (rbac.LoadedRole, error) ...@@ -93,7 +93,7 @@ func (s *DatabaseRoleStore) getByID(idOfRole uuid.UUID) (rbac.LoadedRole, error)
err := result.Decode(&loadedRole) err := result.Decode(&loadedRole)
if err != nil { if err != nil {
log.Printf("Failed marshalling %v", err) log.Printf("Failed marshalling %v", err)
return loadedRole, errors.ErrCouldNotMarshall{StoreName: s.roleStoreName} return loadedRole, errors.ErrCouldNotMarshall{Identifier: idOfRole, Type: loadedRole, Err: err}
} }
return loadedRole, nil return loadedRole, nil
...@@ -116,7 +116,7 @@ func (s *DatabaseRoleStore) getByName(nameOfRole string) (rbac.LoadedRole, error ...@@ -116,7 +116,7 @@ func (s *DatabaseRoleStore) getByName(nameOfRole string) (rbac.LoadedRole, error
err := result.Decode(&loadedRole) err := result.Decode(&loadedRole)
if err != nil { if err != nil {
log.Printf("Failed marshalling %v", err) log.Printf("Failed marshalling %v", err)
return loadedRole, errors.ErrCouldNotMarshall{StoreName: s.roleStoreName} return loadedRole, errors.ErrCouldNotMarshall{Identifier: nameOfRole, Type: loadedRole, Err: err}
} }
return loadedRole, nil return loadedRole, nil
...@@ -142,7 +142,7 @@ func (s *DatabaseRoleStore) GetAll() ([]rbac.LoadedRole, error) { ...@@ -142,7 +142,7 @@ func (s *DatabaseRoleStore) GetAll() ([]rbac.LoadedRole, error) {
if err != nil { if err != nil {
log.Printf("Failed marshalling %v", err) log.Printf("Failed marshalling %v", err)
return nil, errors.ErrCouldNotMarshall{StoreName: s.roleStoreName} return nil, errors.ErrCouldNotMarshall{Type: loadedRoles, Err: err}
} }
return loadedRoles, nil return loadedRoles, nil
} }
...@@ -172,7 +172,7 @@ func (s *DatabaseRoleStore) Update(roleToUpdate rbac.Role) error { ...@@ -172,7 +172,7 @@ func (s *DatabaseRoleStore) Update(roleToUpdate rbac.Role) error {
if err != nil { if err != nil {
log.Printf("Could not update Role: %v", err) log.Printf("Could not update Role: %v", err)
return errors.ErrCouldNotUpdate{StoreName: s.roleStoreName} return errors.ErrCouldNotUpdate{Identifier: roleToUpdate.ID(), Type: roleToUpdate, Err: err}
} }
return nil return nil
......
...@@ -32,7 +32,7 @@ func (s *DatabaseUserStore) Add(userToAdd rbac.User) error { ...@@ -32,7 +32,7 @@ func (s *DatabaseUserStore) Add(userToAdd rbac.User) error {
return nil return nil
} }
return errors.ErrCouldNotCreate{StoreName: s.userStoreName} return errors.ErrCouldNotCreate{Identifier: userToAdd.ID(), Type: userToAdd, Err: err}
} }
return nil return nil
...@@ -48,7 +48,7 @@ func (s *DatabaseUserStore) Delete(userToDelete rbac.User) error { ...@@ -48,7 +48,7 @@ func (s *DatabaseUserStore) Delete(userToDelete rbac.User) error {
Collection(s.userStoreName). Collection(s.userStoreName).
DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: userToDelete.ID().String()}}) DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: userToDelete.ID().String()}})
if err != nil { if err != nil {
return errors.ErrCouldNotFind{ID: userToDelete.ID(), Name: userToDelete.Name()} return errors.ErrCouldNotDelete{Identifier: userToDelete.ID(), Type: userToDelete, Err: err}
} }
return nil return nil
...@@ -93,7 +93,7 @@ func (s *DatabaseUserStore) getByID(idOfUser uuid.UUID) (rbac.LoadedUser, error) ...@@ -93,7 +93,7 @@ func (s *DatabaseUserStore) getByID(idOfUser uuid.UUID) (rbac.LoadedUser, error)
err := result.Decode(&loadedUser) err := result.Decode(&loadedUser)
if err != nil { if err != nil {
log.Printf("Failed marshalling %v", err) log.Printf("Failed marshalling %v", err)
return loadedUser, errors.ErrCouldNotMarshall{StoreName: s.userStoreName} return loadedUser, errors.ErrCouldNotMarshall{Identifier: idOfUser, Type: loadedUser, Err: err}
} }
return loadedUser, nil return loadedUser, nil
...@@ -116,7 +116,7 @@ func (s *DatabaseUserStore) getByName(nameOfUser string) (rbac.LoadedUser, error ...@@ -116,7 +116,7 @@ func (s *DatabaseUserStore) getByName(nameOfUser string) (rbac.LoadedUser, error
err := result.Decode(&loadedUser) err := result.Decode(&loadedUser)
if err != nil { if err != nil {
log.Printf("Failed marshalling %v", err) log.Printf("Failed marshalling %v", err)
return loadedUser, errors.ErrCouldNotMarshall{StoreName: s.userStoreName} return loadedUser, errors.ErrCouldNotMarshall{Identifier: nameOfUser, Type: loadedUser, Err: err}
} }
return loadedUser, nil return loadedUser, nil
...@@ -142,7 +142,7 @@ func (s *DatabaseUserStore) GetAll() ([]rbac.LoadedUser, error) { ...@@ -142,7 +142,7 @@ func (s *DatabaseUserStore) GetAll() ([]rbac.LoadedUser, error) {
if err != nil { if err != nil {
log.Printf("Failed marshalling %v", err) log.Printf("Failed marshalling %v", err)
return nil, errors.ErrCouldNotMarshall{StoreName: s.userStoreName} return nil, errors.ErrCouldNotMarshall{Type: loadedUsers, Err: err}
} }
return loadedUsers, nil return loadedUsers, nil
} }
...@@ -172,7 +172,7 @@ func (s *DatabaseUserStore) Update(userToUpdate rbac.User) error { ...@@ -172,7 +172,7 @@ func (s *DatabaseUserStore) Update(userToUpdate rbac.User) error {
if err != nil { if err != nil {
log.Printf("Could not update User: %v", err) log.Printf("Could not update User: %v", err)
return errors.ErrCouldNotUpdate{StoreName: s.userStoreName} return errors.ErrCouldNotUpdate{Identifier: userToUpdate.ID(), Type: userToUpdate, Err: err}
} }
return nil return nil
......
...@@ -40,8 +40,8 @@ func (s *FileSystemRoleStore) readAllRolesFromFile() ([]rbac.LoadedRole, error) ...@@ -40,8 +40,8 @@ func (s *FileSystemRoleStore) readAllRolesFromFile() ([]rbac.LoadedRole, error)
return loadedRoles, nil return loadedRoles, nil
} }
func (s *FileSystemRoleStore) writeAllRolesToFile(Roles []rbac.LoadedRole) error { func (s *FileSystemRoleStore) writeAllRolesToFile(roles []rbac.LoadedRole) error {
serializedData, err := json.Marshal(Roles) serializedData, err := json.Marshal(roles)
if err != nil { if err != nil {
return err return err
} }
...@@ -55,7 +55,7 @@ func (s *FileSystemRoleStore) writeAllRolesToFile(Roles []rbac.LoadedRole) error ...@@ -55,7 +55,7 @@ func (s *FileSystemRoleStore) writeAllRolesToFile(Roles []rbac.LoadedRole) error
} }
// Add adds a Role to the Role store // Add adds a Role to the Role store
func (s *FileSystemRoleStore) Add(RoleToAdd rbac.Role) error { func (s *FileSystemRoleStore) Add(roleToAdd rbac.Role) error {
s.fileMutex.Lock() s.fileMutex.Lock()
defer s.fileMutex.Unlock() defer s.fileMutex.Unlock()
...@@ -65,7 +65,7 @@ func (s *FileSystemRoleStore) Add(RoleToAdd rbac.Role) error { ...@@ -65,7 +65,7 @@ func (s *FileSystemRoleStore) Add(RoleToAdd rbac.Role) error {
} }
var loadedRole rbac.LoadedRole var loadedRole rbac.LoadedRole
loadedRole, err = store.TransformObjectToLoadedObject[rbac.Role, rbac.LoadedRole](RoleToAdd) loadedRole, err = store.TransformObjectToLoadedObject[rbac.Role, rbac.LoadedRole](roleToAdd)
if err != nil { if err != nil {
return err return err
} }
...@@ -81,7 +81,7 @@ func (s *FileSystemRoleStore) Add(RoleToAdd rbac.Role) error { ...@@ -81,7 +81,7 @@ func (s *FileSystemRoleStore) Add(RoleToAdd rbac.Role) error {
} }
//Delete deletes a Role from the Role store //Delete deletes a Role from the Role store
func (s *FileSystemRoleStore) Delete(RoleToDelete rbac.Role) error { func (s *FileSystemRoleStore) Delete(roleToDelete rbac.Role) error {
s.fileMutex.Lock() s.fileMutex.Lock()
defer s.fileMutex.Unlock() defer s.fileMutex.Unlock()
...@@ -91,7 +91,7 @@ func (s *FileSystemRoleStore) Delete(RoleToDelete rbac.Role) error { ...@@ -91,7 +91,7 @@ func (s *FileSystemRoleStore) Delete(RoleToDelete rbac.Role) error {
} }
for i, role := range roles { for i, role := range roles {
if role.ID == RoleToDelete.ID().String() { if role.ID == roleToDelete.ID().String() {
//remove item from slice //remove item from slice
roles[i] = roles[len(roles)-1] roles[i] = roles[len(roles)-1]
roles = roles[:len(roles)-1] roles = roles[:len(roles)-1]
...@@ -105,7 +105,7 @@ func (s *FileSystemRoleStore) Delete(RoleToDelete rbac.Role) error { ...@@ -105,7 +105,7 @@ func (s *FileSystemRoleStore) Delete(RoleToDelete rbac.Role) error {
} }
} }
return &errors.ErrCouldNotFind{ID: RoleToDelete.ID(), Name: RoleToDelete.Name()} return &errors.ErrCouldNotDelete{Identifier: roleToDelete.ID(), Type: roleToDelete, Err: err}
} }
//Get takes a Roles ID and return the Role if found //Get takes a Roles ID and return the Role if found
...@@ -162,5 +162,5 @@ func (s *FileSystemRoleStore) Update(roleToUpdate rbac.Role) error { ...@@ -162,5 +162,5 @@ func (s *FileSystemRoleStore) Update(roleToUpdate rbac.Role) error {
} }
} }
return &errors.ErrCouldNotFind{ID: roleToUpdate.ID(), Name: roleToUpdate.Name()} return &errors.ErrCouldNotUpdate{Identifier: roleToUpdate.ID(), Type: roleToUpdate, Err: err}
} }
...@@ -105,7 +105,7 @@ func (s *FileSystemUserStore) Delete(userToDelete rbac.User) error { ...@@ -105,7 +105,7 @@ func (s *FileSystemUserStore) Delete(userToDelete rbac.User) error {
} }
} }
return &errors.ErrCouldNotFind{ID: userToDelete.ID(), Name: userToDelete.Name()} return &errors.ErrCouldNotDelete{Identifier: userToDelete.ID(), Type: userToDelete, Err: err}
} }
//Get takes a Users ID and return the User if found //Get takes a Users ID and return the User if found
...@@ -162,5 +162,5 @@ func (s *FileSystemUserStore) Update(userToUpdate rbac.User) error { ...@@ -162,5 +162,5 @@ func (s *FileSystemUserStore) Update(userToUpdate rbac.User) error {
} }
} }
return &errors.ErrCouldNotFind{ID: userToUpdate.ID(), Name: userToUpdate.Name()} return &errors.ErrCouldNotUpdate{Identifier: userToUpdate.ID(), Type: userToUpdate, Err: err}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment