WIP
This commit is contained in:
parent
953acb14cc
commit
7c1ebe697c
@ -3,6 +3,9 @@ package net.hostsharing.hsadminng.hs.hosting.managedserver;
|
||||
import net.hostsharing.hsadminng.hs.hosting.generated.api.v1.api.HsHostingManagedserversApi;
|
||||
|
||||
import net.hostsharing.hsadminng.context.Context;
|
||||
import net.hostsharing.hsadminng.hs.hosting.generated.api.v1.model.HsManagedServerInsertResource;
|
||||
import net.hostsharing.hsadminng.hs.hosting.generated.api.v1.model.HsManagedServerPatchResource;
|
||||
import net.hostsharing.hsadminng.hs.hosting.generated.api.v1.model.HsManagedServerResource;
|
||||
import net.hostsharing.hsadminng.mapper.KeyValueMap;
|
||||
import net.hostsharing.hsadminng.mapper.Mapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -31,7 +34,7 @@ public class HsManagedServerController implements HsHostingManagedserversApi {
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public ResponseEntity<List<HsManagedServerConfig>> listManagedServersByDebitorUuid(
|
||||
public ResponseEntity<List<HsManagedServerResource>> listManagedServersByDebitorUuid(
|
||||
final String currentUser,
|
||||
final String assumedRoles,
|
||||
final UUID debitorUuid) {
|
||||
@ -43,6 +46,7 @@ public class HsManagedServerController implements HsHostingManagedserversApi {
|
||||
return ResponseEntity.ok(resources);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public ResponseEntity<HsManagedServerResource> addManagedServer(
|
||||
@ -52,7 +56,7 @@ public class HsManagedServerController implements HsHostingManagedserversApi {
|
||||
|
||||
context.define(currentUser, assumedRoles);
|
||||
|
||||
final var entityToSave = mapper.map(body, net.hostsharing.hsadminng.hs.booking.item.HsManagedServerEntity.class, RESOURCE_TO_ENTITY_POSTMAPPER);
|
||||
final var entityToSave = mapper.map(body, HsManagedServerEntity.class, RESOURCE_TO_ENTITY_POSTMAPPER);
|
||||
|
||||
final var saved = managedServerRepo.save(entityToSave);
|
||||
|
||||
@ -83,7 +87,7 @@ public class HsManagedServerController implements HsHostingManagedserversApi {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public ResponseEntity<Void> deleteBookingIemByUuid(
|
||||
public ResponseEntity<Void> deleteManagedServerUuid(
|
||||
final String currentUser,
|
||||
final String assumedRoles,
|
||||
final UUID managedServerUuid) {
|
||||
@ -107,14 +111,14 @@ public class HsManagedServerController implements HsHostingManagedserversApi {
|
||||
|
||||
final var current = managedServerRepo.findByUuid(managedServerUuid).orElseThrow();
|
||||
|
||||
new net.hostsharing.hsadminng.hs.booking.item.HsManagedServerEntityPatcher(current).apply(body);
|
||||
new HsManagedServerEntityPatcher(current).apply(body);
|
||||
|
||||
final var saved = managedServerRepo.save(current);
|
||||
final var mapped = mapper.map(saved, HsManagedServerResource.class, ENTITY_TO_RESOURCE_POSTMAPPER);
|
||||
return ResponseEntity.ok(mapped);
|
||||
}
|
||||
|
||||
final BiConsumer<net.hostsharing.hsadminng.hs.booking.item.HsManagedServerEntity, HsManagedServerResource> ENTITY_TO_RESOURCE_POSTMAPPER = (entity, resource) -> {
|
||||
final BiConsumer<HsManagedServerEntity, HsManagedServerResource> ENTITY_TO_RESOURCE_POSTMAPPER = (entity, resource) -> {
|
||||
resource.setValidFrom(entity.getValidity().lower());
|
||||
if (entity.getValidity().hasUpperBound()) {
|
||||
resource.setValidTo(entity.getValidity().upper().minusDays(1));
|
||||
@ -122,8 +126,8 @@ public class HsManagedServerController implements HsHostingManagedserversApi {
|
||||
};
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
final BiConsumer<HsManagedServerInsertResource, net.hostsharing.hsadminng.hs.booking.item.HsManagedServerEntity> RESOURCE_TO_ENTITY_POSTMAPPER = (resource, entity) -> {
|
||||
final BiConsumer<HsManagedServerInsertResource, HsManagedServerEntity> RESOURCE_TO_ENTITY_POSTMAPPER = (resource, entity) -> {
|
||||
entity.setValidity(toPostgresDateRange(resource.getValidFrom(), resource.getValidTo()));
|
||||
entity.putResources(KeyValueMap.from(resource.getResources()));
|
||||
entity.putResources(KeyValueMap.from(resource.getConfig()));
|
||||
};
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package net.hostsharing.hsadminng.hs.hosting.managedserver;
|
||||
|
||||
import net.hostsharing.hsadminng.hs.hosting.generated.api.v1.model.HsManagedServerPatchResource;
|
||||
import net.hostsharing.hsadminng.mapper.EntityPatcher;
|
||||
import net.hostsharing.hsadminng.mapper.KeyValueMap;
|
||||
import net.hostsharing.hsadminng.mapper.OptionalFromJson;
|
||||
@ -19,8 +20,8 @@ public class HsManagedServerEntityPatcher implements EntityPatcher<HsManagedServ
|
||||
public void apply(final HsManagedServerPatchResource resource) {
|
||||
OptionalFromJson.of(resource.getCaption())
|
||||
.ifPresent(entity::setCaption);
|
||||
Optional.ofNullable(resource.getResources())
|
||||
.ifPresent(r -> entity.getResources().patch(KeyValueMap.from(resource.getResources())));
|
||||
Optional.ofNullable(resource.getConfig())
|
||||
.ifPresent(r -> entity.getResources().patch(KeyValueMap.from(resource.getConfig())));
|
||||
OptionalFromJson.of(resource.getValidTo())
|
||||
.ifPresent(entity::setValidTo);
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ patch:
|
||||
content:
|
||||
'application/json':
|
||||
schema:
|
||||
$ref: 'hs-hosting-managedserver-schemas.yaml#/components/schemas/HsManagedServerPatch'
|
||||
$ref: 'hs-hosting-managedserver-schemas.yaml#/components/schemas/HsManagedServer'
|
||||
"401":
|
||||
$ref: 'error-responses.yaml#/components/responses/Unauthorized'
|
||||
"403":
|
||||
|
Loading…
Reference in New Issue
Block a user