feature/implement-external-login-api #30
@@ -31,8 +31,8 @@ public class HomeBoxConnectionProvider implements ConnectionProvider {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ConnectionResponse authenticate(ConnectionRequest request) {
|
public ConnectionResponse authenticate(ConnectionRequest request) {
|
||||||
Map<String, Object> homeboxPayload = Map.of("username", request.credentials().get("username"),
|
Map<String, Object> homeboxPayload = Map.of("username", request.username(),
|
||||||
"password", request.credentials().get("password"), "stayLoggedIn",
|
"password", request.password(), "stayLoggedIn",
|
||||||
request.stayLoggedIn());
|
request.stayLoggedIn());
|
||||||
|
|
||||||
HomeboxLoginResponse hbResponse = restClientBuilder.baseUrl(request.appUrl())
|
HomeboxLoginResponse hbResponse = restClientBuilder.baseUrl(request.appUrl())
|
||||||
@@ -57,7 +57,7 @@ public class HomeBoxConnectionProvider implements ConnectionProvider {
|
|||||||
@Override
|
@Override
|
||||||
public ConnectionEntity findUniqueConnectionEntry(ConnectionRequest request) {
|
public ConnectionEntity findUniqueConnectionEntry(ConnectionRequest request) {
|
||||||
|
|
||||||
return cRepository.findByAppUrlAndUsername(request.appUrl(), request.credentials().get("username"));
|
return cRepository.findByAppUrlAndUsername(request.appUrl(), request.username());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,16 +1,15 @@
|
|||||||
package com.vaessl.app.dto;
|
package com.vaessl.app.dto;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
|
||||||
|
|
||||||
public record ConnectionRequest(
|
public record ConnectionRequest(
|
||||||
@NotBlank(message = "App URL is mandatory") String appUrl,
|
@NotBlank(message = "App URL is mandatory") String appUrl,
|
||||||
@NotBlank(message = "Service type is mandatory") String serviceType,
|
@NotBlank(message = "Service type is mandatory") String serviceType,
|
||||||
@NotEmpty(message = "Credentials are mandatory") Map<String, String> credentials,
|
String username,
|
||||||
|
String password,
|
||||||
|
String apiKey,
|
||||||
@JsonProperty(defaultValue = "false") Boolean stayLoggedIn) {
|
@JsonProperty(defaultValue = "false") Boolean stayLoggedIn) {
|
||||||
|
|
||||||
public ConnectionRequest {
|
public ConnectionRequest {
|
||||||
@@ -18,4 +17,9 @@ public record ConnectionRequest(
|
|||||||
stayLoggedIn = false;
|
stayLoggedIn = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ConnectionRequest(String appUrl, String serviceType, String username, String password,
|
||||||
|
Boolean stayLoggedIn) {
|
||||||
|
this(appUrl, serviceType, username, password, null, stayLoggedIn);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user