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 collection *mongo.Collection
} }
func (self *ServersAuthorizationDbHandler) RemoveUser(ctx context.Context, username string) error { func (sa *ServersAuthorizationDbHandler) RemoveUser(ctx context.Context, username string) error {
_, err := self.collection.DeleteMany( _, err := sa.collection.DeleteMany(
ctx, ctx,
bson.M{ bson.M{
"username": username, "username": username,
@ -32,8 +32,8 @@ func (self *ServersAuthorizationDbHandler) RemoveUser(ctx context.Context, usern
return err return err
} }
func (self *ServersAuthorizationDbHandler) RemoveServer(ctx context.Context, serverId string) error { func (sa *ServersAuthorizationDbHandler) RemoveServer(ctx context.Context, serverId string) error {
_, err := self.collection.DeleteMany( _, err := sa.collection.DeleteMany(
ctx, ctx,
bson.M{ bson.M{
"server_id": serverId, "server_id": serverId,
@ -43,33 +43,33 @@ func (self *ServersAuthorizationDbHandler) RemoveServer(ctx context.Context, ser
return err 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 var serverPermissions ServerPermissions
err := self.collection.FindOne( err := sa.collection.FindOne(
ctx, ctx,
bson.M{ bson.M{
"username": username, "username": username,
"server_id": serverId, "server_id": serverId,
}, },
).Decode(&serverPermissions) ).Decode(&serverPermissions)
if err != nil { if err != nil {
return err return err
} }
newPermissions := serverPermissions.Permissions | permissions newPermissions := serverPermissions.Permissions | permissions
_, err = self.collection.UpdateOne( _, err = sa.collection.UpdateOne(
ctx, ctx,
bson.M{ bson.M{
"username": username, "username": username,
"server_id": serverId, "server_id": serverId,
}, },
bson.M{"$set": bson.M{ bson.M{
"username": username, "$set": bson.M{
"server_id": serverId, "username": username,
"permissions": newPermissions, "server_id": serverId,
}, "permissions": newPermissions,
},
}, },
options.Update().SetUpsert(true), options.Update().SetUpsert(true),
) )
@ -77,65 +77,68 @@ func (self *ServersAuthorizationDbHandler) AddPermissions(ctx context.Context, u
return err 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 var serverPermissions ServerPermissions
err := self.collection.FindOne( err := sa.collection.FindOne(
ctx, ctx,
bson.M{ bson.M{
"username": username, "username": username,
"server_id": serverId, "server_id": serverId,
}, },
).Decode(&serverPermissions) ).Decode(&serverPermissions)
if err != nil { if err != nil {
return err return err
} }
newPermissions := serverPermissions.Permissions | permissions ^ permissions newPermissions := serverPermissions.Permissions | permissions ^ permissions
_, err = self.collection.UpdateOne( _, err = sa.collection.UpdateOne(
ctx, ctx,
bson.M{ bson.M{
"username": username, "username": username,
"server_id": serverId, "server_id": serverId,
}, },
bson.M{"$set": bson.M{ bson.M{
"permissions": newPermissions, "$set": bson.M{
}, "permissions": newPermissions,
},
}, },
) )
return err return err
} }
func (self *ServersAuthorizationDbHandler) SetPermissions(ctx context.Context, username string, serverId string, permissions models.Permission) error { func (sa *ServersAuthorizationDbHandler) SetPermissions(ctx context.Context, username string, serverId string, permissions models.Permission) error {
_, err := self.collection.UpdateOne( _, err := sa.collection.UpdateOne(
ctx, ctx,
bson.M{ bson.M{
"username": username, "username": username,
"server_id": serverId, "server_id": serverId,
}, },
bson.M{"$set": bson.M{ bson.M{
"permissions": permissions, "$set": bson.M{
}, "permissions": permissions,
},
}, },
) )
return err 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 var serverPermissions ServerPermissions
err := self.collection.FindOne( err := sa.collection.FindOne(
ctx, ctx,
bson.M{ bson.M{
"username": username, "username": username,
"server_id": serverId, "server_id": serverId,
}, },
).Decode(&serverPermissions) ).Decode(&serverPermissions)
if err != nil { if err != nil {
if err == mongo.ErrNoDocuments {
return 0, nil
}
return 0, err return 0, err
} }