diff --git a/src/main/java/com/uid2/admin/vertx/AdminVerticle.java b/src/main/java/com/uid2/admin/vertx/AdminVerticle.java index 57b371e1..f9592801 100644 --- a/src/main/java/com/uid2/admin/vertx/AdminVerticle.java +++ b/src/main/java/com/uid2/admin/vertx/AdminVerticle.java @@ -23,6 +23,7 @@ import java.util.List; import static com.uid2.admin.auth.AuthUtil.isAuthDisabled; +import static com.uid2.admin.vertx.Endpoints.*; public class AdminVerticle extends AbstractVerticle { private static final Logger LOGGER = LoggerFactory.getLogger(AdminVerticle.class); @@ -73,7 +74,7 @@ private Router createRoutesSetup() { final TemplateEngine engine = PebbleTemplateEngine.create(vertx, "html"); final TemplateHandler templateHandler = TemplateHandler.create(engine, "webroot/adm/", TemplateHandler.DEFAULT_CONTENT_TYPE); - router.route("/login").handler(oktaHandler); + router.route(LOGIN.toString()).handler(oktaHandler); router.get("/adm/*").handler(oktaHandler) .handler(ctx -> { ctx.put("ADD_CLIENT_KEY_MESSAGE", config.getString("add_client_key_message")); @@ -83,10 +84,10 @@ private Router createRoutesSetup() { .handler(templateHandler); router.route("/api/*").handler(tokenRefreshHandler); - router.get("/login").handler(new RedirectToRootHandler(false)); - router.get("/logout").handler(new RedirectToRootHandler(true)); - router.get("/ops/healthcheck").handler(this::handleHealthCheck); - router.get("/api/userinfo").handler(this::handleUserinfo); + router.get(LOGIN.toString()).handler(new RedirectToRootHandler(false)); + router.get(LOGOUT.toString()).handler(new RedirectToRootHandler(true)); + router.get(OPS_HEALTHCHECK.toString()).handler(this::handleHealthCheck); + router.get(API_USERINFO.toString()).handler(this::handleUserinfo); for (IService service : this.services) { service.setupRoutes(router); diff --git a/src/main/java/com/uid2/admin/vertx/service/ClientKeyService.java b/src/main/java/com/uid2/admin/vertx/service/ClientKeyService.java index 29cdb817..b337a945 100644 --- a/src/main/java/com/uid2/admin/vertx/service/ClientKeyService.java +++ b/src/main/java/com/uid2/admin/vertx/service/ClientKeyService.java @@ -32,6 +32,8 @@ import java.util.Set; import java.util.stream.Collectors; +import static com.uid2.admin.vertx.Endpoints.*; + public class ClientKeyService implements IService { private static final Logger LOGGER = LoggerFactory.getLogger(ClientKeyService.class); private static final ObjectWriter JSON_WRITER = JsonUtil.createJsonWriter(); @@ -68,72 +70,72 @@ public ClientKeyService(JsonObject config, @Override public void setupRoutes(Router router) { - router.get("/api/client/metadata").handler( + router.get(API_CLIENT_METADATA.toString()).handler( auth.handle(this::handleClientMetadata, Role.MAINTAINER)); - router.post("/api/client/rewrite_metadata").blockingHandler(auth.handle((ctx) -> { + router.post(API_CLIENT_REWRITE_METADATA.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleRewriteMetadata(ctx); } }, Role.PRIVILEGED)); - router.get("/api/client/list").handler( + router.get(API_CLIENT_LIST.toString()).handler( auth.handle(this::handleClientList, Role.MAINTAINER, Role.METRICS_EXPORT)); - router.get("/api/client/list/:siteId").handler( + router.get(API_CLIENT_LIST_SITEID.toString()).handler( auth.handle(this::handleClientListBySite, Role.MAINTAINER, Role.SHARING_PORTAL)); - router.get("/api/client/keyId").handler( + router.get(API_CLIENT_KEYID.toString()).handler( auth.handle(this::handleClientByKeyId, Role.MAINTAINER, Role.SHARING_PORTAL)); - router.get("/api/client/contact").handler( + router.get(API_CLIENT_CONTACT.toString()).handler( auth.handle(this::handleClientByContact, Role.MAINTAINER, Role.SHARING_PORTAL)); - router.get("/api/client/reveal").handler( + router.get(API_CLIENT_REVEAL.toString()).handler( auth.handle(this::handleClientReveal, Role.PRIVILEGED)); - router.post("/api/client/add").blockingHandler(auth.handle((ctx) -> { + router.post(API_CLIENT_ADD.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleClientAdd(ctx); } }, Role.MAINTAINER, Role.SHARING_PORTAL)); - router.post("/api/client/del").blockingHandler(auth.handle((ctx) -> { + router.post(API_CLIENT_DEL.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleClientDel(ctx); } }, Role.SUPER_USER)); - router.post("/api/client/update").blockingHandler(auth.handle((ctx) -> { + router.post(API_CLIENT_UPDATE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleClientUpdate(ctx); } }, Role.MAINTAINER)); - router.post("/api/client/disable").blockingHandler(auth.handle((ctx) -> { + router.post(API_CLIENT_DISABLE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleClientDisable(ctx); } }, Role.MAINTAINER, Role.SHARING_PORTAL)); - router.post("/api/client/enable").blockingHandler(auth.handle((ctx) -> { + router.post(API_CLIENT_ENABLE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleClientEnable(ctx); } }, Role.MAINTAINER)); - router.post("/api/client/roles").blockingHandler(auth.handle((ctx) -> { + router.post(API_CLIENT_ROLES.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleClientRoles(ctx); } }, Role.PRIVILEGED, Role.SHARING_PORTAL)); - router.post("/api/client/contact").blockingHandler(auth.handle((ctx) -> { + router.post(API_CLIENT_CONTACT.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleClientContact(ctx); } }, Role.MAINTAINER)); - router.post("/api/client/rename").blockingHandler(auth.handle((ctx) -> { + router.post(API_CLIENT_RENAME.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleClientRename(ctx); } diff --git a/src/main/java/com/uid2/admin/vertx/service/ClientSideKeypairService.java b/src/main/java/com/uid2/admin/vertx/service/ClientSideKeypairService.java index 8b012bbf..cb5c2536 100644 --- a/src/main/java/com/uid2/admin/vertx/service/ClientSideKeypairService.java +++ b/src/main/java/com/uid2/admin/vertx/service/ClientSideKeypairService.java @@ -27,6 +27,7 @@ import static com.uid2.admin.store.writer.ClientSideKeypairStoreWriter.toJsonWithPrivateKey; import static com.uid2.admin.store.writer.ClientSideKeypairStoreWriter.toJsonWithoutPrivateKey; +import static com.uid2.admin.vertx.Endpoints.*; public class ClientSideKeypairService implements IService, IKeypairManager { private final AdminAuthMiddleware auth; @@ -64,19 +65,19 @@ public ClientSideKeypairService(JsonObject config, @Override public void setupRoutes(Router router) { - router.post("/api/client_side_keypairs/add").blockingHandler(auth.handle((ctx) -> { + router.post(API_CLIENT_SIDE_KEYPAIRS_ADD.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleAddKeypair(ctx); } }, Role.MAINTAINER, Role.SHARING_PORTAL)); - router.post("/api/client_side_keypairs/update").blockingHandler(auth.handle((ctx) -> { + router.post(API_CLIENT_SIDE_KEYPAIRS_UPDATE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleUpdateKeypair(ctx); } }, Role.MAINTAINER, Role.SHARING_PORTAL)); - router.get("/api/client_side_keypairs/list").handler( + router.get(API_CLIENT_SIDE_KEYPAIRS_LIST.toString()).handler( auth.handle(this::handleListAllKeypairs, Role.MAINTAINER, Role.METRICS_EXPORT)); - router.get("/api/client_side_keypairs/:subscriptionId").handler( + router.get(API_CLIENT_SIDE_KEYPAIRS_SUBSCRIPTIONID.toString()).handler( auth.handle(this::handleListKeypair, Role.MAINTAINER) ); } diff --git a/src/main/java/com/uid2/admin/vertx/service/EnclaveIdService.java b/src/main/java/com/uid2/admin/vertx/service/EnclaveIdService.java index e8da8229..2c18f7e1 100644 --- a/src/main/java/com/uid2/admin/vertx/service/EnclaveIdService.java +++ b/src/main/java/com/uid2/admin/vertx/service/EnclaveIdService.java @@ -22,6 +22,8 @@ import java.util.Optional; import java.util.stream.Collectors; +import static com.uid2.admin.vertx.Endpoints.*; + public class EnclaveIdService implements IService { private final AdminAuthMiddleware auth; private final WriteLock writeLock; @@ -44,17 +46,17 @@ public EnclaveIdService(AdminAuthMiddleware auth, @Override public void setupRoutes(Router router) { - router.get("/api/enclave/metadata").handler( + router.get(API_ENCLAVE_METADATA.toString()).handler( auth.handle(this::handleEnclaveMetadata, Role.MAINTAINER)); - router.get("/api/enclave/list").handler( + router.get(API_ENCLAVE_LIST.toString()).handler( auth.handle(this::handleEnclaveList, Role.MAINTAINER)); - router.post("/api/enclave/add").blockingHandler(auth.handle((ctx) -> { + router.post(API_ENCLAVE_ADD.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleEnclaveAdd(ctx); } }, Role.PRIVILEGED)); - router.post("/api/enclave/del").blockingHandler(auth.handle((ctx) -> { + router.post(API_ENCLAVE_DEL.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleEnclaveDel(ctx); } diff --git a/src/main/java/com/uid2/admin/vertx/service/EncryptionKeyService.java b/src/main/java/com/uid2/admin/vertx/service/EncryptionKeyService.java index 37c4840a..92d9ef47 100644 --- a/src/main/java/com/uid2/admin/vertx/service/EncryptionKeyService.java +++ b/src/main/java/com/uid2/admin/vertx/service/EncryptionKeyService.java @@ -38,6 +38,7 @@ import static com.uid2.admin.AdminConst.enableKeysetConfigProp; import static com.uid2.admin.managers.KeysetManager.*; +import static com.uid2.admin.vertx.Endpoints.*; import static java.util.stream.Collectors.*; public class EncryptionKeyService implements IService, IEncryptionKeyManager, IKeysetKeyManager { @@ -122,47 +123,47 @@ public EncryptionKeyService(JsonObject config, @Override public void setupRoutes(Router router) { - router.get("/api/key/list").handler( + router.get(API_KEY_LIST.toString()).handler( auth.handle(this::handleKeyList, Role.MAINTAINER)); if(enableKeysets) { - router.get("/api/key/list_keyset_keys").handler( + router.get(API_KEY_LIST_KEYSET_KEYS.toString()).handler( auth.handle(this::handleKeysetKeyList, Role.MAINTAINER)); } - router.post("/api/key/rewrite_metadata").blockingHandler(auth.handle((ctx) -> { + router.post(API_KEY_REWRITE_METADATA.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleRewriteMetadata(ctx); } }, Role.PRIVILEGED)); - router.post("/api/key/rotate_master").blockingHandler(auth.handle((ctx) -> { + router.post(API_KEY_ROTATE_MASTER.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleRotateMasterKey(ctx); } }, Role.MAINTAINER, Role.SECRET_ROTATION)); - router.post("/api/key/add").blockingHandler(auth.handle((ctx) -> { + router.post(API_KEY_ADD.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleAddSiteKey(ctx); } }, Role.MAINTAINER)); - router.post("/api/key/rotate_site").blockingHandler(auth.handle((ctx) -> { + router.post(API_KEY_ROTATE_SITE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleRotateSiteKey(ctx); } }, Role.MAINTAINER)); if(enableKeysets) { - router.post("/api/key/rotate_keyset_key").blockingHandler(auth.handle((ctx) -> { + router.post(API_KEY_ROTATE_KEYSET_KEY.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleRotateKeysetKey(ctx); } }, Role.MAINTAINER)); } - router.post("/api/key/rotate_all_sites").blockingHandler(auth.handle((ctx) -> { + router.post(API_KEY_ROTATE_ALL_SITES.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleRotateAllSiteKeys(ctx); } diff --git a/src/main/java/com/uid2/admin/vertx/service/JobDispatcherService.java b/src/main/java/com/uid2/admin/vertx/service/JobDispatcherService.java index 4d64b2c3..51156200 100644 --- a/src/main/java/com/uid2/admin/vertx/service/JobDispatcherService.java +++ b/src/main/java/com/uid2/admin/vertx/service/JobDispatcherService.java @@ -7,6 +7,9 @@ import com.uid2.shared.auth.Role; import io.vertx.ext.web.Router; +import static com.uid2.admin.vertx.Endpoints.API_JOB_DISPATCHER_CURRENT_JOB; +import static com.uid2.admin.vertx.Endpoints.API_JOB_DISPATCHER_JOB_QUEUE; + public class JobDispatcherService implements IService { private final ObjectWriter jsonWriter = JsonUtil.createJsonWriter(); private final AdminAuthMiddleware auth; @@ -19,7 +22,7 @@ public JobDispatcherService(AdminAuthMiddleware auth, JobDispatcher jobDispatche @Override public void setupRoutes(Router router) { - router.get("/api/job-dispatcher/current-job").blockingHandler(auth.handle((ctx) -> { + router.get(API_JOB_DISPATCHER_CURRENT_JOB.toString()).blockingHandler(auth.handle((ctx) -> { try { ctx.response().end(jsonWriter.writeValueAsString(jobDispatcher.getExecutingJobInfo())); } catch (Exception ex) { @@ -29,7 +32,7 @@ public void setupRoutes(Router router) { //can be other role Role.MAINTAINER)); - router.get("/api/job-dispatcher/job-queue").blockingHandler(auth.handle((ctx) -> { + router.get(API_JOB_DISPATCHER_JOB_QUEUE.toString()).blockingHandler(auth.handle((ctx) -> { try { ctx.response().end(jsonWriter.writeValueAsString(jobDispatcher.getJobQueueInfo())); } catch (Exception ex) { diff --git a/src/main/java/com/uid2/admin/vertx/service/KeyAclService.java b/src/main/java/com/uid2/admin/vertx/service/KeyAclService.java index 314493e1..bc868594 100644 --- a/src/main/java/com/uid2/admin/vertx/service/KeyAclService.java +++ b/src/main/java/com/uid2/admin/vertx/service/KeyAclService.java @@ -22,6 +22,9 @@ import java.util.*; +import static com.uid2.admin.vertx.Endpoints.API_KEYS_ACL_LIST; +import static com.uid2.admin.vertx.Endpoints.API_KEYS_ACL_REWRITE_METADATA; + public class KeyAclService implements IService { private final AdminAuthMiddleware auth; private final WriteLock writeLock; @@ -47,10 +50,10 @@ public KeyAclService(AdminAuthMiddleware auth, @Override public void setupRoutes(Router router) { - router.get("/api/keys_acl/list").handler( + router.get(API_KEYS_ACL_LIST.toString()).handler( auth.handle(this::handleKeyAclList, Role.MAINTAINER)); - router.post("/api/keys_acl/rewrite_metadata").blockingHandler(auth.handle((ctx) -> { + router.post(API_KEYS_ACL_REWRITE_METADATA.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleRewriteMetadata(ctx); } diff --git a/src/main/java/com/uid2/admin/vertx/service/OperatorKeyService.java b/src/main/java/com/uid2/admin/vertx/service/OperatorKeyService.java index 45933957..c48a7abf 100644 --- a/src/main/java/com/uid2/admin/vertx/service/OperatorKeyService.java +++ b/src/main/java/com/uid2/admin/vertx/service/OperatorKeyService.java @@ -27,6 +27,8 @@ import java.util.*; import java.util.stream.Collectors; +import static com.uid2.admin.vertx.Endpoints.*; + public class OperatorKeyService implements IService { private static final Logger LOGGER = LoggerFactory.getLogger(OperatorKeyService.class); private static final ObjectWriter JSON_WRITER = JsonUtil.createJsonWriter(); @@ -71,44 +73,44 @@ public OperatorKeyService(JsonObject config, @Override public void setupRoutes(Router router) { - router.get("/api/operator/metadata").handler( + router.get(API_OPERATOR_METADATA.toString()).handler( auth.handle(this::handleOperatorMetadata, Role.MAINTAINER)); - router.get("/api/operator/list").handler( + router.get(API_OPERATOR_LIST.toString()).handler( auth.handle(this::handleOperatorList, Role.MAINTAINER, Role.METRICS_EXPORT)); - router.get("/api/operator/reveal").handler( + router.get(API_OPERATOR_REVEAL.toString()).handler( auth.handle(this::handleOperatorReveal, Role.MAINTAINER)); - router.post("/api/operator/add").blockingHandler(auth.handle((ctx) -> { + router.post(API_OPERATOR_ADD.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleOperatorAdd(ctx); } }, Role.MAINTAINER)); - router.post("/api/operator/del").blockingHandler(auth.handle((ctx) -> { + router.post(API_OPERATOR_DEL.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleOperatorDel(ctx); } }, Role.SUPER_USER)); - router.post("/api/operator/disable").blockingHandler(auth.handle((ctx) -> { + router.post(API_OPERATOR_DISABLE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleOperatorDisable(ctx); } }, Role.PRIVILEGED)); - router.post("/api/operator/enable").blockingHandler(auth.handle((ctx) -> { + router.post(API_OPERATOR_ENABLE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleOperatorEnable(ctx); } }, Role.MAINTAINER)); - router.post("/api/operator/update").blockingHandler(auth.handle((ctx) -> { + router.post(API_OPERATOR_UPDATE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleOperatorUpdate(ctx); } }, Role.PRIVILEGED)); - router.post("/api/operator/roles").blockingHandler(auth.handle((ctx) -> { + router.post(API_OPERATOR_ROLES.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleOperatorRoles(ctx); } diff --git a/src/main/java/com/uid2/admin/vertx/service/PartnerConfigService.java b/src/main/java/com/uid2/admin/vertx/service/PartnerConfigService.java index 66e66142..ed9ca176 100644 --- a/src/main/java/com/uid2/admin/vertx/service/PartnerConfigService.java +++ b/src/main/java/com/uid2/admin/vertx/service/PartnerConfigService.java @@ -11,6 +11,9 @@ import io.vertx.ext.web.Router; import io.vertx.ext.web.RoutingContext; +import static com.uid2.admin.vertx.Endpoints.API_PARTNER_CONFIG_GET; +import static com.uid2.admin.vertx.Endpoints.API_PARTNER_CONFIG_UPDATE; + public class PartnerConfigService implements IService { private final AdminAuthMiddleware auth; private final WriteLock writeLock; @@ -29,9 +32,9 @@ public PartnerConfigService(AdminAuthMiddleware auth, @Override public void setupRoutes(Router router) { - router.get("/api/partner_config/get").handler( + router.get(API_PARTNER_CONFIG_GET.toString()).handler( auth.handle(this::handlePartnerConfigGet, Role.MAINTAINER)); - router.post("/api/partner_config/update").blockingHandler(auth.handle((ctx) -> { + router.post(API_PARTNER_CONFIG_UPDATE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handlePartnerConfigUpdate(ctx); } diff --git a/src/main/java/com/uid2/admin/vertx/service/PrivateSiteDataRefreshService.java b/src/main/java/com/uid2/admin/vertx/service/PrivateSiteDataRefreshService.java index cba05894..9b4fc7b8 100644 --- a/src/main/java/com/uid2/admin/vertx/service/PrivateSiteDataRefreshService.java +++ b/src/main/java/com/uid2/admin/vertx/service/PrivateSiteDataRefreshService.java @@ -15,6 +15,9 @@ import java.util.concurrent.CompletableFuture; +import static com.uid2.admin.vertx.Endpoints.API_PRIVATE_SITES_REFRESH; +import static com.uid2.admin.vertx.Endpoints.API_PRIVATE_SITES_REFRESH_NOW; + public class PrivateSiteDataRefreshService implements IService { private static final Logger LOGGER = LoggerFactory.getLogger(PrivateSiteDataRefreshService.class); @@ -37,7 +40,7 @@ public PrivateSiteDataRefreshService( @Override public void setupRoutes(Router router) { // this can be called by a scheduled task - router.post("/api/private-sites/refresh").blockingHandler(auth.handle((ctx) -> { + router.post(API_PRIVATE_SITES_REFRESH.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handlePrivateSiteDataGenerate(ctx); } @@ -45,7 +48,7 @@ public void setupRoutes(Router router) { //can be other role Role.MAINTAINER, Role.PRIVATE_OPERATOR_SYNC)); - router.post("/api/private-sites/refreshNow").blockingHandler(auth.handle( + router.post(API_PRIVATE_SITES_REFRESH_NOW.toString()).blockingHandler(auth.handle( this::handlePrivateSiteDataGenerateNow, //can be other role Role.PRIVILEGED)); diff --git a/src/main/java/com/uid2/admin/vertx/service/SaltService.java b/src/main/java/com/uid2/admin/vertx/service/SaltService.java index 2841dbf0..1d1a42d9 100644 --- a/src/main/java/com/uid2/admin/vertx/service/SaltService.java +++ b/src/main/java/com/uid2/admin/vertx/service/SaltService.java @@ -24,6 +24,9 @@ import java.util.List; import java.util.Optional; +import static com.uid2.admin.vertx.Endpoints.API_SALT_ROTATE; +import static com.uid2.admin.vertx.Endpoints.API_SALT_SNAPSHOTS; + public class SaltService implements IService { private static final Logger LOGGER = LoggerFactory.getLogger(SaltService.class); @@ -47,10 +50,10 @@ public SaltService(AdminAuthMiddleware auth, @Override public void setupRoutes(Router router) { - router.get("/api/salt/snapshots").handler( + router.get(API_SALT_SNAPSHOTS.toString()).handler( auth.handle(this::handleSaltSnapshots, Role.MAINTAINER)); - router.post("/api/salt/rotate").blockingHandler(auth.handle((ctx) -> { + router.post(API_SALT_ROTATE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleSaltRotate(ctx); } diff --git a/src/main/java/com/uid2/admin/vertx/service/SearchService.java b/src/main/java/com/uid2/admin/vertx/service/SearchService.java index 4d61eb4c..a6e76a14 100644 --- a/src/main/java/com/uid2/admin/vertx/service/SearchService.java +++ b/src/main/java/com/uid2/admin/vertx/service/SearchService.java @@ -14,6 +14,8 @@ import io.vertx.core.json.JsonArray; import io.vertx.core.json.JsonObject; +import static com.uid2.admin.vertx.Endpoints.API_SEARCH; + public class SearchService implements IService { private static final Integer QUERY_PARAMETER_MIN_LENGTH = 6; @@ -33,7 +35,7 @@ public SearchService( @Override public void setupRoutes(Router router) { - router.post("/api/search").handler( + router.post(API_SEARCH.toString()).handler( auth.handle(this::handleSearch, Role.MAINTAINER)); } diff --git a/src/main/java/com/uid2/admin/vertx/service/ServiceLinkService.java b/src/main/java/com/uid2/admin/vertx/service/ServiceLinkService.java index b76d6a1e..ee69fbde 100644 --- a/src/main/java/com/uid2/admin/vertx/service/ServiceLinkService.java +++ b/src/main/java/com/uid2/admin/vertx/service/ServiceLinkService.java @@ -23,6 +23,8 @@ import java.util.Set; import java.util.stream.Collectors; +import static com.uid2.admin.vertx.Endpoints.*; + public class ServiceLinkService implements IService { private final AdminAuthMiddleware auth; @@ -49,18 +51,18 @@ public ServiceLinkService(AdminAuthMiddleware auth, @Override public void setupRoutes(Router router) { - router.get("/api/service_link/list").handler(auth.handle(this::handleServiceLinkList, Role.MAINTAINER, Role.METRICS_EXPORT)); - router.post("/api/service_link/add").blockingHandler(auth.handle((ctx) -> { + router.get(API_SERVICE_LINK_LIST.toString()).handler(auth.handle(this::handleServiceLinkList, Role.MAINTAINER, Role.METRICS_EXPORT)); + router.post(API_SERVICE_LINK_ADD.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleServiceLinkAdd(ctx); } }, Role.MAINTAINER)); - router.post("/api/service_link/update").blockingHandler(auth.handle((ctx) -> { + router.post(API_SERVICE_LINK_UPDATE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleServiceLinkUpdate(ctx); } }, Role.MAINTAINER)); - router.post("/api/service_link/delete").blockingHandler(auth.handle((ctx) -> { + router.post(API_SERVICE_LINK_DELETE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleServiceLinkDelete(ctx); } diff --git a/src/main/java/com/uid2/admin/vertx/service/ServiceService.java b/src/main/java/com/uid2/admin/vertx/service/ServiceService.java index 6917c590..72933c50 100644 --- a/src/main/java/com/uid2/admin/vertx/service/ServiceService.java +++ b/src/main/java/com/uid2/admin/vertx/service/ServiceService.java @@ -21,6 +21,8 @@ import java.util.*; import java.util.stream.Collectors; +import static com.uid2.admin.vertx.Endpoints.*; + public class ServiceService implements IService { private final AdminAuthMiddleware auth; @@ -47,19 +49,19 @@ public ServiceService(AdminAuthMiddleware auth, @Override public void setupRoutes(Router router) { - router.get("/api/service/list").handler(auth.handle(this::handleServiceListAll, Role.MAINTAINER, Role.METRICS_EXPORT)); - router.get("/api/service/list/:service_id").handler(auth.handle(this::handleServiceList, Role.MAINTAINER)); - router.post("/api/service/add").blockingHandler(auth.handle((ctx) -> { + router.get(API_SERVICE_LIST.toString()).handler(auth.handle(this::handleServiceListAll, Role.MAINTAINER, Role.METRICS_EXPORT)); + router.get(API_SERVICE_LIST_SERVICE_ID.toString()).handler(auth.handle(this::handleServiceList, Role.MAINTAINER)); + router.post(API_SERVICE_ADD.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleServiceAdd(ctx); } }, Role.PRIVILEGED)); - router.post("/api/service/update").blockingHandler(auth.handle((ctx) -> { + router.post(API_SERVICE_UPDATE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleUpdate(ctx); } }, Role.PRIVILEGED)); - router.post("/api/service/delete").blockingHandler(auth.handle((ctx) -> { + router.post(API_SERVICE_DELETE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleDelete(ctx); } diff --git a/src/main/java/com/uid2/admin/vertx/service/SharingService.java b/src/main/java/com/uid2/admin/vertx/service/SharingService.java index 62dc5499..752a33e4 100644 --- a/src/main/java/com/uid2/admin/vertx/service/SharingService.java +++ b/src/main/java/com/uid2/admin/vertx/service/SharingService.java @@ -26,6 +26,8 @@ import java.util.*; import java.util.stream.Collectors; +import static com.uid2.admin.vertx.Endpoints.*; + public class SharingService implements IService { private final AdminAuthMiddleware auth; @@ -57,26 +59,26 @@ public SharingService(AdminAuthMiddleware auth, @Override public void setupRoutes(Router router) { if(!enableKeysets) return; - router.get("/api/sharing/lists").handler( + router.get(API_SHARING_LISTS.toString()).handler( auth.handle(this::handleListAllAllowedSites, Role.MAINTAINER, Role.SHARING_PORTAL, Role.METRICS_EXPORT) ); - router.get("/api/sharing/list/:siteId").handler( + router.get(API_SHARING_LIST_SITEID.toString()).handler( auth.handle(this::handleListAllowedSites, Role.MAINTAINER, Role.SHARING_PORTAL) ); - router.post("/api/sharing/list/:siteId").handler( + router.post(API_SHARING_LIST_SITEID.toString()).handler( auth.handle(this::handleSetAllowedSites, Role.MAINTAINER, Role.SHARING_PORTAL) ); - router.get("/api/sharing/keysets").handler( + router.get(API_SHARING_KEYSETS.toString()).handler( auth.handle(this::handleListAllKeysets, Role.MAINTAINER) ); - router.post("/api/sharing/keyset").handler( + router.post(API_SHARING_KEYSET.toString()).handler( auth.handle(this::handleSetKeyset, Role.MAINTAINER) ); - router.get("/api/sharing/keyset/:keyset_id").handler( + router.get(API_SHARING_KEYSET_KEYSETID.toString()).handler( auth.handle(this::handleListKeyset, Role.MAINTAINER) ); - router.get("/api/sharing/keysets/related").handler( + router.get(API_SHARING_KEYSETS_RELATED.toString()).handler( auth.handle(this::handleListAllKeysetsRelated, Role.MAINTAINER) ); } diff --git a/src/main/java/com/uid2/admin/vertx/service/SiteService.java b/src/main/java/com/uid2/admin/vertx/service/SiteService.java index af275e69..2fcdf1ff 100644 --- a/src/main/java/com/uid2/admin/vertx/service/SiteService.java +++ b/src/main/java/com/uid2/admin/vertx/service/SiteService.java @@ -23,6 +23,7 @@ import org.slf4j.LoggerFactory; import io.vertx.ext.web.Router; +import static com.uid2.admin.vertx.Endpoints.*; import static com.uid2.admin.vertx.RequestUtil.getTypes; import java.net.MalformedURLException; @@ -53,42 +54,42 @@ public SiteService(AdminAuthMiddleware auth, @Override public void setupRoutes(Router router) { - router.post("/api/site/rewrite_metadata").blockingHandler(auth.handle((ctx) -> { + router.post(API_SITE_REWRITE_METADATA.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleRewriteMetadata(ctx); } }, Role.PRIVILEGED)); - router.get("/api/site/list").handler( + router.get(API_SITE_LIST.toString()).handler( auth.handle(this::handleSiteList, Role.MAINTAINER, Role.SHARING_PORTAL, Role.METRICS_EXPORT)); - router.get("/api/site/:siteId").handler( + router.get(API_SITE_SITEID.toString()).handler( auth.handle(this::handleSiteById, Role.MAINTAINER, Role.SHARING_PORTAL)); - router.post("/api/site/add").blockingHandler(auth.handle((ctx) -> { + router.post(API_SITE_ADD.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleSiteAdd(ctx); } }, Role.MAINTAINER, Role.SHARING_PORTAL)); - router.post("/api/site/enable").blockingHandler(auth.handle((ctx) -> { + router.post(API_SITE_ENABLE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleSiteEnable(ctx); } }, Role.MAINTAINER)); - router.post("/api/site/set-types").blockingHandler(auth.handle((ctx) -> { + router.post(API_SITE_SET_TYPES.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleSiteTypesSet(ctx); } }, Role.MAINTAINER, Role.SHARING_PORTAL)); - router.post("/api/site/domain_names").blockingHandler(auth.handle((ctx) -> { + router.post(API_SITE_DOMAIN_NAMES.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleSiteDomains(ctx); } }, Role.MAINTAINER, Role.SHARING_PORTAL)); - router.post("/api/site/app_names").blockingHandler(auth.handle((ctx) -> { + router.post(API_SITE_APP_NAMES.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleSiteAppNames(ctx); } }, Role.MAINTAINER, Role.SHARING_PORTAL)); - router.post("/api/site/update").blockingHandler(auth.handle((ctx) -> { + router.post(API_SITE_UPDATE.toString()).blockingHandler(auth.handle((ctx) -> { synchronized (writeLock) { this.handleSiteUpdate(ctx); } diff --git a/src/test/java/com/uid2/admin/vertx/SharingServiceTest.java b/src/test/java/com/uid2/admin/vertx/SharingServiceTest.java index ed1aa126..ee6758d7 100644 --- a/src/test/java/com/uid2/admin/vertx/SharingServiceTest.java +++ b/src/test/java/com/uid2/admin/vertx/SharingServiceTest.java @@ -25,6 +25,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; +import static com.uid2.admin.vertx.Endpoints.API_SHARING_KEYSETS_RELATED; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.mockito.Mockito.*; @@ -1275,7 +1276,7 @@ void RelatedKeysetSetsWithClientTypes(Vertx vertx, VertxTestContext testContext) doReturn(new Site(8, "test-name", true, new HashSet<>(Arrays.asList(ClientType.DSP)), null)).when(siteProvider).getSite(8); - get(vertx, testContext, "/api/sharing/keysets/related?site_id=8", response -> { + get(vertx, testContext, API_SHARING_KEYSETS_RELATED + "?site_id=8", response -> { assertEquals(200, response.statusCode()); Set expectedKeysetIds = new HashSet<>(Arrays.asList(adminKeyset1.getKeysetId(), adminKeyset2.getKeysetId())); @@ -1311,7 +1312,7 @@ void RelatedKeysetSetsWithAllowedSites(Vertx vertx, VertxTestContext testContext doReturn(new Site(8, "test-name", true,null)).when(siteProvider).getSite(8); - get(vertx, testContext, "/api/sharing/keysets/related?site_id=8", response -> { + get(vertx, testContext, API_SHARING_KEYSETS_RELATED + "?site_id=8", response -> { assertEquals(200, response.statusCode()); Set expectedKeysetIds = new HashSet<>(Arrays.asList(adminKeyset1.getKeysetId(), adminKeyset2.getKeysetId())); @@ -1347,7 +1348,7 @@ void RelatedKeysetSetsWithSameSiteId(Vertx vertx, VertxTestContext testContext) doReturn(new Site(8, "test-name", true,null)).when(siteProvider).getSite(8); - get(vertx, testContext, "/api/sharing/keysets/related?site_id=8", response -> { + get(vertx, testContext, API_SHARING_KEYSETS_RELATED + "?site_id=8", response -> { assertEquals(200, response.statusCode()); Set expectedKeysetIds = new HashSet<>(Arrays.asList(adminKeyset3.getKeysetId())); @@ -1388,7 +1389,7 @@ void RelatedKeysetSetsWithIdReader(Vertx vertx, VertxTestContext testContext) { .build()); - get(vertx, testContext, "/api/sharing/keysets/related?site_id=8", response -> { + get(vertx, testContext, API_SHARING_KEYSETS_RELATED + "?site_id=8", response -> { assertEquals(200, response.statusCode()); Set expectedKeysetIds = new HashSet<>(Arrays.asList(adminKeyset3.getKeysetId())); @@ -1429,7 +1430,7 @@ void RelatedKeysetSetsWithoutIdReader(Vertx vertx, VertxTestContext testContext) .build()); - get(vertx, testContext, "/api/sharing/keysets/related?site_id=8", response -> { + get(vertx, testContext, API_SHARING_KEYSETS_RELATED + "?site_id=8", response -> { assertEquals(200, response.statusCode()); Set expectedKeysetIds = new HashSet<>(Arrays.asList(adminKeyset3.getKeysetId()));