From c6822575b6612416e400555dcadf9b0719e2c598 Mon Sep 17 00:00:00 2001
From: Karthikeyan Rajendran
 <70887864+karthik-tarento@users.noreply.github.com>
Date: Tue, 12 Apr 2022 16:32:54 +0530
Subject: [PATCH] SB-29494 - Configuration param to check index file in Zip
 content

---
 content-api/content-service/conf/application.conf            | 5 ++++-
 .../org/sunbird/mimetype/mgr/impl/HtmlMimeTypeMgrImpl.scala  | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/content-api/content-service/conf/application.conf b/content-api/content-service/conf/application.conf
index 0e0c9a150..95d7befe5 100644
--- a/content-api/content-service/conf/application.conf
+++ b/content-api/content-service/conf/application.conf
@@ -738,4 +738,7 @@ collection {
 }
 
 #Request timeout
-actor.timeoutMillisec = 30000 
\ No newline at end of file
+actor.timeoutMillisec = 30000 
+
+#Index file validation
+isIndexHtmlValidationRequired=false
diff --git a/platform-modules/mimetype-manager/src/main/scala/org/sunbird/mimetype/mgr/impl/HtmlMimeTypeMgrImpl.scala b/platform-modules/mimetype-manager/src/main/scala/org/sunbird/mimetype/mgr/impl/HtmlMimeTypeMgrImpl.scala
index b977d3683..34014ebf3 100644
--- a/platform-modules/mimetype-manager/src/main/scala/org/sunbird/mimetype/mgr/impl/HtmlMimeTypeMgrImpl.scala
+++ b/platform-modules/mimetype-manager/src/main/scala/org/sunbird/mimetype/mgr/impl/HtmlMimeTypeMgrImpl.scala
@@ -9,6 +9,7 @@ import org.sunbird.graph.OntologyEngineContext
 import org.sunbird.graph.dac.model.Node
 import org.sunbird.mimetype.mgr.{BaseMimeTypeManager, MimeTypeManager}
 import org.sunbird.telemetry.logger.TelemetryManager
+import org.sunbird.common.Platform
 
 import scala.concurrent.{ExecutionContext, Future}
 
@@ -16,7 +17,9 @@ class HtmlMimeTypeMgrImpl(implicit ss: StorageService) extends BaseMimeTypeManag
 
     override def upload(objectId: String, node: Node, uploadFile: File, filePath: Option[String], params: UploadParams)(implicit ec: ExecutionContext): Future[Map[String, AnyRef]] = {
         validateUploadRequest(objectId, node, uploadFile)
-        if (isValidPackageStructure(uploadFile, List[String]("index.html"))) {
+        val isIndexHtmlValidationRequired: Boolean = if (Platform.config.hasPath("isIndexHtmlValidationRequired")) Platform.config.getBoolean("isIndexHtmlValidationRequired") else true
+        val isValidateSuccess: Boolean = if (isIndexHtmlValidationRequired) isValidPackageStructure(uploadFile, List[String]("index.html")) else true
+        if (isValidateSuccess) {
             val urls = uploadArtifactToCloud(uploadFile, objectId, filePath)
             node.getMetadata.put("s3Key", urls(IDX_S3_KEY))
             node.getMetadata.put("artifactUrl", urls(IDX_S3_URL))
-- 
GitLab