Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TRELLO-2929 disable unused api endpoints #1898

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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