truncate seconds

This commit is contained in:
2021-11-26 07:26:23 +01:00
parent 430d1c731d
commit 9ad604d012
4 changed files with 164 additions and 140 deletions
@@ -4,6 +4,7 @@
package de.bstly.we.jitsi.controller.validation;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -13,6 +14,7 @@ import org.springframework.validation.Validator;
import de.bstly.we.businesslogic.SystemPropertyManager;
import de.bstly.we.businesslogic.UserManager;
import de.bstly.we.businesslogic.support.InstantHelper;
import de.bstly.we.jitsi.model.JitsiRoom;
import de.bstly.we.jitsi.model.QJitsiRoom;
import de.bstly.we.jitsi.repository.JitsiRoomRepository;
@@ -65,9 +67,9 @@ public class JitsiRoomValidator implements Validator {
/**
* Validate.
*
* @param owner the owner
* @param owner the owner
* @param roomName the room name
* @param errors the errors
* @param errors the errors
*/
public void validate(Long owner, String roomName, Errors errors) {
if (owner == null) {
@@ -95,7 +97,7 @@ public class JitsiRoomValidator implements Validator {
* Validate room.
*
* @param roomName the room name
* @param errors the errors
* @param errors the errors
*/
public void validateRoom(String roomName, Errors errors) {
for (String systemRoomName : systemPropertyManager.get(RESERVED_JITSI_ROOMS, "")
@@ -113,10 +115,24 @@ public class JitsiRoomValidator implements Validator {
* Validate expiry.
*
* @param jitsiRoom the jitsi room
* @param errors the errors
* @param errors the errors
*/
public void validateExpiry(JitsiRoom jitsiRoom, Errors errors) {
if (jitsiRoom.getStarts() != null) {
jitsiRoom.setStarts(InstantHelper.truncate(jitsiRoom.getStarts(), ChronoUnit.SECONDS));
}
if (jitsiRoom.getModerationStarts() != null) {
jitsiRoom.setModerationStarts(
InstantHelper.truncate(jitsiRoom.getModerationStarts(), ChronoUnit.SECONDS));
}
if (jitsiRoom.getExpires() != null) {
jitsiRoom
.setExpires(InstantHelper.truncate(jitsiRoom.getExpires(), ChronoUnit.SECONDS));
}
// no moderation start without start
if (jitsiRoom.getStarts() == null && jitsiRoom.getModerationStarts() != null) {
errors.rejectValue("moderationStarts", "NOT_VALID");