in app/controllers/ChannelTestsController.scala [130:146]
def reorderList = authActions.write.async(circe.json[List[String]]) { request =>
runWithLockStatus { case VersionedS3Data(lockStatus, lockFileVersion) =>
if (lockStatus.email.contains(request.user.email)) {
logger.info(s"${request.user.email} is reordering $channel list")
val testNames: List[String] = request.body
val result = for {
_ <- dynamoTests.setPriorities(testNames, channel)
_ <- setLockStatus(VersionedS3Data(LockStatus.unlocked, lockFileVersion))
} yield Ok("updated")
result.tapError(error => UIO(logger.error(s"Failed to update $channel test list (user ${request.user.email}: $error")))
} else {
IO.succeed(Conflict(s"You do not currently have $channel test list open for edit"))
}
}
}