Skip to content

Commit

Permalink
TRELLO-2010 : filter open closed wwebsite association
Browse files Browse the repository at this point in the history
  • Loading branch information
ssedoudbgouv committed Jan 11, 2024
1 parent 284bcdc commit a1d273d
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 7 deletions.
6 changes: 4 additions & 2 deletions app/controllers/WebsiteController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ class WebsiteController(
investigationStatus: Option[Seq[InvestigationStatus]],
start: Option[OffsetDateTime],
end: Option[OffsetDateTime],
hasAssociation: Option[Boolean]
hasAssociation: Option[Boolean],
isOpen: Option[Boolean]
) =
SecuredAction.andThen(WithRole(UserRole.Admin)).async { _ =>
for {
Expand All @@ -57,7 +58,8 @@ class WebsiteController(
investigationStatus.filter(_.nonEmpty),
start,
end,
hasAssociation
hasAssociation,
isOpen
)
resultAsJson = Json.toJson(result)(paginatedResultWrites[WebsiteCompanyReportCount])
} yield Ok(resultAsJson)
Expand Down
1 change: 1 addition & 0 deletions app/models/company/Company.scala
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ case class CompanyWithNbReports(
brand: Option[String],
address: Address,
activityCode: Option[String],
isOpen: Option[Boolean],
count: Int,
responseRate: Int
)
Expand Down
6 changes: 4 additions & 2 deletions app/orchestrators/WebsitesOrchestrator.scala
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,8 @@ class WebsitesOrchestrator(
investigationStatusFilter: Option[Seq[InvestigationStatus]],
start: Option[OffsetDateTime],
end: Option[OffsetDateTime],
hasAssociation: Option[Boolean]
hasAssociation: Option[Boolean],
isOpen: Option[Boolean]
): Future[PaginatedResult[WebsiteCompanyReportCount]] =
for {
websites <- repository.listWebsitesCompaniesByReportCount(
Expand All @@ -69,7 +70,8 @@ class WebsitesOrchestrator(
investigationStatusFilter,
start,
end,
hasAssociation
hasAssociation,
isOpen
)
_ = logger.debug("Website company report fetched")
websitesWithCount = websites.copy(entities = websites.entities.map(toApi))
Expand Down
6 changes: 5 additions & 1 deletion app/repositories/website/WebsiteRepository.scala
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,8 @@ class WebsiteRepository(
investigationStatusFilter: Option[Seq[InvestigationStatus]],
start: Option[OffsetDateTime],
end: Option[OffsetDateTime],
hasAssociation: Option[Boolean]
hasAssociation: Option[Boolean],
isOpen: Option[Boolean]
): Future[PaginatedResult[((Website, Option[Company]), Int)]] = {

val baseQuery =
Expand All @@ -151,6 +152,9 @@ class WebsiteRepository(
val (websiteTable, _) = tupleTable
websiteTable.host === reportTable.host && reportTable.host.isDefined
}
.filterOpt(isOpen) { case (((_, companyTable), _), isOpenFilter) =>
companyTable.map(_.isOpen === isOpenFilter)
}
.filterOpt(start) { case (((websiteTable, _), reportTable), start) =>
reportTable.map(_.creationDate >= start).getOrElse(websiteTable.creationDate >= start)
}
Expand Down
3 changes: 2 additions & 1 deletion app/repositories/website/WebsiteRepositoryInterface.scala
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ trait WebsiteRepositoryInterface extends TypedCRUDRepositoryInterface[Website, W
investigationStatus: Option[Seq[InvestigationStatus]],
start: Option[OffsetDateTime],
end: Option[OffsetDateTime],
hasAssociation: Option[Boolean]
hasAssociation: Option[Boolean],
isOpen: Option[Boolean]
): Future[PaginatedResult[((Website, Option[Company]), Int)]]

def searchValidAssociationByHost(host: String): Future[Seq[Website]]
Expand Down
2 changes: 1 addition & 1 deletion conf/routes
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ GET /api/resources/investigation-status controll

POST /api/website-investigations controllers.WebsiteController.updateInvestigation()
# Websites API
GET /api/websites controllers.WebsiteController.fetchWithCompanies(host: Option[String], identificationStatus: Option[Seq[IdentificationStatus]], offset: Option[Long], limit: Option[Int],investigationStatus: Option[Seq[InvestigationStatus]],start: Option[OffsetDateTime],end: Option[OffsetDateTime],hasAssociation: Option[Boolean])
GET /api/websites controllers.WebsiteController.fetchWithCompanies(host: Option[String], identificationStatus: Option[Seq[IdentificationStatus]], offset: Option[Long], limit: Option[Int],investigationStatus: Option[Seq[InvestigationStatus]],start: Option[OffsetDateTime],end: Option[OffsetDateTime],hasAssociation: Option[Boolean],isOpen: Option[Boolean])
GET /api/websites/search-url controllers.WebsiteController.searchByHost(url: String)
GET /api/websites/unregistered controllers.WebsiteController.fetchUnregisteredHost(q: Option[String], start: Option[String], end: Option[String])
GET /api/websites/unregistered/extract controllers.WebsiteController.extractUnregisteredHost(q: Option[String], start: Option[String], end: Option[String])
Expand Down

0 comments on commit a1d273d

Please sign in to comment.