Newer
Older
package de.fraunhofer.iem.dataprovider.gitlab
import de.fraunhofer.iem.dataprovider.logger.getLogger
import org.springframework.web.bind.annotation.*
enum class Platform {
OPEN_CODE,
GITHUB,
}
data class RepositoryChangedDto(val repoId: Long, val platform: Platform)
class GitlabController(private val gitlabService: GitlabService) {
private val logger = getLogger(javaClass)
// TODO: if the parsing of the request body fails we send a stack
// trace back this should be changed to a custom error.
suspend fun repoChanged(@RequestBody repositoryChangedDto: RepositoryChangedDto) {
logger.info("Repo changed POST request for ID ${repositoryChangedDto.repoId} on platform ${repositoryChangedDto.platform} received.")
when (repositoryChangedDto.platform) {
Platform.OPEN_CODE -> gitlabService.queryOpenCodeProject(repositoryChangedDto.repoId)
else -> {
logger.info("Platform currently not supported.")
// TODO: send fitting http response
}
}