package com.vaessl.app.connection; import com.fasterxml.jackson.annotation.JsonProperty; import com.vaessl.app.shared.ServiceType; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; public record ConnectionRequest(@NotBlank(message = "App URL is mandatory") String appUrl, @NotNull(message = "Service type is mandatory") ServiceType serviceType, String username, String password, String apiKey, @JsonProperty(defaultValue = "false") Boolean stayLoggedIn) { public ConnectionRequest { if (stayLoggedIn == null) { stayLoggedIn = false; } } public ConnectionRequest(String appUrl, ServiceType serviceType, String username, String password, Boolean stayLoggedIn) { this(appUrl, serviceType, username, password, null, stayLoggedIn); } }