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
Some checks failed
Build and Push Docker Image / Build image (push) Has been cancelled
This commit is contained in:
parent
b71bf21b48
commit
29d13371a8
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user