diff --git a/src/main/java/com/dtsx/astra/cli/commands/db/endpoints/Endpoint.java b/src/main/java/com/dtsx/astra/cli/commands/db/endpoints/Endpoint.java index 67bb54f6..55aa1fd8 100644 --- a/src/main/java/com/dtsx/astra/cli/commands/db/endpoints/Endpoint.java +++ b/src/main/java/com/dtsx/astra/cli/commands/db/endpoints/Endpoint.java @@ -12,11 +12,15 @@ @RequiredArgsConstructor public enum Endpoint { API("api", (result, env) -> { - val db = result.database(); + return apiBaseUrl(result, env); + }), - return (db.getInfo().getDbType() == null) - ? ApiLocator.getApiRestEndpoint(env, db.getId(), result.region()) - : ApiLocator.getApiEndpoint(env, db.getId(), result.region()); + DATA_API("data-api", (result, env) -> { + return apiBaseUrl(result, env) + "/api/v1/json"; + }), + + PLAYGROUND("playground", (result, env) -> { + return ApiLocator.getApiGraphQLEndPoint(env, result.database().getId(), result.region()) + "/playground"; }), SWAGGER("swagger", (result, env) -> { @@ -25,14 +29,6 @@ public enum Endpoint { return (db.getInfo().getDbType() == null) ? ApiLocator.getApiRestEndpoint(env, db.getId(), result.region()) + "/swagger-ui" : ApiLocator.getApiEndpoint(env, db.getId(), result.region()) + "/api/json/swagger-ui"; - }), - - PLAYGROUND("playground", (result, env) -> { - return ApiLocator.getApiGraphQLEndPoint(env, result.database().getId(), result.region()) + "/playground"; - }), - - DATA_API("data-api", (result, env) -> { - return API.mkUrl.apply(result, env) + "/api/v1/json"; }); @Getter @@ -42,4 +38,12 @@ public enum Endpoint { public String mkUrl(EndpointGetResponse result, AstraEnvironment env) { return mkUrl.apply(result, env); } + + private static String apiBaseUrl(EndpointGetResponse result, AstraEnvironment env) { + val db = result.database(); + + return (db.getInfo().getDbType() == null) + ? ApiLocator.getApiRestEndpoint(env, db.getId(), result.region()) + : ApiLocator.getApiEndpoint(env, db.getId(), result.region()); + } } diff --git a/src/main/java/com/dtsx/astra/cli/commands/db/endpoints/EndpointsApiCmd.java b/src/main/java/com/dtsx/astra/cli/commands/db/endpoints/EndpointsApiCmd.java index 0e2376d7..a73b50f6 100644 --- a/src/main/java/com/dtsx/astra/cli/commands/db/endpoints/EndpointsApiCmd.java +++ b/src/main/java/com/dtsx/astra/cli/commands/db/endpoints/EndpointsApiCmd.java @@ -5,6 +5,7 @@ @Command( name = "api", + aliases = {"data-api-client"}, description = "Get the API endpoint to interact with the specified database" ) @Example( diff --git a/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found.csv.approved.txt b/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found.csv.approved.txt index ea8083f7..0b97d874 100644 --- a/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found.csv.approved.txt +++ b/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found.csv.approved.txt @@ -4,7 +4,7 @@ exit_code: 0 ---- output ---- stdout: code,message,endpoint,url stdout: OK,,api,https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com -stdout: OK,,swagger,https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/json/swagger-ui -stdout: OK,,playground,https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/playground stdout: OK,,data-api,https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/v1/json +stdout: OK,,playground,https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/playground +stdout: OK,,swagger,https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/json/swagger-ui ---- end ---- diff --git a/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found.human.approved.txt b/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found.human.approved.txt index 300c11d6..9d380504 100644 --- a/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found.human.approved.txt +++ b/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found.human.approved.txt @@ -6,8 +6,8 @@ stdout: ┌────────────┬────────── stdout: │ Endpoint │ URL │ stdout: ├────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────┤ stdout: │ api │ https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com │ -stdout: │ swagger │ https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/json/swagger-ui │ -stdout: │ playground │ https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/playground │ stdout: │ data-api │ https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/v1/json │ +stdout: │ playground │ https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/playground │ +stdout: │ swagger │ https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/json/swagger-ui │ stdout: └────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────┘ ---- end ---- diff --git a/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found.json.approved.txt b/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found.json.approved.txt index b81dae16..07c21022 100644 --- a/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found.json.approved.txt +++ b/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found.json.approved.txt @@ -8,14 +8,14 @@ stdout: "data" : [ { stdout: "endpoint" : "api", stdout: "url" : "https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com" stdout: }, { -stdout: "endpoint" : "swagger", -stdout: "url" : "https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/json/swagger-ui" +stdout: "endpoint" : "data-api", +stdout: "url" : "https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/v1/json" stdout: }, { stdout: "endpoint" : "playground", stdout: "url" : "https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/playground" stdout: }, { -stdout: "endpoint" : "data-api", -stdout: "url" : "https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/v1/json" +stdout: "endpoint" : "swagger", +stdout: "url" : "https://822b0fff-6a73-4322-a8ec-09832b075287-us-east-2.apps.astra-dev.datastax.com/api/json/swagger-ui" stdout: } ] stdout: } ---- end ---- diff --git a/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found_for_region.human.approved.txt b/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found_for_region.human.approved.txt index e42bf581..875b8a11 100644 --- a/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found_for_region.human.approved.txt +++ b/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found_for_region.human.approved.txt @@ -6,8 +6,8 @@ stdout: ┌────────────┬────────── stdout: │ Endpoint │ URL │ stdout: ├────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤ stdout: │ api │ https://822b0fff-6a73-4322-a8ec-09832b075287-ap-south-1.apps.astra-dev.datastax.com │ -stdout: │ swagger │ https://822b0fff-6a73-4322-a8ec-09832b075287-ap-south-1.apps.astra-dev.datastax.com/api/json/swagger-ui │ -stdout: │ playground │ https://822b0fff-6a73-4322-a8ec-09832b075287-ap-south-1.apps.astra-dev.datastax.com/api/playground │ stdout: │ data-api │ https://822b0fff-6a73-4322-a8ec-09832b075287-ap-south-1.apps.astra-dev.datastax.com/api/v1/json │ +stdout: │ playground │ https://822b0fff-6a73-4322-a8ec-09832b075287-ap-south-1.apps.astra-dev.datastax.com/api/playground │ +stdout: │ swagger │ https://822b0fff-6a73-4322-a8ec-09832b075287-ap-south-1.apps.astra-dev.datastax.com/api/json/swagger-ui │ stdout: └────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────┘ ---- end ---- diff --git a/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found_for_region.json.approved.txt b/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found_for_region.json.approved.txt index fc333701..39912aa4 100644 --- a/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found_for_region.json.approved.txt +++ b/src/test/resources/snapshots/_db/_endpoints/EndpointsListCmd/endpoint_found_for_region.json.approved.txt @@ -8,14 +8,14 @@ stdout: "data" : [ { stdout: "endpoint" : "api", stdout: "url" : "https://822b0fff-6a73-4322-a8ec-09832b075287-ap-south-1.apps.astra-dev.datastax.com" stdout: }, { -stdout: "endpoint" : "swagger", -stdout: "url" : "https://822b0fff-6a73-4322-a8ec-09832b075287-ap-south-1.apps.astra-dev.datastax.com/api/json/swagger-ui" +stdout: "endpoint" : "data-api", +stdout: "url" : "https://822b0fff-6a73-4322-a8ec-09832b075287-ap-south-1.apps.astra-dev.datastax.com/api/v1/json" stdout: }, { stdout: "endpoint" : "playground", stdout: "url" : "https://822b0fff-6a73-4322-a8ec-09832b075287-ap-south-1.apps.astra-dev.datastax.com/api/playground" stdout: }, { -stdout: "endpoint" : "data-api", -stdout: "url" : "https://822b0fff-6a73-4322-a8ec-09832b075287-ap-south-1.apps.astra-dev.datastax.com/api/v1/json" +stdout: "endpoint" : "swagger", +stdout: "url" : "https://822b0fff-6a73-4322-a8ec-09832b075287-ap-south-1.apps.astra-dev.datastax.com/api/json/swagger-ui" stdout: } ] stdout: } ---- end ----