Skip to content

Commit

Permalink
#1239 Accept undeclared config
Browse files Browse the repository at this point in the history
  • Loading branch information
To-om committed Jul 7, 2020
1 parent ef51348 commit 5498e6d
Showing 1 changed file with 21 additions and 3 deletions.
24 changes: 21 additions & 3 deletions thehive/app/org/thp/thehive/controllers/v0/ConfigCtrl.scala
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import org.thp.scalligraph.services.config.{ApplicationConfig, ConfigItem}
import org.thp.scalligraph.{AuthorizationError, NotFoundError}
import org.thp.thehive.models.Permissions
import org.thp.thehive.services.{OrganisationConfigContext, UserConfigContext}
import play.api.libs.json.{JsValue, Json, Writes}
import play.api.libs.json.{JsNull, JsValue, Json, Writes}
import play.api.mvc.{Action, AnyContent, Results}
import play.api.{ConfigLoader, Logger}

Expand Down Expand Up @@ -97,12 +97,21 @@ class ConfigCtrl @Inject() (
"value" -> config.getJson(request)
)
)
}.recover {
case _ =>
Results.Ok(
Json.obj(
"path" -> path,
"defaultValue" -> JsNull,
"value" -> JsNull
)
)
}
}

def organisationGet(path: String): Action[AnyContent] =
entrypoint("get organisation configuration item")
.authPermitted(Permissions.manageConfig) { implicit request =>
.auth { implicit request =>
Try {
val config = appConfig.context(organisationConfigContext).item[JsValue](path, "")
Results.Ok(
Expand All @@ -112,13 +121,22 @@ class ConfigCtrl @Inject() (
"value" -> config.getJson(request)
)
)
}.recover {
case _ =>
Results.Ok(
Json.obj(
"path" -> path,
"defaultValue" -> JsNull,
"value" -> JsNull
)
)
}
}

def organisationSet(path: String): Action[AnyContent] =
entrypoint("set organisation configuration item")
.extract("value", FieldsParser.json.on("value"))
.auth { implicit request =>
.authPermitted(Permissions.manageConfig) { implicit request =>
val config = appConfig.context(organisationConfigContext).item[JsValue](path, "")
logger.info(s"organisation config value set: $path ${request.body("value")}")
config.setJson(request, request.body("value")).map { _ =>
Expand Down

0 comments on commit 5498e6d

Please sign in to comment.