From 29d13371a88a2ad5b1ec21b5f53754f4f68170ca Mon Sep 17 00:00:00 2001 From: ACoolName Date: Wed, 9 Apr 2025 17:48:52 +0300 Subject: [PATCH] made it so no documents is not an error in get --- dbhandler/mongo/servers_authorization.go | 59 +++++++++++++----------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/dbhandler/mongo/servers_authorization.go b/dbhandler/mongo/servers_authorization.go index 71087c0..00e35df 100644 --- a/dbhandler/mongo/servers_authorization.go +++ b/dbhandler/mongo/servers_authorization.go @@ -21,8 +21,8 @@ type ServersAuthorizationDbHandler struct { collection *mongo.Collection } -func (self *ServersAuthorizationDbHandler) RemoveUser(ctx context.Context, username string) error { - _, err := self.collection.DeleteMany( +func (sa *ServersAuthorizationDbHandler) RemoveUser(ctx context.Context, username string) error { + _, err := sa.collection.DeleteMany( ctx, bson.M{ "username": username, @@ -32,8 +32,8 @@ func (self *ServersAuthorizationDbHandler) RemoveUser(ctx context.Context, usern return err } -func (self *ServersAuthorizationDbHandler) RemoveServer(ctx context.Context, serverId string) error { - _, err := self.collection.DeleteMany( +func (sa *ServersAuthorizationDbHandler) RemoveServer(ctx context.Context, serverId string) error { + _, err := sa.collection.DeleteMany( ctx, bson.M{ "server_id": serverId, @@ -43,33 +43,33 @@ func (self *ServersAuthorizationDbHandler) RemoveServer(ctx context.Context, ser return err } -func (self *ServersAuthorizationDbHandler) AddPermissions(ctx context.Context, username string, serverId string, permissions models.Permission) error { +func (sa *ServersAuthorizationDbHandler) AddPermissions(ctx context.Context, username string, serverId string, permissions models.Permission) error { var serverPermissions ServerPermissions - err := self.collection.FindOne( + err := sa.collection.FindOne( ctx, bson.M{ "username": username, "server_id": serverId, }, ).Decode(&serverPermissions) - if err != nil { return err } newPermissions := serverPermissions.Permissions | permissions - _, err = self.collection.UpdateOne( + _, err = sa.collection.UpdateOne( ctx, bson.M{ "username": username, "server_id": serverId, }, - bson.M{"$set": bson.M{ - "username": username, - "server_id": serverId, - "permissions": newPermissions, - }, + bson.M{ + "$set": bson.M{ + "username": username, + "server_id": serverId, + "permissions": newPermissions, + }, }, options.Update().SetUpsert(true), ) @@ -77,65 +77,68 @@ func (self *ServersAuthorizationDbHandler) AddPermissions(ctx context.Context, u return err } -func (self *ServersAuthorizationDbHandler) RemovePermissions(ctx context.Context, username string, serverId string, permissions models.Permission) error { +func (sa *ServersAuthorizationDbHandler) RemovePermissions(ctx context.Context, username string, serverId string, permissions models.Permission) error { var serverPermissions ServerPermissions - err := self.collection.FindOne( + err := sa.collection.FindOne( ctx, bson.M{ "username": username, "server_id": serverId, }, ).Decode(&serverPermissions) - if err != nil { return err } newPermissions := serverPermissions.Permissions | permissions ^ permissions - _, err = self.collection.UpdateOne( + _, err = sa.collection.UpdateOne( ctx, bson.M{ "username": username, "server_id": serverId, }, - bson.M{"$set": bson.M{ - "permissions": newPermissions, - }, + bson.M{ + "$set": bson.M{ + "permissions": newPermissions, + }, }, ) return err } -func (self *ServersAuthorizationDbHandler) SetPermissions(ctx context.Context, username string, serverId string, permissions models.Permission) error { - _, err := self.collection.UpdateOne( +func (sa *ServersAuthorizationDbHandler) SetPermissions(ctx context.Context, username string, serverId string, permissions models.Permission) error { + _, err := sa.collection.UpdateOne( ctx, bson.M{ "username": username, "server_id": serverId, }, - bson.M{"$set": bson.M{ - "permissions": permissions, - }, + bson.M{ + "$set": bson.M{ + "permissions": permissions, + }, }, ) return err } -func (self *ServersAuthorizationDbHandler) GetPermissions(ctx context.Context, username string, serverId string) (models.Permission, error) { +func (sa *ServersAuthorizationDbHandler) GetPermissions(ctx context.Context, username string, serverId string) (models.Permission, error) { var serverPermissions ServerPermissions - err := self.collection.FindOne( + err := sa.collection.FindOne( ctx, bson.M{ "username": username, "server_id": serverId, }, ).Decode(&serverPermissions) - if err != nil { + if err == mongo.ErrNoDocuments { + return 0, nil + } return 0, err }