diff --git a/src/domain/portfolios/PortfolioController.kt b/src/domain/portfolios/PortfolioController.kt index 42deee8..8a2d19b 100644 --- a/src/domain/portfolios/PortfolioController.kt +++ b/src/domain/portfolios/PortfolioController.kt @@ -4,30 +4,28 @@ import auth.Access import auth.Role import auth.User import io.jooby.Context -import io.jooby.annotations.GET -import io.jooby.annotations.POST -import io.jooby.annotations.PUT -import io.jooby.annotations.PathParam +import io.jooby.annotations.* import io.jooby.exception.UnauthorizedException import java.util.* -class PortfolioController(private val repository: PortfolioRepository) { +@Path("/portfolios") +class PortfolioController(private val portfolioRepository: PortfolioRepository) { - @GET("/portfolios/list") @Access(Role.USER) + @GET @Access(Role.USER) fun listAll(ctx: Context): List = - repository.listAll(user(ctx)) + portfolioRepository.listAll(user(ctx)) - @GET("/portfolios/{id}") + @GET("/{id}") fun findById(@PathParam id: String, ctx: Context): Portfolio = - repository.findById(UUID.fromString(id), user(ctx)) ?: throw NoSuchElementException() + portfolioRepository.findById(UUID.fromString(id), user(ctx)) ?: throw NoSuchElementException() - @POST("/portfolios") - fun create(@PathParam portfolio: Portfolio, ctx: Context): Portfolio = - repository.create(portfolio, user(ctx)) + @POST + fun create(portfolio: Portfolio, ctx: Context): Portfolio = + portfolioRepository.create(portfolio, user(ctx)) - @PUT("/portfolios/{id}") - fun update(@PathParam portfolio: Portfolio, ctx: Context): Portfolio = - repository.update(portfolio, user(ctx)) + @PUT + fun update(portfolio: Portfolio, ctx: Context): Portfolio = + portfolioRepository.update(portfolio, user(ctx)) private fun user(ctx: Context): User = ctx.getUser() ?: throw UnauthorizedException("login.unauthorized")