package route import model.JSONResponse import model.ModelRole import ro.pippo.controller.* import ro.pippo.controller.extractor.Param import service.Service import util.responseInvalidParams import util.responseNotFoundById import util.responseOperationFailed import util.responseSuccess @Path("/role") class CtrlRole : Controller() { val service = Service() @GET("/{id: [0-9]+}") @Produces(Produces.JSON) fun getRoleById(@Param("id") id: Int): JSONResponse { val role = service.getRoleById(id) if (role == null) { return responseNotFoundById() } return responseSuccess(role) } @GET("/{page: [0-9]+}/{size: [0-9]+}") @Produces(Produces.JSON) fun pagi(@Param("page") num:Int, @Param("size") size:Int) :JSONResponse { val list = service.pagiRole(num,size) return responseSuccess(list) } @GET("/byUser/{userId: [0-9]+}") @Produces(Produces.JSON) fun getRoleByUserId(@Param("userId") userId: Int): JSONResponse { val user = service.getUserById(userId) if (user == null) { return responseNotFoundById() } val role = service.getRoleByUserId(userId) if (role == null) { return responseNotFoundById() } return responseSuccess(role) } @POST("/") @Produces(Produces.JSON) fun addRole(): JSONResponse { val role: ModelRole? = request.createEntityFromParameters(ModelRole::class.java) if (role == null) { return responseInvalidParams() } val isSuccess = service.saveRole(role) return if (isSuccess) { responseSuccess(role) } else { responseOperationFailed() } } @POST("/del/{id: [0-9]+}") @Produces(Produces.JSON) fun delRole(@Param("id") roleId: Int): JSONResponse { val role = service.getRoleById(roleId) if (role == null) { responseNotFoundById() } val isSuccess = service.deleteRole(roleId) return if (isSuccess) { responseSuccess(roleId) } else { responseOperationFailed() } } @POST("/{id: [0-9]+}") @Produces(Produces.JSON) fun updateRole():JSONResponse { val role: ModelRole? = request.createEntityFromBody(ModelRole::class.java) if (role == null) { return responseNotFoundById() } val isSuccess = service.updateRole(role) return if (isSuccess) { responseSuccess(role) } else { responseOperationFailed() } } }