made it so no documents is not an error in get
Some checks failed
Build and Push Docker Image / Build image (push) Has been cancelled

This commit is contained in:
ACoolName 2025-04-09 17:48:52 +03:00
parent b71bf21b48
commit 29d13371a8

View File

@ -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,29 +43,29 @@ 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{
bson.M{
"$set": bson.M{
"username": username,
"server_id": serverId,
"permissions": newPermissions,
@ -77,29 +77,29 @@ 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{
bson.M{
"$set": bson.M{
"permissions": newPermissions,
},
},
@ -108,14 +108,15 @@ func (self *ServersAuthorizationDbHandler) RemovePermissions(ctx context.Context
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{
bson.M{
"$set": bson.M{
"permissions": permissions,
},
},
@ -124,18 +125,20 @@ func (self *ServersAuthorizationDbHandler) SetPermissions(ctx context.Context, u
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
}