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