Adds stubs for some basic Team CRUD
This commit is contained in:
@@ -0,0 +1,27 @@
|
|||||||
|
package net.halfbinary.scavengerhuntapi.controller
|
||||||
|
|
||||||
|
import jakarta.validation.Valid
|
||||||
|
import net.halfbinary.scavengerhuntapi.model.HuntId
|
||||||
|
import net.halfbinary.scavengerhuntapi.model.request.TeamRequest
|
||||||
|
import net.halfbinary.scavengerhuntapi.model.response.TeamResponse
|
||||||
|
import org.springframework.http.ResponseEntity
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping
|
||||||
|
import org.springframework.web.bind.annotation.RestController
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("hunt/{id}/team")
|
||||||
|
class TeamController {
|
||||||
|
@GetMapping
|
||||||
|
fun listHuntTeams(@PathVariable id: HuntId): ResponseEntity<List<TeamResponse>> {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping
|
||||||
|
fun createHuntTeam(@PathVariable id: HuntId, @Valid @RequestBody team: TeamRequest) {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package net.halfbinary.scavengerhuntapi.model.converter
|
||||||
|
|
||||||
|
import net.halfbinary.scavengerhuntapi.model.domain.Team
|
||||||
|
import net.halfbinary.scavengerhuntapi.model.record.TeamRecord
|
||||||
|
import net.halfbinary.scavengerhuntapi.model.request.TeamRequest
|
||||||
|
import net.halfbinary.scavengerhuntapi.model.response.TeamResponse
|
||||||
|
|
||||||
|
fun TeamRequest.toDomain(): Team {
|
||||||
|
return Team(name = name)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Team.toRecord(): TeamRecord {
|
||||||
|
return TeamRecord(id, name)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun TeamRecord.toDomain(): Team {
|
||||||
|
return Team(id, name)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Team.toResponse(): TeamResponse {
|
||||||
|
return TeamResponse(id, name)
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package net.halfbinary.scavengerhuntapi.model.domain
|
||||||
|
|
||||||
|
import net.halfbinary.scavengerhuntapi.model.TeamId
|
||||||
|
import java.util.UUID
|
||||||
|
|
||||||
|
data class Team(
|
||||||
|
val id: TeamId = UUID.randomUUID(),
|
||||||
|
val name: String
|
||||||
|
)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package net.halfbinary.scavengerhuntapi.model.request
|
||||||
|
|
||||||
|
data class TeamRequest(
|
||||||
|
val name: String
|
||||||
|
)
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package net.halfbinary.scavengerhuntapi.model.response
|
||||||
|
|
||||||
|
import net.halfbinary.scavengerhuntapi.model.TeamId
|
||||||
|
|
||||||
|
data class TeamResponse(
|
||||||
|
val id: TeamId,
|
||||||
|
val name: String
|
||||||
|
)
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package net.halfbinary.scavengerhuntapi.service
|
||||||
|
|
||||||
|
import net.halfbinary.scavengerhuntapi.model.HuntId
|
||||||
|
import net.halfbinary.scavengerhuntapi.model.TeamId
|
||||||
|
import net.halfbinary.scavengerhuntapi.model.domain.Team
|
||||||
|
import org.springframework.stereotype.Service
|
||||||
|
|
||||||
|
@Service
|
||||||
|
class TeamService {
|
||||||
|
fun getListOfTeamsForHunt(huntId: HuntId): List<Team> {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun createTeam(name: String): Team {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun addTeamToHunt(huntId: HuntId, teamId: TeamId) {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user