|
|
|
@@ -25,8 +25,8 @@ type UserPassAuthenticationDbHandler struct {
|
|
|
|
|
collection *mongo.Collection
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (self *UserPassAuthenticationDbHandler) ListUsers(ctx context.Context) ([]models.User, error) {
|
|
|
|
|
cursor, err := self.collection.Find(ctx, bson.M{})
|
|
|
|
|
func (i *UserPassAuthenticationDbHandler) ListUsers(ctx context.Context) ([]models.User, error) {
|
|
|
|
|
cursor, err := i.collection.Find(ctx, bson.M{})
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
@@ -49,9 +49,9 @@ func (self *UserPassAuthenticationDbHandler) ListUsers(ctx context.Context) ([]m
|
|
|
|
|
return modelUsers, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (self *UserPassAuthenticationDbHandler) AuthenticateUser(ctx context.Context, username string, password string) (*models.User, error) {
|
|
|
|
|
func (i *UserPassAuthenticationDbHandler) AuthenticateUser(ctx context.Context, username string, password string) (*models.User, error) {
|
|
|
|
|
var user AuthUser
|
|
|
|
|
err := self.collection.FindOne(ctx, bson.M{"username": username}).Decode(&user)
|
|
|
|
|
err := i.collection.FindOne(ctx, bson.M{"username": username}).Decode(&user)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
@@ -70,7 +70,7 @@ func (self *UserPassAuthenticationDbHandler) AuthenticateUser(ctx context.Contex
|
|
|
|
|
}, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (self *UserPassAuthenticationDbHandler) CreateUser(
|
|
|
|
|
func (i *UserPassAuthenticationDbHandler) CreateUser(
|
|
|
|
|
ctx context.Context,
|
|
|
|
|
username string,
|
|
|
|
|
password string,
|
|
|
|
@@ -83,7 +83,7 @@ func (self *UserPassAuthenticationDbHandler) CreateUser(
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_, err = self.collection.InsertOne(ctx, &AuthUser{
|
|
|
|
|
_, err = i.collection.InsertOne(ctx, &AuthUser{
|
|
|
|
|
Username: username,
|
|
|
|
|
HashedPassword: hashedPassword,
|
|
|
|
|
Permissions: permissions,
|
|
|
|
@@ -94,16 +94,16 @@ func (self *UserPassAuthenticationDbHandler) CreateUser(
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (self *UserPassAuthenticationDbHandler) CountUsers(ctx context.Context) (uint, error) {
|
|
|
|
|
count, err := self.collection.CountDocuments(ctx, bson.M{})
|
|
|
|
|
func (i *UserPassAuthenticationDbHandler) CountUsers(ctx context.Context) (uint, error) {
|
|
|
|
|
count, err := i.collection.CountDocuments(ctx, bson.M{})
|
|
|
|
|
if err != nil {
|
|
|
|
|
return 0, err
|
|
|
|
|
}
|
|
|
|
|
return uint(count), nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (self *UserPassAuthenticationDbHandler) RemoveUser(ctx context.Context, username string) error {
|
|
|
|
|
_, err := self.collection.DeleteOne(
|
|
|
|
|
func (i *UserPassAuthenticationDbHandler) RemoveUser(ctx context.Context, username string) error {
|
|
|
|
|
_, err := i.collection.DeleteOne(
|
|
|
|
|
ctx,
|
|
|
|
|
bson.M{
|
|
|
|
|
"username": username,
|
|
|
|
@@ -113,12 +113,12 @@ func (self *UserPassAuthenticationDbHandler) RemoveUser(ctx context.Context, use
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (self *UserPassAuthenticationDbHandler) SetPermissions(
|
|
|
|
|
func (i *UserPassAuthenticationDbHandler) SetPermissions(
|
|
|
|
|
ctx context.Context,
|
|
|
|
|
username string,
|
|
|
|
|
permissions models.Permission,
|
|
|
|
|
) error {
|
|
|
|
|
_, err := self.collection.UpdateOne(
|
|
|
|
|
_, err := i.collection.UpdateOne(
|
|
|
|
|
ctx,
|
|
|
|
|
bson.M{
|
|
|
|
|
"username": username,
|
|
|
|
@@ -155,10 +155,10 @@ type InviteTokenDbHandler struct {
|
|
|
|
|
collection *mongo.Collection
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (self *ServersDbHandler) SaveInviteToken(ctx context.Context, email string, permissions models.Permission) (string, error) {
|
|
|
|
|
func (i *InviteTokenDbHandler) SaveInviteToken(ctx context.Context, email string, permissions models.Permission) (string, error) {
|
|
|
|
|
token := uuid.NewString()
|
|
|
|
|
|
|
|
|
|
_, err := self.collection.InsertOne(ctx, &InviteToken{
|
|
|
|
|
_, err := i.collection.InsertOne(ctx, &InviteToken{
|
|
|
|
|
Permissions: permissions,
|
|
|
|
|
Email: email,
|
|
|
|
|
Token: token,
|
|
|
|
@@ -170,9 +170,9 @@ func (self *ServersDbHandler) SaveInviteToken(ctx context.Context, email string,
|
|
|
|
|
return token, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (self *ServersDbHandler) GetInviteToken(ctx context.Context, token string) (*dbhandler.InviteToken, error) {
|
|
|
|
|
func (i *InviteTokenDbHandler) GetInviteToken(ctx context.Context, token string) (*dbhandler.InviteToken, error) {
|
|
|
|
|
var inviteToken InviteToken
|
|
|
|
|
err := self.collection.FindOne(ctx, bson.M{"token": token}).Decode(&inviteToken)
|
|
|
|
|
err := i.collection.FindOne(ctx, bson.M{"token": token}).Decode(&inviteToken)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|