Skip to content

Commit 961e2d2

Browse files
authored
hotfix Add info logs to BE connector and RemovePurchaserService (#197)
1 parent 2a3f161 commit 961e2d2

File tree

2 files changed

+64
-10
lines changed

2 files changed

+64
-10
lines changed

app/connectors/StampDutyLandTaxConnector.scala

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
7474
.execute[Either[UpstreamErrorResponse, CreateReturnResult]]
7575
.flatMap {
7676
case Right(resp) =>
77+
logger.info(s"[StampDutyLandTaxConnector][createReturn] prelim return: $prelimReturn, response: $resp")
7778
Future.successful(
7879
resp)
7980
case Left(error) =>
@@ -92,6 +93,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
9293
.execute[Either[UpstreamErrorResponse, CreateVendorReturn]]
9394
.flatMap {
9495
case Right(resp) =>
96+
logger.info(s"[StampDutyLandTaxConnector][createVendor] create vendor request: $vendorRequest, response: $resp")
9597
Future.successful(
9698
resp)
9799
case Left(error) =>
@@ -110,6 +112,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
110112
.execute[Either[UpstreamErrorResponse, UpdateVendorReturn]]
111113
.flatMap {
112114
case Right(resp) =>
115+
logger.info(s"[StampDutyLandTaxConnector][updateVendor] update vendor request: $updateVendorRequest, response: $resp")
113116
Future.successful(
114117
resp)
115118
case Left(error) =>
@@ -128,6 +131,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
128131
.execute[Either[UpstreamErrorResponse, DeleteVendorReturn]]
129132
.flatMap {
130133
case Right(resp) =>
134+
logger.info(s"[StampDutyLandTaxConnector][deleteVendor] delete vendor request: $deleteVendorRequest, response: $resp")
131135
Future.successful(
132136
resp)
133137
case Left(error) =>
@@ -146,6 +150,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
146150
.execute[Either[UpstreamErrorResponse, CreateReturnAgentReturn]]
147151
.flatMap {
148152
case Right(resp) =>
153+
logger.info(s"[StampDutyLandTaxConnector][createReturnAgent] create return agent request: $createReturnAgentRequest, response: $resp")
149154
Future.successful(
150155
resp)
151156
case Left(error) =>
@@ -164,6 +169,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
164169
.execute[Either[UpstreamErrorResponse, UpdateReturnAgentReturn]]
165170
.flatMap {
166171
case Right(resp) =>
172+
logger.info(s"[StampDutyLandTaxConnector][updateReturnAgent] update return agent request: $updateReturnAgentRequest, response: $resp")
167173
Future.successful(
168174
resp)
169175
case Left(error) =>
@@ -182,6 +188,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
182188
.execute[Either[UpstreamErrorResponse, DeleteReturnAgentReturn]]
183189
.flatMap {
184190
case Right(resp) =>
191+
logger.info(s"[StampDutyLandTaxConnector][deleteReturnAgent] delete return agent request: $deleteReturnAgentRequest, response: $resp")
185192
Future.successful(
186193
resp)
187194
case Left(error) =>
@@ -200,6 +207,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
200207
.execute[Either[UpstreamErrorResponse, ReturnVersionUpdateReturn]]
201208
.flatMap {
202209
case Right(resp) =>
210+
logger.info(s"[StampDutyLandTaxConnector][updateReturnVersion] update return version request: $updateReturnVersionRequest, response: $resp")
203211
Future.successful(
204212
resp)
205213
case Left(error) =>
@@ -218,7 +226,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
218226
.execute[Either[UpstreamErrorResponse, CreatePurchaserReturn]]
219227
.flatMap {
220228
case Right(resp) =>
221-
logger.info(s"[createPurchaser] create purchaser request: $purchaserRequest, response: $resp")
229+
logger.info(s"[StampDutyLandTaxConnector][createPurchaser] create purchaser request: $purchaserRequest, response: $resp")
222230
Future.successful(
223231
resp)
224232
case Left(error) =>
@@ -237,7 +245,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
237245
.execute[Either[UpstreamErrorResponse, UpdatePurchaserReturn]]
238246
.flatMap {
239247
case Right(resp) =>
240-
logger.info(s"[updatePurchaser] update purchaser request: $updatePurchaserRequest, response: $resp")
248+
logger.info(s"[StampDutyLandTaxConnector][updatePurchaser] update purchaser request: $updatePurchaserRequest, response: $resp")
241249
Future.successful(
242250
resp)
243251
case Left(error) =>
@@ -256,6 +264,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
256264
.execute[Either[UpstreamErrorResponse, DeletePurchaserReturn]]
257265
.flatMap {
258266
case Right(resp) =>
267+
logger.info(s"[StampDutyLandTaxConnector][deletePurchaser] delete purchaser request: $deletePurchaserRequest, response: $resp")
259268
Future.successful(
260269
resp)
261270
case Left(error) =>
@@ -274,6 +283,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
274283
.execute[Either[UpstreamErrorResponse, CreateCompanyDetailsReturn]]
275284
.flatMap {
276285
case Right(resp) =>
286+
logger.info(s"[StampDutyLandTaxConnector][createCompanyDetails] create company details request: $companyDetailsRequest, response: $resp")
277287
Future.successful(
278288
resp)
279289
case Left(error) =>
@@ -292,6 +302,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
292302
.execute[Either[UpstreamErrorResponse, UpdateCompanyDetailsReturn]]
293303
.flatMap {
294304
case Right(resp) =>
305+
logger.info(s"[StampDutyLandTaxConnector][updateCompanyDetails] update company details request: $updateCompanyDetailsRequest, response: $resp")
295306
Future.successful(
296307
resp)
297308
case Left(error) =>
@@ -310,6 +321,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
310321
.execute[Either[UpstreamErrorResponse, DeleteCompanyDetailsReturn]]
311322
.flatMap {
312323
case Right(resp) =>
324+
logger.info(s"[StampDutyLandTaxConnector][deleteCompanyDetails] delete company details request: $deleteCompanyDetailsRequest, response: $resp")
313325
Future.successful(
314326
resp)
315327
case Left(error) =>
@@ -328,6 +340,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
328340
.execute[Either[UpstreamErrorResponse, ReturnInfoReturn]]
329341
.flatMap {
330342
case Right(resp) =>
343+
logger.info(s"[StampDutyLandTaxConnector][updateReturnInfo] update return info request: $returnInfoRequest, response: $resp")
331344
Future.successful(
332345
resp)
333346
case Left(error) =>
@@ -347,6 +360,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
347360
.execute[Either[UpstreamErrorResponse, CreateLandReturn]]
348361
.flatMap {
349362
case Right(resp) =>
363+
logger.info(s"[StampDutyLandTaxConnector][createLand] create land request: $createLandRequest, response: $resp")
350364
Future.successful(
351365
resp)
352366
case Left(error) =>
@@ -365,6 +379,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
365379
.execute[Either[UpstreamErrorResponse, UpdateLandReturn]]
366380
.flatMap {
367381
case Right(resp) =>
382+
logger.info(s"[StampDutyLandTaxConnector][updateLand] update land request: $updateLandRequest, response: $resp")
368383
Future.successful(
369384
resp)
370385
case Left(error) =>
@@ -383,6 +398,7 @@ class StampDutyLandTaxConnector @Inject()(val http: HttpClientV2,
383398
.execute[Either[UpstreamErrorResponse, DeleteLandReturn]]
384399
.flatMap {
385400
case Right(resp) =>
401+
logger.info(s"[StampDutyLandTaxConnector][deleteLand] delete land request: $deleteLandRequest, response: $resp")
386402
Future.successful(
387403
resp)
388404
case Left(error) =>

app/services/purchaser/PurchaserRemoveService.scala

Lines changed: 46 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import models.purchaser.*
2121
import models.requests.DataRequest
2222
import models.{Mode, Purchaser, ReturnInfo, ReturnInfoRequest, ReturnVersionUpdateRequest, UserAnswers}
2323
import pages.purchaser.{PurchaserOverviewRemovePage, PurchaserRemovePage}
24+
import play.api.Logging
2425
import play.api.data.Form
2526
import play.api.i18n.Messages
2627
import play.api.mvc.Results.Redirect
@@ -37,7 +38,7 @@ class PurchaserRemoveService @Inject()(
3738
view: PurchaserRemoveView,
3839
backendConnector: StampDutyLandTaxConnector,
3940
purchaserService: PurchaserService
40-
) {
41+
) extends Logging {
4142

4243
def isMainPurchaser(purchaserId: String, userAnswers: UserAnswers): Boolean = {
4344
val mainPurchaserID: Option[String] = userAnswers.fullReturn
@@ -249,9 +250,14 @@ class PurchaserRemoveService @Inject()(
249250
val removedPurchaser = PurchaserOps.findById(purchasers, purchaserIdSession)
250251
val previousPurchaserInList = PurchaserOps.findByNextId(purchasers, chosenPurchaserId)
251252

253+
logger.info(s"[PurchaserRemoveService][handleRemovePurchaser] chosen purchaser to promote: $chosenPurchaser")
254+
logger.info(s"[PurchaserRemoveService][handleRemovePurchaser] purchaser to remove: $removedPurchaser")
255+
logger.info(s"[PurchaserRemoveService][handleRemovePurchaser] previous purchaser in list: $previousPurchaserInList")
256+
252257
def changeNextIdOfPreviousPurchaser(): Future[Unit] = {
253258
(previousPurchaserInList, chosenPurchaser) match {
254259
case (Some(changeP), Some(chosenP)) if !isMainPurchaser && purchaserLength > 1 =>
260+
logger.info(s"[PurchaserRemoveService][changeNextIdOfPreviousPurchaser]")
255261
PurchaserOps.updatePurchaser(userAnswers, changeP.copy(nextPurchaserID = chosenP.nextPurchaserID))
256262
case _ =>
257263
Future.successful(())
@@ -280,7 +286,11 @@ class PurchaserRemoveService @Inject()(
280286
maybeResult <- updateChosenPurchaserIfNeeded(Some(returnVersion))
281287
} yield maybeResult.getOrElse(PurchaserOps.purchaserOverviewRedirect(removedPurchaser))
282288
}
283-
.recover { case _ => PurchaserOps.journeyRecoveryRedirect }
289+
.recover {
290+
case _ =>
291+
logger.info(s"[PurchaserRemoveService][handleRemovePurchaser] failed to delete purchaser. Redirecting to journey recovery")
292+
PurchaserOps.journeyRecoveryRedirect
293+
}
284294
}
285295

286296
private def handleMultiplePurchasersWithNewMain(
@@ -294,6 +304,9 @@ class PurchaserRemoveService @Inject()(
294304
val purchasers = PurchaserOps.allPurchasers(userAnswers)
295305
val chosenPurchaser = PurchaserOps.findById(purchasers, chosenPurchaserId)
296306

307+
logger.info(s"[PurchaserRemoveService][handleMultiplePurchasersWithNewMain] chosen purchaser to remove: $chosenPurchaser")
308+
logger.info(s"[PurchaserRemoveService][handleMultiplePurchasersWithNewMain] purchaser ID in session: $purchaserIdSession")
309+
297310
def doUpdate(newVersion: Long): Future[Result] =
298311
updateChosenPurchaserMulti(
299312
chosenPurchaserId = chosenPurchaserId,
@@ -313,7 +326,11 @@ class PurchaserRemoveService @Inject()(
313326
}
314327
} yield r
315328
}
316-
.recover { case _ => PurchaserOps.journeyRecoveryRedirect }
329+
.recover {
330+
case _ =>
331+
logger.info(s"[PurchaserRemoveService][handleMultiplePurchasersWithNewMain] redirecting to journey recovery")
332+
PurchaserOps.journeyRecoveryRedirect
333+
}
317334
}
318335

319336
private def updateChosenPurchaserDouble(
@@ -323,7 +340,7 @@ class PurchaserRemoveService @Inject()(
323340
userAnswers: UserAnswers,
324341
version: Option[Long] = None
325342
)(implicit request: DataRequest[AnyContent], hc: HeaderCarrier, ec: ExecutionContext): Future[Result] = {
326-
343+
logger.info(s"[PurchaserRemoveService][updateChosenPurchaserDouble] version: $version")
327344
PurchaserOps
328345
.withReturnInfo(userAnswers) { returnInfo =>
329346
PurchaserOps.withNewVersion(userAnswers, version) { newReturnVersion =>
@@ -336,7 +353,10 @@ class PurchaserRemoveService @Inject()(
336353
} yield PurchaserOps.purchaserOverviewRedirect(removedPurchaser)
337354
}
338355
}
339-
.recover { case _ => PurchaserOps.journeyRecoveryRedirect }
356+
.recover { case _ =>
357+
logger.info(s"[PurchaserRemoveService][updateChosenPurchaserDouble] failed update purchaser. Redirecting to journey recovery")
358+
PurchaserOps.journeyRecoveryRedirect
359+
}
340360
}
341361

342362
private def updateChosenPurchaserMulti(
@@ -351,6 +371,11 @@ class PurchaserRemoveService @Inject()(
351371
val originalMainPurchaser = purchasers.find(_.purchaserID.contains(purchaserIdSession))
352372
val previousPurchaserInList = purchasers.find(_.nextPurchaserID.contains(chosenPurchaserId))
353373

374+
logger.info(s"[PurchaserRemoveService][updateChosenPurchaserMulti] purchasers: $purchasers")
375+
logger.info(s"[PurchaserRemoveService][updateChosenPurchaserMulti] newMainPurchaser: $newMainPurchaser")
376+
logger.info(s"[PurchaserRemoveService][updateChosenPurchaserMulti] originalMainPurchaser: $originalMainPurchaser")
377+
logger.info(s"[PurchaserRemoveService][updateChosenPurchaserMulti] previousPurchaserInList: $previousPurchaserInList")
378+
354379
PurchaserOps
355380
.withReturnInfo(userAnswers) { returnInfo =>
356381
(newMainPurchaser, originalMainPurchaser, previousPurchaserInList) match {
@@ -366,7 +391,11 @@ class PurchaserRemoveService @Inject()(
366391
version = Some(newReturnVersion.toString)))
367392
} yield PurchaserOps.purchaserOverviewRedirect(originalMainPurchaser)
368393
}
369-
.recover { case _ => PurchaserOps.journeyRecoveryRedirect }
394+
.recover {
395+
case _ =>
396+
logger.info(s"[PurchaserRemoveService][updateChosenPurchaserMulti] updating mainPurchaserID and version in returnInfo failed. Redirecting to journey recovery")
397+
PurchaserOps.journeyRecoveryRedirect
398+
}
370399

371400
case (Some(nextPId), Some(mainPId)) =>
372401
PurchaserOps
@@ -379,17 +408,26 @@ class PurchaserRemoveService @Inject()(
379408
version = Some(newReturnVersion.toString)))
380409
} yield PurchaserOps.purchaserOverviewRedirect(originalMainPurchaser)
381410
}
382-
.recover { case _ => PurchaserOps.journeyRecoveryRedirect }
411+
.recover {
412+
case _ =>
413+
logger.info(s"[PurchaserRemoveService][updateChosenPurchaserMulti] updating nextPurchaserIDs and mainPurchaserID and version in returnInfo failed. Redirecting to journey recovery")
414+
PurchaserOps.journeyRecoveryRedirect
415+
}
383416

384417
case _ =>
385418
Future.successful(PurchaserOps.purchaserOverviewRedirect())
386419
}
387420

388421
case _ =>
422+
logger.info(s"[PurchaserRemoveService][updateChosenPurchaserMulti] required data missing. Redirecting to journey recovery")
389423
Future.successful(PurchaserOps.journeyRecoveryRedirect)
390424
}
391425
}
392-
.recover { case _ => PurchaserOps.journeyRecoveryRedirect }
426+
.recover {
427+
case _ =>
428+
logger.info(s"[PurchaserRemoveService][updateChosenPurchaserMulti] return info missing. Redirecting to journey recovery")
429+
PurchaserOps.journeyRecoveryRedirect
430+
}
393431
}
394432

395433

0 commit comments

Comments
 (0)