in common-lib/src/main/scala/models/api/Response.scala [91:112]
def apply[T](action: => ApiResponseFt[T])(implicit encoder: io.circe.Encoder[T], ec: ExecutionContext): Future[Result] = {
action.fold( {
apiErrors => Status(apiErrors.statusCode) {
logger.error(s"${apiErrors.friendlyMessage} ${apiErrors.message}")
Json.obj(
("status", Json.fromString("error")),
("statusCode", Json.fromInt(apiErrors.statusCode)),
("data", Json.Null),
("errors", apiErrors.asJson)
).noSpaces
}
},
t => {
Ok {
Json.obj(
("status", Json.fromString("ok")),
("statusCode", Json.fromInt(200)),
("data", t.asJson)
).noSpaces
}
})
}