ResponseFactory.java
package se.jobtechdev.personaldatagateway.api.util;
import se.jobtechdev.personaldatagateway.api.generated.entities.*;
import se.jobtechdev.personaldatagateway.api.generated.model.*;
import java.time.LocalDate;
import java.util.Optional;
import java.util.UUID;
public final class ResponseFactory {
private ResponseFactory() {
}
public static Organization createOrganization(OrganizationEntity organization) {
final var response =
new Organization(
organization.getId(),
organization.getOrgNr(),
organization.getName(),
organization.getCreated(),
organization.getUpdated());
response.setDeleted(organization.getDeleted());
return response;
}
public static OrganizationFaq createOrganizationFaq(UUID organizationId, FaqEntity faq) {
return new OrganizationFaq(
faq.getId(),
organizationId,
faq.getLang(),
faq.getTitle(),
faq.getContent(),
faq.getCreated(),
faq.getUpdated(),
faq.getDeleted());
}
public static Client createClient(ClientEntity client) {
final var response =
new Client(
client.getId(),
client.getOrganizationEntity().getId(),
client.getName(),
Role.fromValue(client.getRole()),
client.getCreated(),
client.getUpdated());
response.setRevoked(client.getRevoked());
return response;
}
public static ClientRedirect createClientRedirect(RedirectEntity redirect) {
final var response =
new ClientRedirect(
redirect.getId(),
redirect.getClientEntity().getId(),
redirect.getRedirectUrl(),
redirect.getCreated(),
redirect.getUpdated());
response.setDeleted(redirect.getDeleted());
return response;
}
public static ClientKeyReset createClientKeyReset(ClientKeyResetEntity clientKeyResetEntity) {
final var clientKeyReset = new ClientKeyReset(clientKeyResetEntity.getCode(), clientKeyResetEntity.getCreated(), clientKeyResetEntity.getUpdated());
clientKeyReset.setAccessed(clientKeyResetEntity.getAccessed());
return clientKeyReset;
}
public static ClientKeyOtc createClientKeyOtc(ClientKeyResetEntity clientKeyReset) {
return new ClientKeyOtc(clientKeyReset.getCode());
}
public static Datasource createDatasource(DatasourceEntity datasource) {
final var response =
new Datasource(
datasource.getId(),
datasource.getOrganizationEntity().getId(),
datasource.getName(),
datasource.getCreated(),
datasource.getUpdated());
response.setDeleted(datasource.getDeleted());
return response;
}
public static DatasourceConfig createDatasourceConfig(DatasourceEntity datasource) {
final var response =
new DatasourceConfig(
datasource.getId(),
datasource.getPath(),
datasource.getMethod());
response.setHeaders(datasource.getHeaders());
return response;
}
public static DatasourceFaq createDatasourceFaq(UUID datasourceId, FaqEntity faq) {
final var response =
new DatasourceFaq(
faq.getId(),
datasourceId,
faq.getLang(),
faq.getTitle(),
faq.getContent(),
faq.getCreated(),
faq.getUpdated());
response.setDeleted(faq.getDeleted());
return response;
}
public static Sharing createSharing(SharingEntity sharing) {
final var response =
new Sharing(
sharing.getId(),
sharing.getDatasourceEntity().getId(),
sharing.getPersonEntity().getId(),
null == sharing.getClientEntity(),
sharing.getCreated(),
sharing.getUpdated());
response.clientId(Optional.ofNullable(sharing.getClientEntity()).map(ClientEntity::getId).orElse(null));
response.setRevoked(sharing.getRevoked());
response.setExpires(sharing.getExpires());
return response;
}
public static DataAccess createDataAccess(SharingAccessEntity sharingAccess) {
return new DataAccess(
sharingAccess.getId(),
sharingAccess.getSharingEntity().getId(),
sharingAccess.getCreated(),
sharingAccess.getUpdated(),
sharingAccess.getAccessed());
}
public static ApiInfo createApiInfo(
String apiName,
String apiVersion,
String buildVersion,
LocalDate apiReleased,
java.net.URL apiDocumentation,
ApiStatus apiStatus) {
return new ApiInfo(
apiName, apiVersion, buildVersion, apiReleased, apiDocumentation, apiStatus);
}
public static Health createHealth(Status status, HealthChecks checks) {
return new Health(status, checks);
}
}