From 6cde8ae2a9dd66465806436386ed471cb0bdc8f8 Mon Sep 17 00:00:00 2001 From: sgiannopoulos Date: Mon, 23 Oct 2023 11:15:08 +0300 Subject: [PATCH] add cross origin config --- .../DescriptionTemplateTypeService.java | 2 +- .../DescriptionTemplateTypeServiceImpl.java | 3 +-- .../service/{ => entitydoi}/EntityDoiService.java | 2 +- .../service/{ => entitydoi}/EntityDoiServiceImpl.java | 11 +---------- dmp-backend/web/pom.xml | 8 ++++++++ .../web/src/main/java/eu/eudat/controllers/Admin.java | 5 +---- .../v2/DescriptionTemplateTypeController.java | 3 +-- .../eudat/controllers/v2/DmpBlueprintController.java | 1 - .../eu/eudat/controllers/v2/EntityDoiController.java | 3 +-- .../controllers/v2/ExternalReferencesController.java | 1 - .../controllers/v2/ExternalValidationController.java | 1 - .../eu/eudat/controllers/v2/PrincipalController.java | 1 - .../controllers/v2/SupportiveMaterialController.java | 1 - .../java/eu/eudat/logic/managers/AdminManager.java | 2 +- .../eudat/logic/managers/DatasetProfileManager.java | 2 +- .../web/src/main/resources/config/application.yml | 1 + .../web/src/main/resources/config/cors-devel.yml | 3 +++ dmp-backend/web/src/main/resources/config/cors.yml | 7 +++++++ 18 files changed, 28 insertions(+), 29 deletions(-) rename dmp-backend/core/src/main/java/eu/eudat/service/{ => descriptiontemplatetype}/DescriptionTemplateTypeService.java (94%) rename dmp-backend/core/src/main/java/eu/eudat/service/{ => descriptiontemplatetype}/DescriptionTemplateTypeServiceImpl.java (98%) rename dmp-backend/core/src/main/java/eu/eudat/service/{ => entitydoi}/EntityDoiService.java (95%) rename dmp-backend/core/src/main/java/eu/eudat/service/{ => entitydoi}/EntityDoiServiceImpl.java (92%) create mode 100644 dmp-backend/web/src/main/resources/config/cors-devel.yml create mode 100644 dmp-backend/web/src/main/resources/config/cors.yml diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeService.java b/dmp-backend/core/src/main/java/eu/eudat/service/descriptiontemplatetype/DescriptionTemplateTypeService.java similarity index 94% rename from dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeService.java rename to dmp-backend/core/src/main/java/eu/eudat/service/descriptiontemplatetype/DescriptionTemplateTypeService.java index a95a300d1..6746ff861 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeService.java +++ b/dmp-backend/core/src/main/java/eu/eudat/service/descriptiontemplatetype/DescriptionTemplateTypeService.java @@ -1,4 +1,4 @@ -package eu.eudat.service; +package eu.eudat.service.descriptiontemplatetype; import eu.eudat.model.DescriptionTemplateType; import eu.eudat.model.persist.DescriptionTemplateTypePersist; diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeServiceImpl.java b/dmp-backend/core/src/main/java/eu/eudat/service/descriptiontemplatetype/DescriptionTemplateTypeServiceImpl.java similarity index 98% rename from dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeServiceImpl.java rename to dmp-backend/core/src/main/java/eu/eudat/service/descriptiontemplatetype/DescriptionTemplateTypeServiceImpl.java index ee142e740..4a708c62c 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeServiceImpl.java +++ b/dmp-backend/core/src/main/java/eu/eudat/service/descriptiontemplatetype/DescriptionTemplateTypeServiceImpl.java @@ -1,4 +1,4 @@ -package eu.eudat.service; +package eu.eudat.service.descriptiontemplatetype; import eu.eudat.authorization.AuthorizationFlags; import eu.eudat.authorization.Permission; @@ -31,7 +31,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.MessageSource; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.stereotype.Service; -import org.springframework.web.context.annotation.RequestScope; import javax.management.InvalidApplicationException; import java.time.Instant; diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/EntityDoiService.java b/dmp-backend/core/src/main/java/eu/eudat/service/entitydoi/EntityDoiService.java similarity index 95% rename from dmp-backend/core/src/main/java/eu/eudat/service/EntityDoiService.java rename to dmp-backend/core/src/main/java/eu/eudat/service/entitydoi/EntityDoiService.java index df6211d19..ec66db9b7 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/service/EntityDoiService.java +++ b/dmp-backend/core/src/main/java/eu/eudat/service/entitydoi/EntityDoiService.java @@ -1,4 +1,4 @@ -package eu.eudat.service; +package eu.eudat.service.entitydoi; import eu.eudat.model.DescriptionTemplateType; import eu.eudat.model.EntityDoi; diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/EntityDoiServiceImpl.java b/dmp-backend/core/src/main/java/eu/eudat/service/entitydoi/EntityDoiServiceImpl.java similarity index 92% rename from dmp-backend/core/src/main/java/eu/eudat/service/EntityDoiServiceImpl.java rename to dmp-backend/core/src/main/java/eu/eudat/service/entitydoi/EntityDoiServiceImpl.java index a9c503b7b..b0ad765f3 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/service/EntityDoiServiceImpl.java +++ b/dmp-backend/core/src/main/java/eu/eudat/service/entitydoi/EntityDoiServiceImpl.java @@ -1,4 +1,4 @@ -package eu.eudat.service; +package eu.eudat.service.entitydoi; import eu.eudat.authorization.AuthorizationFlags; import eu.eudat.authorization.Permission; @@ -6,20 +6,14 @@ import eu.eudat.commons.JsonHandlingService; import eu.eudat.commons.enums.EntityType; import eu.eudat.commons.enums.IsActive; import eu.eudat.convention.ConventionService; -import eu.eudat.data.DescriptionTemplateTypeEntity; import eu.eudat.data.EntityDoiEntity; import eu.eudat.data.old.DMP; import eu.eudat.errorcode.ErrorThesaurusProperties; -import eu.eudat.event.DescriptionTemplateTypeTouchedEvent; import eu.eudat.event.EntityDoiTouchedEvent; import eu.eudat.event.EventBroker; -import eu.eudat.model.DescriptionTemplateType; import eu.eudat.model.EntityDoi; -import eu.eudat.model.builder.DescriptionTemplateTypeBuilder; import eu.eudat.model.builder.EntityDoiBuilder; -import eu.eudat.model.deleter.DescriptionTemplateTypeDeleter; import eu.eudat.model.deleter.EntityDoiDeleter; -import eu.eudat.model.persist.DescriptionTemplateTypePersist; import eu.eudat.model.persist.EntityDoiPersist; import gr.cite.commons.web.authz.service.AuthorizationService; import gr.cite.tools.data.builder.BuilderFactory; @@ -38,14 +32,11 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.MessageSource; import org.springframework.context.i18n.LocaleContextHolder; -import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import javax.management.InvalidApplicationException; import java.time.Instant; -import java.util.Date; import java.util.List; -import java.util.Set; import java.util.UUID; @Service diff --git a/dmp-backend/web/pom.xml b/dmp-backend/web/pom.xml index fd38b3afd..b46410b8c 100644 --- a/dmp-backend/web/pom.xml +++ b/dmp-backend/web/pom.xml @@ -191,6 +191,14 @@ saaj-impl 3.0.0-M2 + + + + + gr.cite + cors-web + 2.1.0 + diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/Admin.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/Admin.java index dfee6159a..cc1a64aff 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/Admin.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/Admin.java @@ -19,7 +19,7 @@ import eu.eudat.models.data.datasetprofile.DatasetProfileListingModel; import eu.eudat.models.data.helpers.common.DataTableData; import eu.eudat.models.data.helpers.responses.ResponseItem; import eu.eudat.models.data.user.composite.PagedDatasetProfile; -import eu.eudat.service.DescriptionTemplateTypeService; +import eu.eudat.service.descriptiontemplatetype.DescriptionTemplateTypeService; import eu.eudat.types.ApiMessageCode; import eu.eudat.types.MetricNames; import gr.cite.commons.web.authz.service.AuthorizationService; @@ -37,9 +37,6 @@ import java.io.IOException; import java.util.List; import java.util.UUID; -import static eu.eudat.types.Authorities.ADMIN; -import static eu.eudat.types.Authorities.DATASET_PROFILE_MANAGER; - @RestController @CrossOrigin @RequestMapping(value = {"/api/admin/"}) diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/DescriptionTemplateTypeController.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/DescriptionTemplateTypeController.java index 816f97b63..a2e0ba4a1 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/DescriptionTemplateTypeController.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/DescriptionTemplateTypeController.java @@ -10,7 +10,7 @@ import eu.eudat.model.persist.DescriptionTemplateTypePersist; import eu.eudat.model.result.QueryResult; import eu.eudat.query.DescriptionTemplateTypeQuery; import eu.eudat.query.lookup.DescriptionTemplateTypeLookup; -import eu.eudat.service.DescriptionTemplateTypeService; +import eu.eudat.service.descriptiontemplatetype.DescriptionTemplateTypeService; import gr.cite.tools.auditing.AuditService; import gr.cite.tools.data.builder.BuilderFactory; import gr.cite.tools.data.censor.CensorFactory; @@ -32,7 +32,6 @@ import javax.management.InvalidApplicationException; import java.util.*; @RestController -@CrossOrigin @RequestMapping(path = "api/description-template-type") public class DescriptionTemplateTypeController { diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/DmpBlueprintController.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/DmpBlueprintController.java index db0d6a1c5..d89da4267 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/DmpBlueprintController.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/DmpBlueprintController.java @@ -30,7 +30,6 @@ import javax.management.InvalidApplicationException; import java.util.*; @RestController -@CrossOrigin @RequestMapping(path = "api/dmp-blueprint") public class DmpBlueprintController { diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/EntityDoiController.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/EntityDoiController.java index 812c23565..7f9a4eba9 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/EntityDoiController.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/EntityDoiController.java @@ -11,7 +11,7 @@ import eu.eudat.model.persist.EntityDoiPersist; import eu.eudat.model.result.QueryResult; import eu.eudat.query.EntityDoiQuery; import eu.eudat.query.lookup.EntityDoiLookup; -import eu.eudat.service.EntityDoiService; +import eu.eudat.service.entitydoi.EntityDoiService; import gr.cite.tools.auditing.AuditService; import gr.cite.tools.data.builder.BuilderFactory; import gr.cite.tools.data.censor.CensorFactory; @@ -33,7 +33,6 @@ import javax.management.InvalidApplicationException; import java.util.*; @RestController -@CrossOrigin @RequestMapping(path = "api/entity-doi") public class EntityDoiController { diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/ExternalReferencesController.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/ExternalReferencesController.java index 172dace66..1cd510016 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/ExternalReferencesController.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/ExternalReferencesController.java @@ -28,7 +28,6 @@ import javax.management.InvalidApplicationException; import java.util.List; @RestController -@CrossOrigin @RequestMapping(path = {"api/external-references"}) public class ExternalReferencesController extends BaseController { diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/ExternalValidationController.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/ExternalValidationController.java index 018e7753f..739328085 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/ExternalValidationController.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/ExternalValidationController.java @@ -15,7 +15,6 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @RestController -@CrossOrigin @RequestMapping(path = {"api/validation"}) public class ExternalValidationController extends BaseController { diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/PrincipalController.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/PrincipalController.java index eecece201..653f6ef0c 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/PrincipalController.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/PrincipalController.java @@ -21,7 +21,6 @@ import eu.eudat.models.v2.Account; import javax.management.InvalidApplicationException; @RestController -@CrossOrigin @RequestMapping(value = { "/api/principal/" }) public class PrincipalController { private static final LoggerService logger = new LoggerService(LoggerFactory.getLogger(PrincipalController.class)); diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/SupportiveMaterialController.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/SupportiveMaterialController.java index 48285bf4e..f032c779d 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/SupportiveMaterialController.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/SupportiveMaterialController.java @@ -25,7 +25,6 @@ import java.util.stream.Stream; import static eu.eudat.types.Authorities.ADMIN; @RestController -@CrossOrigin @RequestMapping(path = {"/api/material"}) public class SupportiveMaterialController { diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/AdminManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/AdminManager.java index da8bf7ebd..6e27751d8 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/AdminManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/AdminManager.java @@ -11,7 +11,7 @@ import eu.eudat.models.data.admin.composite.DatasetProfile; import eu.eudat.logic.services.ApiContext; import eu.eudat.logic.utilities.builders.ModelBuilder; import eu.eudat.commons.types.xml.XmlBuilder; -import eu.eudat.service.DescriptionTemplateTypeService; +import eu.eudat.service.descriptiontemplatetype.DescriptionTemplateTypeService; import org.w3c.dom.Document; import org.w3c.dom.Element; diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java index 703d8be11..5ac8c8c5f 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java @@ -29,7 +29,7 @@ import eu.eudat.models.data.helpers.common.DataTableData; import eu.eudat.models.data.listingmodels.UserInfoListingModel; import eu.eudat.models.data.mail.SimpleMail; import eu.eudat.queryable.QueryableList; -import eu.eudat.service.DescriptionTemplateTypeService; +import eu.eudat.service.descriptiontemplatetype.DescriptionTemplateTypeService; import eu.eudat.types.MetricNames; import gr.cite.commons.web.authz.service.AuthorizationService; import org.slf4j.Logger; diff --git a/dmp-backend/web/src/main/resources/config/application.yml b/dmp-backend/web/src/main/resources/config/application.yml index e795cc7d6..b621c8114 100644 --- a/dmp-backend/web/src/main/resources/config/application.yml +++ b/dmp-backend/web/src/main/resources/config/application.yml @@ -15,5 +15,6 @@ spring: optional:classpath:config/file-path.yml[.yml], optional:classpath:config/file-path-${spring.profiles.active}.yml[.yml], optional:file:../config/file-path-${spring.profiles.active}.yml[.yml], optional:classpath:config/idpclaims.yml[.yml], optional:classpath:config/idpclaims-${spring.profiles.active}.yml[.yml], optional:file:../config/idpclaims-${spring.profiles.active}.yml[.yml], optional:classpath:config/external.yml[.yml], optional:classpath:config/external-${spring.profiles.active}.yml[.yml], optional:file:../config/external-${spring.profiles.active}.yml[.yml], + optional:classpath:config/cors.yml[.yml], optional:classpath:config/cors-${spring.profiles.active}.yml[.yml], optional:file:../config/cors-${spring.profiles.active}.yml[.yml], optional:classpath:config/swagger.yml[.yml], optional:classpath:config/swagger-${spring.profiles.active}.yml[.yml], optional:file:../config/swagger-${spring.profiles.active}.yml[.yml], optional:classpath:config/deposit.yml[.yml], optional:classpath:config/deposit-${spring.profiles.active}.yml[.yml], optional:file:../config/deposit-${spring.profiles.active}.yml[.yml] diff --git a/dmp-backend/web/src/main/resources/config/cors-devel.yml b/dmp-backend/web/src/main/resources/config/cors-devel.yml new file mode 100644 index 000000000..3e9227ef3 --- /dev/null +++ b/dmp-backend/web/src/main/resources/config/cors-devel.yml @@ -0,0 +1,3 @@ +web: + cors: + allowed-origins: [ http://localhost, http://localhost:4200 ] diff --git a/dmp-backend/web/src/main/resources/config/cors.yml b/dmp-backend/web/src/main/resources/config/cors.yml new file mode 100644 index 000000000..3774f14d4 --- /dev/null +++ b/dmp-backend/web/src/main/resources/config/cors.yml @@ -0,0 +1,7 @@ +web: + cors: + enabled: true + allowed-methods: [ HEAD, GET, POST, PUT, DELETE, PATCH ] + allowed-headers: [ Authorization, Cache-Control, Content-Type, Content-Disposition, x-tenant ] + exposed-headers: [ Authorization, Cache-Control, Content-Type, Content-Disposition ] + allow-credentials: false