Skip to content

Commit

Permalink
TRELLO-2929 disable unused api endpoints
Browse files Browse the repository at this point in the history
  • Loading branch information
eletallbetagouv committed Feb 20, 2025
1 parent d12a67d commit 729d0c1
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 24 deletions.
9 changes: 8 additions & 1 deletion app/controllers/BaseController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,16 @@ abstract class ApiKeyBaseController(
authenticator
) andThen new ErrorHandlerActionFunction[ConsumerRequest]()

private def disabledActionFilter = new ActionFilter[Request] {
override protected def executionContext = ec
override protected def filter[A](request: Request[A]): Future[Option[Result]] =
Future.successful(Some(Gone))
}

trait ActDslApiKey {
val securedbyApiKey = securedByApiKeyAction

// we disable some endpoints that seem completely unused.
val disabled = Action.andThen(disabledActionFilter)
}
val Act = new ActDslApiKey {}
}
Expand Down
32 changes: 15 additions & 17 deletions app/controllers/ReportToExternalController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ class ReportToExternalController(
)
}

def searchReportsToExternalV2() = Act.securedbyApiKey.async { implicit request =>
def searchReportsToExternalV2() = Act.disabled.async { implicit request =>
val qs = new QueryStringMapper(request.queryString)
val filter = ReportFilter(
siretSirenList = qs.string("siret").map(List(_)).getOrElse(List()),
Expand Down Expand Up @@ -113,21 +113,19 @@ class ReportToExternalController(
)
}

/** @deprecated
* Keep it for retro-compatibility purpose but searchReportsToExternal() is the good one.
*/
def searchReportsToExternalBySiret(siret: String) = Act.securedbyApiKey.async { implicit request =>
val qs = new QueryStringMapper(request.queryString)
val filter = ReportFilter(
siretSirenList = List(siret),
start = qs.timeWithLocalDateRetrocompatStartOfDay("start"),
end = qs.timeWithLocalDateRetrocompatEndOfDay("end")
)
for {
reportsWithMetadata <- reportRepository.getReports(None, filter, Some(0), Some(1000000), None, None)
reports = reportsWithMetadata.entities.map(_.report)
reportsExternal = reports.map(ReportToExternal.fromReport)
} yield Ok(Json.toJson(reportsExternal))
}
def searchReportsToExternalBySiret(siret: String) =
Act.disabled.async { implicit request =>
val qs = new QueryStringMapper(request.queryString)
val filter = ReportFilter(
siretSirenList = List(siret),
start = qs.timeWithLocalDateRetrocompatStartOfDay("start"),
end = qs.timeWithLocalDateRetrocompatEndOfDay("end")
)
for {
reportsWithMetadata <- reportRepository.getReports(None, filter, Some(0), Some(1000000), None, None)
reports = reportsWithMetadata.entities.map(_.report)
reportsExternal = reports.map(ReportToExternal.fromReport)
} yield Ok(Json.toJson(reportsExternal))
}

}
13 changes: 7 additions & 6 deletions conf/routes
Original file line number Diff line number Diff line change
Expand Up @@ -331,23 +331,24 @@ GET /api/mobileapp/requirements controller
########## FOR EXTERNAL SIs ############
########################################

# celui-ci est marqué deprecated dans le code, qui dit d'utiliser /api/ext/reports (lui même remplacé par V2 ?)
# pas utilisé dans les 30 derniers jours d'après New Relic
GET /api/ext/reports/siret/:siret controllers.ReportToExternalController.searchReportsToExternalBySiret(siret: String)

# très utilisé. Principalement pour filtrer sur le tag ReponseConso, donc ça doit être RéponseConso qui l'utilise ?
GET /api/ext/reports controllers.ReportToExternalController.searchReportsToExternal()

# pas utilisé dans les 30 derniers jours d'après New Relic
# curieux, alors que c'est censé être une V2 par rapport au précédent ?
GET /api/ext/v2/reports controllers.ReportToExternalController.searchReportsToExternalV2()

# utilisé une fois par jour vers minuit
GET /api/ext/reports/extract controllers.DataEconomieController.reportDataEcomonie()

# très utilisé
GET /api/ext/reports/:uuid controllers.ReportToExternalController.getReportToExternal(uuid)


# Ces deux endpoints semblaient inutilisés
# Nous les avons maintenant (2025-02) désactivés dans le code (ils renvoient un code d'erreur)
# A terme, si personne ne se plaint on pourra les supprimer entièrement
GET /api/ext/v2/reports controllers.ReportToExternalController.searchReportsToExternalV2()
GET /api/ext/reports/siret/:siret controllers.ReportToExternalController.searchReportsToExternalBySiret(siret: String)

##############################################################
######## AUTRES ENDPOINTS SANS FRONTEND CORRESPONDANT ########
##############################################################
Expand Down

0 comments on commit 729d0c1

Please sign in to comment.