From f09c08e239a87adbf27119b5c3c2a6fc114778a6 Mon Sep 17 00:00:00 2001 From: ACoolName Date: Fri, 14 Mar 2025 22:52:50 +0200 Subject: [PATCH] [WIP] changed some stuff --- ...ization_db_handler.go => authorization.go} | 55 +++++++++++++------ ...cation_db_handler.go => user_pass_auth.go} | 14 ++++- .../mongo/{users_db_handler.go => users.go} | 0 3 files changed, 51 insertions(+), 18 deletions(-) rename db_handler/mongo/{authorization_db_handler.go => authorization.go} (70%) rename db_handler/mongo/{user_pass_authentication_db_handler.go => user_pass_auth.go} (92%) rename db_handler/mongo/{users_db_handler.go => users.go} (100%) diff --git a/db_handler/mongo/authorization_db_handler.go b/db_handler/mongo/authorization.go similarity index 70% rename from db_handler/mongo/authorization_db_handler.go rename to db_handler/mongo/authorization.go index 7b93af3..7c4df32 100644 --- a/db_handler/mongo/authorization_db_handler.go +++ b/db_handler/mongo/authorization.go @@ -30,11 +30,11 @@ func (self *MongoDbAuthorizationHandler) RemoveUser(username string) error { return err } -func (self *MongoDbAuthorizationHandler) RemoveServer(server_id string) error { +func (self *MongoDbAuthorizationHandler) RemoveServer(serverId string) error { _, err := self.collection.DeleteMany( context.Background(), bson.D{ - {Key: "server_id", Value: server_id}, + {Key: "server_id", Value: serverId}, }, ) @@ -63,17 +63,16 @@ func (self *MongoDbAuthorizationHandler) AddPermissions(username string, serverI {Key: "username", Value: username}, {Key: "server_id", Value: serverId}, }, - &ServerPermissions{ - Username: username, - ServerId: serverId, - Permissions: newPermissions, + bson.M{"$set": bson.M{ + "permissions": newPermissions, + }, }, ) return err } -func (self *MongoDbAuthorizationHandler) RemovePermissions(username string, server_id string, permissions models.Permission) error { +func (self *MongoDbAuthorizationHandler) RemovePermissions(username string, serverId string, permissions models.Permission) error { var serverPermissions ServerPermissions err := self.collection.FindOne( context.Background(), @@ -87,7 +86,7 @@ func (self *MongoDbAuthorizationHandler) RemovePermissions(username string, serv return err } - newPermissions := serverPermissions.Permissions | permissions + newPermissions := serverPermissions.Permissions | permissions ^ permissions _, err = self.collection.UpdateOne( context.Background(), @@ -95,22 +94,46 @@ func (self *MongoDbAuthorizationHandler) RemovePermissions(username string, serv {Key: "username", Value: username}, {Key: "server_id", Value: serverId}, }, - &ServerPermissions{ - Username: username, - ServerId: serverId, - Permissions: newPermissions, + bson.M{"$set": bson.M{ + "permissions": newPermissions, + }, }, ) return err } -func (self *MongoDbAuthorizationHandler) SetPermissions(username string, server_id string, permissions models.Permission) error { - return nil +func (self *MongoDbAuthorizationHandler) SetPermissions(username string, serverId string, permissions models.Permission) error { + _, err := self.collection.UpdateOne( + context.Background(), + bson.D{ + {Key: "username", Value: username}, + {Key: "server_id", Value: serverId}, + }, + bson.M{"$set": bson.M{ + "permissions": permissions, + }, + }, + ) + + return err } -func (self *MongoDbAuthorizationHandler) GetPermissions(username string, server_id string) (models.Permission, error) { - return 0, nil +func (self *MongoDbAuthorizationHandler) GetPermissions(username string, serverId string) (models.Permission, error) { + var serverPermissions ServerPermissions + err := self.collection.FindOne( + context.Background(), + bson.D{ + {Key: "username", Value: username}, + {Key: "server_id", Value: serverId}, + }, + ).Decode(&serverPermissions) + + if err != nil { + return 0, err + } + + return serverPermissions.Permissions, nil } func NewMongoDbAuthorizationHandler(config models.MongoDBConfig) (*MongoDbAuthorizationHandler, error) { diff --git a/db_handler/mongo/user_pass_authentication_db_handler.go b/db_handler/mongo/user_pass_auth.go similarity index 92% rename from db_handler/mongo/user_pass_authentication_db_handler.go rename to db_handler/mongo/user_pass_auth.go index e933e34..21228f6 100644 --- a/db_handler/mongo/user_pass_authentication_db_handler.go +++ b/db_handler/mongo/user_pass_auth.go @@ -5,7 +5,6 @@ import ( "fmt" "git.acooldomain.co/server-manager/backend-kubernetes-go/dbhandler" - "git.acooldomain.co/server-manager/backend-kubernetes-go/mail" "git.acooldomain.co/server-manager/backend-kubernetes-go/models" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" @@ -84,8 +83,19 @@ func (self *MongoDbUserPassHandler) SetPermissions( username string, permissions models.Permission, ) error { + _, err := self.collection.UpdateOne( + context.Background(), + bson.D{ + {Key: "username", Value: username}, + }, + bson.M{ + "$set": bson.M{ + "permissions": permissions, + }, + }, + ) - return nil + return err } func NewMMongoDbUserPassAuthHandler(config models.MongoDBConfig) (*MongoDbUserPassHandler, error) { diff --git a/db_handler/mongo/users_db_handler.go b/db_handler/mongo/users.go similarity index 100% rename from db_handler/mongo/users_db_handler.go rename to db_handler/mongo/users.go