[WIP] changed some stuff

This commit is contained in:
ACoolName 2025-03-14 22:52:50 +02:00
parent 3e880725df
commit f09c08e239
3 changed files with 51 additions and 18 deletions

View File

@ -30,11 +30,11 @@ func (self *MongoDbAuthorizationHandler) RemoveUser(username string) error {
return err return err
} }
func (self *MongoDbAuthorizationHandler) RemoveServer(server_id string) error { func (self *MongoDbAuthorizationHandler) RemoveServer(serverId string) error {
_, err := self.collection.DeleteMany( _, err := self.collection.DeleteMany(
context.Background(), context.Background(),
bson.D{ 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: "username", Value: username},
{Key: "server_id", Value: serverId}, {Key: "server_id", Value: serverId},
}, },
&ServerPermissions{ bson.M{"$set": bson.M{
Username: username, "permissions": newPermissions,
ServerId: serverId, },
Permissions: newPermissions,
}, },
) )
return err 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 var serverPermissions ServerPermissions
err := self.collection.FindOne( err := self.collection.FindOne(
context.Background(), context.Background(),
@ -87,7 +86,7 @@ func (self *MongoDbAuthorizationHandler) RemovePermissions(username string, serv
return err return err
} }
newPermissions := serverPermissions.Permissions | permissions newPermissions := serverPermissions.Permissions | permissions ^ permissions
_, err = self.collection.UpdateOne( _, err = self.collection.UpdateOne(
context.Background(), context.Background(),
@ -95,22 +94,46 @@ func (self *MongoDbAuthorizationHandler) RemovePermissions(username string, serv
{Key: "username", Value: username}, {Key: "username", Value: username},
{Key: "server_id", Value: serverId}, {Key: "server_id", Value: serverId},
}, },
&ServerPermissions{ bson.M{"$set": bson.M{
Username: username, "permissions": newPermissions,
ServerId: serverId, },
Permissions: newPermissions,
}, },
) )
return err return err
} }
func (self *MongoDbAuthorizationHandler) SetPermissions(username string, server_id string, permissions models.Permission) error { func (self *MongoDbAuthorizationHandler) SetPermissions(username string, serverId string, permissions models.Permission) error {
return nil _, 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) { func (self *MongoDbAuthorizationHandler) GetPermissions(username string, serverId string) (models.Permission, error) {
return 0, nil 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) { func NewMongoDbAuthorizationHandler(config models.MongoDBConfig) (*MongoDbAuthorizationHandler, error) {

View File

@ -5,7 +5,6 @@ import (
"fmt" "fmt"
"git.acooldomain.co/server-manager/backend-kubernetes-go/dbhandler" "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" "git.acooldomain.co/server-manager/backend-kubernetes-go/models"
"go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo"
@ -84,8 +83,19 @@ func (self *MongoDbUserPassHandler) SetPermissions(
username string, username string,
permissions models.Permission, permissions models.Permission,
) error { ) 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) { func NewMMongoDbUserPassAuthHandler(config models.MongoDBConfig) (*MongoDbUserPassHandler, error) {