Restrict room create/update to admins
All checks were successful
build-and-deploy / build-deploy (push) Successful in 36s
All checks were successful
build-and-deploy / build-deploy (push) Successful in 36s
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
package com.android.trisolarisserver.controller.room
|
package com.android.trisolarisserver.controller.room
|
||||||
import com.android.trisolarisserver.controller.common.parseDate
|
import com.android.trisolarisserver.controller.common.parseDate
|
||||||
import com.android.trisolarisserver.controller.common.requireMember
|
|
||||||
import com.android.trisolarisserver.controller.common.requirePrincipal
|
import com.android.trisolarisserver.controller.common.requirePrincipal
|
||||||
|
import com.android.trisolarisserver.controller.common.requireRole
|
||||||
|
|
||||||
import com.android.trisolarisserver.component.auth.PropertyAccess
|
import com.android.trisolarisserver.component.auth.PropertyAccess
|
||||||
import com.android.trisolarisserver.component.room.RoomBoardEvents
|
import com.android.trisolarisserver.component.room.RoomBoardEvents
|
||||||
@@ -280,8 +280,7 @@ class Rooms(
|
|||||||
@AuthenticationPrincipal principal: MyPrincipal?,
|
@AuthenticationPrincipal principal: MyPrincipal?,
|
||||||
@RequestBody request: RoomUpsertRequest
|
@RequestBody request: RoomUpsertRequest
|
||||||
): RoomResponse {
|
): RoomResponse {
|
||||||
requirePrincipal(principal)
|
requireRole(propertyAccess, propertyId, principal, Role.ADMIN)
|
||||||
propertyAccess.requireMember(propertyId, principal!!.userId)
|
|
||||||
|
|
||||||
if (roomRepo.existsByPropertyIdAndRoomNumber(propertyId, request.roomNumber)) {
|
if (roomRepo.existsByPropertyIdAndRoomNumber(propertyId, request.roomNumber)) {
|
||||||
throw ResponseStatusException(HttpStatus.CONFLICT, "Room number already exists for property")
|
throw ResponseStatusException(HttpStatus.CONFLICT, "Room number already exists for property")
|
||||||
@@ -327,8 +326,7 @@ class Rooms(
|
|||||||
@AuthenticationPrincipal principal: MyPrincipal?,
|
@AuthenticationPrincipal principal: MyPrincipal?,
|
||||||
@RequestBody request: RoomUpsertRequest
|
@RequestBody request: RoomUpsertRequest
|
||||||
): RoomResponse {
|
): RoomResponse {
|
||||||
requirePrincipal(principal)
|
requireRole(propertyAccess, propertyId, principal, Role.ADMIN)
|
||||||
propertyAccess.requireMember(propertyId, principal!!.userId)
|
|
||||||
|
|
||||||
val room = roomRepo.findByIdAndPropertyId(roomId, propertyId)
|
val room = roomRepo.findByIdAndPropertyId(roomId, propertyId)
|
||||||
?: throw ResponseStatusException(HttpStatus.NOT_FOUND, "Room not found for property")
|
?: throw ResponseStatusException(HttpStatus.NOT_FOUND, "Room not found for property")
|
||||||
|
|||||||
Reference in New Issue
Block a user