Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f22af46a26 | ||
|
|
79f39b32c9 | ||
|
|
dfa43d09e4 |
@@ -172,11 +172,6 @@ func (s *userService) UpdateLogin(user viewmodel.User) error {
|
|||||||
return s.svc.Users.UpdateLogin(eUser)
|
return s.svc.Users.UpdateLogin(eUser)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *userService) UpdateLoginPassword(user viewmodel.User) error {
|
|
||||||
eUser := s.mapEntity.User.ToUserEntity(user)
|
|
||||||
return s.svc.Users.UpdateLoginPassword(eUser)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *userService) SaveAddress(address viewmodel.Address) (retVal viewmodel.Address, err error) {
|
func (s *userService) SaveAddress(address viewmodel.Address) (retVal viewmodel.Address, err error) {
|
||||||
entity := s.mapEntity.Address.ToAddressEntity(address)
|
entity := s.mapEntity.Address.ToAddressEntity(address)
|
||||||
entity, err = s.svc.Users.SaveAddress(entity)
|
entity, err = s.svc.Users.SaveAddress(entity)
|
||||||
@@ -265,6 +260,10 @@ func (s *userService) CheckAndCreateMember(user viewmodel.User, provider viewmod
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if entityUser.UUID == "" {
|
||||||
|
entityUser = s.mapEntity.User.ToUserEntity(user)
|
||||||
|
}
|
||||||
|
|
||||||
var eligibility viewmodel.Eligibility
|
var eligibility viewmodel.Eligibility
|
||||||
loc, _ := time.LoadLocation("America/Chicago")
|
loc, _ := time.LoadLocation("America/Chicago")
|
||||||
eligibility.TrackingID = s.rangeIn(1000000, 9999999)
|
eligibility.TrackingID = s.rangeIn(1000000, 9999999)
|
||||||
@@ -276,7 +275,7 @@ func (s *userService) CheckAndCreateMember(user viewmodel.User, provider viewmod
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return viewmodel.User{}, &viewmodel.ValidationError{Message: fmt.Sprintf("Error finding provider by UUID: %s", err.Error())}
|
return viewmodel.User{}, &viewmodel.ValidationError{Message: fmt.Sprintf("Error finding provider by UUID: %s", err.Error())}
|
||||||
}
|
}
|
||||||
} else {
|
} else if entityProvider.InternalID != "" {
|
||||||
entityProvider, err = s.svc.Provider.GetByNPI(entityProvider.InternalID, entityAuthorUser)
|
entityProvider, err = s.svc.Provider.GetByNPI(entityProvider.InternalID, entityAuthorUser)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return viewmodel.User{}, &viewmodel.ValidationError{Message: fmt.Sprintf("Error finding provider by NPI: %s", err.Error())}
|
return viewmodel.User{}, &viewmodel.ValidationError{Message: fmt.Sprintf("Error finding provider by NPI: %s", err.Error())}
|
||||||
@@ -284,7 +283,8 @@ func (s *userService) CheckAndCreateMember(user viewmodel.User, provider viewmod
|
|||||||
}
|
}
|
||||||
|
|
||||||
if entityProvider.InternalID == "" {
|
if entityProvider.InternalID == "" {
|
||||||
return viewmodel.User{}, &viewmodel.ValidationError{Message: "Provider not found"}
|
eligibility.Provider.ProviderNPI = "1699849786"
|
||||||
|
eligibility.Provider.ProviderName = "LITHOLINK CORPORATION"
|
||||||
} else {
|
} else {
|
||||||
eligibility.Provider.ProviderNPI = entityProvider.InternalID
|
eligibility.Provider.ProviderNPI = entityProvider.InternalID
|
||||||
eligibility.Provider.ProviderName = entityProvider.OrganizatioName
|
eligibility.Provider.ProviderName = entityProvider.OrganizatioName
|
||||||
|
|||||||
@@ -462,22 +462,6 @@ func (c *userRepo) UpdateLogin(user entity.User) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *userRepo) UpdateLoginPassword(user entity.User) error {
|
|
||||||
const (
|
|
||||||
query = `UPDATE tab_login a
|
|
||||||
INNER JOIN tab_user b
|
|
||||||
ON a.user_id = b.user_id
|
|
||||||
SET a.password = sha2(?, 512)
|
|
||||||
WHERE b.user_uuid = ?`
|
|
||||||
)
|
|
||||||
|
|
||||||
if _, err := c.conn.Exec(query, user.Pass, user.UUID); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *userRepo) RemoveContact(contact entity.ContactInfo) (entity.ContactInfo, error) {
|
func (c *userRepo) RemoveContact(contact entity.ContactInfo) (entity.ContactInfo, error) {
|
||||||
const (
|
const (
|
||||||
query = `DELETE FROM tab_contact WHERE contact_uuid = ?;`
|
query = `DELETE FROM tab_contact WHERE contact_uuid = ?;`
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ type UserRepo interface {
|
|||||||
SaveContact(contact entity.ContactInfo) (entity.ContactInfo, error)
|
SaveContact(contact entity.ContactInfo) (entity.ContactInfo, error)
|
||||||
RemoveContact(contact entity.ContactInfo) (entity.ContactInfo, error)
|
RemoveContact(contact entity.ContactInfo) (entity.ContactInfo, error)
|
||||||
UpdateLogin(user entity.User) error
|
UpdateLogin(user entity.User) error
|
||||||
UpdateLoginPassword(user entity.User) error
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// RideRepo defines the data set for Rides
|
// RideRepo defines the data set for Rides
|
||||||
|
|||||||
@@ -80,10 +80,6 @@ func (s *userService) UpdateLogin(user entity.User) error {
|
|||||||
return s.svc.db.Users().UpdateLogin(user)
|
return s.svc.db.Users().UpdateLogin(user)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *userService) UpdateLoginPassword(user entity.User) error {
|
|
||||||
return s.svc.db.Users().UpdateLoginPassword(user)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsersByProfile returns a list of users by profile
|
// GetUsersByProfile returns a list of users by profile
|
||||||
func (s *userService) GetUsersByProfile(profile string) ([]entity.User, error) {
|
func (s *userService) GetUsersByProfile(profile string) ([]entity.User, error) {
|
||||||
return s.svc.db.Users().GetUsersByProfile(profile)
|
return s.svc.db.Users().GetUsersByProfile(profile)
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package passwordresetroute
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/sha256"
|
"crypto/sha256"
|
||||||
b64 "encoding/base64"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -116,39 +115,33 @@ func (c *controller) handleResetComplete(ctx echo.Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if len(strings.TrimSpace(user.Pass)) < 1 {
|
if len(strings.TrimSpace(user.Pass)) < 1 {
|
||||||
return routeutils.ResponseAPIPasswordResetFailed(ctx, "No password")
|
routeutils.ResponseAPIPasswordResetFailed(ctx, "No password")
|
||||||
}
|
}
|
||||||
|
|
||||||
pass, err := b64.StdEncoding.DecodeString(user.Pass)
|
|
||||||
if err != nil {
|
|
||||||
return routeutils.ResponseAPIPasswordResetFailed(ctx, "Invalid password")
|
|
||||||
}
|
|
||||||
user.Pass = string(pass)
|
|
||||||
|
|
||||||
passwordResetEntry, err := c.svc.PasswordReset.GetByToken(userToken)
|
passwordResetEntry, err := c.svc.PasswordReset.GetByToken(userToken)
|
||||||
if err != nil || len(passwordResetEntry.Token) < 1 || passwordResetEntry.Expires.Before(time.Now()) || passwordResetEntry.Used == true {
|
if err != nil || len(passwordResetEntry.Token) < 1 || passwordResetEntry.Expires.Before(time.Now()) || passwordResetEntry.Used == true {
|
||||||
return routeutils.ResponseAPIPasswordResetFailed(ctx, "Token error")
|
routeutils.ResponseAPIPasswordResetFailed(ctx, "Token error")
|
||||||
}
|
}
|
||||||
|
|
||||||
fullUserData, err := c.svc.Users.GetByUUID(passwordResetEntry.User.ID, "")
|
fullUserData, err := c.svc.Users.GetByUUID(passwordResetEntry.User.ID, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return routeutils.ResponseAPIPasswordResetFailed(ctx, "User error")
|
routeutils.ResponseAPIPasswordResetFailed(ctx, "User problem")
|
||||||
}
|
}
|
||||||
|
|
||||||
fullUserData.Pass = user.Pass //user contains just password sent from reset form
|
fmt.Println(fullUserData)
|
||||||
if err = c.svc.Users.UpdateLoginPassword(fullUserData); err != nil {
|
|
||||||
return routeutils.ResponseAPIPasswordResetFailed(ctx, "Error updating password")
|
//write new password in database
|
||||||
}
|
//TODO
|
||||||
|
|
||||||
if err := c.svc.PasswordReset.SetTokenUsed(userToken); err != nil {
|
if err := c.svc.PasswordReset.SetTokenUsed(userToken); err != nil {
|
||||||
return routeutils.ResponseAPIPasswordResetFailed(ctx, "Reset failed")
|
routeutils.ResponseAPIPasswordResetFailed(ctx, "Reset failed")
|
||||||
}
|
}
|
||||||
|
|
||||||
//Send email with reset link
|
//Send email with reset link
|
||||||
notification := viewmodel.Notification{
|
notification := viewmodel.Notification{
|
||||||
Type: applicationservice.NotificationTypeEmail,
|
Type: applicationservice.NotificationTypeEmail,
|
||||||
From: c.cfg.Email.Sender,
|
From: c.cfg.Email.Sender,
|
||||||
To: *fullUserData.Email,
|
To: *user.Email,
|
||||||
Subject: passwordResetCompleteEmailSubject,
|
Subject: passwordResetCompleteEmailSubject,
|
||||||
Message: passwordResetCompleteEmailBody,
|
Message: passwordResetCompleteEmailBody,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -348,11 +348,7 @@ func (c *controller) handleMember(ctx echo.Context) error {
|
|||||||
return routeutils.ResponseAPIAuthError(ctx, "phonenumber or email is required", false)
|
return routeutils.ResponseAPIAuthError(ctx, "phonenumber or email is required", false)
|
||||||
}
|
}
|
||||||
|
|
||||||
provider, err := c.svc.Provider.GetByNPI("1699849786", authUser)
|
provider := viewmodel.ProviderResp{}
|
||||||
if err != nil {
|
|
||||||
return routeutils.ResponseAPIAuthError(ctx, "Provider not found", false)
|
|
||||||
}
|
|
||||||
|
|
||||||
user, err = c.svc.Users.CheckAndCreateMember(user, provider, authUser)
|
user, err = c.svc.Users.CheckAndCreateMember(user, provider, authUser)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if validationError, ok := err.(*viewmodel.ValidationError); ok {
|
if validationError, ok := err.(*viewmodel.ValidationError); ok {
|
||||||
|
|||||||
@@ -91,6 +91,10 @@ func (c *controller) handleRide(ctx echo.Context) error {
|
|||||||
}
|
}
|
||||||
ride.Visit.Provider = provider
|
ride.Visit.Provider = provider
|
||||||
|
|
||||||
|
// user, err := c.svc.Users.GetByUUID(ride.User.ID, "US")
|
||||||
|
// if err != nil {
|
||||||
|
// return routeutils.HandleAPIError(ctx, err)
|
||||||
|
// }
|
||||||
user, err := c.svc.Users.CheckAndCreateMember(ride.Visit.User, provider, authUser)
|
user, err := c.svc.Users.CheckAndCreateMember(ride.Visit.User, provider, authUser)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if validationError, ok := err.(*viewmodel.ValidationError); ok {
|
if validationError, ok := err.(*viewmodel.ValidationError); ok {
|
||||||
@@ -105,6 +109,7 @@ func (c *controller) handleRide(ctx echo.Context) error {
|
|||||||
}
|
}
|
||||||
ride.Visit.User = user
|
ride.Visit.User = user
|
||||||
ride.User = user
|
ride.User = user
|
||||||
|
visit.User = user
|
||||||
|
|
||||||
homeAddress := viewmodel.Address{}
|
homeAddress := viewmodel.Address{}
|
||||||
for _, a := range visit.User.Addresses {
|
for _, a := range visit.User.Addresses {
|
||||||
@@ -133,9 +138,9 @@ func (c *controller) handleRide(ctx echo.Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ride.Notes = ride.Notes
|
ride.Notes = ride.Notes
|
||||||
ride.Passenger.FirstName = visit.User.First
|
ride.Passenger.FirstName = ride.Visit.User.First
|
||||||
ride.Passenger.LastName = " "
|
ride.Passenger.LastName = " "
|
||||||
ride.Passenger.PhoneNumber = *visit.User.PhoneNumber
|
ride.Passenger.PhoneNumber = *ride.Visit.User.PhoneNumber
|
||||||
ride.RideType = "lyft"
|
ride.RideType = "lyft"
|
||||||
ride.VisitDate = &visit.VisitDatetime
|
ride.VisitDate = &visit.VisitDatetime
|
||||||
ride.VisitTime = &visit.VisitDatetime
|
ride.VisitTime = &visit.VisitDatetime
|
||||||
|
|||||||
BIN
svijetlastrana
Executable file
BIN
svijetlastrana
Executable file
Binary file not shown.
Reference in New Issue
Block a user