@@ -4,9 +4,12 @@ import (
44 "crypto/sha256"
55 "encoding/base64"
66 "fmt"
7+ "strings"
8+
79 "github.com/gin-contrib/sessions"
810 "github.com/gin-gonic/gin"
9- "strings"
11+ "github.com/uma-universal-money-address/uma-go-sdk/uma/errors"
12+ "github.com/uma-universal-money-address/uma-go-sdk/uma/generated"
1013)
1114
1215// User represents a user in the system.
@@ -52,14 +55,20 @@ func NewUserServiceFromEnv(config UmaConfig) *UserServiceFromEnv {
5255
5356func (u * UserServiceFromEnv ) GetUser (id string ) (* User , error ) {
5457 if u .user == nil || u .user .ID != id {
55- return nil , fmt .Errorf ("user not found" )
58+ return nil , & errors.UmaError {
59+ Reason : "User not found" ,
60+ ErrorCode : generated .UserNotFound ,
61+ }
5662 }
5763 return u .user , nil
5864}
5965
6066func (u * UserServiceFromEnv ) GetUserFromContext (context * gin.Context ) (* User , error ) {
6167 if u .user == nil {
62- return nil , fmt .Errorf ("user not found" )
68+ return nil , & errors.UmaError {
69+ Reason : "User not found" ,
70+ ErrorCode : generated .UserNotFound ,
71+ }
6372 }
6473
6574 // Get from session cookie:
@@ -75,11 +84,17 @@ func (u *UserServiceFromEnv) GetUserFromContext(context *gin.Context) (*User, er
7584 encodedCredentials := strings .TrimPrefix (authHeader , basicToken )
7685 decodedCredentials , err := base64 .StdEncoding .DecodeString (encodedCredentials )
7786 if err != nil {
78- return nil , fmt .Errorf ("error decoding credentials: %v" , err )
87+ return nil , & errors.UmaError {
88+ Reason : fmt .Sprintf ("error decoding credentials: %v" , err ),
89+ ErrorCode : generated .Forbidden ,
90+ }
7991 }
8092 credentials := strings .Split (string (decodedCredentials ), ":" )
8193 if len (credentials ) != 2 {
82- return nil , fmt .Errorf ("invalid credentials" )
94+ return nil , & errors.UmaError {
95+ Reason : "invalid credentials" ,
96+ ErrorCode : generated .Forbidden ,
97+ }
8398 }
8499 password := credentials [1 ]
85100 hashedPassword := hashString (password )
@@ -88,12 +103,18 @@ func (u *UserServiceFromEnv) GetUserFromContext(context *gin.Context) (*User, er
88103 }
89104 }
90105
91- return nil , fmt .Errorf ("user not found" )
106+ return nil , & errors.UmaError {
107+ Reason : "user not found" ,
108+ ErrorCode : generated .UserNotFound ,
109+ }
92110}
93111
94112func (u * UserServiceFromEnv ) GetUserByUmaAddress (umaAddress string , config UmaConfig , context * gin.Context ) (* User , error ) {
95113 if u .user == nil || u .user .GetUmaAddress (& config , context ) != umaAddress {
96- return nil , fmt .Errorf ("user not found" )
114+ return nil , & errors.UmaError {
115+ Reason : "user not found" ,
116+ ErrorCode : generated .UserNotFound ,
117+ }
97118 }
98119 return u .user , nil
99120}
0 commit comments