cowr_upgram/src/main/java/route/CtrlRole.kt

91 lines
2.3 KiB
Kotlin
Raw Normal View History

2017-09-25 10:06:58 +08:00
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: Int): JSONResponse {
val role = service.getRoleById(id)
if (role == null) {
return responseNotFoundById()
}
return responseSuccess(role)
}
@GET("/byUserId/{userId: [0-9]+}")
@Produces(Produces.JSON)
fun getRoleByUserId(@Param 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.createEntityFromBody(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 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()
}
}
}