2019-10-07 08:14:47 -06:00
|
|
|
// Copyright (c) Mainflux
|
2018-08-26 13:15:48 +02:00
|
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
2018-03-11 18:06:01 +01:00
|
|
|
package postgres
|
|
|
|
|
|
|
|
import (
|
2019-07-18 15:01:09 +02:00
|
|
|
"context"
|
2018-05-11 01:00:10 +02:00
|
|
|
"database/sql"
|
2019-09-28 11:15:41 +00:00
|
|
|
"encoding/json"
|
2020-09-23 23:18:53 +02:00
|
|
|
"fmt"
|
2021-03-04 10:29:03 +01:00
|
|
|
"strings"
|
2018-05-11 01:00:10 +02:00
|
|
|
|
2022-12-13 15:34:01 +01:00
|
|
|
"github.com/jackc/pgerrcode"
|
|
|
|
"github.com/jackc/pgx/v5/pgconn"
|
2021-03-04 10:29:03 +01:00
|
|
|
"github.com/mainflux/mainflux/auth"
|
2020-06-03 15:16:19 +02:00
|
|
|
"github.com/mainflux/mainflux/pkg/errors"
|
2018-05-10 23:53:25 +02:00
|
|
|
"github.com/mainflux/mainflux/users"
|
2018-03-11 18:06:01 +01:00
|
|
|
)
|
|
|
|
|
2018-05-10 23:53:25 +02:00
|
|
|
var _ users.UserRepository = (*userRepository)(nil)
|
2018-03-11 18:06:01 +01:00
|
|
|
|
|
|
|
type userRepository struct {
|
2019-10-07 05:32:09 -06:00
|
|
|
db Database
|
2018-03-11 18:06:01 +01:00
|
|
|
}
|
|
|
|
|
2020-10-26 10:17:08 +01:00
|
|
|
// NewUserRepo instantiates a PostgreSQL implementation of user
|
2018-03-11 18:06:01 +01:00
|
|
|
// repository.
|
2020-09-23 23:18:53 +02:00
|
|
|
func NewUserRepo(db Database) users.UserRepository {
|
2019-10-07 05:32:09 -06:00
|
|
|
return &userRepository{
|
|
|
|
db: db,
|
|
|
|
}
|
2018-03-11 18:06:01 +01:00
|
|
|
}
|
|
|
|
|
2020-09-23 23:18:53 +02:00
|
|
|
func (ur userRepository) Save(ctx context.Context, user users.User) (string, error) {
|
2022-08-11 19:58:45 +03:00
|
|
|
q := `INSERT INTO users (email, password, id, metadata, status) VALUES (:email, :password, :id, :metadata, :status) RETURNING id`
|
2020-09-23 23:18:53 +02:00
|
|
|
if user.ID == "" || user.Email == "" {
|
2022-01-27 17:03:57 +01:00
|
|
|
return "", errors.ErrMalformedEntity
|
2020-09-23 23:18:53 +02:00
|
|
|
}
|
2018-05-11 01:00:10 +02:00
|
|
|
|
2020-09-23 23:18:53 +02:00
|
|
|
dbu, err := toDBUser(user)
|
|
|
|
if err != nil {
|
2022-01-27 17:03:57 +01:00
|
|
|
return "", errors.Wrap(errors.ErrCreateEntity, err)
|
2018-03-11 18:06:01 +01:00
|
|
|
}
|
|
|
|
|
2020-09-23 23:18:53 +02:00
|
|
|
row, err := ur.db.NamedQueryContext(ctx, q, dbu)
|
2022-12-13 15:34:01 +01:00
|
|
|
|
2020-09-23 23:18:53 +02:00
|
|
|
if err != nil {
|
2022-12-13 15:34:01 +01:00
|
|
|
pgErr, ok := err.(*pgconn.PgError)
|
2020-09-23 23:18:53 +02:00
|
|
|
if ok {
|
2022-12-13 15:34:01 +01:00
|
|
|
switch pgErr.Code {
|
|
|
|
case pgerrcode.InvalidTextRepresentation:
|
2022-01-27 17:03:57 +01:00
|
|
|
return "", errors.Wrap(errors.ErrMalformedEntity, err)
|
2022-12-13 15:34:01 +01:00
|
|
|
case pgerrcode.UniqueViolation:
|
2022-01-27 17:03:57 +01:00
|
|
|
return "", errors.Wrap(errors.ErrConflict, err)
|
2020-09-23 23:18:53 +02:00
|
|
|
}
|
|
|
|
}
|
2022-01-27 17:03:57 +01:00
|
|
|
return "", errors.Wrap(errors.ErrCreateEntity, err)
|
2020-09-23 23:18:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
defer row.Close()
|
|
|
|
row.Next()
|
|
|
|
var id string
|
|
|
|
if err := row.Scan(&id); err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
return id, nil
|
2018-03-11 18:06:01 +01:00
|
|
|
}
|
|
|
|
|
2020-03-30 15:22:18 +02:00
|
|
|
func (ur userRepository) Update(ctx context.Context, user users.User) error {
|
2022-08-11 19:58:45 +03:00
|
|
|
q := `UPDATE users SET(email, password, metadata, status) VALUES (:email, :password, :metadata, :status) WHERE email = :email;`
|
MF-532 - Password reset (#873)
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize mailing code
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add comments for password reset flow
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add comments for password reset flow
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change struct members to private
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix imports and some typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix imports and some typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint token and mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token env
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token env
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix error reporting
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problmes due merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problmes due merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add trusted certificates
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add endpoint for password change of currently authenticated user
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env variable for conf reset endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env variable for conf reset endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving some style comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* minor fixes due to bad merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problem with unsigned commits
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problem with unsigned commits
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix call to users.New
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix call to users.New
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* rename file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* rename to email.go
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* additional comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* additional comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove debug bin
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add driver conf for mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix failing tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add testify
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token conf
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* configurable email template
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix missing var
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env for email template file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env for email template file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert to master
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove dev container
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fixes, typos, namings
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typo
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add line
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* return err from email New()
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change MF_TOKEN_RESET_ENDPOINT
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add and remove env vars
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* separate password logic into two methods Change and Reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove blank line
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update docs
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* dont use camel case
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize email template for passw reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize email template for passw reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
2019-10-22 14:53:14 +02:00
|
|
|
|
2020-09-23 23:18:53 +02:00
|
|
|
dbu, err := toDBUser(user)
|
|
|
|
if err != nil {
|
2022-02-14 22:49:23 +01:00
|
|
|
return errors.Wrap(errors.ErrUpdateEntity, err)
|
2020-09-23 23:18:53 +02:00
|
|
|
}
|
|
|
|
|
MF-532 - Password reset (#873)
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize mailing code
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add comments for password reset flow
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add comments for password reset flow
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change struct members to private
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix imports and some typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix imports and some typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint token and mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token env
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token env
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix error reporting
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problmes due merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problmes due merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add trusted certificates
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add endpoint for password change of currently authenticated user
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env variable for conf reset endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env variable for conf reset endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving some style comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* minor fixes due to bad merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problem with unsigned commits
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problem with unsigned commits
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix call to users.New
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix call to users.New
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* rename file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* rename to email.go
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* additional comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* additional comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove debug bin
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add driver conf for mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix failing tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add testify
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token conf
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* configurable email template
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix missing var
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env for email template file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env for email template file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert to master
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove dev container
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fixes, typos, namings
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typo
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add line
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* return err from email New()
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change MF_TOKEN_RESET_ENDPOINT
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add and remove env vars
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* separate password logic into two methods Change and Reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove blank line
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update docs
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* dont use camel case
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize email template for passw reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize email template for passw reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
2019-10-22 14:53:14 +02:00
|
|
|
if _, err := ur.db.NamedExecContext(ctx, q, dbu); err != nil {
|
2022-02-14 22:49:23 +01:00
|
|
|
return errors.Wrap(errors.ErrUpdateEntity, err)
|
MF-532 - Password reset (#873)
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize mailing code
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add comments for password reset flow
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add comments for password reset flow
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change struct members to private
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix imports and some typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix imports and some typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint token and mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token env
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token env
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix error reporting
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problmes due merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problmes due merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add trusted certificates
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add endpoint for password change of currently authenticated user
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env variable for conf reset endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env variable for conf reset endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving some style comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* minor fixes due to bad merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problem with unsigned commits
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problem with unsigned commits
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix call to users.New
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix call to users.New
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* rename file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* rename to email.go
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* additional comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* additional comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove debug bin
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add driver conf for mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix failing tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add testify
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token conf
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* configurable email template
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix missing var
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env for email template file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env for email template file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert to master
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove dev container
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fixes, typos, namings
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typo
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add line
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* return err from email New()
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change MF_TOKEN_RESET_ENDPOINT
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add and remove env vars
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* separate password logic into two methods Change and Reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove blank line
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update docs
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* dont use camel case
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize email template for passw reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize email template for passw reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
2019-10-22 14:53:14 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2020-03-30 15:22:18 +02:00
|
|
|
func (ur userRepository) UpdateUser(ctx context.Context, user users.User) error {
|
2022-08-11 19:58:45 +03:00
|
|
|
q := `UPDATE users SET metadata = :metadata WHERE email = :email AND status = 'enabled'`
|
2019-10-31 16:36:19 +01:00
|
|
|
|
2020-09-23 23:18:53 +02:00
|
|
|
dbu, err := toDBUser(user)
|
|
|
|
if err != nil {
|
2022-02-14 22:49:23 +01:00
|
|
|
return errors.Wrap(errors.ErrUpdateEntity, err)
|
2020-09-23 23:18:53 +02:00
|
|
|
}
|
|
|
|
|
2019-10-31 16:36:19 +01:00
|
|
|
if _, err := ur.db.NamedExecContext(ctx, q, dbu); err != nil {
|
2022-02-14 22:49:23 +01:00
|
|
|
return errors.Wrap(errors.ErrUpdateEntity, err)
|
2019-10-31 16:36:19 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2020-06-04 22:29:16 +02:00
|
|
|
func (ur userRepository) RetrieveByEmail(ctx context.Context, email string) (users.User, error) {
|
2022-08-11 19:58:45 +03:00
|
|
|
q := `SELECT id, password, metadata FROM users WHERE email = $1 AND status = 'enabled'`
|
2018-03-11 18:06:01 +01:00
|
|
|
|
2019-04-16 14:58:56 +02:00
|
|
|
dbu := dbUser{
|
|
|
|
Email: email,
|
|
|
|
}
|
2020-09-23 23:18:53 +02:00
|
|
|
|
2019-10-07 05:32:09 -06:00
|
|
|
if err := ur.db.QueryRowxContext(ctx, q, email).StructScan(&dbu); err != nil {
|
2018-05-11 01:00:10 +02:00
|
|
|
if err == sql.ErrNoRows {
|
2022-01-27 17:03:57 +01:00
|
|
|
return users.User{}, errors.Wrap(errors.ErrNotFound, err)
|
2019-11-20 14:43:41 +01:00
|
|
|
|
2018-03-11 18:06:01 +01:00
|
|
|
}
|
2022-01-27 17:03:57 +01:00
|
|
|
return users.User{}, errors.Wrap(errors.ErrViewEntity, err)
|
2018-03-11 18:06:01 +01:00
|
|
|
}
|
|
|
|
|
2020-09-23 23:18:53 +02:00
|
|
|
return toUser(dbu)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (ur userRepository) RetrieveByID(ctx context.Context, id string) (users.User, error) {
|
2020-10-26 10:17:08 +01:00
|
|
|
q := `SELECT email, password, metadata FROM users WHERE id = $1`
|
2020-09-23 23:18:53 +02:00
|
|
|
|
|
|
|
dbu := dbUser{
|
|
|
|
ID: id,
|
|
|
|
}
|
|
|
|
|
|
|
|
if err := ur.db.QueryRowxContext(ctx, q, id).StructScan(&dbu); err != nil {
|
|
|
|
if err == sql.ErrNoRows {
|
2022-01-27 17:03:57 +01:00
|
|
|
return users.User{}, errors.Wrap(errors.ErrNotFound, err)
|
2020-09-23 23:18:53 +02:00
|
|
|
|
|
|
|
}
|
2022-01-27 17:03:57 +01:00
|
|
|
return users.User{}, errors.Wrap(errors.ErrViewEntity, err)
|
2020-09-23 23:18:53 +02:00
|
|
|
}
|
2018-05-11 01:00:10 +02:00
|
|
|
|
2020-09-23 23:18:53 +02:00
|
|
|
return toUser(dbu)
|
2018-03-11 18:06:01 +01:00
|
|
|
}
|
2019-04-16 14:58:56 +02:00
|
|
|
|
2023-01-05 19:20:05 +03:00
|
|
|
func (ur userRepository) RetrieveAll(ctx context.Context, userIDs []string, pm users.PageMetadata) (users.UserPage, error) {
|
|
|
|
eq, ep, err := createEmailQuery("", pm.Email)
|
2020-10-26 10:17:08 +01:00
|
|
|
if err != nil {
|
2022-01-27 17:03:57 +01:00
|
|
|
return users.UserPage{}, errors.Wrap(errors.ErrViewEntity, err)
|
2020-10-26 10:17:08 +01:00
|
|
|
}
|
|
|
|
|
2023-01-05 19:20:05 +03:00
|
|
|
mq, mp, err := createMetadataQuery("", pm.Metadata)
|
2020-10-26 10:17:08 +01:00
|
|
|
if err != nil {
|
2022-01-27 17:03:57 +01:00
|
|
|
return users.UserPage{}, errors.Wrap(errors.ErrViewEntity, err)
|
2020-10-26 10:17:08 +01:00
|
|
|
}
|
2023-01-05 19:20:05 +03:00
|
|
|
aq := fmt.Sprintf("status = '%s'", pm.Status)
|
|
|
|
if pm.Status == users.AllStatusKey {
|
2022-08-11 19:58:45 +03:00
|
|
|
aq = ""
|
|
|
|
}
|
2020-10-26 10:17:08 +01:00
|
|
|
|
2021-03-04 10:29:03 +01:00
|
|
|
var query []string
|
|
|
|
var emq string
|
|
|
|
if eq != "" {
|
|
|
|
query = append(query, eq)
|
2020-10-26 10:17:08 +01:00
|
|
|
}
|
2021-03-04 10:29:03 +01:00
|
|
|
if mq != "" {
|
|
|
|
query = append(query, mq)
|
2020-10-26 10:17:08 +01:00
|
|
|
}
|
2022-08-11 19:58:45 +03:00
|
|
|
if aq != "" {
|
|
|
|
query = append(query, aq)
|
|
|
|
}
|
2021-07-08 14:51:37 +03:00
|
|
|
|
2021-10-18 18:00:15 +03:00
|
|
|
if len(userIDs) > 0 {
|
|
|
|
query = append(query, fmt.Sprintf("id IN ('%s')", strings.Join(userIDs, "','")))
|
|
|
|
}
|
|
|
|
if len(query) > 0 {
|
|
|
|
emq = fmt.Sprintf(" WHERE %s", strings.Join(query, " AND "))
|
|
|
|
}
|
2021-07-08 14:51:37 +03:00
|
|
|
|
2020-10-26 10:17:08 +01:00
|
|
|
q := fmt.Sprintf(`SELECT id, email, metadata FROM users %s ORDER BY email LIMIT :limit OFFSET :offset;`, emq)
|
|
|
|
params := map[string]interface{}{
|
2023-01-05 19:20:05 +03:00
|
|
|
"limit": pm.Limit,
|
|
|
|
"offset": pm.Offset,
|
2020-10-26 10:17:08 +01:00
|
|
|
"email": ep,
|
|
|
|
"metadata": mp,
|
|
|
|
}
|
|
|
|
|
|
|
|
rows, err := ur.db.NamedQueryContext(ctx, q, params)
|
|
|
|
if err != nil {
|
2022-01-27 17:03:57 +01:00
|
|
|
return users.UserPage{}, errors.Wrap(errors.ErrViewEntity, err)
|
2020-10-26 10:17:08 +01:00
|
|
|
}
|
|
|
|
defer rows.Close()
|
|
|
|
|
|
|
|
var items []users.User
|
|
|
|
for rows.Next() {
|
|
|
|
dbusr := dbUser{}
|
|
|
|
if err := rows.StructScan(&dbusr); err != nil {
|
2022-01-27 17:03:57 +01:00
|
|
|
return users.UserPage{}, errors.Wrap(errors.ErrViewEntity, err)
|
2020-10-26 10:17:08 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
user, err := toUser(dbusr)
|
|
|
|
if err != nil {
|
|
|
|
return users.UserPage{}, err
|
|
|
|
}
|
|
|
|
|
|
|
|
items = append(items, user)
|
|
|
|
}
|
|
|
|
|
|
|
|
cq := fmt.Sprintf(`SELECT COUNT(*) FROM users %s;`, emq)
|
|
|
|
|
|
|
|
total, err := total(ctx, ur.db, cq, params)
|
|
|
|
if err != nil {
|
2022-01-27 17:03:57 +01:00
|
|
|
return users.UserPage{}, errors.Wrap(errors.ErrViewEntity, err)
|
2020-10-26 10:17:08 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
page := users.UserPage{
|
|
|
|
Users: items,
|
|
|
|
PageMetadata: users.PageMetadata{
|
|
|
|
Total: total,
|
2023-01-05 19:20:05 +03:00
|
|
|
Offset: pm.Offset,
|
|
|
|
Limit: pm.Limit,
|
2020-10-26 10:17:08 +01:00
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
return page, nil
|
|
|
|
}
|
|
|
|
|
2020-03-30 15:22:18 +02:00
|
|
|
func (ur userRepository) UpdatePassword(ctx context.Context, email, password string) error {
|
2022-08-11 19:58:45 +03:00
|
|
|
q := `UPDATE users SET password = :password WHERE status = 'enabled' AND email = :email`
|
MF-532 - Password reset (#873)
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize mailing code
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add comments for password reset flow
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add comments for password reset flow
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change struct members to private
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix imports and some typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix imports and some typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint token and mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token env
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token env
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix error reporting
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problmes due merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problmes due merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add trusted certificates
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add endpoint for password change of currently authenticated user
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env variable for conf reset endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env variable for conf reset endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving some style comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* minor fixes due to bad merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problem with unsigned commits
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problem with unsigned commits
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix call to users.New
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix call to users.New
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* rename file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* rename to email.go
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* additional comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* additional comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove debug bin
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add driver conf for mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix failing tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add testify
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token conf
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* configurable email template
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix missing var
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env for email template file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env for email template file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert to master
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove dev container
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fixes, typos, namings
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typo
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add line
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* return err from email New()
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change MF_TOKEN_RESET_ENDPOINT
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add and remove env vars
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* separate password logic into two methods Change and Reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove blank line
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update docs
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* dont use camel case
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize email template for passw reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize email template for passw reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
2019-10-22 14:53:14 +02:00
|
|
|
|
|
|
|
db := dbUser{
|
|
|
|
Email: email,
|
|
|
|
Password: password,
|
|
|
|
}
|
|
|
|
|
|
|
|
if _, err := ur.db.NamedExecContext(ctx, q, db); err != nil {
|
2022-02-14 22:49:23 +01:00
|
|
|
return errors.Wrap(errors.ErrUpdateEntity, err)
|
MF-532 - Password reset (#873)
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize mailing code
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add comments for password reset flow
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add comments for password reset flow
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change struct members to private
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix imports and some typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix imports and some typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint token and mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token env
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token env
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix error reporting
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problmes due merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problmes due merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add trusted certificates
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add endpoint for password change of currently authenticated user
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env variable for conf reset endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env variable for conf reset endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving some style comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* minor fixes due to bad merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problem with unsigned commits
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problem with unsigned commits
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix call to users.New
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix call to users.New
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* rename file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* rename to email.go
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* additional comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* additional comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove debug bin
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add driver conf for mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix failing tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add testify
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token conf
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* configurable email template
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix missing var
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env for email template file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env for email template file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert to master
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove dev container
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fixes, typos, namings
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typo
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add line
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* return err from email New()
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change MF_TOKEN_RESET_ENDPOINT
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add and remove env vars
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* separate password logic into two methods Change and Reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove blank line
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update docs
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* dont use camel case
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize email template for passw reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize email template for passw reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
2019-10-22 14:53:14 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2022-08-11 19:58:45 +03:00
|
|
|
func (ur userRepository) ChangeStatus(ctx context.Context, id, status string) error {
|
|
|
|
q := fmt.Sprintf(`UPDATE users SET status = '%s' WHERE id = :id`, status)
|
|
|
|
|
|
|
|
dbu := dbUser{
|
|
|
|
ID: id,
|
|
|
|
}
|
|
|
|
|
|
|
|
if _, err := ur.db.NamedExecContext(ctx, q, dbu); err != nil {
|
|
|
|
return errors.Wrap(errors.ErrUpdateEntity, err)
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-16 14:58:56 +02:00
|
|
|
type dbUser struct {
|
2021-03-04 10:29:03 +01:00
|
|
|
ID string `db:"id"`
|
|
|
|
Email string `db:"email"`
|
|
|
|
Password string `db:"password"`
|
|
|
|
Metadata []byte `db:"metadata"`
|
|
|
|
Groups []auth.Group `db:"groups"`
|
2022-08-11 19:58:45 +03:00
|
|
|
Status string `db:"status"`
|
2019-04-16 14:58:56 +02:00
|
|
|
}
|
|
|
|
|
2020-09-23 23:18:53 +02:00
|
|
|
func toDBUser(u users.User) (dbUser, error) {
|
|
|
|
data := []byte("{}")
|
|
|
|
if len(u.Metadata) > 0 {
|
|
|
|
b, err := json.Marshal(u.Metadata)
|
|
|
|
if err != nil {
|
2022-02-14 22:49:23 +01:00
|
|
|
return dbUser{}, errors.Wrap(errors.ErrMalformedEntity, err)
|
2020-09-23 23:18:53 +02:00
|
|
|
}
|
|
|
|
data = b
|
|
|
|
}
|
|
|
|
|
2019-04-16 14:58:56 +02:00
|
|
|
return dbUser{
|
2020-06-04 22:29:16 +02:00
|
|
|
ID: u.ID,
|
2019-04-16 14:58:56 +02:00
|
|
|
Email: u.Email,
|
|
|
|
Password: u.Password,
|
2020-09-23 23:18:53 +02:00
|
|
|
Metadata: data,
|
2022-08-11 19:58:45 +03:00
|
|
|
Status: u.Status,
|
2020-09-23 23:18:53 +02:00
|
|
|
}, nil
|
2019-04-16 14:58:56 +02:00
|
|
|
}
|
|
|
|
|
2021-03-04 10:29:03 +01:00
|
|
|
func total(ctx context.Context, db Database, query string, params interface{}) (uint64, error) {
|
|
|
|
rows, err := db.NamedQueryContext(ctx, query, params)
|
|
|
|
if err != nil {
|
|
|
|
return 0, err
|
|
|
|
}
|
|
|
|
defer rows.Close()
|
|
|
|
total := uint64(0)
|
|
|
|
if rows.Next() {
|
|
|
|
if err := rows.Scan(&total); err != nil {
|
|
|
|
return 0, err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return total, nil
|
|
|
|
}
|
|
|
|
|
2020-09-23 23:18:53 +02:00
|
|
|
func toUser(dbu dbUser) (users.User, error) {
|
|
|
|
var metadata map[string]interface{}
|
|
|
|
if dbu.Metadata != nil {
|
|
|
|
if err := json.Unmarshal([]byte(dbu.Metadata), &metadata); err != nil {
|
2022-02-14 22:49:23 +01:00
|
|
|
return users.User{}, errors.Wrap(errors.ErrMalformedEntity, err)
|
2020-09-23 23:18:53 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-16 14:58:56 +02:00
|
|
|
return users.User{
|
2020-06-04 22:29:16 +02:00
|
|
|
ID: dbu.ID,
|
2019-04-16 14:58:56 +02:00
|
|
|
Email: dbu.Email,
|
|
|
|
Password: dbu.Password,
|
2020-09-23 23:18:53 +02:00
|
|
|
Metadata: metadata,
|
2022-08-11 19:58:45 +03:00
|
|
|
Status: dbu.Status,
|
2020-09-23 23:18:53 +02:00
|
|
|
}, nil
|
|
|
|
}
|
|
|
|
|
2020-10-26 10:17:08 +01:00
|
|
|
func createEmailQuery(entity string, email string) (string, string, error) {
|
|
|
|
if email == "" {
|
|
|
|
return "", "", nil
|
|
|
|
}
|
2020-09-23 23:18:53 +02:00
|
|
|
|
2020-10-26 10:17:08 +01:00
|
|
|
// Create LIKE operator to search Users with email containing a given string
|
|
|
|
param := fmt.Sprintf(`%%%s%%`, email)
|
|
|
|
query := fmt.Sprintf("%semail LIKE :email", entity)
|
|
|
|
|
|
|
|
return query, param, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func createMetadataQuery(entity string, um users.Metadata) (string, []byte, error) {
|
|
|
|
if len(um) == 0 {
|
|
|
|
return "", nil, nil
|
2019-04-16 14:58:56 +02:00
|
|
|
}
|
2020-10-26 10:17:08 +01:00
|
|
|
|
|
|
|
param, err := json.Marshal(um)
|
|
|
|
if err != nil {
|
|
|
|
return "", nil, err
|
|
|
|
}
|
|
|
|
query := fmt.Sprintf("%smetadata @> :metadata", entity)
|
|
|
|
|
|
|
|
return query, param, nil
|
2019-04-16 14:58:56 +02:00
|
|
|
}
|