app/controllers/Utility.scala (32 lines of code) (raw):
package controllers
import com.gu.googleauth.AuthAction
import com.gu.janus.model.JanusData
import conf.Config
import logic.Owners
import play.api.{Configuration, Logging, Mode}
import play.api.mvc._
import scala.util.{Failure, Try}
class Utility(
janusData: JanusData,
controllerComponents: ControllerComponents,
authAction: AuthAction[AnyContent],
configuration: Configuration
)(implicit mode: Mode, assetsFinder: AssetsFinder)
extends AbstractController(controllerComponents)
with Logging {
def healthcheck = Action {
Ok("ok")
}
def accounts = authAction { implicit request =>
val accountData = Owners.accountOwnerInformation(
janusData.accounts.toList,
janusData.access
)(account => Config.accountNumber(account.authConfigKey, configuration))
// log any account number errors we accumulated
Owners
.accountIdErrors(accountData)
.foreach { case (account, err) =>
logger.warn(s"Couldn't lookup account number for ${account.name}", err)
}
Ok(views.html.accounts(accountData, request.user, janusData))
}
}