Skip to content

Commit

Permalink
Merge pull request #98 from MTES-MCT/raportage-v1.1
Browse files Browse the repository at this point in the history
Raportage v1.1
  • Loading branch information
thoomasbro authored Aug 25, 2022
2 parents 473bb4a + 8057d62 commit 46c0cb3
Show file tree
Hide file tree
Showing 288 changed files with 1,529 additions and 1,100 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package fr.gouv.cacem.monitorenv.domain.entities.controlTopics
package fr.gouv.cacem.monitorenv.domain.entities.controlThemes

data class ControlTopicEntity(
data class ControlThemeEntity(
val id: Int,
val topic_level_1: String,
val topic_level_2: String? = null
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package fr.gouv.cacem.monitorenv.domain.repositories

import fr.gouv.cacem.monitorenv.domain.entities.controlThemes.ControlThemeEntity

interface IControlThemeRepository {
fun findControlThemeById(controlThemeId: Int): ControlThemeEntity
fun findControlThemes(): List<ControlThemeEntity>
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.crud.controlThemes

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.entities.controlThemes.ControlThemeEntity
import fr.gouv.cacem.monitorenv.domain.repositories.IControlThemeRepository

import org.slf4j.LoggerFactory

@UseCase
class GetControlThemeById(private val controlThemeRepository: IControlThemeRepository) {
private val logger = LoggerFactory.getLogger(GetControlThemeById::class.java)

fun execute(controlThemeId: Int): ControlThemeEntity {
val controlTheme = controlThemeRepository.findControlThemeById(controlThemeId)

return controlTheme
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package fr.gouv.cacem.monitorenv.domain.use_cases.crud.controlThemes

import fr.gouv.cacem.monitorenv.config.UseCase
import fr.gouv.cacem.monitorenv.domain.entities.controlThemes.ControlThemeEntity
import fr.gouv.cacem.monitorenv.domain.repositories.IControlThemeRepository

import org.slf4j.LoggerFactory

@UseCase
class GetControlThemes(private val controlThemeRepository: IControlThemeRepository) {
private val logger = LoggerFactory.getLogger(GetControlThemes::class.java)

fun execute(): List<ControlThemeEntity> {
val controlThemes = controlThemeRepository.findControlThemes()
logger.info("Found ${controlThemes.size} control topics ")

return controlThemes
}
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package fr.gouv.cacem.monitorenv.infrastructure.api.adapters.outputs

import fr.gouv.cacem.monitorenv.domain.entities.controlThemes.ControlThemeEntity

data class ControlThemeDataOutput(
val id: Int,
val topic_level_1: String,
val topic_level_2: String? = null
) {
companion object {
fun fromControlThemeEntity(controlTheme: ControlThemeEntity) = ControlThemeDataOutput(
id = controlTheme.id,
topic_level_1 = controlTheme.topic_level_1,
topic_level_2 = controlTheme.topic_level_2
)
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package fr.gouv.cacem.monitorenv.infrastructure.api.endpoints

import com.fasterxml.jackson.databind.ObjectMapper
import fr.gouv.cacem.monitorenv.domain.use_cases.crud.controlThemes.GetControlThemes
import fr.gouv.cacem.monitorenv.domain.use_cases.crud.controlThemes.GetControlThemeById
import fr.gouv.cacem.monitorenv.infrastructure.api.adapters.outputs.*


import io.micrometer.core.instrument.MeterRegistry
import io.swagger.v3.oas.annotations.Operation
import io.swagger.v3.oas.annotations.tags.Tag
import org.n52.jackson.datatype.jts.JtsModule
import org.springframework.web.bind.annotation.*
import javax.websocket.server.PathParam

@RestController
@RequestMapping("/bff/v1/controlthemes")
@Tag(name = "Control Themes", description = "API control themes")
class ControlThemesController(
private val getControlThemes: GetControlThemes,
private val getControlThemeById: GetControlThemeById,
meterRegistry: MeterRegistry
) {

@GetMapping("")
@Operation(summary = "Get control themes")
fun getControlThemesController(): String {
val controlThemes = getControlThemes.execute()
val controlThemeEntities = controlThemes.map { ControlThemeDataOutput.fromControlThemeEntity(it) }
val mapper = ObjectMapper()
mapper.registerModule(JtsModule())
return mapper.writeValueAsString(controlThemeEntities)
}

@GetMapping("/{controlThemeId}")
@Operation(summary = "Get regulatory area by Id")
fun getControlThemeByIdController(
@PathParam("controlTheme id")
@PathVariable(name = "controlThemeId")
controlThemeId: Int
): String {
val controlTheme = getControlThemeById.execute(controlThemeId = controlThemeId)
val mapper = ObjectMapper()
mapper.registerModule(JtsModule())
return mapper.writeValueAsString(controlTheme)
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package fr.gouv.cacem.monitorenv.infrastructure.database.model


import fr.gouv.cacem.monitorenv.domain.entities.controlTopics.ControlTopicEntity
import fr.gouv.cacem.monitorenv.domain.entities.controlThemes.ControlThemeEntity
import javax.persistence.*

@Entity
@Table(name = "control_topics")
data class ControlTopicModel(
data class ControlThemeModel(
@Id
@Column(name = "id")
var id: Int,
Expand All @@ -15,17 +15,17 @@ data class ControlTopicModel(
@Column(name = "topic_level_2")
var topic_level_2: String?
) {
fun toControlTopic() = ControlTopicEntity(
fun toControlTheme() = ControlThemeEntity(
id = id,
topic_level_1 = topic_level_1,
topic_level_2 = topic_level_2
)

companion object {
fun fromControlTopicEntity(controlTopic: ControlTopicEntity) = ControlTopicModel(
id = controlTopic.id,
topic_level_1 = controlTopic.topic_level_1,
topic_level_2 = controlTopic.topic_level_2
fun fromControlThemeEntity(controlTheme: ControlThemeEntity) = ControlThemeModel(
id = controlTheme.id,
topic_level_1 = controlTheme.topic_level_1,
topic_level_2 = controlTheme.topic_level_2
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package fr.gouv.cacem.monitorenv.infrastructure.database.repositories

import fr.gouv.cacem.monitorenv.domain.entities.controlThemes.ControlThemeEntity
import fr.gouv.cacem.monitorenv.domain.repositories.IControlThemeRepository
import fr.gouv.cacem.monitorenv.infrastructure.database.repositories.interfaces.IDBControlThemeRepository

import org.springframework.stereotype.Repository

@Repository
class JpaControlThemeRepository(private val dbControlThemeRepository: IDBControlThemeRepository) :
IControlThemeRepository {

override fun findControlThemes(): List<ControlThemeEntity> {
return dbControlThemeRepository.findAll().map { it.toControlTheme() }
}

override fun findControlThemeById(id: Int): ControlThemeEntity {
return dbControlThemeRepository.findById(id).get().toControlTheme()
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package fr.gouv.cacem.monitorenv.infrastructure.database.repositories.interfaces

import fr.gouv.cacem.monitorenv.infrastructure.database.model.ControlTopicModel
import fr.gouv.cacem.monitorenv.infrastructure.database.model.ControlThemeModel
import org.springframework.data.repository.CrudRepository

interface IDBControlTopicRepository : CrudRepository<ControlTopicModel, Int> {
interface IDBControlThemeRepository : CrudRepository<ControlThemeModel, Int> {
}
Loading

0 comments on commit 46c0cb3

Please sign in to comment.