Skip to content

Commit

Permalink
Ddce 6060 file upload (#694)
Browse files Browse the repository at this point in the history
* DDCE-6060 Ensured file upload is completed

* DDCE-6060 Ensured file upload is completed

* DDCE-6060 Ensured file upload is completed

---------

Co-authored-by: palanivel-subramanian <[email protected]>
  • Loading branch information
1 parent 9638e33 commit 435fbc7
Showing 1 changed file with 24 additions and 27 deletions.
51 changes: 24 additions & 27 deletions app/controllers/PdfDownloadController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -50,21 +50,19 @@ class PdfDownloadController @Inject() (
def getRulingPdf(reference: String): Action[AnyContent] = authenticatedAction.async { implicit request =>
caseService.getOne(reference).flatMap {
case Some(cse) =>
cse.decision match {
val messages = request.messages
val documentType = messages("errors.document-not-found.ruling-certificate")

cse.decision match {
case Some(decision) =>
val pdfResult = downloadFile(decision.decisionPdf)

val messages = request.messages
val documentType = messages("errors.document-not-found.ruling-certificate")

pdfResult.getOrElseF {
caseService.regenerateDocuments(cse, request.operator).flatMap { regeneratedCase =>
logger.info(s"[PdfDownloadController][getRulingPdf] new decisionPdf: ${regeneratedCase.decision.flatMap(_.decisionPdf).map(_.id)}")
downloadFile(regeneratedCase.decision.flatMap(_.decisionPdf))
.getOrElseF {
Future.successful(NotFound(document_not_found(documentType, reference)))
}
}
downloadFile(decision.decisionPdf).getOrElseF {
for {
regeneratedCase <- caseService.regenerateDocuments(cse, request.operator)
_ = logger.info(s"[PdfDownloadController][getRulingPdf] new decisionPdf: ${regeneratedCase.decision.flatMap(_.decisionPdf).map(_.id)}")
fileDownloadResult <- downloadFile(regeneratedCase.decision.flatMap(_.decisionPdf)).getOrElse {
NotFound(document_not_found(documentType, reference))
}
} yield fileDownloadResult
}

case None =>
Expand All @@ -79,21 +77,20 @@ class PdfDownloadController @Inject() (
def getLetterPdf(reference: String): Action[AnyContent] = authenticatedAction.async { implicit request =>
caseService.getOne(reference).flatMap {
case Some(cse) =>
val messages = request.messages
val documentType = messages("errors.document-not-found.ruling-certificate")

cse.decision match {
case Some(decision) =>
val pdfResult = downloadFile(decision.letterPdf)

val messages = request.messages
val documentType = messages("errors.document-not-found.ruling-certificate")

pdfResult.getOrElseF {
caseService.regenerateDocuments(cse, request.operator).flatMap { regeneratedCase =>
logger.info(s"[PdfDownloadController][getLetterPdf] new letterPdf: ${regeneratedCase.decision.flatMap(_.letterPdf).map(_.id)}")
downloadFile(regeneratedCase.decision.flatMap(_.letterPdf))
.getOrElseF {
Future.successful(NotFound(document_not_found(documentType, reference)))
}
}
downloadFile(decision.letterPdf).getOrElseF {
for {
regeneratedCase <- caseService.regenerateDocuments(cse, request.operator)
letter = regeneratedCase.decision.flatMap(_.letterPdf)
_ = logger.info(s"[PdfDownloadController][getLetterPdf] new letterPdf: ${letter.map(_.id)}")
fileDownloadResult <- downloadFile(letter).getOrElse {
NotFound(document_not_found(documentType, reference))
}
} yield fileDownloadResult
}

case None =>
Expand Down

0 comments on commit 435fbc7

Please sign in to comment.