diff --git a/controller/nucleus/databaseDeviceStore.go b/controller/nucleus/databaseDeviceStore.go index 530bbec1e615698430d54e73aeca00291c2b96ec..4fe9af32e1dbcddd0a5fe2767b6415858404522d 100644 --- a/controller/nucleus/databaseDeviceStore.go +++ b/controller/nucleus/databaseDeviceStore.go @@ -65,7 +65,7 @@ func (s *DatabaseDeviceStore) getByID(idOfDevice uuid.UUID) (device.LoadedDevice err := result.Decode(&loadedDevice) if err != nil { 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 @@ -88,7 +88,7 @@ func (s *DatabaseDeviceStore) getByName(nameOfDevice string) (device.LoadedDevic err := result.Decode(&loadedDevice) if err != nil { 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 @@ -114,7 +114,7 @@ func (s *DatabaseDeviceStore) GetAll() ([]device.LoadedDevice, error) { if err != nil { log.Printf("Failed marshalling %v", err) - return nil, errors.ErrCouldNotMarshall{StoreName: pndStoreName} + return nil, errors.ErrCouldNotMarshall{Type: loadedDevices, Err: err} } return loadedDevices, nil @@ -131,7 +131,7 @@ func (s *DatabaseDeviceStore) Add(deviceToAdd device.Device) error { InsertOne(ctx, deviceToAdd) if err != nil { 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 @@ -162,7 +162,7 @@ func (s *DatabaseDeviceStore) Update(deviceToUpdate device.Device) error { if err != nil { 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 @@ -178,7 +178,7 @@ func (s *DatabaseDeviceStore) Delete(deviceToDelete device.Device) error { collection := db.Collection(s.storeName) _, err := collection.DeleteOne(ctx, bson.D{primitive.E{Key: deviceToDelete.ID().String()}}) if err != nil { - return err + return errors.ErrCouldNotDelete{Identifier: deviceToDelete.ID(), Type: deviceToDelete, Err: err} } return nil diff --git a/controller/nucleus/databasePndStore.go b/controller/nucleus/databasePndStore.go index f39ef113893bb3b75ee52a517a6a3d05ab9fcc51..62d9b29e5022a86aa6c69ffc2464394c82948531 100644 --- a/controller/nucleus/databasePndStore.go +++ b/controller/nucleus/databasePndStore.go @@ -44,7 +44,7 @@ func (s *DatabasePndStore) Get(query store.Query) (networkdomain.NetworkDomain, if err != nil { 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() @@ -87,7 +87,7 @@ func (s *DatabasePndStore) GetAll() ([]networkdomain.NetworkDomain, error) { if err != nil { log.Printf("Failed marshalling %v", err) - return nil, errors.ErrCouldNotMarshall{StoreName: pndStoreName} + return nil, errors.ErrCouldNotMarshall{Type: loadedPnds, Err: err} } csbiClient, err := s.getCsbiClient() @@ -114,16 +114,16 @@ func (s *DatabasePndStore) GetAll() ([]networkdomain.NetworkDomain, error) { } // 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() defer cancel() defer client.Disconnect(ctx) _, err := client.Database(database.DatabaseName). Collection(s.pndStoreName). - InsertOne(ctx, pnd) + InsertOne(ctx, pndToAdd) if err != nil { - return errors.ErrCouldNotCreate{StoreName: pndStoreName} + return errors.ErrCouldNotCreate{Identifier: pndToAdd.ID(), Type: pndToAdd, Err: err} } return nil @@ -131,16 +131,16 @@ func (s *DatabasePndStore) Add(pnd networkdomain.NetworkDomain) error { // Delete deletes a pnd. // 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() defer cancel() defer client.Disconnect(ctx) db := client.Database(database.DatabaseName) 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 { - return err + return errors.ErrCouldNotDelete{Identifier: pndToDelete.ID(), Type: pndToDelete, Err: err} } // TODO: Delete all assosicated devices + SBIs diff --git a/controller/nucleus/databaseSbiStore.go b/controller/nucleus/databaseSbiStore.go index 43a1bca99887df3407eaccbeb23b88e14be5076d..b472b834e26d824c49e190bbcc7b564a2019d78a 100644 --- a/controller/nucleus/databaseSbiStore.go +++ b/controller/nucleus/databaseSbiStore.go @@ -18,36 +18,36 @@ type DatabaseSbiStore struct { } // 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() defer cancel() defer client.Disconnect(ctx) _, err := client.Database(database.DatabaseName). Collection(s.sbiStoreName). - InsertOne(ctx, item) + InsertOne(ctx, sbiToAdd) if err != nil { if mongo.IsDuplicateKeyError(err) { return nil } - return errors.ErrCouldNotCreate{StoreName: sbiStoreName} + return errors.ErrCouldNotCreate{Identifier: sbiToAdd.ID(), Type: sbiToAdd, Err: err} } return nil } // 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() defer cancel() defer client.Disconnect(ctx) _, err := client.Database(database.DatabaseName). 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 { - return errors.ErrCouldNotDelete{StoreName: sbiStoreName} + return errors.ErrCouldNotDelete{Identifier: sbiToDelete.ID(), Type: sbiToDelete, Err: err} } return nil @@ -75,7 +75,7 @@ func (s *DatabaseSbiStore) Get(query store.Query) (southbound.LoadedSbi, error) if err != nil { 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 @@ -101,7 +101,7 @@ func (s *DatabaseSbiStore) GetAll() ([]southbound.LoadedSbi, error) { if err != nil { log.Printf("Failed marshalling %v", err) - return nil, errors.ErrCouldNotMarshall{StoreName: sbiStoreName} + return nil, errors.ErrCouldNotMarshall{Type: loadedSbis, Err: err} } return loadedSbis, nil diff --git a/controller/nucleus/deviceFilesystemStore.go b/controller/nucleus/deviceFilesystemStore.go index 76f50dd2eca4fe210c96cf23cd95f76c1394fadb..503cef11497ffacb25fd78bd6a38bbbcbd678bf6 100644 --- a/controller/nucleus/deviceFilesystemStore.go +++ b/controller/nucleus/deviceFilesystemStore.go @@ -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. @@ -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} } diff --git a/controller/nucleus/errors/errors.go b/controller/nucleus/errors/errors.go index eac05eb448f53a654dd3acede79c215a70b4932f..db262595f4543e6c17108dc3953760a0b1b37d16 100644 --- a/controller/nucleus/errors/errors.go +++ b/controller/nucleus/errors/errors.go @@ -162,21 +162,25 @@ func (e ErrTypeNotSupported) Error() string { // ErrCouldNotMarshall implements Error interface and is called if a // database respone can not be parsed. type ErrCouldNotMarshall struct { - StoreName string + Identifier any + Type any + Err error } 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 // stored item can not be updated. type ErrCouldNotUpdate struct { - StoreName string + Identifier any + Type any + Err error } 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 @@ -193,21 +197,25 @@ func (e ErrCouldNotFind) Error() string { // ErrCouldNotCreate implements the Error interface and is called if a // stored item can not be found. type ErrCouldNotCreate struct { - StoreName string + Identifier any + Type any + Err error } 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 // stored item can not be deleted. type ErrCouldNotDelete struct { - StoreName string + Identifier any + Type any + Err error } 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 diff --git a/controller/nucleus/memorySbiStore.go b/controller/nucleus/memorySbiStore.go index d1f69e12a7e1cd6a58405484aa59d8f531d38922..82a27673032322b2e2c86c13bfed2171164a2ed7 100644 --- a/controller/nucleus/memorySbiStore.go +++ b/controller/nucleus/memorySbiStore.go @@ -85,7 +85,7 @@ func (t *MemorySbiStore) Get(query store.Query) (southbound.LoadedSbi, error) { // Second search for name id, ok := t.nameLookupTable[query.Name] if !ok { - return item, errors.ErrCouldNotDelete{StoreName: sbiStoreName} + return item, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} } item, ok := t.Store[id] diff --git a/controller/nucleus/pndFilesystemStore.go b/controller/nucleus/pndFilesystemStore.go index 81d243b7b170dff327e2e93581a6838532cff322..867d654395359fb7d58a8f3f6c901e93d5cc2524 100644 --- a/controller/nucleus/pndFilesystemStore.go +++ b/controller/nucleus/pndFilesystemStore.go @@ -87,7 +87,7 @@ func (t *FilesystemPndStore) writeAllPndsToFile(pnds []networkdomain.NetworkDoma } // 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() defer t.fileMutex.Unlock() @@ -96,7 +96,7 @@ func (t *FilesystemPndStore) Add(item networkdomain.NetworkDomain) error { return err } - pnds = append(pnds, item) + pnds = append(pnds, pndToAdd) err = t.writeAllPndsToFile(pnds) if err != nil { @@ -107,7 +107,7 @@ func (t *FilesystemPndStore) Add(item networkdomain.NetworkDomain) error { } // 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() defer t.fileMutex.Unlock() @@ -117,7 +117,7 @@ func (t *FilesystemPndStore) Delete(item networkdomain.NetworkDomain) error { } for i, pnd := range pnds { - if pnd.ID() == item.ID() { + if pnd.ID() == pndToDelete.ID() { //remove item from slice pnds[i] = pnds[len(pnds)-1] pnds = pnds[:len(pnds)-1] @@ -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. diff --git a/controller/nucleus/pndStore.go b/controller/nucleus/pndStore.go index 876e03742f71b2503aa6fb60bb629df00ee7d5a4..0beb13b4c5009dccd3fd8c2c35fb4f68401a273e 100644 --- a/controller/nucleus/pndStore.go +++ b/controller/nucleus/pndStore.go @@ -8,10 +8,6 @@ import ( log "github.com/sirupsen/logrus" ) -const ( - pndStoreName = "pnd" -) - // LoadedPnd represents a Principal Network Domain that was loaeded by using // the Load() method of the PndStore. type LoadedPnd struct { diff --git a/controller/nucleus/sbiFilesystemStore.go b/controller/nucleus/sbiFilesystemStore.go index 9859549f61a967489d5a48794979ee7a3c1463b7..f4558ce6f801609fe885decce44a4fd340c3b3d5 100644 --- a/controller/nucleus/sbiFilesystemStore.go +++ b/controller/nucleus/sbiFilesystemStore.go @@ -110,7 +110,7 @@ func (s *FilesystemSbiStore) Delete(sbiToDelete southbound.SouthboundInterface) 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 diff --git a/controller/nucleus/sbiStore.go b/controller/nucleus/sbiStore.go index fa992e4c1be4b1e8fbe993db59b8545658db2f7b..803dbf043a32998f9481e19e7e5d63bec17879ad 100644 --- a/controller/nucleus/sbiStore.go +++ b/controller/nucleus/sbiStore.go @@ -9,10 +9,6 @@ import ( "github.com/google/uuid" ) -const ( - sbiStoreName = "sbi" -) - // SbiStore is used to store SouthboundInterfaces type SbiStore struct { sbiStoreName string diff --git a/controller/rbac/databaseRoleStore.go b/controller/rbac/databaseRoleStore.go index b97da6d9a59dc1f4c91f5ab409c4b3901693d267..78044d11e07dd637493fa304cb15537705a0da9b 100644 --- a/controller/rbac/databaseRoleStore.go +++ b/controller/rbac/databaseRoleStore.go @@ -32,7 +32,7 @@ func (s *DatabaseRoleStore) Add(roleToAdd rbac.Role) error { return nil } - return errors.ErrCouldNotCreate{StoreName: s.roleStoreName} + return errors.ErrCouldNotCreate{Identifier: roleToAdd.ID(), Type: roleToAdd, Err: err} } return nil @@ -48,7 +48,7 @@ func (s *DatabaseRoleStore) Delete(roleToDelete rbac.Role) error { Collection(s.roleStoreName). DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: roleToDelete.ID().String()}}) if err != nil { - return errors.ErrCouldNotFind{ID: roleToDelete.ID(), Name: roleToDelete.Name()} + return errors.ErrCouldNotDelete{Identifier: roleToDelete.ID(), Type: roleToDelete, Err: err} } return nil @@ -93,7 +93,7 @@ func (s *DatabaseRoleStore) getByID(idOfRole uuid.UUID) (rbac.LoadedRole, error) err := result.Decode(&loadedRole) if err != nil { 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 @@ -116,7 +116,7 @@ func (s *DatabaseRoleStore) getByName(nameOfRole string) (rbac.LoadedRole, error err := result.Decode(&loadedRole) if err != nil { 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 @@ -142,7 +142,7 @@ func (s *DatabaseRoleStore) GetAll() ([]rbac.LoadedRole, error) { if err != nil { log.Printf("Failed marshalling %v", err) - return nil, errors.ErrCouldNotMarshall{StoreName: s.roleStoreName} + return nil, errors.ErrCouldNotMarshall{Type: loadedRoles, Err: err} } return loadedRoles, nil } @@ -172,7 +172,7 @@ func (s *DatabaseRoleStore) Update(roleToUpdate rbac.Role) error { if err != nil { 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 diff --git a/controller/rbac/databaseUserStore.go b/controller/rbac/databaseUserStore.go index a300c96ede566071de73472281753950a05e7bd6..0d2cd069343661bdcc640531128f0c8b96f81779 100644 --- a/controller/rbac/databaseUserStore.go +++ b/controller/rbac/databaseUserStore.go @@ -32,7 +32,7 @@ func (s *DatabaseUserStore) Add(userToAdd rbac.User) error { return nil } - return errors.ErrCouldNotCreate{StoreName: s.userStoreName} + return errors.ErrCouldNotCreate{Identifier: userToAdd.ID(), Type: userToAdd, Err: err} } return nil @@ -48,7 +48,7 @@ func (s *DatabaseUserStore) Delete(userToDelete rbac.User) error { Collection(s.userStoreName). DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: userToDelete.ID().String()}}) if err != nil { - return errors.ErrCouldNotFind{ID: userToDelete.ID(), Name: userToDelete.Name()} + return errors.ErrCouldNotDelete{Identifier: userToDelete.ID(), Type: userToDelete, Err: err} } return nil @@ -93,7 +93,7 @@ func (s *DatabaseUserStore) getByID(idOfUser uuid.UUID) (rbac.LoadedUser, error) err := result.Decode(&loadedUser) if err != nil { 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 @@ -116,7 +116,7 @@ func (s *DatabaseUserStore) getByName(nameOfUser string) (rbac.LoadedUser, error err := result.Decode(&loadedUser) if err != nil { 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 @@ -142,7 +142,7 @@ func (s *DatabaseUserStore) GetAll() ([]rbac.LoadedUser, error) { if err != nil { log.Printf("Failed marshalling %v", err) - return nil, errors.ErrCouldNotMarshall{StoreName: s.userStoreName} + return nil, errors.ErrCouldNotMarshall{Type: loadedUsers, Err: err} } return loadedUsers, nil } @@ -172,7 +172,7 @@ func (s *DatabaseUserStore) Update(userToUpdate rbac.User) error { if err != nil { 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 diff --git a/controller/rbac/roleFileSystemStore.go b/controller/rbac/roleFileSystemStore.go index 3c4fd0c26026b49c9078b4034e738a0fe9056b53..bcf381396f3f48e17d53a32845286fce784cf375 100644 --- a/controller/rbac/roleFileSystemStore.go +++ b/controller/rbac/roleFileSystemStore.go @@ -40,8 +40,8 @@ func (s *FileSystemRoleStore) readAllRolesFromFile() ([]rbac.LoadedRole, error) return loadedRoles, nil } -func (s *FileSystemRoleStore) writeAllRolesToFile(Roles []rbac.LoadedRole) error { - serializedData, err := json.Marshal(Roles) +func (s *FileSystemRoleStore) writeAllRolesToFile(roles []rbac.LoadedRole) error { + serializedData, err := json.Marshal(roles) if err != nil { return err } @@ -55,7 +55,7 @@ func (s *FileSystemRoleStore) writeAllRolesToFile(Roles []rbac.LoadedRole) error } // 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() defer s.fileMutex.Unlock() @@ -65,7 +65,7 @@ func (s *FileSystemRoleStore) Add(RoleToAdd rbac.Role) error { } 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 { return err } @@ -81,7 +81,7 @@ func (s *FileSystemRoleStore) Add(RoleToAdd rbac.Role) error { } //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() defer s.fileMutex.Unlock() @@ -91,7 +91,7 @@ func (s *FileSystemRoleStore) Delete(RoleToDelete rbac.Role) error { } for i, role := range roles { - if role.ID == RoleToDelete.ID().String() { + if role.ID == roleToDelete.ID().String() { //remove item from slice roles[i] = roles[len(roles)-1] roles = roles[:len(roles)-1] @@ -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 @@ -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} } diff --git a/controller/rbac/userFileSystemStore.go b/controller/rbac/userFileSystemStore.go index f0547a6b2a1ec0768da7927b1248102834ca96ee..146ab0c5f6d717e9b0e860571b33b3ddcf6eb732 100644 --- a/controller/rbac/userFileSystemStore.go +++ b/controller/rbac/userFileSystemStore.go @@ -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 @@ -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} }