2020-01-31 17:36:48 +01:00
|
|
|
package api
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
|
|
|
|
"github.com/viktorstrate/photoview/api/graphql/models"
|
|
|
|
)
|
|
|
|
|
|
|
|
func (r *mutationResolver) AuthorizeUser(ctx context.Context, username string, password string) (*AuthorizeResult, error) {
|
|
|
|
user, err := models.AuthorizeUser(r.Database, username, password)
|
|
|
|
if err != nil {
|
|
|
|
return &AuthorizeResult{
|
|
|
|
Success: false,
|
|
|
|
Status: err.Error(),
|
|
|
|
}, nil
|
|
|
|
}
|
|
|
|
|
2020-01-31 18:51:24 +01:00
|
|
|
token, err := user.GenerateAccessToken(r.Database)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
2020-01-31 17:36:48 +01:00
|
|
|
|
|
|
|
return &AuthorizeResult{
|
|
|
|
Success: true,
|
|
|
|
Status: "ok",
|
2020-01-31 18:51:24 +01:00
|
|
|
Token: &token.Value,
|
2020-01-31 17:36:48 +01:00
|
|
|
}, nil
|
|
|
|
}
|
2020-01-31 18:51:24 +01:00
|
|
|
func (r *mutationResolver) RegisterUser(ctx context.Context, username string, password string, rootPath string) (*AuthorizeResult, error) {
|
|
|
|
user, err := models.RegisterUser(r.Database, username, password, rootPath)
|
2020-01-31 17:36:48 +01:00
|
|
|
if err != nil {
|
|
|
|
return &AuthorizeResult{
|
|
|
|
Success: false,
|
|
|
|
Status: err.Error(),
|
|
|
|
}, nil
|
|
|
|
}
|
|
|
|
|
2020-01-31 18:51:24 +01:00
|
|
|
token, err := user.GenerateAccessToken(r.Database)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
2020-01-31 17:36:48 +01:00
|
|
|
|
|
|
|
return &AuthorizeResult{
|
|
|
|
Success: true,
|
|
|
|
Status: "ok",
|
2020-01-31 18:51:24 +01:00
|
|
|
Token: &token.Value,
|
2020-01-31 17:36:48 +01:00
|
|
|
}, nil
|
|
|
|
}
|