44 "context"
55 "errors"
66 "fmt"
7+ "net/url"
78
89 "github.com/arangodb/go-driver"
910 maut "github.com/jonas-plum/maut/auth"
@@ -20,14 +21,6 @@ func newUserResponseID(user *model.NewUserResponse) []driver.DocumentID {
2021 return userID (user .ID )
2122}
2223
23- func userResponseID (user * model.UserResponse ) []driver.DocumentID {
24- if user == nil {
25- return nil
26- }
27-
28- return userID (user .ID )
29- }
30-
3124func userID (id string ) []driver.DocumentID {
3225 return []driver.DocumentID {driver .DocumentID (fmt .Sprintf ("%s/%s" , database .UserCollectionName , id ))}
3326}
@@ -42,20 +35,35 @@ func (s *Service) CreateUser(ctx context.Context, form *model.UserForm) (doc *mo
4235 return s .database .UserCreate (ctx , form )
4336}
4437
45- func (s * Service ) GetUser (ctx context.Context , s2 string ) (* model.UserResponse , error ) {
46- return s .database .UserGet (ctx , s2 )
38+ func (s * Service ) GetUser (ctx context.Context , id string ) (* model.UserResponse , error ) {
39+ decodedValue , err := url .QueryUnescape (id )
40+ if err == nil {
41+ id = decodedValue
42+ }
43+
44+ return s .database .UserGet (ctx , id )
4745}
4846
49- func (s * Service ) UpdateUser (ctx context.Context , s2 string , form * model.UserForm ) (doc * model.UserResponse , err error ) {
50- defer s .publishRequest (ctx , err , "UpdateUser" , userID (s2 ))
47+ func (s * Service ) UpdateUser (ctx context.Context , id string , form * model.UserForm ) (doc * model.UserResponse , err error ) {
48+ decodedValue , err := url .QueryUnescape (id )
49+ if err == nil {
50+ id = decodedValue
51+ }
52+
53+ defer s .publishRequest (ctx , err , "UpdateUser" , userID (id ))
5154
52- return s .database .UserUpdate (ctx , s2 , form )
55+ return s .database .UserUpdate (ctx , id , form )
5356}
5457
55- func (s * Service ) DeleteUser (ctx context.Context , s2 string ) (err error ) {
56- defer s .publishRequest (ctx , err , "DeleteUser" , userID (s2 ))
58+ func (s * Service ) DeleteUser (ctx context.Context , id string ) (err error ) {
59+ decodedValue , err := url .QueryUnescape (id )
60+ if err == nil {
61+ id = decodedValue
62+ }
63+
64+ defer s .publishRequest (ctx , err , "DeleteUser" , userID (id ))
5765
58- return s .database .UserDelete (ctx , s2 )
66+ return s .database .UserDelete (ctx , id )
5967}
6068
6169func (s * Service ) CurrentUser (ctx context.Context ) (* model.UserResponse , error ) {
0 commit comments