@@ -101,26 +101,32 @@ func (service *PhoneService) Upsert(ctx context.Context, params PhoneUpsertParam
101101 msg := fmt .Sprintf ("cannot update phone with id [%s] and number [%s]" , phone .ID , phone .PhoneNumber )
102102 return nil , service .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
103103 }
104- ctxLogger .Info (fmt .Sprintf ("phone saved with id [%s] in the phone repository" , phone .ID ))
105104
106- event , err := service .createPhoneUpdatedEvent (params .Source , events.PhoneUpdatedPayload {
105+ ctxLogger .Info (fmt .Sprintf ("phone updated with id [%s] in the phone repository for user [%s]" , phone .ID , phone .UserID ))
106+ return phone , service .dispatchPhoneUpdatedEvent (ctx , params .Source , phone )
107+ }
108+
109+ func (service * PhoneService ) dispatchPhoneUpdatedEvent (ctx context.Context , source string , phone * entities.Phone ) error {
110+ ctx , span := service .tracer .Start (ctx )
111+ defer span .End ()
112+
113+ event , err := service .createPhoneUpdatedEvent (source , events.PhoneUpdatedPayload {
107114 PhoneID : phone .ID ,
108115 UserID : phone .UserID ,
109116 Timestamp : phone .UpdatedAt ,
110117 Owner : phone .PhoneNumber ,
111118 SIM : phone .SIM ,
112119 })
113120 if err != nil {
114- msg := "cannot create event when phone is updated"
115- return nil , service .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
121+ msg := fmt . Sprintf ( "cannot create event when phone [%s] is updated for user [%s]" , phone . ID , phone . UserID )
122+ return service .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
116123 }
117124
118125 if err = service .dispatcher .Dispatch (ctx , event ); err != nil {
119126 msg := fmt .Sprintf ("cannot dispatch event [%s] for phone with id [%s]" , event .Type (), phone .ID )
120- return nil , service .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
127+ return service .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
121128 }
122-
123- return phone , nil
129+ return nil
124130}
125131
126132// Delete an entities.Phone
@@ -164,7 +170,7 @@ func (service *PhoneService) Delete(ctx context.Context, source string, userID e
164170}
165171
166172func (service * PhoneService ) createPhone (ctx context.Context , params PhoneUpsertParams ) (* entities.Phone , error ) {
167- ctx , span := service .tracer .Start (ctx )
173+ ctx , span , ctxLogger := service .tracer .StartWithLogger (ctx , service . logger )
168174 defer span .End ()
169175
170176 phone := & entities.Phone {
@@ -187,7 +193,8 @@ func (service *PhoneService) createPhone(ctx context.Context, params PhoneUpsert
187193 return nil , service .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
188194 }
189195
190- return phone , nil
196+ ctxLogger .Info (fmt .Sprintf ("phone updated with id [%s] in the phone repository for user [%s]" , phone .ID , phone .UserID ))
197+ return phone , service .dispatchPhoneUpdatedEvent (ctx , params .Source , phone )
191198}
192199
193200func (service * PhoneService ) createPhoneUpdatedEvent (source string , payload events.PhoneUpdatedPayload ) (cloudevents.Event , error ) {
0 commit comments