@@ -175,7 +175,11 @@ func (h *handler) CreateCustomer() CreateCustomerHandler {
175175}
176176
177177type (
178- UpdateCustomerRequest = customer.UpdateCustomerInput
178+ UpdateCustomerRequest struct {
179+ Namespace string
180+ CustomerIDOrKey string
181+ CustomerMutate customer.CustomerMutate
182+ }
179183 UpdateCustomerResponse = api.Customer
180184 UpdateCustomerHandler httptransport.HandlerWithArgs [UpdateCustomerRequest , UpdateCustomerResponse , string ]
181185)
@@ -194,34 +198,38 @@ func (h *handler) UpdateCustomer() UpdateCustomerHandler {
194198 return UpdateCustomerRequest {}, err
195199 }
196200
201+ req := UpdateCustomerRequest {
202+ Namespace : ns ,
203+ CustomerIDOrKey : customerIDOrKey ,
204+ CustomerMutate : MapCustomerReplaceUpdate (body ),
205+ }
206+
207+ return req , nil
208+ },
209+ func (ctx context.Context , request UpdateCustomerRequest ) (UpdateCustomerResponse , error ) {
197210 // TODO: we should not allow key identifier for mutable operations
198211 // Get the customer
199212 cus , err := h .service .GetCustomer (ctx , customer.GetCustomerInput {
200213 CustomerIDOrKey : & customer.CustomerIDOrKey {
201- IDOrKey : customerIDOrKey ,
202- Namespace : ns ,
214+ IDOrKey : request . CustomerIDOrKey ,
215+ Namespace : request . Namespace ,
203216 },
204217 })
205218 if err != nil {
206- return UpdateCustomerRequest {}, err
219+ return UpdateCustomerResponse {}, err
207220 }
208221
209222 if cus != nil && cus .IsDeleted () {
210- return UpdateCustomerRequest {},
223+ return UpdateCustomerResponse {},
211224 models .NewGenericPreConditionFailedError (
212225 fmt .Errorf ("customer is deleted [namespace=%s customer.id=%s]" , cus .Namespace , cus .ID ),
213226 )
214227 }
215228
216- req := UpdateCustomerRequest {
229+ customer , err := h . service . UpdateCustomer ( ctx , customer. UpdateCustomerInput {
217230 CustomerID : cus .GetID (),
218- CustomerMutate : MapCustomerReplaceUpdate (body ),
219- }
220-
221- return req , nil
222- },
223- func (ctx context.Context , request UpdateCustomerRequest ) (UpdateCustomerResponse , error ) {
224- customer , err := h .service .UpdateCustomer (ctx , request )
231+ CustomerMutate : request .CustomerMutate ,
232+ })
225233 if err != nil {
226234 return UpdateCustomerResponse {}, err
227235 }
@@ -241,7 +249,10 @@ func (h *handler) UpdateCustomer() UpdateCustomerHandler {
241249}
242250
243251type (
244- DeleteCustomerRequest = customer.DeleteCustomerInput
252+ DeleteCustomerRequest struct {
253+ Namespace string
254+ CustomerIDOrKey string
255+ }
245256 DeleteCustomerResponse = interface {}
246257 DeleteCustomerHandler httptransport.HandlerWithArgs [DeleteCustomerRequest , DeleteCustomerResponse , string ]
247258)
@@ -255,12 +266,18 @@ func (h *handler) DeleteCustomer() DeleteCustomerHandler {
255266 return DeleteCustomerRequest {}, err
256267 }
257268
269+ return DeleteCustomerRequest {
270+ Namespace : ns ,
271+ CustomerIDOrKey : customerIDOrKey ,
272+ }, nil
273+ },
274+ func (ctx context.Context , request DeleteCustomerRequest ) (DeleteCustomerResponse , error ) {
258275 // TODO: we should not allow key identifier for mutable operations
259276 // Get the customer
260277 cus , err := h .service .GetCustomer (ctx , customer.GetCustomerInput {
261278 CustomerIDOrKey : & customer.CustomerIDOrKey {
262- IDOrKey : customerIDOrKey ,
263- Namespace : ns ,
279+ IDOrKey : request . CustomerIDOrKey ,
280+ Namespace : request . Namespace ,
264281 },
265282 })
266283 if err != nil {
@@ -274,10 +291,7 @@ func (h *handler) DeleteCustomer() DeleteCustomerHandler {
274291 )
275292 }
276293
277- return cus .GetID (), nil
278- },
279- func (ctx context.Context , request DeleteCustomerRequest ) (DeleteCustomerResponse , error ) {
280- err := h .service .DeleteCustomer (ctx , request )
294+ err = h .service .DeleteCustomer (ctx , cus .GetID ())
281295 if err != nil {
282296 return nil , err
283297 }
0 commit comments