@@ -32,6 +32,7 @@ import (
3232type  UserAttributesRestHandler  interface  {
3333	AddUserAttributes (w  http.ResponseWriter , r  * http.Request )
3434	UpdateUserAttributes (w  http.ResponseWriter , r  * http.Request )
35+ 	PatchUserAttributes (w  http.ResponseWriter , r  * http.Request )
3536	GetUserAttribute (w  http.ResponseWriter , r  * http.Request )
3637}
3738
@@ -54,35 +55,13 @@ func NewUserAttributesRestHandlerImpl(logger *zap.SugaredLogger, enforcer casbin
5455}
5556
5657func  (handler  * UserAttributesRestHandlerImpl ) AddUserAttributes (w  http.ResponseWriter , r  * http.Request ) {
57- 	userId , err  :=  handler .userService .GetLoggedInUser (r )
58- 	if  userId  ==  0  ||  err  !=  nil  {
59- 		common .WriteJsonResp (w , err , "Unauthorized User" , http .StatusUnauthorized )
60- 		return 
61- 	}
62- 	decoder  :=  json .NewDecoder (r .Body )
63- 	var  dto  attributes.UserAttributesDto 
64- 	err  =  decoder .Decode (& dto )
65- 	if  err  !=  nil  {
66- 		handler .logger .Errorw ("request err, AddUserAttributes" , "err" , err , "payload" , dto )
67- 		common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
58+ 	dto , success  :=  handler .validateUserAttributesRequest (w , r , "PatchUserAttributes" )
59+ 	if  ! success  {
6860		return 
6961	}
7062
71- 	dto .UserId  =  userId 
72- 	//if ok := handler.enforcer.Enforce(token, casbin.ResourceGlobal, casbin.ActionCreate, "*"); !ok { 
73- 	//	common.WriteJsonResp(w, errors.New("unauthorized"), nil, http.StatusForbidden) 
74- 	//	return 
75- 	//} 
76- 	emailId , err  :=  handler .userService .GetActiveEmailById (userId )
77- 	if  err  !=  nil  {
78- 		handler .logger .Errorw ("request err, UpdateUserAttributes" , "err" , err , "payload" , dto )
79- 		common .WriteJsonResp (w , errors .New ("unauthorized" ), nil , http .StatusForbidden )
80- 		return 
81- 	}
82- 	dto .EmailId  =  emailId 
83- 
8463	handler .logger .Infow ("request payload, AddUserAttributes" , "payload" , dto )
85- 	resp , err  :=  handler .userAttributesService .AddUserAttributes (& dto )
64+ 	resp , err  :=  handler .userAttributesService .AddUserAttributes (dto )
8665	if  err  !=  nil  {
8766		handler .logger .Errorw ("service err, AddUserAttributes" , "err" , err , "payload" , dto )
8867		common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
@@ -98,43 +77,64 @@ func (handler *UserAttributesRestHandlerImpl) AddUserAttributes(w http.ResponseW
9877// @Success 200 {object} attributes.UserAttributesDto 
9978// @Router /orchestrator/attributes/user/update [POST] 
10079func  (handler  * UserAttributesRestHandlerImpl ) UpdateUserAttributes (w  http.ResponseWriter , r  * http.Request ) {
80+ 	dto , success  :=  handler .validateUserAttributesRequest (w , r , "PatchUserAttributes" )
81+ 	if  ! success  {
82+ 		return 
83+ 	}
84+ 
85+ 	handler .logger .Infow ("request payload, UpdateUserAttributes" , "payload" , dto )
86+ 	resp , err  :=  handler .userAttributesService .UpdateUserAttributes (dto )
87+ 	if  err  !=  nil  {
88+ 		handler .logger .Errorw ("service err, UpdateUserAttributes" , "err" , err , "payload" , dto )
89+ 		common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
90+ 		return 
91+ 	}
92+ 	common .WriteJsonResp (w , nil , resp , http .StatusOK )
93+ }
94+ 
95+ func  (handler  * UserAttributesRestHandlerImpl ) PatchUserAttributes (w  http.ResponseWriter , r  * http.Request ) {
96+ 	dto , success  :=  handler .validateUserAttributesRequest (w , r , "PatchUserAttributes" )
97+ 	if  ! success  {
98+ 		return 
99+ 	}
100+ 
101+ 	handler .logger .Infow ("request payload, PatchUserAttributes" , "payload" , dto )
102+ 	resp , err  :=  handler .userAttributesService .PatchUserAttributes (dto )
103+ 	if  err  !=  nil  {
104+ 		handler .logger .Errorw ("service err, PatchUserAttributes" , "err" , err , "payload" , dto )
105+ 		common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
106+ 		return 
107+ 	}
108+ 	common .WriteJsonResp (w , nil , resp , http .StatusOK )
109+ }
110+ 
111+ func  (handler  * UserAttributesRestHandlerImpl ) validateUserAttributesRequest (w  http.ResponseWriter , r  * http.Request , operation  string ) (* attributes.UserAttributesDto , bool ) {
101112	userId , err  :=  handler .userService .GetLoggedInUser (r )
102113	if  userId  ==  0  ||  err  !=  nil  {
103114		common .WriteJsonResp (w , err , "Unauthorized User" , http .StatusUnauthorized )
104- 		return 
115+ 		return   nil ,  false 
105116	}
106117
107118	decoder  :=  json .NewDecoder (r .Body )
108119	var  dto  attributes.UserAttributesDto 
109120	err  =  decoder .Decode (& dto )
110121	if  err  !=  nil  {
111- 		handler .logger .Errorw ("request err, UpdateUserAttributes"  , "err" , err , "payload" , dto )
122+ 		handler .logger .Errorw ("request err, "  + operation , "err" , err , "payload" , dto )
112123		common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
113- 		return 
124+ 		return   nil ,  false 
114125	}
115126
116127	dto .UserId  =  userId 
117- 	//if ok := handler.enforcer.Enforce(token, casbin.ResourceGlobal, casbin.ActionUpdate, "*"); !ok { 
118- 	//	common.WriteJsonResp(w, errors.New("unauthorized"), nil, http.StatusForbidden) 
119- 	//	return 
120- 	//} 
121128
122129	emailId , err  :=  handler .userService .GetActiveEmailById (userId )
123130	if  err  !=  nil  {
124- 		handler .logger .Errorw ("request err, UpdateUserAttributes"  , "err" , err , "payload" , dto )
131+ 		handler .logger .Errorw ("request err, "  + operation , "err" , err , "payload" , dto )
125132		common .WriteJsonResp (w , errors .New ("unauthorized" ), nil , http .StatusForbidden )
126- 		return 
133+ 		return   nil ,  false 
127134	}
128135	dto .EmailId  =  emailId 
129136
130- 	handler .logger .Infow ("request payload, UpdateUserAttributes" , "payload" , dto )
131- 	resp , err  :=  handler .userAttributesService .UpdateUserAttributes (& dto )
132- 	if  err  !=  nil  {
133- 		handler .logger .Errorw ("service err, UpdateUserAttributes" , "err" , err , "payload" , dto )
134- 		common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
135- 		return 
136- 	}
137- 	common .WriteJsonResp (w , nil , resp , http .StatusOK )
137+ 	return  & dto , true 
138138}
139139
140140// @Summary get user attributes 
@@ -158,11 +158,6 @@ func (handler *UserAttributesRestHandlerImpl) GetUserAttribute(w http.ResponseWr
158158		return 
159159	}
160160
161- 	//if ok := handler.enforcer.Enforce(token, casbin.ResourceGlobal, casbin.ActionGet, "*"); !ok { 
162- 	//	common.WriteJsonResp(w, errors.New("unauthorized"), nil, http.StatusForbidden) 
163- 	//	return 
164- 	//} 
165- 
166161	dto  :=  attributes.UserAttributesDto {}
167162
168163	emailId , err  :=  handler .userService .GetActiveEmailById (userId )
0 commit comments