diff --git a/src/main/java/net/hostsharing/hsadminng/hs/hosting/managedserver/HsManagedServerController.java b/src/main/java/net/hostsharing/hsadminng/hs/hosting/managedserver/HsManagedServerController.java index 8a78d3e6..92992360 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/hosting/managedserver/HsManagedServerController.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/hosting/managedserver/HsManagedServerController.java @@ -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> listManagedServersByDebitorUuid( + public ResponseEntity> 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 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 deleteBookingIemByUuid( + public ResponseEntity 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 ENTITY_TO_RESOURCE_POSTMAPPER = (entity, resource) -> { + final BiConsumer 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 RESOURCE_TO_ENTITY_POSTMAPPER = (resource, entity) -> { + final BiConsumer 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())); }; } diff --git a/src/main/java/net/hostsharing/hsadminng/hs/hosting/managedserver/HsManagedServerEntityPatcher.java b/src/main/java/net/hostsharing/hsadminng/hs/hosting/managedserver/HsManagedServerEntityPatcher.java index c5e9cb55..e39d8893 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/hosting/managedserver/HsManagedServerEntityPatcher.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/hosting/managedserver/HsManagedServerEntityPatcher.java @@ -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 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); } diff --git a/src/main/resources/api-definition/hs-hosting/hs-hosting-managedservers-with-uuid.yaml b/src/main/resources/api-definition/hs-hosting/hs-hosting-managedservers-with-uuid.yaml index fefa859d..1c7354db 100644 --- a/src/main/resources/api-definition/hs-hosting/hs-hosting-managedservers-with-uuid.yaml +++ b/src/main/resources/api-definition/hs-hosting/hs-hosting-managedservers-with-uuid.yaml @@ -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":