diff --git a/.gitignore b/.gitignore index 5202ed6..2b11c96 100644 --- a/.gitignore +++ b/.gitignore @@ -17,5 +17,5 @@ dist/ vendor/ # Docs generated from our openapi repo -internal/api/cli.yml -internal/api/cli.gen.yml +api/cli.yml +api/cli.gen.yml diff --git a/.gitmodules b/.gitmodules index 26cfb54..6b2ff04 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "openapi"] - path = internal/api/contract/openapi + path = api/contract/openapi url = ../openapi diff --git a/internal/api/.openapi-generator-ignore b/api/.openapi-generator-ignore similarity index 100% rename from internal/api/.openapi-generator-ignore rename to api/.openapi-generator-ignore diff --git a/internal/api/README.md b/api/README.md similarity index 100% rename from internal/api/README.md rename to api/README.md diff --git a/internal/api/api_bucket_schemas.gen.go b/api/api_bucket_schemas.gen.go similarity index 100% rename from internal/api/api_bucket_schemas.gen.go rename to api/api_bucket_schemas.gen.go diff --git a/internal/api/api_buckets.gen.go b/api/api_buckets.gen.go similarity index 100% rename from internal/api/api_buckets.gen.go rename to api/api_buckets.gen.go diff --git a/internal/api/api_delete.gen.go b/api/api_delete.gen.go similarity index 100% rename from internal/api/api_delete.gen.go rename to api/api_delete.gen.go diff --git a/internal/api/api_health.gen.go b/api/api_health.gen.go similarity index 100% rename from internal/api/api_health.gen.go rename to api/api_health.gen.go diff --git a/internal/api/api_organizations.gen.go b/api/api_organizations.gen.go similarity index 100% rename from internal/api/api_organizations.gen.go rename to api/api_organizations.gen.go diff --git a/internal/api/api_query.gen.go b/api/api_query.gen.go similarity index 100% rename from internal/api/api_query.gen.go rename to api/api_query.gen.go diff --git a/internal/api/api_query_test.go b/api/api_query_test.go similarity index 97% rename from internal/api/api_query_test.go rename to api/api_query_test.go index a25add4..95494e2 100644 --- a/internal/api/api_query_test.go +++ b/api/api_query_test.go @@ -9,7 +9,7 @@ import ( "net/http/httptest" "testing" - "github.com/influxdata/influx-cli/v2/internal/api" + "github.com/influxdata/influx-cli/v2/api" "github.com/stretchr/testify/require" ) diff --git a/internal/api/api_setup.gen.go b/api/api_setup.gen.go similarity index 100% rename from internal/api/api_setup.gen.go rename to api/api_setup.gen.go diff --git a/internal/api/api_tasks.gen.go b/api/api_tasks.gen.go similarity index 100% rename from internal/api/api_tasks.gen.go rename to api/api_tasks.gen.go diff --git a/internal/api/api_users.gen.go b/api/api_users.gen.go similarity index 100% rename from internal/api/api_users.gen.go rename to api/api_users.gen.go diff --git a/internal/api/api_write.gen.go b/api/api_write.gen.go similarity index 100% rename from internal/api/api_write.gen.go rename to api/api_write.gen.go diff --git a/internal/api/client.gen.go b/api/client.gen.go similarity index 100% rename from internal/api/client.gen.go rename to api/client.gen.go diff --git a/internal/api/client_internal_test.go b/api/client_internal_test.go similarity index 100% rename from internal/api/client_internal_test.go rename to api/client_internal_test.go diff --git a/internal/api/configuration.gen.go b/api/configuration.gen.go similarity index 100% rename from internal/api/configuration.gen.go rename to api/configuration.gen.go diff --git a/internal/api/contract/README.md b/api/contract/README.md similarity index 81% rename from internal/api/contract/README.md rename to api/contract/README.md index 3b590b5..9897ae9 100644 --- a/internal/api/contract/README.md +++ b/api/contract/README.md @@ -1,6 +1,6 @@ # API Contract -This directory contains the source YMLs used to drive code generation of HTTP clients in [`internal/api`](../). +This directory contains the source YMLs used to drive code generation of HTTP clients in [`api`](../). ## YML Structure @@ -25,29 +25,29 @@ git checkout Next, decide if any modifications are needed in the source-of-truth `openapi` repo. If so, create a branch in the submodule to track changes there: ```shell -cd internal/api/contract/openapi && git checkout -b +cd api/contract/openapi && git checkout -b ``` Edit/add to the files under `api-contract/` to describe the new API contract. Run the following from the project root test your changes and see the outputs in Go code: ```shell make openapi -# Use `git status` to see new/modified files under `internal/api` +# Use `git status` to see new/modified files under `api` ``` Once you're happy with the new API contract, submit your changes for review & merge. If you added/edited files within `openapi`, you'll first need to: 1. Push your submodule branch to GitHub ```shell - cd internal/api/contract/openapi && git push + cd api/contract/openapi && git push ``` 2. Create a PR in `openapi`, eventually merge to `master` there 3. Update your submodule to point at the merge result: ```shell - cd internal/api/contract/openapi && git fetch && git checkout master && git pull origin master + cd api/contract/openapi && git fetch && git checkout master && git pull origin master ``` 4. Update the submodule reference from the main repo: ```shell - git add internal/api/contract/openapi + git add api/contract/openapi git commit ``` diff --git a/internal/api/contract/cli.yml b/api/contract/cli.yml similarity index 100% rename from internal/api/contract/cli.yml rename to api/contract/cli.yml diff --git a/internal/api/contract/openapi b/api/contract/openapi similarity index 100% rename from internal/api/contract/openapi rename to api/contract/openapi diff --git a/internal/api/contract/overrides/paths/query.yml b/api/contract/overrides/paths/query.yml similarity index 100% rename from internal/api/contract/overrides/paths/query.yml rename to api/contract/overrides/paths/query.yml diff --git a/internal/api/contract/overrides/schemas/Extern.yml b/api/contract/overrides/schemas/Extern.yml similarity index 100% rename from internal/api/contract/overrides/schemas/Extern.yml rename to api/contract/overrides/schemas/Extern.yml diff --git a/internal/api/contract/overrides/schemas/Query.yml b/api/contract/overrides/schemas/Query.yml similarity index 100% rename from internal/api/contract/overrides/schemas/Query.yml rename to api/contract/overrides/schemas/Query.yml diff --git a/internal/api/error.go b/api/error.go similarity index 100% rename from internal/api/error.go rename to api/error.go diff --git a/internal/api/model_add_resource_member_request_body.gen.go b/api/model_add_resource_member_request_body.gen.go similarity index 100% rename from internal/api/model_add_resource_member_request_body.gen.go rename to api/model_add_resource_member_request_body.gen.go diff --git a/internal/api/model_authorization.gen.go b/api/model_authorization.gen.go similarity index 100% rename from internal/api/model_authorization.gen.go rename to api/model_authorization.gen.go diff --git a/internal/api/model_authorization_all_of.gen.go b/api/model_authorization_all_of.gen.go similarity index 100% rename from internal/api/model_authorization_all_of.gen.go rename to api/model_authorization_all_of.gen.go diff --git a/internal/api/model_authorization_all_of_links.gen.go b/api/model_authorization_all_of_links.gen.go similarity index 100% rename from internal/api/model_authorization_all_of_links.gen.go rename to api/model_authorization_all_of_links.gen.go diff --git a/internal/api/model_authorization_update_request.gen.go b/api/model_authorization_update_request.gen.go similarity index 100% rename from internal/api/model_authorization_update_request.gen.go rename to api/model_authorization_update_request.gen.go diff --git a/internal/api/model_bucket.gen.go b/api/model_bucket.gen.go similarity index 100% rename from internal/api/model_bucket.gen.go rename to api/model_bucket.gen.go diff --git a/internal/api/model_bucket_links.gen.go b/api/model_bucket_links.gen.go similarity index 100% rename from internal/api/model_bucket_links.gen.go rename to api/model_bucket_links.gen.go diff --git a/internal/api/model_buckets.gen.go b/api/model_buckets.gen.go similarity index 100% rename from internal/api/model_buckets.gen.go rename to api/model_buckets.gen.go diff --git a/internal/api/model_column_data_type.gen.go b/api/model_column_data_type.gen.go similarity index 100% rename from internal/api/model_column_data_type.gen.go rename to api/model_column_data_type.gen.go diff --git a/internal/api/model_column_semantic_type.gen.go b/api/model_column_semantic_type.gen.go similarity index 100% rename from internal/api/model_column_semantic_type.gen.go rename to api/model_column_semantic_type.gen.go diff --git a/internal/api/model_delete_predicate_request.gen.go b/api/model_delete_predicate_request.gen.go similarity index 100% rename from internal/api/model_delete_predicate_request.gen.go rename to api/model_delete_predicate_request.gen.go diff --git a/internal/api/model_dialect.gen.go b/api/model_dialect.gen.go similarity index 100% rename from internal/api/model_dialect.gen.go rename to api/model_dialect.gen.go diff --git a/internal/api/model_error.gen.go b/api/model_error.gen.go similarity index 100% rename from internal/api/model_error.gen.go rename to api/model_error.gen.go diff --git a/internal/api/model_error_code.gen.go b/api/model_error_code.gen.go similarity index 100% rename from internal/api/model_error_code.gen.go rename to api/model_error_code.gen.go diff --git a/internal/api/model_extern.gen.go b/api/model_extern.gen.go similarity index 100% rename from internal/api/model_extern.gen.go rename to api/model_extern.gen.go diff --git a/internal/api/model_health_check.gen.go b/api/model_health_check.gen.go similarity index 100% rename from internal/api/model_health_check.gen.go rename to api/model_health_check.gen.go diff --git a/internal/api/model_health_check_status.gen.go b/api/model_health_check_status.gen.go similarity index 100% rename from internal/api/model_health_check_status.gen.go rename to api/model_health_check_status.gen.go diff --git a/internal/api/model_inline_response_200.gen.go b/api/model_inline_response_200.gen.go similarity index 100% rename from internal/api/model_inline_response_200.gen.go rename to api/model_inline_response_200.gen.go diff --git a/internal/api/model_label.gen.go b/api/model_label.gen.go similarity index 100% rename from internal/api/model_label.gen.go rename to api/model_label.gen.go diff --git a/internal/api/model_line_protocol_error.gen.go b/api/model_line_protocol_error.gen.go similarity index 100% rename from internal/api/model_line_protocol_error.gen.go rename to api/model_line_protocol_error.gen.go diff --git a/internal/api/model_line_protocol_length_error.gen.go b/api/model_line_protocol_length_error.gen.go similarity index 100% rename from internal/api/model_line_protocol_length_error.gen.go rename to api/model_line_protocol_length_error.gen.go diff --git a/internal/api/model_links.gen.go b/api/model_links.gen.go similarity index 100% rename from internal/api/model_links.gen.go rename to api/model_links.gen.go diff --git a/internal/api/model_log_event.gen.go b/api/model_log_event.gen.go similarity index 100% rename from internal/api/model_log_event.gen.go rename to api/model_log_event.gen.go diff --git a/internal/api/model_logs.gen.go b/api/model_logs.gen.go similarity index 100% rename from internal/api/model_logs.gen.go rename to api/model_logs.gen.go diff --git a/internal/api/model_measurement_schema.gen.go b/api/model_measurement_schema.gen.go similarity index 100% rename from internal/api/model_measurement_schema.gen.go rename to api/model_measurement_schema.gen.go diff --git a/internal/api/model_measurement_schema_column.gen.go b/api/model_measurement_schema_column.gen.go similarity index 100% rename from internal/api/model_measurement_schema_column.gen.go rename to api/model_measurement_schema_column.gen.go diff --git a/internal/api/model_measurement_schema_create_request.gen.go b/api/model_measurement_schema_create_request.gen.go similarity index 100% rename from internal/api/model_measurement_schema_create_request.gen.go rename to api/model_measurement_schema_create_request.gen.go diff --git a/internal/api/model_measurement_schema_list.gen.go b/api/model_measurement_schema_list.gen.go similarity index 100% rename from internal/api/model_measurement_schema_list.gen.go rename to api/model_measurement_schema_list.gen.go diff --git a/internal/api/model_measurement_schema_update_request.gen.go b/api/model_measurement_schema_update_request.gen.go similarity index 100% rename from internal/api/model_measurement_schema_update_request.gen.go rename to api/model_measurement_schema_update_request.gen.go diff --git a/internal/api/model_onboarding_request.gen.go b/api/model_onboarding_request.gen.go similarity index 100% rename from internal/api/model_onboarding_request.gen.go rename to api/model_onboarding_request.gen.go diff --git a/internal/api/model_onboarding_response.gen.go b/api/model_onboarding_response.gen.go similarity index 100% rename from internal/api/model_onboarding_response.gen.go rename to api/model_onboarding_response.gen.go diff --git a/internal/api/model_organization.gen.go b/api/model_organization.gen.go similarity index 100% rename from internal/api/model_organization.gen.go rename to api/model_organization.gen.go diff --git a/internal/api/model_organization_links.gen.go b/api/model_organization_links.gen.go similarity index 100% rename from internal/api/model_organization_links.gen.go rename to api/model_organization_links.gen.go diff --git a/internal/api/model_organizations.gen.go b/api/model_organizations.gen.go similarity index 100% rename from internal/api/model_organizations.gen.go rename to api/model_organizations.gen.go diff --git a/internal/api/model_password_reset_body.gen.go b/api/model_password_reset_body.gen.go similarity index 100% rename from internal/api/model_password_reset_body.gen.go rename to api/model_password_reset_body.gen.go diff --git a/internal/api/model_patch_bucket_request.gen.go b/api/model_patch_bucket_request.gen.go similarity index 100% rename from internal/api/model_patch_bucket_request.gen.go rename to api/model_patch_bucket_request.gen.go diff --git a/internal/api/model_patch_organization_request.gen.go b/api/model_patch_organization_request.gen.go similarity index 100% rename from internal/api/model_patch_organization_request.gen.go rename to api/model_patch_organization_request.gen.go diff --git a/internal/api/model_patch_retention_rule.gen.go b/api/model_patch_retention_rule.gen.go similarity index 100% rename from internal/api/model_patch_retention_rule.gen.go rename to api/model_patch_retention_rule.gen.go diff --git a/internal/api/model_permission.gen.go b/api/model_permission.gen.go similarity index 100% rename from internal/api/model_permission.gen.go rename to api/model_permission.gen.go diff --git a/internal/api/model_permission_resource.gen.go b/api/model_permission_resource.gen.go similarity index 100% rename from internal/api/model_permission_resource.gen.go rename to api/model_permission_resource.gen.go diff --git a/internal/api/model_post_bucket_request.gen.go b/api/model_post_bucket_request.gen.go similarity index 100% rename from internal/api/model_post_bucket_request.gen.go rename to api/model_post_bucket_request.gen.go diff --git a/internal/api/model_post_organization_request.gen.go b/api/model_post_organization_request.gen.go similarity index 100% rename from internal/api/model_post_organization_request.gen.go rename to api/model_post_organization_request.gen.go diff --git a/internal/api/model_query.gen.go b/api/model_query.gen.go similarity index 100% rename from internal/api/model_query.gen.go rename to api/model_query.gen.go diff --git a/internal/api/model_resource_member.gen.go b/api/model_resource_member.gen.go similarity index 100% rename from internal/api/model_resource_member.gen.go rename to api/model_resource_member.gen.go diff --git a/internal/api/model_resource_member_all_of.gen.go b/api/model_resource_member_all_of.gen.go similarity index 100% rename from internal/api/model_resource_member_all_of.gen.go rename to api/model_resource_member_all_of.gen.go diff --git a/internal/api/model_resource_members.gen.go b/api/model_resource_members.gen.go similarity index 100% rename from internal/api/model_resource_members.gen.go rename to api/model_resource_members.gen.go diff --git a/internal/api/model_retention_rule.gen.go b/api/model_retention_rule.gen.go similarity index 100% rename from internal/api/model_retention_rule.gen.go rename to api/model_retention_rule.gen.go diff --git a/internal/api/model_run.gen.go b/api/model_run.gen.go similarity index 100% rename from internal/api/model_run.gen.go rename to api/model_run.gen.go diff --git a/internal/api/model_run_links.gen.go b/api/model_run_links.gen.go similarity index 100% rename from internal/api/model_run_links.gen.go rename to api/model_run_links.gen.go diff --git a/internal/api/model_run_log.gen.go b/api/model_run_log.gen.go similarity index 100% rename from internal/api/model_run_log.gen.go rename to api/model_run_log.gen.go diff --git a/internal/api/model_run_manually.gen.go b/api/model_run_manually.gen.go similarity index 100% rename from internal/api/model_run_manually.gen.go rename to api/model_run_manually.gen.go diff --git a/internal/api/model_runs.gen.go b/api/model_runs.gen.go similarity index 100% rename from internal/api/model_runs.gen.go rename to api/model_runs.gen.go diff --git a/internal/api/model_schema_type.gen.go b/api/model_schema_type.gen.go similarity index 100% rename from internal/api/model_schema_type.gen.go rename to api/model_schema_type.gen.go diff --git a/internal/api/model_task.gen.go b/api/model_task.gen.go similarity index 100% rename from internal/api/model_task.gen.go rename to api/model_task.gen.go diff --git a/internal/api/model_task_create_request.gen.go b/api/model_task_create_request.gen.go similarity index 100% rename from internal/api/model_task_create_request.gen.go rename to api/model_task_create_request.gen.go diff --git a/internal/api/model_task_links.gen.go b/api/model_task_links.gen.go similarity index 100% rename from internal/api/model_task_links.gen.go rename to api/model_task_links.gen.go diff --git a/internal/api/model_task_status_type.gen.go b/api/model_task_status_type.gen.go similarity index 100% rename from internal/api/model_task_status_type.gen.go rename to api/model_task_status_type.gen.go diff --git a/internal/api/model_task_update_request.gen.go b/api/model_task_update_request.gen.go similarity index 100% rename from internal/api/model_task_update_request.gen.go rename to api/model_task_update_request.gen.go diff --git a/internal/api/model_tasks.gen.go b/api/model_tasks.gen.go similarity index 100% rename from internal/api/model_tasks.gen.go rename to api/model_tasks.gen.go diff --git a/internal/api/model_user.gen.go b/api/model_user.gen.go similarity index 100% rename from internal/api/model_user.gen.go rename to api/model_user.gen.go diff --git a/internal/api/model_user_response.gen.go b/api/model_user_response.gen.go similarity index 100% rename from internal/api/model_user_response.gen.go rename to api/model_user_response.gen.go diff --git a/internal/api/model_user_response_links.gen.go b/api/model_user_response_links.gen.go similarity index 100% rename from internal/api/model_user_response_links.gen.go rename to api/model_user_response_links.gen.go diff --git a/internal/api/model_users.gen.go b/api/model_users.gen.go similarity index 100% rename from internal/api/model_users.gen.go rename to api/model_users.gen.go diff --git a/internal/api/model_users_links.gen.go b/api/model_users_links.gen.go similarity index 100% rename from internal/api/model_users_links.gen.go rename to api/model_users_links.gen.go diff --git a/internal/api/model_write_precision.gen.go b/api/model_write_precision.gen.go similarity index 100% rename from internal/api/model_write_precision.gen.go rename to api/model_write_precision.gen.go diff --git a/internal/api/response.gen.go b/api/response.gen.go similarity index 100% rename from internal/api/response.gen.go rename to api/response.gen.go diff --git a/internal/api/schema_type.go b/api/schema_type.go similarity index 100% rename from internal/api/schema_type.go rename to api/schema_type.go diff --git a/internal/api/templates/README.md b/api/templates/README.md similarity index 100% rename from internal/api/templates/README.md rename to api/templates/README.md diff --git a/internal/api/templates/api.mustache b/api/templates/api.mustache similarity index 100% rename from internal/api/templates/api.mustache rename to api/templates/api.mustache diff --git a/internal/api/templates/client.mustache b/api/templates/client.mustache similarity index 100% rename from internal/api/templates/client.mustache rename to api/templates/client.mustache diff --git a/internal/api/templates/configuration.mustache b/api/templates/configuration.mustache similarity index 100% rename from internal/api/templates/configuration.mustache rename to api/templates/configuration.mustache diff --git a/internal/api/templates/model_oneof.mustache b/api/templates/model_oneof.mustache similarity index 100% rename from internal/api/templates/model_oneof.mustache rename to api/templates/model_oneof.mustache diff --git a/internal/api/unmarshal_csv.go b/api/unmarshal_csv.go similarity index 100% rename from internal/api/unmarshal_csv.go rename to api/unmarshal_csv.go diff --git a/internal/api/utils.gen.go b/api/utils.gen.go similarity index 100% rename from internal/api/utils.gen.go rename to api/utils.gen.go diff --git a/internal/api/write_precision.go b/api/write_precision.go similarity index 100% rename from internal/api/write_precision.go rename to api/write_precision.go diff --git a/internal/cmd/bucket/client.go b/clients/bucket/client.go similarity index 93% rename from internal/cmd/bucket/client.go rename to clients/bucket/client.go index 60248f8..afebdc1 100644 --- a/internal/cmd/bucket/client.go +++ b/clients/bucket/client.go @@ -4,16 +4,16 @@ import ( "fmt" "time" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" ) const InfiniteRetention = 0 -var ErrMustSpecifyOrgDeleteByName = fmt.Errorf("%s when deleting a bucket by name", cmd.ErrMustSpecifyOrg) +var ErrMustSpecifyOrgDeleteByName = fmt.Errorf("%s when deleting a bucket by name", clients.ErrMustSpecifyOrg) type Client struct { - cmd.CLI + clients.CLI api.OrganizationsApi api.BucketsApi } diff --git a/internal/cmd/bucket/create.go b/clients/bucket/create.go similarity index 94% rename from internal/cmd/bucket/create.go rename to clients/bucket/create.go index 27d1df8..74a3d6f 100644 --- a/internal/cmd/bucket/create.go +++ b/clients/bucket/create.go @@ -5,8 +5,8 @@ import ( "fmt" "time" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" "github.com/influxdata/influx-cli/v2/internal/duration" ) @@ -22,7 +22,7 @@ type BucketsCreateParams struct { func (c Client) Create(ctx context.Context, params *BucketsCreateParams) error { if params.OrgID == "" && params.OrgName == "" && c.ActiveConfig.Org == "" { - return cmd.ErrMustSpecifyOrg + return clients.ErrMustSpecifyOrg } rp, err := duration.RawDurationToTimeDuration(params.Retention) diff --git a/internal/cmd/bucket/create_test.go b/clients/bucket/create_test.go similarity index 97% rename from internal/cmd/bucket/create_test.go rename to clients/bucket/create_test.go index 3914471..8b54d03 100644 --- a/internal/cmd/bucket/create_test.go +++ b/clients/bucket/create_test.go @@ -7,9 +7,9 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/bucket" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/bucket" "github.com/influxdata/influx-cli/v2/internal/config" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/influxdata/influx-cli/v2/internal/testutils" @@ -275,7 +275,7 @@ func TestBucketsCreate(t *testing.T) { tc.registerBucketExpectations(t, bucketApi) } cli := bucket.Client{ - CLI: cmd.CLI{ActiveConfig: config.Config{Org: tc.configOrgName}, StdIO: stdio}, + CLI: clients.CLI{ActiveConfig: config.Config{Org: tc.configOrgName}, StdIO: stdio}, OrganizationsApi: orgApi, BucketsApi: bucketApi, } diff --git a/internal/cmd/bucket/delete.go b/clients/bucket/delete.go similarity index 90% rename from internal/cmd/bucket/delete.go rename to clients/bucket/delete.go index 7954ff4..a916a0f 100644 --- a/internal/cmd/bucket/delete.go +++ b/clients/bucket/delete.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" ) type BucketsDeleteParams struct { @@ -17,7 +17,7 @@ type BucketsDeleteParams struct { func (c Client) Delete(ctx context.Context, params *BucketsDeleteParams) error { if params.ID == "" && params.Name == "" { - return cmd.ErrMustSpecifyBucket + return clients.ErrMustSpecifyBucket } var bucket api.Bucket diff --git a/internal/cmd/bucket/delete_test.go b/clients/bucket/delete_test.go similarity index 96% rename from internal/cmd/bucket/delete_test.go rename to clients/bucket/delete_test.go index 375e3b2..93866f3 100644 --- a/internal/cmd/bucket/delete_test.go +++ b/clients/bucket/delete_test.go @@ -7,9 +7,9 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/bucket" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/bucket" "github.com/influxdata/influx-cli/v2/internal/config" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/influxdata/influx-cli/v2/internal/testutils" @@ -201,7 +201,7 @@ func TestBucketsDelete(t *testing.T) { tc.registerBucketExpectations(t, client) } cli := bucket.Client{ - CLI: cmd.CLI{ActiveConfig: config.Config{Org: tc.configOrgName}, StdIO: stdio}, + CLI: clients.CLI{ActiveConfig: config.Config{Org: tc.configOrgName}, StdIO: stdio}, BucketsApi: client, } @@ -215,7 +215,7 @@ func TestBucketsDelete(t *testing.T) { require.NoError(t, err) testutils.MatchLines(t, []string{ `ID\s+Name\s+Retention\s+Shard group duration\s+Organization ID\s+Schema Type\s+Deleted`, - tc.expectedStdoutPattern+`\s+true`, + tc.expectedStdoutPattern + `\s+true`, }, strings.Split(writtenBytes.String(), "\n")) }) } diff --git a/internal/cmd/bucket/list.go b/clients/bucket/list.go similarity index 91% rename from internal/cmd/bucket/list.go rename to clients/bucket/list.go index 542631f..71ad002 100644 --- a/internal/cmd/bucket/list.go +++ b/clients/bucket/list.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/clients" ) type BucketsListParams struct { @@ -16,7 +16,7 @@ type BucketsListParams struct { func (c Client) List(ctx context.Context, params *BucketsListParams) error { if params.OrgID == "" && params.OrgName == "" && c.ActiveConfig.Org == "" { - return cmd.ErrMustSpecifyOrg + return clients.ErrMustSpecifyOrg } req := c.GetBuckets(ctx) diff --git a/internal/cmd/bucket/list_test.go b/clients/bucket/list_test.go similarity index 96% rename from internal/cmd/bucket/list_test.go rename to clients/bucket/list_test.go index 3f015c2..8fd1661 100644 --- a/internal/cmd/bucket/list_test.go +++ b/clients/bucket/list_test.go @@ -7,9 +7,9 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/bucket" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/bucket" "github.com/influxdata/influx-cli/v2/internal/config" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/influxdata/influx-cli/v2/internal/testutils" @@ -214,7 +214,7 @@ func TestBucketsList(t *testing.T) { bytesWritten := bytes.Buffer{} stdio.EXPECT().Write(gomock.Any()).DoAndReturn(bytesWritten.Write).AnyTimes() cli := bucket.Client{ - CLI: cmd.CLI{ActiveConfig: config.Config{Org: tc.configOrgName}, StdIO: stdio}, + CLI: clients.CLI{ActiveConfig: config.Config{Org: tc.configOrgName}, StdIO: stdio}, BucketsApi: client, } diff --git a/internal/cmd/bucket/update.go b/clients/bucket/update.go similarity index 96% rename from internal/cmd/bucket/update.go rename to clients/bucket/update.go index 15e7f48..1570a8f 100644 --- a/internal/cmd/bucket/update.go +++ b/clients/bucket/update.go @@ -5,7 +5,7 @@ import ( "fmt" "time" - "github.com/influxdata/influx-cli/v2/internal/api" + "github.com/influxdata/influx-cli/v2/api" "github.com/influxdata/influx-cli/v2/internal/duration" ) diff --git a/internal/cmd/bucket/update_test.go b/clients/bucket/update_test.go similarity index 96% rename from internal/cmd/bucket/update_test.go rename to clients/bucket/update_test.go index 69e64be..4571556 100644 --- a/internal/cmd/bucket/update_test.go +++ b/clients/bucket/update_test.go @@ -7,9 +7,9 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/bucket" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/bucket" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/influxdata/influx-cli/v2/internal/testutils" "github.com/stretchr/testify/assert" @@ -149,7 +149,7 @@ func TestBucketsUpdate(t *testing.T) { tc.registerBucketExpectations(t, client) } cli := bucket.Client{ - CLI: cmd.CLI{StdIO: stdio}, + CLI: clients.CLI{StdIO: stdio}, BucketsApi: client, } diff --git a/internal/cmd/bucket_schema/client.go b/clients/bucket_schema/client.go similarity index 96% rename from internal/cmd/bucket_schema/client.go rename to clients/bucket_schema/client.go index 2633562..25f4759 100644 --- a/internal/cmd/bucket_schema/client.go +++ b/clients/bucket_schema/client.go @@ -8,14 +8,14 @@ import ( "io" "os" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" ) type Client struct { api.BucketsApi api.BucketSchemasApi - cmd.CLI + clients.CLI } type orgBucketID struct { @@ -39,7 +39,7 @@ func (c Client) resolveMeasurement(ctx context.Context, ids orgBucketID, name st return res.MeasurementSchemas[0].Id, nil } -func (c Client) resolveOrgBucketIds(ctx context.Context, params cmd.OrgBucketParams) (*orgBucketID, error) { +func (c Client) resolveOrgBucketIds(ctx context.Context, params clients.OrgBucketParams) (*orgBucketID, error) { if params.OrgID.Valid() && params.BucketID.Valid() { return &orgBucketID{OrgID: params.OrgID.String(), BucketID: params.BucketID.String()}, nil } diff --git a/internal/cmd/bucket_schema/create.go b/clients/bucket_schema/create.go similarity index 87% rename from internal/cmd/bucket_schema/create.go rename to clients/bucket_schema/create.go index 79791bd..79d57e6 100644 --- a/internal/cmd/bucket_schema/create.go +++ b/clients/bucket_schema/create.go @@ -5,12 +5,12 @@ import ( "fmt" "io" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" ) type CreateParams struct { - cmd.OrgBucketParams + clients.OrgBucketParams Name string Stdin io.Reader ColumnsFile string diff --git a/internal/cmd/bucket_schema/create_test.go b/clients/bucket_schema/create_test.go similarity index 94% rename from internal/cmd/bucket_schema/create_test.go rename to clients/bucket_schema/create_test.go index 51ba391..93dc112 100644 --- a/internal/cmd/bucket_schema/create_test.go +++ b/clients/bucket_schema/create_test.go @@ -11,9 +11,9 @@ import ( "github.com/golang/mock/gomock" "github.com/google/go-cmp/cmp" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/bucket_schema" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/bucket_schema" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/influxdata/influx-cli/v2/internal/testutils" "github.com/stretchr/testify/assert" @@ -34,7 +34,7 @@ func TestClient_Create(t *testing.T) { type setupArgs struct { buckets *mock.MockBucketsApi schemas *mock.MockBucketSchemasApi - cli cmd.CLI + cli clients.CLI params bucket_schema.CreateParams cols []api.MeasurementSchemaColumn stdio *mock.MockStdIO @@ -59,9 +59,9 @@ func TestClient_Create(t *testing.T) { } a.params = bucket_schema.CreateParams{ - OrgBucketParams: cmd.OrgBucketParams{ - OrgParams: cmd.OrgParams{OrgName: args.OrgName}, - BucketParams: cmd.BucketParams{BucketName: args.BucketName}, + OrgBucketParams: clients.OrgBucketParams{ + OrgParams: clients.OrgParams{OrgName: args.OrgName}, + BucketParams: clients.BucketParams{BucketName: args.BucketName}, }, Name: args.Name, ColumnsFile: colFile, @@ -241,7 +241,7 @@ func TestClient_Create(t *testing.T) { buckets: mock.NewMockBucketsApi(ctrl), schemas: mock.NewMockBucketSchemasApi(ctrl), stdio: mockIO, - cli: cmd.CLI{StdIO: mockIO}, + cli: clients.CLI{StdIO: mockIO}, } for _, opt := range tc.opts { diff --git a/internal/cmd/bucket_schema/csv.go b/clients/bucket_schema/csv.go similarity index 93% rename from internal/cmd/bucket_schema/csv.go rename to clients/bucket_schema/csv.go index 32b481a..92c27aa 100644 --- a/internal/cmd/bucket_schema/csv.go +++ b/clients/bucket_schema/csv.go @@ -5,7 +5,7 @@ import ( "io" "github.com/gocarina/gocsv" - "github.com/influxdata/influx-cli/v2/internal/api" + "github.com/influxdata/influx-cli/v2/api" ) type csvColumn struct { diff --git a/internal/cmd/bucket_schema/csv_test.go b/clients/bucket_schema/csv_test.go similarity index 97% rename from internal/cmd/bucket_schema/csv_test.go rename to clients/bucket_schema/csv_test.go index ac6a1c3..f7d5d76 100644 --- a/internal/cmd/bucket_schema/csv_test.go +++ b/clients/bucket_schema/csv_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/MakeNowJust/heredoc/v2" - "github.com/influxdata/influx-cli/v2/internal/api" + "github.com/influxdata/influx-cli/v2/api" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/internal/cmd/bucket_schema/format.go b/clients/bucket_schema/format.go similarity index 97% rename from internal/cmd/bucket_schema/format.go rename to clients/bucket_schema/format.go index fcce266..f3c1307 100644 --- a/internal/cmd/bucket_schema/format.go +++ b/clients/bucket_schema/format.go @@ -7,7 +7,7 @@ import ( "strconv" "strings" - "github.com/influxdata/influx-cli/v2/internal/api" + "github.com/influxdata/influx-cli/v2/api" ) // ColumnsFormat is a type which defines the supported formats diff --git a/internal/cmd/bucket_schema/json.go b/clients/bucket_schema/json.go similarity index 85% rename from internal/cmd/bucket_schema/json.go rename to clients/bucket_schema/json.go index 2e879a5..2f350b7 100644 --- a/internal/cmd/bucket_schema/json.go +++ b/clients/bucket_schema/json.go @@ -5,7 +5,7 @@ import ( "fmt" "io" - "github.com/influxdata/influx-cli/v2/internal/api" + "github.com/influxdata/influx-cli/v2/api" ) func decodeJson(r io.Reader) ([]api.MeasurementSchemaColumn, error) { diff --git a/internal/cmd/bucket_schema/json_test.go b/clients/bucket_schema/json_test.go similarity index 96% rename from internal/cmd/bucket_schema/json_test.go rename to clients/bucket_schema/json_test.go index ed31fc0..001fb17 100644 --- a/internal/cmd/bucket_schema/json_test.go +++ b/clients/bucket_schema/json_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/MakeNowJust/heredoc/v2" - "github.com/influxdata/influx-cli/v2/internal/api" + "github.com/influxdata/influx-cli/v2/api" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/internal/cmd/bucket_schema/list.go b/clients/bucket_schema/list.go similarity index 89% rename from internal/cmd/bucket_schema/list.go rename to clients/bucket_schema/list.go index 862e6db..13ccf69 100644 --- a/internal/cmd/bucket_schema/list.go +++ b/clients/bucket_schema/list.go @@ -4,11 +4,11 @@ import ( "context" "fmt" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/clients" ) type ListParams struct { - cmd.OrgBucketParams + clients.OrgBucketParams Name string ExtendedOutput bool } diff --git a/internal/cmd/bucket_schema/list_test.go b/clients/bucket_schema/list_test.go similarity index 93% rename from internal/cmd/bucket_schema/list_test.go rename to clients/bucket_schema/list_test.go index 795ffdf..861870c 100644 --- a/internal/cmd/bucket_schema/list_test.go +++ b/clients/bucket_schema/list_test.go @@ -10,9 +10,9 @@ import ( "time" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/bucket_schema" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/bucket_schema" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/influxdata/influx-cli/v2/internal/testutils" "github.com/stretchr/testify/assert" @@ -34,7 +34,7 @@ func TestClient_List(t *testing.T) { type setupArgs struct { buckets *mock.MockBucketsApi schemas *mock.MockBucketSchemasApi - cli cmd.CLI + cli clients.CLI params bucket_schema.ListParams cols []api.MeasurementSchemaColumn stdio *mock.MockStdIO @@ -53,9 +53,9 @@ func TestClient_List(t *testing.T) { return func(t *testing.T, a *setupArgs) { t.Helper() a.params = bucket_schema.ListParams{ - OrgBucketParams: cmd.OrgBucketParams{ - OrgParams: cmd.OrgParams{OrgName: args.OrgName}, - BucketParams: cmd.BucketParams{BucketName: args.BucketName}, + OrgBucketParams: clients.OrgBucketParams{ + OrgParams: clients.OrgParams{OrgName: args.OrgName}, + BucketParams: clients.BucketParams{BucketName: args.BucketName}, }, Name: args.Name, ExtendedOutput: args.ExtendedOutput, @@ -211,7 +211,7 @@ func TestClient_List(t *testing.T) { buckets: mock.NewMockBucketsApi(ctrl), schemas: mock.NewMockBucketSchemasApi(ctrl), stdio: mockIO, - cli: cmd.CLI{StdIO: mockIO}, + cli: clients.CLI{StdIO: mockIO}, } for _, opt := range tc.opts { diff --git a/internal/cmd/bucket_schema/nsjson.go b/clients/bucket_schema/nsjson.go similarity index 91% rename from internal/cmd/bucket_schema/nsjson.go rename to clients/bucket_schema/nsjson.go index bf00be5..81aa091 100644 --- a/internal/cmd/bucket_schema/nsjson.go +++ b/clients/bucket_schema/nsjson.go @@ -7,7 +7,7 @@ import ( "fmt" "io" - "github.com/influxdata/influx-cli/v2/internal/api" + "github.com/influxdata/influx-cli/v2/api" ) func decodeNDJson(r io.Reader) ([]api.MeasurementSchemaColumn, error) { diff --git a/internal/cmd/bucket_schema/nsjson_test.go b/clients/bucket_schema/nsjson_test.go similarity index 97% rename from internal/cmd/bucket_schema/nsjson_test.go rename to clients/bucket_schema/nsjson_test.go index c31ba9b..d31b9f6 100644 --- a/internal/cmd/bucket_schema/nsjson_test.go +++ b/clients/bucket_schema/nsjson_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/MakeNowJust/heredoc/v2" - "github.com/influxdata/influx-cli/v2/internal/api" + "github.com/influxdata/influx-cli/v2/api" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/internal/cmd/bucket_schema/testdata/columns.csv b/clients/bucket_schema/testdata/columns.csv similarity index 100% rename from internal/cmd/bucket_schema/testdata/columns.csv rename to clients/bucket_schema/testdata/columns.csv diff --git a/internal/cmd/bucket_schema/testdata/columns.json b/clients/bucket_schema/testdata/columns.json similarity index 100% rename from internal/cmd/bucket_schema/testdata/columns.json rename to clients/bucket_schema/testdata/columns.json diff --git a/internal/cmd/bucket_schema/testdata/columns.ndjson b/clients/bucket_schema/testdata/columns.ndjson similarity index 100% rename from internal/cmd/bucket_schema/testdata/columns.ndjson rename to clients/bucket_schema/testdata/columns.ndjson diff --git a/internal/cmd/bucket_schema/update.go b/clients/bucket_schema/update.go similarity index 90% rename from internal/cmd/bucket_schema/update.go rename to clients/bucket_schema/update.go index d8e6578..e6a5ea6 100644 --- a/internal/cmd/bucket_schema/update.go +++ b/clients/bucket_schema/update.go @@ -6,12 +6,12 @@ import ( "fmt" "io" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" ) type UpdateParams struct { - cmd.OrgBucketParams + clients.OrgBucketParams Name string ID string Stdin io.Reader diff --git a/internal/cmd/bucket_schema/update_test.go b/clients/bucket_schema/update_test.go similarity index 94% rename from internal/cmd/bucket_schema/update_test.go rename to clients/bucket_schema/update_test.go index e5b065a..b27eee9 100644 --- a/internal/cmd/bucket_schema/update_test.go +++ b/clients/bucket_schema/update_test.go @@ -11,9 +11,9 @@ import ( "github.com/golang/mock/gomock" "github.com/google/go-cmp/cmp" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/bucket_schema" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/bucket_schema" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/influxdata/influx-cli/v2/internal/testutils" "github.com/stretchr/testify/assert" @@ -35,7 +35,7 @@ func TestClient_Update(t *testing.T) { type setupArgs struct { buckets *mock.MockBucketsApi schemas *mock.MockBucketSchemasApi - cli cmd.CLI + cli clients.CLI params bucket_schema.UpdateParams cols []api.MeasurementSchemaColumn stdio *mock.MockStdIO @@ -60,9 +60,9 @@ func TestClient_Update(t *testing.T) { } a.params = bucket_schema.UpdateParams{ - OrgBucketParams: cmd.OrgBucketParams{ - OrgParams: cmd.OrgParams{OrgName: args.OrgName}, - BucketParams: cmd.BucketParams{BucketName: args.BucketName}, + OrgBucketParams: clients.OrgBucketParams{ + OrgParams: clients.OrgParams{OrgName: args.OrgName}, + BucketParams: clients.BucketParams{BucketName: args.BucketName}, }, Name: args.Name, ColumnsFile: colFile, @@ -235,7 +235,6 @@ func TestClient_Update(t *testing.T) { `^1010\s+cpu\s+time\s+timestamp\s+f00d$`, `^1010\s+cpu\s+host\s+tag\s+f00d$`, `^1010\s+cpu\s+usage_user\s+field\s+float\s+f00d$`, - ), }, } @@ -254,7 +253,7 @@ func TestClient_Update(t *testing.T) { buckets: mock.NewMockBucketsApi(ctrl), schemas: mock.NewMockBucketSchemasApi(ctrl), stdio: mockIO, - cli: cmd.CLI{StdIO: mockIO}, + cli: clients.CLI{StdIO: mockIO}, } for _, opt := range tc.opts { diff --git a/internal/cmd/cli.go b/clients/cli.go similarity index 92% rename from internal/cmd/cli.go rename to clients/cli.go index 9dfc514..81fda4f 100644 --- a/internal/cmd/cli.go +++ b/clients/cli.go @@ -1,11 +1,11 @@ -package cmd +package clients import ( "encoding/json" "github.com/influxdata/influx-cli/v2/internal/config" - "github.com/influxdata/influx-cli/v2/internal/stdio" "github.com/influxdata/influx-cli/v2/internal/tabwriter" + "github.com/influxdata/influx-cli/v2/pkg/stdio" ) const MinPasswordLen = 8 diff --git a/internal/cmd/config/config.go b/clients/config/config.go similarity index 96% rename from internal/cmd/config/config.go rename to clients/config/config.go index 41815fa..1b0e32d 100644 --- a/internal/cmd/config/config.go +++ b/clients/config/config.go @@ -5,15 +5,15 @@ import ( "fmt" "net/url" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" "github.com/influxdata/influx-cli/v2/internal/config" ) var ErrInvalidHostUrlScheme = errors.New("a scheme of http or https must be provided for host url") type Client struct { - cmd.CLI + clients.CLI } func (c Client) SwitchActive(name string) error { diff --git a/internal/cmd/config/config_test.go b/clients/config/config_test.go similarity index 91% rename from internal/cmd/config/config_test.go rename to clients/config/config_test.go index 2f675a8..5b7c0b6 100644 --- a/internal/cmd/config/config_test.go +++ b/clients/config/config_test.go @@ -7,9 +7,9 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/config" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/config" iconfig "github.com/influxdata/influx-cli/v2/internal/config" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/influxdata/influx-cli/v2/internal/testutils" @@ -35,7 +35,7 @@ func TestClient_SwitchActive(t *testing.T) { svc := mock.NewMockConfigService(ctrl) svc.EXPECT().SwitchActive(gomock.Eq(name)).Return(cfg, nil) - cli := config.Client{CLI: cmd.CLI{ConfigService: svc, StdIO: stdio}} + cli := config.Client{CLI: clients.CLI{ConfigService: svc, StdIO: stdio}} require.NoError(t, cli.SwitchActive(name)) testutils.MatchLines(t, []string{ `Active\s+Name\s+URL\s+Org`, @@ -61,7 +61,7 @@ func TestClient_PrintActive(t *testing.T) { svc := mock.NewMockConfigService(ctrl) svc.EXPECT().Active().Return(cfg, nil) - cli := config.Client{CLI: cmd.CLI{ConfigService: svc, StdIO: stdio}} + cli := config.Client{CLI: clients.CLI{ConfigService: svc, StdIO: stdio}} require.NoError(t, cli.PrintActive()) testutils.MatchLines(t, []string{ `Active\s+Name\s+URL\s+Org`, @@ -87,7 +87,7 @@ func TestClient_Create(t *testing.T) { svc := mock.NewMockConfigService(ctrl) svc.EXPECT().CreateConfig(cfg).Return(cfg, nil) - cli := config.Client{CLI: cmd.CLI{ConfigService: svc, StdIO: stdio}} + cli := config.Client{CLI: clients.CLI{ConfigService: svc, StdIO: stdio}} require.NoError(t, cli.Create(cfg)) testutils.MatchLines(t, []string{ `Active\s+Name\s+URL\s+Org`, @@ -149,7 +149,7 @@ func TestClient_Delete(t *testing.T) { tc.registerExpectations(svc) } - cli := config.Client{CLI: cmd.CLI{ConfigService: svc, StdIO: stdio}} + cli := config.Client{CLI: clients.CLI{ConfigService: svc, StdIO: stdio}} require.NoError(t, cli.Delete(tc.in)) // Can't use our usual 'MatchLines' because list output depends on map iteration, @@ -185,7 +185,7 @@ func TestClient_Update(t *testing.T) { svc := mock.NewMockConfigService(ctrl) svc.EXPECT().UpdateConfig(updates).Return(cfg, nil) - cli := config.Client{CLI: cmd.CLI{ConfigService: svc, StdIO: stdio}} + cli := config.Client{CLI: clients.CLI{ConfigService: svc, StdIO: stdio}} require.NoError(t, cli.Update(updates)) testutils.MatchLines(t, []string{ `Active\s+Name\s+URL\s+Org`, @@ -237,7 +237,7 @@ func TestClient_List(t *testing.T) { svc := mock.NewMockConfigService(ctrl) svc.EXPECT().ListConfigs().Return(tc.cfgs, nil) - cli := config.Client{CLI: cmd.CLI{ConfigService: svc, StdIO: stdio}} + cli := config.Client{CLI: clients.CLI{ConfigService: svc, StdIO: stdio}} require.NoError(t, cli.List()) // Can't use our usual 'MatchLines' because list output depends on map iteration, diff --git a/internal/cmd/delete/delete.go b/clients/delete/delete.go similarity index 89% rename from internal/cmd/delete/delete.go rename to clients/delete/delete.go index 514c0e8..55f83ad 100644 --- a/internal/cmd/delete/delete.go +++ b/clients/delete/delete.go @@ -6,17 +6,17 @@ import ( "fmt" "time" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" ) type Client struct { - cmd.CLI + clients.CLI api.DeleteApi } type Params struct { - cmd.OrgBucketParams + clients.OrgBucketParams Predicate string Start string Stop string @@ -26,7 +26,7 @@ var ErrMustSpecifyBucket = errors.New("must specify bucket ID or bucket name") func (c Client) Delete(ctx context.Context, params *Params) error { if !params.OrgID.Valid() && params.OrgName == "" && c.ActiveConfig.Org == "" { - return cmd.ErrMustSpecifyOrg + return clients.ErrMustSpecifyOrg } if !params.BucketID.Valid() && params.BucketName == "" { return ErrMustSpecifyBucket diff --git a/internal/cmd/delete/delete_test.go b/clients/delete/delete_test.go similarity index 86% rename from internal/cmd/delete/delete_test.go rename to clients/delete/delete_test.go index fd4a743..243eeee 100644 --- a/internal/cmd/delete/delete_test.go +++ b/clients/delete/delete_test.go @@ -6,9 +6,9 @@ import ( "time" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/delete" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/delete" "github.com/influxdata/influx-cli/v2/internal/config" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/influxdata/influx-cli/v2/pkg/influxid" @@ -36,11 +36,11 @@ func TestClient_Delete(t *testing.T) { { name: "by IDs", params: delete.Params{ - OrgBucketParams: cmd.OrgBucketParams{ - OrgParams: cmd.OrgParams{ + OrgBucketParams: clients.OrgBucketParams{ + OrgParams: clients.OrgParams{ OrgID: id1, }, - BucketParams: cmd.BucketParams{ + BucketParams: clients.BucketParams{ BucketID: id2, }, }, @@ -66,11 +66,11 @@ func TestClient_Delete(t *testing.T) { { name: "by org ID, bucket name", params: delete.Params{ - OrgBucketParams: cmd.OrgBucketParams{ - OrgParams: cmd.OrgParams{ + OrgBucketParams: clients.OrgBucketParams{ + OrgParams: clients.OrgParams{ OrgID: id1, }, - BucketParams: cmd.BucketParams{ + BucketParams: clients.BucketParams{ BucketName: "my-bucket", }, }, @@ -96,11 +96,11 @@ func TestClient_Delete(t *testing.T) { { name: "by org name, bucket ID", params: delete.Params{ - OrgBucketParams: cmd.OrgBucketParams{ - OrgParams: cmd.OrgParams{ + OrgBucketParams: clients.OrgBucketParams{ + OrgParams: clients.OrgParams{ OrgName: "my-org", }, - BucketParams: cmd.BucketParams{ + BucketParams: clients.BucketParams{ BucketID: id2, }, }, @@ -127,9 +127,9 @@ func TestClient_Delete(t *testing.T) { { name: "by names", params: delete.Params{ - OrgBucketParams: cmd.OrgBucketParams{ - OrgParams: cmd.OrgParams{}, - BucketParams: cmd.BucketParams{ + OrgBucketParams: clients.OrgBucketParams{ + OrgParams: clients.OrgParams{}, + BucketParams: clients.BucketParams{ BucketName: "my-bucket", }, }, @@ -155,7 +155,7 @@ func TestClient_Delete(t *testing.T) { }, { name: "no org", - expectedErr: cmd.ErrMustSpecifyOrg.Error(), + expectedErr: clients.ErrMustSpecifyOrg.Error(), }, { name: "no bucket", @@ -165,8 +165,8 @@ func TestClient_Delete(t *testing.T) { { name: "bad start", params: delete.Params{ - OrgBucketParams: cmd.OrgBucketParams{ - BucketParams: cmd.BucketParams{ + OrgBucketParams: clients.OrgBucketParams{ + BucketParams: clients.BucketParams{ BucketName: "my-bucket", }, }, @@ -180,9 +180,9 @@ func TestClient_Delete(t *testing.T) { { name: "bad stop", params: delete.Params{ - OrgBucketParams: cmd.OrgBucketParams{ - OrgParams: cmd.OrgParams{}, - BucketParams: cmd.BucketParams{ + OrgBucketParams: clients.OrgBucketParams{ + OrgParams: clients.OrgParams{}, + BucketParams: clients.BucketParams{ BucketName: "my-bucket", }, }, @@ -207,7 +207,7 @@ func TestClient_Delete(t *testing.T) { } client := delete.Client{ - CLI: cmd.CLI{ActiveConfig: config.Config{Org: tc.defaultOrgName}}, + CLI: clients.CLI{ActiveConfig: config.Config{Org: tc.defaultOrgName}}, DeleteApi: api, } err := client.Delete(context.Background(), &tc.params) diff --git a/internal/cmd/errors.go b/clients/errors.go similarity index 93% rename from internal/cmd/errors.go rename to clients/errors.go index 85d4781..7b034a1 100644 --- a/internal/cmd/errors.go +++ b/clients/errors.go @@ -1,4 +1,4 @@ -package cmd +package clients import "errors" diff --git a/clients/helpers.go b/clients/helpers.go new file mode 100644 index 0000000..5ffb572 --- /dev/null +++ b/clients/helpers.go @@ -0,0 +1,56 @@ +package clients + +import ( + "fmt" + "io/ioutil" + "os" + "strings" + + "github.com/urfave/cli/v2" +) + +// ReadQuery reads a Flux query into memory from a --file argument, args, or stdin +func ReadQuery(ctx *cli.Context) (string, error) { + nargs := ctx.NArg() + file := ctx.String("file") + + if nargs > 1 { + return "", fmt.Errorf("at most 1 query string can be specified over the CLI, got %d", ctx.NArg()) + } + if nargs == 1 && file != "" { + return "", fmt.Errorf("query can be specified via --file or over the CLI, not both") + } + + readFile := func(path string) (string, error) { + queryBytes, err := ioutil.ReadFile(path) + if err != nil { + return "", fmt.Errorf("failed to read query from %q: %w", path, err) + } + return string(queryBytes), nil + } + + readStdin := func() (string, error) { + queryBytes, err := ioutil.ReadAll(os.Stdin) + if err != nil { + return "", fmt.Errorf("failed to read query from stdin: %w", err) + } + return string(queryBytes), err + } + + if file != "" { + return readFile(file) + } + if nargs == 0 { + return readStdin() + } + + arg := ctx.Args().Get(0) + // Backwards compatibility. + if strings.HasPrefix(arg, "@") { + return readFile(arg[1:]) + } else if arg == "-" { + return readStdin() + } else { + return arg, nil + } +} diff --git a/internal/cmd/org/client.go b/clients/org/client.go similarity index 87% rename from internal/cmd/org/client.go rename to clients/org/client.go index 78c2aa8..8a933ed 100644 --- a/internal/cmd/org/client.go +++ b/clients/org/client.go @@ -1,12 +1,12 @@ package org import ( - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" ) type Client struct { - cmd.CLI + clients.CLI api.OrganizationsApi api.UsersApi } diff --git a/internal/cmd/org/org.go b/clients/org/org.go similarity index 97% rename from internal/cmd/org/org.go rename to clients/org/org.go index 415f6c2..5a3a70d 100644 --- a/internal/cmd/org/org.go +++ b/clients/org/org.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/influxdata/influx-cli/v2/internal/api" + "github.com/influxdata/influx-cli/v2/api" "github.com/influxdata/influx-cli/v2/pkg/influxid" ) diff --git a/internal/cmd/org/org_members.go b/clients/org/org_members.go similarity index 95% rename from internal/cmd/org/org_members.go rename to clients/org/org_members.go index fbbfd70..94aa4f2 100644 --- a/internal/cmd/org/org_members.go +++ b/clients/org/org_members.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" "github.com/influxdata/influx-cli/v2/pkg/influxid" ) @@ -17,7 +17,7 @@ type AddMemberParams struct { func (c Client) AddMember(ctx context.Context, params *AddMemberParams) (err error) { if !params.OrgID.Valid() && params.OrgName == "" && c.ActiveConfig.Org == "" { - return cmd.ErrMustSpecifyOrg + return clients.ErrMustSpecifyOrg } orgID := params.OrgID.String() @@ -47,7 +47,7 @@ const maxConcurrentGetUserRequests = 10 func (c Client) ListMembers(ctx context.Context, params *ListMemberParams) (err error) { if !params.OrgID.Valid() && params.OrgName == "" && c.ActiveConfig.Org == "" { - return cmd.ErrMustSpecifyOrg + return clients.ErrMustSpecifyOrg } orgID := params.OrgID.String() @@ -126,7 +126,7 @@ type RemoveMemberParams struct { func (c Client) RemoveMember(ctx context.Context, params *RemoveMemberParams) (err error) { if !params.OrgID.Valid() && params.OrgName == "" && c.ActiveConfig.Org == "" { - return cmd.ErrMustSpecifyOrg + return clients.ErrMustSpecifyOrg } orgID := params.OrgID.String() diff --git a/internal/cmd/org/org_members_test.go b/clients/org/org_members_test.go similarity index 96% rename from internal/cmd/org/org_members_test.go rename to clients/org/org_members_test.go index 98c1ba6..026de99 100644 --- a/internal/cmd/org/org_members_test.go +++ b/clients/org/org_members_test.go @@ -9,9 +9,9 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/org" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/org" "github.com/influxdata/influx-cli/v2/internal/config" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/influxdata/influx-cli/v2/internal/testutils" @@ -121,7 +121,7 @@ func TestClient_AddMember(t *testing.T) { }, { name: "missing org", - expectedErr: cmd.ErrMustSpecifyOrg.Error(), + expectedErr: clients.ErrMustSpecifyOrg.Error(), }, } @@ -141,7 +141,7 @@ func TestClient_AddMember(t *testing.T) { stdio.EXPECT().Write(gomock.Any()).DoAndReturn(stdout.Write).AnyTimes() cli := org.Client{ - CLI: cmd.CLI{StdIO: stdio, ActiveConfig: config.Config{Org: tc.defaultOrgName}}, + CLI: clients.CLI{StdIO: stdio, ActiveConfig: config.Config{Org: tc.defaultOrgName}}, OrganizationsApi: api, } err := cli.AddMember(context.Background(), &tc.params) @@ -290,7 +290,7 @@ func TestClient_ListMembers(t *testing.T) { }, { name: "missing org", - expectedErr: cmd.ErrMustSpecifyOrg.Error(), + expectedErr: clients.ErrMustSpecifyOrg.Error(), }, } @@ -314,7 +314,7 @@ func TestClient_ListMembers(t *testing.T) { stdio.EXPECT().Write(gomock.Any()).DoAndReturn(stdout.Write).AnyTimes() cli := org.Client{ - CLI: cmd.CLI{StdIO: stdio, ActiveConfig: config.Config{Org: tc.defaultOrgName}}, + CLI: clients.CLI{StdIO: stdio, ActiveConfig: config.Config{Org: tc.defaultOrgName}}, OrganizationsApi: orgApi, UsersApi: userApi, } @@ -416,7 +416,7 @@ func TestClient_RemoveMembers(t *testing.T) { }, { name: "missing org", - expectedErr: cmd.ErrMustSpecifyOrg.Error(), + expectedErr: clients.ErrMustSpecifyOrg.Error(), }, } @@ -436,7 +436,7 @@ func TestClient_RemoveMembers(t *testing.T) { stdio.EXPECT().Write(gomock.Any()).DoAndReturn(stdout.Write).AnyTimes() cli := org.Client{ - CLI: cmd.CLI{StdIO: stdio, ActiveConfig: config.Config{Org: tc.defaultOrgName}}, + CLI: clients.CLI{StdIO: stdio, ActiveConfig: config.Config{Org: tc.defaultOrgName}}, OrganizationsApi: api, } err := cli.RemoveMember(context.Background(), &tc.params) diff --git a/internal/cmd/org/org_test.go b/clients/org/org_test.go similarity index 95% rename from internal/cmd/org/org_test.go rename to clients/org/org_test.go index 602b3d7..9671b7c 100644 --- a/internal/cmd/org/org_test.go +++ b/clients/org/org_test.go @@ -8,9 +8,9 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/org" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/org" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/influxdata/influx-cli/v2/internal/testutils" "github.com/influxdata/influx-cli/v2/pkg/influxid" @@ -84,7 +84,7 @@ func TestClient_Create(t *testing.T) { stdio := mock.NewMockStdIO(ctrl) stdio.EXPECT().Write(gomock.Any()).DoAndReturn(stdout.Write).AnyTimes() - cli := org.Client{CLI: cmd.CLI{StdIO: stdio}, OrganizationsApi: api} + cli := org.Client{CLI: clients.CLI{StdIO: stdio}, OrganizationsApi: api} require.NoError(t, cli.Create(context.Background(), &tc.params)) testutils.MatchLines(t, []string{`ID\s+Name`, tc.outLine}, strings.Split(stdout.String(), "\n")) }) @@ -119,7 +119,7 @@ func TestClient_Delete(t *testing.T) { stdio := mock.NewMockStdIO(ctrl) stdio.EXPECT().Write(gomock.Any()).DoAndReturn(stdout.Write).AnyTimes() - cli := org.Client{CLI: cmd.CLI{StdIO: stdio}, OrganizationsApi: orgApi} + cli := org.Client{CLI: clients.CLI{StdIO: stdio}, OrganizationsApi: orgApi} getReq := api.ApiGetOrgsIDRequest{ApiService: orgApi}.OrgID(id.String()) orgApi.EXPECT().GetOrgsID(gomock.Any(), gomock.Eq(id.String())).Return(getReq) @@ -225,7 +225,7 @@ func TestClient_List(t *testing.T) { stdio := mock.NewMockStdIO(ctrl) stdio.EXPECT().Write(gomock.Any()).DoAndReturn(stdout.Write).AnyTimes() - cli := org.Client{CLI: cmd.CLI{StdIO: stdio}, OrganizationsApi: orgApi} + cli := org.Client{CLI: clients.CLI{StdIO: stdio}, OrganizationsApi: orgApi} require.NoError(t, cli.List(context.Background(), &tc.params)) testutils.MatchLines(t, append([]string{`ID\s+Name`}, tc.outLines...), strings.Split(stdout.String(), "\n")) }) @@ -289,7 +289,7 @@ func TestClient_Update(t *testing.T) { stdio := mock.NewMockStdIO(ctrl) stdio.EXPECT().Write(gomock.Any()).DoAndReturn(stdout.Write).AnyTimes() - cli := org.Client{CLI: cmd.CLI{StdIO: stdio}, OrganizationsApi: orgApi} + cli := org.Client{CLI: clients.CLI{StdIO: stdio}, OrganizationsApi: orgApi} require.NoError(t, cli.Update(context.Background(), &tc.params)) testutils.MatchLines(t, []string{`ID\s+Name`, tc.outLine}, strings.Split(stdout.String(), "\n")) }) diff --git a/internal/cmd/params.go b/clients/params.go similarity index 94% rename from internal/cmd/params.go rename to clients/params.go index 848b565..9e8480f 100644 --- a/internal/cmd/params.go +++ b/clients/params.go @@ -1,4 +1,4 @@ -package cmd +package clients import ( "github.com/influxdata/influx-cli/v2/pkg/influxid" diff --git a/internal/cmd/ping/ping.go b/clients/ping/ping.go similarity index 73% rename from internal/cmd/ping/ping.go rename to clients/ping/ping.go index ec2d719..d14b5b6 100644 --- a/internal/cmd/ping/ping.go +++ b/clients/ping/ping.go @@ -3,12 +3,12 @@ package ping import ( "context" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" ) type Client struct { - cmd.CLI + clients.CLI api.HealthApi } diff --git a/internal/cmd/ping/ping_test.go b/clients/ping/ping_test.go similarity index 92% rename from internal/cmd/ping/ping_test.go rename to clients/ping/ping_test.go index 5043724..e04c2fc 100644 --- a/internal/cmd/ping/ping_test.go +++ b/clients/ping/ping_test.go @@ -7,9 +7,9 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/ping" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/ping" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/stretchr/testify/require" ) @@ -26,7 +26,7 @@ func Test_PingSuccess(t *testing.T) { bytesWritten := bytes.Buffer{} stdio.EXPECT().Write(gomock.Any()).DoAndReturn(bytesWritten.Write).AnyTimes() cli := ping.Client{ - CLI: cmd.CLI{StdIO: stdio}, + CLI: clients.CLI{StdIO: stdio}, HealthApi: client, } diff --git a/internal/cmd/query/formatting_printer.go b/clients/query/formatting_printer.go similarity index 100% rename from internal/cmd/query/formatting_printer.go rename to clients/query/formatting_printer.go diff --git a/internal/cmd/query/formatting_printer_test.go b/clients/query/formatting_printer_test.go similarity index 99% rename from internal/cmd/query/formatting_printer_test.go rename to clients/query/formatting_printer_test.go index be7ad22..7168d69 100644 --- a/internal/cmd/query/formatting_printer_test.go +++ b/clients/query/formatting_printer_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/influxdata/influx-cli/v2/internal/cmd/query" + "github.com/influxdata/influx-cli/v2/clients/query" "github.com/stretchr/testify/require" ) diff --git a/internal/cmd/query/query.go b/clients/query/query.go similarity index 96% rename from internal/cmd/query/query.go rename to clients/query/query.go index 45d8e40..350af50 100644 --- a/internal/cmd/query/query.go +++ b/clients/query/query.go @@ -5,8 +5,8 @@ import ( "fmt" "io" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" ) type ResultPrinter interface { @@ -25,13 +25,13 @@ func (r *rawResultPrinter) PrintQueryResults(resultStream io.ReadCloser, out io. } type Client struct { - cmd.CLI + clients.CLI api.QueryApi ResultPrinter } type Params struct { - cmd.OrgParams + clients.OrgParams Query string Profilers []string } @@ -121,7 +121,7 @@ func BuildExternAST(profilers []string) *api.Extern { func (c Client) Query(ctx context.Context, params *Params) error { if !params.OrgID.Valid() && params.OrgName == "" && c.ActiveConfig.Org == "" { - return cmd.ErrMustSpecifyOrg + return clients.ErrMustSpecifyOrg } query := BuildDefaultAST(params.Query) diff --git a/internal/cmd/query/query_test.go b/clients/query/query_test.go similarity index 94% rename from internal/cmd/query/query_test.go rename to clients/query/query_test.go index 1a66051..10fb405 100644 --- a/internal/cmd/query/query_test.go +++ b/clients/query/query_test.go @@ -8,9 +8,9 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/query" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/query" "github.com/influxdata/influx-cli/v2/internal/config" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/influxdata/influx-cli/v2/pkg/influxid" @@ -103,7 +103,7 @@ func TestQuery(t *testing.T) { { name: "by org ID", params: query.Params{ - OrgParams: cmd.OrgParams{ + OrgParams: clients.OrgParams{ OrgID: orgID, }, Query: fakeQuery.Query, @@ -123,7 +123,7 @@ func TestQuery(t *testing.T) { { name: "by org name", params: query.Params{ - OrgParams: cmd.OrgParams{ + OrgParams: clients.OrgParams{ OrgName: "my-org", }, Query: fakeQuery.Query, @@ -143,7 +143,7 @@ func TestQuery(t *testing.T) { { name: "by org name from config", params: query.Params{ - OrgParams: cmd.OrgParams{}, + OrgParams: clients.OrgParams{}, Query: fakeQuery.Query, }, configOrgName: "default-org", @@ -161,15 +161,15 @@ func TestQuery(t *testing.T) { { name: "no org specified", params: query.Params{ - OrgParams: cmd.OrgParams{}, + OrgParams: clients.OrgParams{}, Query: fakeQuery.Query, }, - expectInErr: cmd.ErrMustSpecifyOrg.Error(), + expectInErr: clients.ErrMustSpecifyOrg.Error(), }, { name: "with profilers", params: query.Params{ - OrgParams: cmd.OrgParams{}, + OrgParams: clients.OrgParams{}, Query: fakeQuery.Query, Profilers: []string{"foo", "bar"}, }, @@ -206,7 +206,7 @@ func TestQuery(t *testing.T) { tc.registerExpectations(t, queryApi) } cli := query.Client{ - CLI: cmd.CLI{ActiveConfig: config.Config{Org: tc.configOrgName}, StdIO: stdio}, + CLI: clients.CLI{ActiveConfig: config.Config{Org: tc.configOrgName}, StdIO: stdio}, QueryApi: queryApi, ResultPrinter: query.RawResultPrinter, } diff --git a/internal/cmd/setup/setup.go b/clients/setup/setup.go similarity index 96% rename from internal/cmd/setup/setup.go rename to clients/setup/setup.go index d7f96a2..89963b1 100644 --- a/internal/cmd/setup/setup.go +++ b/clients/setup/setup.go @@ -8,9 +8,9 @@ import ( "strconv" "time" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/bucket" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/bucket" "github.com/influxdata/influx-cli/v2/internal/config" "github.com/influxdata/influx-cli/v2/internal/duration" ) @@ -22,7 +22,7 @@ var ( ) type Client struct { - cmd.CLI + clients.CLI api.SetupApi } @@ -121,8 +121,8 @@ func (c Client) validateNoNameCollision(configName string) error { // Unless the 'force' parameter is set, the user will be prompted to enter any missing information // and to confirm the final request parameters. func (c Client) onboardingRequest(params *Params) (req api.OnboardingRequest, err error) { - if (params.Force || params.Password != "") && len(params.Password) < cmd.MinPasswordLen { - return req, cmd.ErrPasswordIsTooShort + if (params.Force || params.Password != "") && len(params.Password) < clients.MinPasswordLen { + return req, clients.ErrPasswordIsTooShort } // Populate the request with CLI args. @@ -165,7 +165,7 @@ func (c Client) onboardingRequest(params *Params) (req api.OnboardingRequest, er } if params.Password == "" { for { - pass1, err := c.StdIO.GetPassword("Please type your password", cmd.MinPasswordLen) + pass1, err := c.StdIO.GetPassword("Please type your password", clients.MinPasswordLen) if err != nil { return req, err } diff --git a/internal/cmd/setup/setup_test.go b/clients/setup/setup_test.go similarity index 92% rename from internal/cmd/setup/setup_test.go rename to clients/setup/setup_test.go index 9de3503..395a972 100644 --- a/internal/cmd/setup/setup_test.go +++ b/clients/setup/setup_test.go @@ -10,9 +10,9 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/setup" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/setup" "github.com/influxdata/influx-cli/v2/internal/config" "github.com/influxdata/influx-cli/v2/internal/duration" "github.com/influxdata/influx-cli/v2/internal/mock" @@ -34,7 +34,7 @@ func Test_SetupConfigNameCollision(t *testing.T) { configSvc := mock.NewMockConfigService(ctrl) configSvc.EXPECT().ListConfigs().Return(map[string]config.Config{cfg: {}}, nil) cli := setup.Client{ - CLI: cmd.CLI{ConfigService: configSvc}, + CLI: clients.CLI{ConfigService: configSvc}, SetupApi: client, } @@ -55,7 +55,7 @@ func Test_SetupConfigNameRequired(t *testing.T) { configSvc := mock.NewMockConfigService(ctrl) configSvc.EXPECT().ListConfigs().Return(map[string]config.Config{"foo": {}}, nil) cli := setup.Client{ - CLI: cmd.CLI{ConfigService: configSvc}, + CLI: clients.CLI{ConfigService: configSvc}, SetupApi: client, } @@ -73,7 +73,7 @@ func Test_SetupAlreadySetup(t *testing.T) { configSvc := mock.NewMockConfigService(ctrl) cli := setup.Client{ - CLI: cmd.CLI{ConfigService: configSvc}, + CLI: clients.CLI{ConfigService: configSvc}, SetupApi: client, } @@ -93,7 +93,7 @@ func Test_SetupCheckFailed(t *testing.T) { configSvc := mock.NewMockConfigService(ctrl) cli := setup.Client{ - CLI: cmd.CLI{ConfigService: configSvc}, + CLI: clients.CLI{ConfigService: configSvc}, SetupApi: client, } @@ -155,7 +155,7 @@ func Test_SetupSuccessNoninteractive(t *testing.T) { bytesWritten := bytes.Buffer{} stdio.EXPECT().Write(gomock.Any()).DoAndReturn(bytesWritten.Write).AnyTimes() cli := setup.Client{ - CLI: cmd.CLI{ConfigService: configSvc, ActiveConfig: config.Config{Host: host}, StdIO: stdio}, + CLI: clients.CLI{ConfigService: configSvc, ActiveConfig: config.Config{Host: host}, StdIO: stdio}, SetupApi: client, } require.NoError(t, cli.Setup(context.Background(), ¶ms)) @@ -222,7 +222,7 @@ func Test_SetupSuccessInteractive(t *testing.T) { stdio.EXPECT().GetStringInput("Please type your retention period in hours, or 0 for infinite", gomock.Any()).Return(strconv.Itoa(retentionHrs), nil) stdio.EXPECT().GetConfirm(gomock.Any()).Return(true) cli := setup.Client{ - CLI: cmd.CLI{ConfigService: configSvc, ActiveConfig: config.Config{Host: host}, StdIO: stdio}, + CLI: clients.CLI{ConfigService: configSvc, ActiveConfig: config.Config{Host: host}, StdIO: stdio}, SetupApi: client, } require.NoError(t, cli.Setup(context.Background(), &setup.Params{})) @@ -257,11 +257,11 @@ func Test_SetupPasswordParamToShort(t *testing.T) { stdio := mock.NewMockStdIO(ctrl) cli := setup.Client{ - CLI: cmd.CLI{ConfigService: configSvc, ActiveConfig: config.Config{Host: host}, StdIO: stdio}, + CLI: clients.CLI{ConfigService: configSvc, ActiveConfig: config.Config{Host: host}, StdIO: stdio}, SetupApi: client, } err := cli.Setup(context.Background(), ¶ms) - require.Equal(t, cmd.ErrPasswordIsTooShort, err) + require.Equal(t, clients.ErrPasswordIsTooShort, err) } func Test_SetupCancelAtConfirmation(t *testing.T) { @@ -292,7 +292,7 @@ func Test_SetupCancelAtConfirmation(t *testing.T) { stdio.EXPECT().GetConfirm(gomock.Any()).Return(false) cli := setup.Client{ - CLI: cmd.CLI{ConfigService: configSvc, ActiveConfig: config.Config{Host: host}, StdIO: stdio}, + CLI: clients.CLI{ConfigService: configSvc, ActiveConfig: config.Config{Host: host}, StdIO: stdio}, SetupApi: client, } err := cli.Setup(context.Background(), ¶ms) diff --git a/internal/cmd/task/task.go b/clients/task/task.go similarity index 84% rename from internal/cmd/task/task.go rename to clients/task/task.go index 4a1080e..18ff515 100644 --- a/internal/cmd/task/task.go +++ b/clients/task/task.go @@ -3,23 +3,23 @@ package task import ( "context" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" ) type Client struct { - cmd.CLI + clients.CLI api.TasksApi // AllowEmptyOrg will be useful for Kapacitor which doesn't use org / orgID AllowEmptyOrg bool } type CreateParams struct { - cmd.OrgParams + clients.OrgParams FluxQuery string } -func (c Client) getOrg(params *cmd.OrgParams) (string, error) { +func (c Client) getOrg(params *clients.OrgParams) (string, error) { if params.OrgID.Valid() { return params.OrgID.String(), nil } @@ -32,7 +32,7 @@ func (c Client) getOrg(params *cmd.OrgParams) (string, error) { if c.AllowEmptyOrg { return "", nil } - return "", cmd.ErrMustSpecifyOrg + return "", clients.ErrMustSpecifyOrg } func (c Client) Create(ctx context.Context, params *CreateParams) error { @@ -41,9 +41,8 @@ func (c Client) Create(ctx context.Context, params *CreateParams) error { return err } task, err := c.PostTasks(ctx).TaskCreateRequest(api.TaskCreateRequest{ - Org: &org, - Flux: params.FluxQuery, - Description: nil, + Org: &org, + Flux: params.FluxQuery, }).Execute() if err != nil { return err diff --git a/internal/cmd/user/user.go b/clients/user/user.go similarity index 92% rename from internal/cmd/user/user.go rename to clients/user/user.go index 89d95ff..497374a 100644 --- a/internal/cmd/user/user.go +++ b/clients/user/user.go @@ -5,28 +5,28 @@ import ( "errors" "fmt" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" "github.com/influxdata/influx-cli/v2/pkg/influxid" ) type Client struct { - cmd.CLI + clients.CLI api.UsersApi api.OrganizationsApi } type CreateParams struct { - cmd.OrgParams + clients.OrgParams Name string Password string } var ErrMustSpecifyUser = errors.New("must specify user ID or user name") -func getOrgID(ctx context.Context, params *cmd.OrgParams, c cmd.CLI, orgApi api.OrganizationsApi) (string, error) { +func getOrgID(ctx context.Context, params *clients.OrgParams, c clients.CLI, orgApi api.OrganizationsApi) (string, error) { if !params.OrgID.Valid() && params.OrgName == "" && c.ActiveConfig.Org == "" { - return "", cmd.ErrMustSpecifyOrg + return "", clients.ErrMustSpecifyOrg } orgID := params.OrgID.String() if !params.OrgID.Valid() { @@ -49,8 +49,8 @@ func getOrgID(ctx context.Context, params *cmd.OrgParams, c cmd.CLI, orgApi api. } func (c Client) Create(ctx context.Context, params *CreateParams) error { - if params.Password != "" && len(params.Password) < cmd.MinPasswordLen { - return cmd.ErrPasswordIsTooShort + if params.Password != "" && len(params.Password) < clients.MinPasswordLen { + return clients.ErrPasswordIsTooShort } orgID, err := getOrgID(ctx, ¶ms.OrgParams, c.CLI, c.OrganizationsApi) @@ -161,7 +161,7 @@ func (c Client) SetPassword(ctx context.Context, params *SetPasswordParams) erro var password string for { - pass1, err := c.StdIO.GetPassword(fmt.Sprintf("Please type new password for %q", displayName), cmd.MinPasswordLen) + pass1, err := c.StdIO.GetPassword(fmt.Sprintf("Please type new password for %q", displayName), clients.MinPasswordLen) if err != nil { return err } diff --git a/internal/cmd/user/user_test.go b/clients/user/user_test.go similarity index 96% rename from internal/cmd/user/user_test.go rename to clients/user/user_test.go index 03b61b5..d591766 100644 --- a/internal/cmd/user/user_test.go +++ b/clients/user/user_test.go @@ -8,9 +8,9 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/user" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/user" "github.com/influxdata/influx-cli/v2/internal/config" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/influxdata/influx-cli/v2/internal/testutils" @@ -42,7 +42,7 @@ func TestClient_Create(t *testing.T) { params: user.CreateParams{ Name: "my-user", Password: "my-password", - OrgParams: cmd.OrgParams{ + OrgParams: clients.OrgParams{ OrgID: id1, }, }, @@ -81,7 +81,7 @@ func TestClient_Create(t *testing.T) { params: user.CreateParams{ Name: "my-user", Password: "my-password", - OrgParams: cmd.OrgParams{ + OrgParams: clients.OrgParams{ OrgName: "my-org", }, }, @@ -165,7 +165,7 @@ func TestClient_Create(t *testing.T) { name: "no password", params: user.CreateParams{ Name: "my-user", - OrgParams: cmd.OrgParams{ + OrgParams: clients.OrgParams{ OrgID: id1, }, }, @@ -196,7 +196,7 @@ func TestClient_Create(t *testing.T) { Name: "my-user", Password: "my-password", }, - expectedErr: cmd.ErrMustSpecifyOrg.Error(), + expectedErr: clients.ErrMustSpecifyOrg.Error(), }, { name: "org not found", @@ -218,7 +218,7 @@ func TestClient_Create(t *testing.T) { params: user.CreateParams{ Name: "my-user", Password: "my-password", - OrgParams: cmd.OrgParams{ + OrgParams: clients.OrgParams{ OrgID: id1, }, }, @@ -249,7 +249,7 @@ func TestClient_Create(t *testing.T) { params: user.CreateParams{ Name: "my-user", Password: "my-password", - OrgParams: cmd.OrgParams{ + OrgParams: clients.OrgParams{ OrgID: id1, }, }, @@ -308,7 +308,7 @@ func TestClient_Create(t *testing.T) { stdio.EXPECT().WriteErr(gomock.Any()).DoAndReturn(stderr.Write).AnyTimes() cli := user.Client{ - CLI: cmd.CLI{StdIO: stdio, ActiveConfig: config.Config{Org: tc.defaultOrgName}}, + CLI: clients.CLI{StdIO: stdio, ActiveConfig: config.Config{Org: tc.defaultOrgName}}, OrganizationsApi: orgApi, UsersApi: userApi, } @@ -356,7 +356,7 @@ func TestClient_Delete(t *testing.T) { stdio := mock.NewMockStdIO(ctrl) stdio.EXPECT().Write(gomock.Any()).DoAndReturn(stdout.Write).AnyTimes() - cli := user.Client{CLI: cmd.CLI{StdIO: stdio}, UsersApi: userApi} + cli := user.Client{CLI: clients.CLI{StdIO: stdio}, UsersApi: userApi} getReq := api.ApiGetUsersIDRequest{ApiService: userApi}.UserID(id2.String()) userApi.EXPECT().GetUsersID(gomock.Any(), gomock.Eq(id2.String())).Return(getReq) @@ -463,7 +463,7 @@ func TestClient_List(t *testing.T) { stdio := mock.NewMockStdIO(ctrl) stdio.EXPECT().Write(gomock.Any()).DoAndReturn(stdout.Write).AnyTimes() - cli := user.Client{CLI: cmd.CLI{StdIO: stdio}, UsersApi: userApi} + cli := user.Client{CLI: clients.CLI{StdIO: stdio}, UsersApi: userApi} require.NoError(t, cli.List(context.Background(), &tc.params)) testutils.MatchLines(t, append([]string{`ID\s+Name`}, tc.outLines...), strings.Split(stdout.String(), "\n")) }) @@ -490,7 +490,7 @@ func TestClient_Update(t *testing.T) { stdio := mock.NewMockStdIO(ctrl) stdio.EXPECT().Write(gomock.Any()).DoAndReturn(stdout.Write).AnyTimes() - cli := user.Client{CLI: cmd.CLI{StdIO: stdio}, UsersApi: userApi} + cli := user.Client{CLI: clients.CLI{StdIO: stdio}, UsersApi: userApi} require.NoError(t, cli.Update(context.Background(), &user.UpdateParmas{Id: id2, Name: newName})) testutils.MatchLines(t, []string{`ID\s+Name`, `2222222222222222\s+my-new-name`}, strings.Split(stdout.String(), "\n")) } @@ -576,7 +576,7 @@ func TestClient_SetPassword(t *testing.T) { stdio.EXPECT().GetPassword(gomock.Any(), gomock.Any()).Return("mypassword", nil).Times(2) } - cli := user.Client{CLI: cmd.CLI{StdIO: stdio}, UsersApi: userApi} + cli := user.Client{CLI: clients.CLI{StdIO: stdio}, UsersApi: userApi} err := cli.SetPassword(context.Background(), &tc.params) if tc.expectedErr != "" { diff --git a/internal/cmd/write/buffer_batcher.go b/clients/write/buffer_batcher.go similarity index 100% rename from internal/cmd/write/buffer_batcher.go rename to clients/write/buffer_batcher.go diff --git a/internal/cmd/write/buffer_batcher_internal_test.go b/clients/write/buffer_batcher_internal_test.go similarity index 95% rename from internal/cmd/write/buffer_batcher_internal_test.go rename to clients/write/buffer_batcher_internal_test.go index cedaf3b..a143c0e 100644 --- a/internal/cmd/write/buffer_batcher_internal_test.go +++ b/clients/write/buffer_batcher_internal_test.go @@ -139,9 +139,9 @@ func TestBatcher_write(t *testing.T) { MaxFlushBytes: 1, }, args: args{ - line: "m1,t1=v1 f1=1", - lines: make(chan []byte), - errC: make(chan error), + line: "m1,t1=v1 f1=1", + lines: make(chan []byte), + errC: make(chan error), }, want: "m1,t1=v1 f1=1", }, @@ -151,9 +151,9 @@ func TestBatcher_write(t *testing.T) { MaxFlushInterval: time.Millisecond, }, args: args{ - line: "m1,t1=v1 f1=1", - lines: make(chan []byte), - errC: make(chan error), + line: "m1,t1=v1 f1=1", + lines: make(chan []byte), + errC: make(chan error), }, want: "m1,t1=v1 f1=1", }, @@ -203,9 +203,9 @@ func TestBatcher_write(t *testing.T) { MaxFlushBytes: 1, }, args: args{ - line: "\n", - lines: make(chan []byte), - errC: make(chan error), + line: "\n", + lines: make(chan []byte), + errC: make(chan error), }, wantNoCall: true, }, diff --git a/internal/cmd/write/buffer_batcher_test.go b/clients/write/buffer_batcher_test.go similarity index 98% rename from internal/cmd/write/buffer_batcher_test.go rename to clients/write/buffer_batcher_test.go index 135a980..97c6733 100644 --- a/internal/cmd/write/buffer_batcher_test.go +++ b/clients/write/buffer_batcher_test.go @@ -9,7 +9,7 @@ import ( "testing" "time" - "github.com/influxdata/influx-cli/v2/internal/cmd/write" + "github.com/influxdata/influx-cli/v2/clients/write" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -86,7 +86,7 @@ func TestBatcher_WriteTo(t *testing.T) { MaxFlushInterval time.Duration } type args struct { - r func() io.Reader + r func() io.Reader } tests := []struct { name string diff --git a/internal/cmd/write/dryrun.go b/clients/write/dryrun.go similarity index 85% rename from internal/cmd/write/dryrun.go rename to clients/write/dryrun.go index 07a2127..e5130f1 100644 --- a/internal/cmd/write/dryrun.go +++ b/clients/write/dryrun.go @@ -4,11 +4,11 @@ import ( "context" "io" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/clients" ) type DryRunClient struct { - cmd.CLI + clients.CLI LineReader } diff --git a/internal/cmd/write/dryrun_test.go b/clients/write/dryrun_test.go similarity index 81% rename from internal/cmd/write/dryrun_test.go rename to clients/write/dryrun_test.go index fa6bfeb..63496e8 100644 --- a/internal/cmd/write/dryrun_test.go +++ b/clients/write/dryrun_test.go @@ -8,8 +8,8 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/write" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/write" "github.com/influxdata/influx-cli/v2/internal/config" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/stretchr/testify/require" @@ -33,7 +33,7 @@ fake line protocol 3 stdio.EXPECT().Write(gomock.Any()).DoAndReturn(bytesWritten.Write).AnyTimes() cli := write.DryRunClient{ - CLI: cmd.CLI{ActiveConfig: config.Config{Org: "my-default-org"}, StdIO: stdio}, + CLI: clients.CLI{ActiveConfig: config.Config{Org: "my-default-org"}, StdIO: stdio}, LineReader: &mockReader, } diff --git a/internal/cmd/write/multi_reader.go b/clients/write/multi_reader.go similarity index 100% rename from internal/cmd/write/multi_reader.go rename to clients/write/multi_reader.go diff --git a/internal/cmd/write/multi_reader_test.go b/clients/write/multi_reader_test.go similarity index 99% rename from internal/cmd/write/multi_reader_test.go rename to clients/write/multi_reader_test.go index 9c32d41..bd55444 100644 --- a/internal/cmd/write/multi_reader_test.go +++ b/clients/write/multi_reader_test.go @@ -14,7 +14,7 @@ import ( "strings" "testing" - "github.com/influxdata/influx-cli/v2/internal/cmd/write" + "github.com/influxdata/influx-cli/v2/clients/write" "github.com/stretchr/testify/require" ) diff --git a/internal/cmd/write/throttler.go b/clients/write/throttler.go similarity index 100% rename from internal/cmd/write/throttler.go rename to clients/write/throttler.go diff --git a/internal/cmd/write/throttler_test.go b/clients/write/throttler_test.go similarity index 97% rename from internal/cmd/write/throttler_test.go rename to clients/write/throttler_test.go index db9991a..8a8cb31 100644 --- a/internal/cmd/write/throttler_test.go +++ b/clients/write/throttler_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/influxdata/influx-cli/v2/internal/cmd/write" + "github.com/influxdata/influx-cli/v2/clients/write" "github.com/stretchr/testify/require" ) diff --git a/internal/cmd/write/write.go b/clients/write/write.go similarity index 94% rename from internal/cmd/write/write.go rename to clients/write/write.go index ad22d95..280557e 100644 --- a/internal/cmd/write/write.go +++ b/clients/write/write.go @@ -6,8 +6,8 @@ import ( "fmt" "io" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" ) type LineReader interface { @@ -23,7 +23,7 @@ type BatchWriter interface { } type Client struct { - cmd.CLI + clients.CLI api.WriteApi LineReader RateLimiter diff --git a/internal/cmd/write/write_test.go b/clients/write/write_test.go similarity index 93% rename from internal/cmd/write/write_test.go rename to clients/write/write_test.go index 75ed9dd..727430c 100644 --- a/internal/cmd/write/write_test.go +++ b/clients/write/write_test.go @@ -9,9 +9,9 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/write" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/write" "github.com/influxdata/influx-cli/v2/internal/config" "github.com/influxdata/influx-cli/v2/internal/mock" "github.com/stretchr/testify/assert" @@ -86,7 +86,7 @@ func TestWriteByIDs(t *testing.T) { }).Times(len(inLines)) cli := write.Client{ - CLI: cmd.CLI{ActiveConfig: config.Config{Org: "my-default-org"}}, + CLI: clients.CLI{ActiveConfig: config.Config{Org: "my-default-org"}}, LineReader: &mockReader, RateLimiter: &mockThrottler, BatchWriter: &mockBatcher, @@ -131,7 +131,7 @@ func TestWriteByNames(t *testing.T) { }).Times(len(inLines)) cli := write.Client{ - CLI: cmd.CLI{ActiveConfig: config.Config{Org: "my-default-org"}}, + CLI: clients.CLI{ActiveConfig: config.Config{Org: "my-default-org"}}, LineReader: &mockReader, RateLimiter: &mockThrottler, BatchWriter: &mockBatcher, @@ -176,7 +176,7 @@ func TestWriteOrgFromConfig(t *testing.T) { }).Times(len(inLines)) cli := write.Client{ - CLI: cmd.CLI{ActiveConfig: config.Config{Org: defaultOrg}}, + CLI: clients.CLI{ActiveConfig: config.Config{Org: defaultOrg}}, LineReader: &mockReader, RateLimiter: &mockThrottler, BatchWriter: &mockBatcher, diff --git a/cmd/influx/bucket.go b/cmd/influx/bucket.go index c489f56..438aadd 100644 --- a/cmd/influx/bucket.go +++ b/cmd/influx/bucket.go @@ -1,8 +1,8 @@ package main import ( - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd/bucket" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients/bucket" "github.com/influxdata/influx-cli/v2/pkg/cli/middleware" "github.com/urfave/cli/v2" ) diff --git a/cmd/influx/bucket_schema.go b/cmd/influx/bucket_schema.go index e107bc2..aebf41f 100644 --- a/cmd/influx/bucket_schema.go +++ b/cmd/influx/bucket_schema.go @@ -1,8 +1,8 @@ package main import ( - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/bucket_schema" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/bucket_schema" "github.com/influxdata/influx-cli/v2/pkg/cli/middleware" "github.com/influxdata/influx-cli/v2/pkg/influxid" "github.com/urfave/cli/v2" @@ -26,7 +26,7 @@ func withBucketSchemaClient() cli.BeforeFunc { func getBucketSchemaClient(ctx *cli.Context) bucket_schema.Client { i, ok := ctx.App.Metadata["measurement_schema"].(bucket_schema.Client) if !ok { - panic("missing measurement schema client") + panic("missing measurement schema clients") } return i } @@ -45,7 +45,7 @@ func newBucketSchemaCmd() *cli.Command { func newBucketSchemaCreateCmd() *cli.Command { var params struct { - cmd.OrgBucketParams + clients.OrgBucketParams Name string ColumnsFile string ColumnsFormat bucket_schema.ColumnsFormat @@ -99,7 +99,7 @@ func newBucketSchemaCreateCmd() *cli.Command { func newBucketSchemaUpdateCmd() *cli.Command { var params struct { - cmd.OrgBucketParams + clients.OrgBucketParams ID influxid.ID Name string ColumnsFile string diff --git a/cmd/influx/config.go b/cmd/influx/config.go index 1fcd46f..a46b1a8 100644 --- a/cmd/influx/config.go +++ b/cmd/influx/config.go @@ -5,7 +5,7 @@ import ( "os" "path" - "github.com/influxdata/influx-cli/v2/internal/cmd/config" + "github.com/influxdata/influx-cli/v2/clients/config" iconfig "github.com/influxdata/influx-cli/v2/internal/config" "github.com/urfave/cli/v2" ) diff --git a/cmd/influx/delete.go b/cmd/influx/delete.go index 65f2c81..03bf875 100644 --- a/cmd/influx/delete.go +++ b/cmd/influx/delete.go @@ -1,7 +1,7 @@ package main import ( - "github.com/influxdata/influx-cli/v2/internal/cmd/delete" + "github.com/influxdata/influx-cli/v2/clients/delete" "github.com/influxdata/influx-cli/v2/pkg/cli/middleware" "github.com/urfave/cli/v2" ) diff --git a/cmd/influx/global.go b/cmd/influx/global.go index 2ef9350..3cd16e4 100644 --- a/cmd/influx/global.go +++ b/cmd/influx/global.go @@ -2,20 +2,16 @@ package main import ( "crypto/tls" - "errors" "fmt" - "io/ioutil" "net/http" "net/url" - "os" "runtime" - "strings" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients" "github.com/influxdata/influx-cli/v2/internal/config" - "github.com/influxdata/influx-cli/v2/internal/stdio" "github.com/influxdata/influx-cli/v2/pkg/cli/middleware" + "github.com/influxdata/influx-cli/v2/pkg/stdio" "github.com/urfave/cli/v2" ) @@ -33,26 +29,26 @@ const ( // newCli builds a CLI core that reads from stdin, writes to stdout/stderr, manages a local config store, // and optionally tracks a trace ID specified over the CLI. -func newCli(ctx *cli.Context) (cmd.CLI, error) { +func newCli(ctx *cli.Context) (clients.CLI, error) { configPath := ctx.String(configPathFlagName) var err error if configPath == "" { configPath, err = config.DefaultPath() if err != nil { - return cmd.CLI{}, err + return clients.CLI{}, err } } configSvc := config.NewLocalConfigService(configPath) var activeConfig config.Config if ctx.IsSet(configNameFlagName) { if activeConfig, err = configSvc.SwitchActive(ctx.String(configNameFlagName)); err != nil { - return cmd.CLI{}, err + return clients.CLI{}, err } } else if activeConfig, err = configSvc.Active(); err != nil { - return cmd.CLI{}, err + return clients.CLI{}, err } - return cmd.CLI{ + return clients.CLI{ StdIO: stdio.TerminalStdio, PrintAsJSON: ctx.Bool(printJsonFlagName), HideTableHeaders: ctx.Bool(hideHeadersFlagName), @@ -61,7 +57,7 @@ func newCli(ctx *cli.Context) (cmd.CLI, error) { }, nil } -// newApiClient returns an API client configured to communicate with a remote InfluxDB instance over HTTP. +// newApiClient returns an API clients configured to communicate with a remote InfluxDB instance over HTTP. // Client parameters are pulled from the CLI context. func newApiClient(ctx *cli.Context, configSvc config.Service, injectToken bool) (*api.APIClient, error) { cfg, err := configSvc.Active() @@ -116,8 +112,8 @@ func withCli() cli.BeforeFunc { } } -func getCLI(ctx *cli.Context) cmd.CLI { - i, ok := ctx.App.Metadata["cli"].(cmd.CLI) +func getCLI(ctx *cli.Context) clients.CLI { + i, ok := ctx.App.Metadata["cli"].(clients.CLI) if !ok { panic("missing CLI") } @@ -248,7 +244,7 @@ func commonFlags() []cli.Flag { // getOrgFlags returns flags used by commands that are scoped to a single org, binding // the flags to the given params container. -func getOrgFlags(params *cmd.OrgParams) []cli.Flag { +func getOrgFlags(params *clients.OrgParams) []cli.Flag { return []cli.Flag{ &cli.GenericFlag{ Name: "org-id", @@ -268,7 +264,7 @@ func getOrgFlags(params *cmd.OrgParams) []cli.Flag { // getBucketFlags returns flags used by commands that are scoped to a single bucket, binding // the flags to the given params container. -func getBucketFlags(params *cmd.BucketParams) []cli.Flag { +func getBucketFlags(params *clients.BucketParams) []cli.Flag { return []cli.Flag{ &cli.GenericFlag{ Name: "bucket-id", @@ -287,52 +283,6 @@ func getBucketFlags(params *cmd.BucketParams) []cli.Flag { // getOrgBucketFlags returns flags used by commands that are scoped to a single org/bucket, binding // the flags to the given params container. -func getOrgBucketFlags(c *cmd.OrgBucketParams) []cli.Flag { +func getOrgBucketFlags(c *clients.OrgBucketParams) []cli.Flag { return append(getBucketFlags(&c.BucketParams), getOrgFlags(&c.OrgParams)...) } - -// readQuery reads a Flux query into memory from a file, args, or stdin based on CLI parameters. -func readQuery(ctx *cli.Context) (string, error) { - nargs := ctx.NArg() - file := ctx.String("file") - - if nargs > 1 { - return "", fmt.Errorf("at most 1 query string can be specified over the CLI, got %d", ctx.NArg()) - } - if nargs == 1 && file != "" { - return "", errors.New("query can be specified via --file or over the CLI, not both") - } - - readFile := func(path string) (string, error) { - queryBytes, err := ioutil.ReadFile(path) - if err != nil { - return "", fmt.Errorf("failed to read query from %q: %w", path, err) - } - return string(queryBytes), nil - } - - readStdin := func() (string, error) { - queryBytes, err := ioutil.ReadAll(os.Stdin) - if err != nil { - return "", fmt.Errorf("failed to read query from stdin: %w", err) - } - return string(queryBytes), err - } - - if file != "" { - return readFile(file) - } - if nargs == 0 { - return readStdin() - } - - arg := ctx.Args().Get(0) - // Backwards compatibility. - if strings.HasPrefix(arg, "@") { - return readFile(arg[1:]) - } else if arg == "-" { - return readStdin() - } else { - return arg, nil - } -} diff --git a/cmd/influx/org.go b/cmd/influx/org.go index c22bce1..eae9630 100644 --- a/cmd/influx/org.go +++ b/cmd/influx/org.go @@ -1,7 +1,7 @@ package main import ( - "github.com/influxdata/influx-cli/v2/internal/cmd/org" + "github.com/influxdata/influx-cli/v2/clients/org" "github.com/influxdata/influx-cli/v2/pkg/cli/middleware" "github.com/influxdata/influx-cli/v2/pkg/influxid" "github.com/urfave/cli/v2" diff --git a/cmd/influx/org_members.go b/cmd/influx/org_members.go index f58e223..624fa23 100644 --- a/cmd/influx/org_members.go +++ b/cmd/influx/org_members.go @@ -1,7 +1,7 @@ package main import ( - "github.com/influxdata/influx-cli/v2/internal/cmd/org" + "github.com/influxdata/influx-cli/v2/clients/org" "github.com/influxdata/influx-cli/v2/pkg/cli/middleware" "github.com/urfave/cli/v2" ) diff --git a/cmd/influx/ping.go b/cmd/influx/ping.go index 8434cfd..d7ade78 100644 --- a/cmd/influx/ping.go +++ b/cmd/influx/ping.go @@ -1,7 +1,7 @@ package main import ( - "github.com/influxdata/influx-cli/v2/internal/cmd/ping" + "github.com/influxdata/influx-cli/v2/clients/ping" "github.com/influxdata/influx-cli/v2/pkg/cli/middleware" "github.com/urfave/cli/v2" ) diff --git a/cmd/influx/query.go b/cmd/influx/query.go index 4eba715..c120f36 100644 --- a/cmd/influx/query.go +++ b/cmd/influx/query.go @@ -4,14 +4,14 @@ import ( "errors" "strings" - "github.com/influxdata/influx-cli/v2/internal/cmd" - "github.com/influxdata/influx-cli/v2/internal/cmd/query" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/query" "github.com/influxdata/influx-cli/v2/pkg/cli/middleware" "github.com/urfave/cli/v2" ) func newQueryCmd() *cli.Command { - var orgParams cmd.OrgParams + var orgParams clients.OrgParams return &cli.Command{ Name: "query", Usage: "Execute a Flux query", @@ -50,7 +50,7 @@ func newQueryCmd() *cli.Command { }, ), Action: func(ctx *cli.Context) error { - queryString, err := readQuery(ctx) + queryString, err := clients.ReadQuery(ctx) if err != nil { return err } diff --git a/cmd/influx/setup.go b/cmd/influx/setup.go index cb5f072..72f4257 100644 --- a/cmd/influx/setup.go +++ b/cmd/influx/setup.go @@ -1,7 +1,7 @@ package main import ( - "github.com/influxdata/influx-cli/v2/internal/cmd/setup" + "github.com/influxdata/influx-cli/v2/clients/setup" "github.com/influxdata/influx-cli/v2/pkg/cli/middleware" "github.com/urfave/cli/v2" ) diff --git a/cmd/influx/task.go b/cmd/influx/task.go index f03e2b8..965e6a4 100644 --- a/cmd/influx/task.go +++ b/cmd/influx/task.go @@ -1,7 +1,8 @@ package main import ( - "github.com/influxdata/influx-cli/v2/internal/cmd/task" + "github.com/influxdata/influx-cli/v2/clients" + "github.com/influxdata/influx-cli/v2/clients/task" "github.com/influxdata/influx-cli/v2/pkg/cli/middleware" "github.com/urfave/cli/v2" ) @@ -44,7 +45,7 @@ func newTaskCreateCmd() *cli.Command { TasksApi: api.TasksApi, } var err error - params.FluxQuery, err = readQuery(ctx) + params.FluxQuery, err = clients.ReadQuery(ctx) if err != nil { return err } diff --git a/cmd/influx/user.go b/cmd/influx/user.go index c3ac6f3..fce892b 100644 --- a/cmd/influx/user.go +++ b/cmd/influx/user.go @@ -1,7 +1,7 @@ package main import ( - "github.com/influxdata/influx-cli/v2/internal/cmd/user" + "github.com/influxdata/influx-cli/v2/clients/user" "github.com/influxdata/influx-cli/v2/pkg/cli/middleware" "github.com/influxdata/influx-cli/v2/pkg/influxid" "github.com/urfave/cli/v2" diff --git a/cmd/influx/write.go b/cmd/influx/write.go index 11b1a53..8b8bec3 100644 --- a/cmd/influx/write.go +++ b/cmd/influx/write.go @@ -6,8 +6,8 @@ import ( "net/http" "os" - "github.com/influxdata/influx-cli/v2/internal/api" - "github.com/influxdata/influx-cli/v2/internal/cmd/write" + "github.com/influxdata/influx-cli/v2/api" + "github.com/influxdata/influx-cli/v2/clients/write" "github.com/influxdata/influx-cli/v2/pkg/cli/middleware" "github.com/urfave/cli/v2" ) diff --git a/etc/checkopenapi.sh b/etc/checkopenapi.sh index 1d8ceb0..c02551a 100755 --- a/etc/checkopenapi.sh +++ b/etc/checkopenapi.sh @@ -4,7 +4,7 @@ set -e declare -r ETC_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)" ${ETC_DIR}/generate-openapi.sh -if ! git --no-pager diff --exit-code -- internal/api; then +if ! git --no-pager diff --exit-code -- api; then >&2 echo "openapi generated client doesn't match spec, please run 'make openapi'" exit 1 fi diff --git a/etc/generate-openapi.sh b/etc/generate-openapi.sh index c244db5..3c2f090 100755 --- a/etc/generate-openapi.sh +++ b/etc/generate-openapi.sh @@ -3,7 +3,7 @@ set -euo pipefail declare -r ETC_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)" declare -r ROOT_DIR="$(dirname ${ETC_DIR})" -declare -r API_DIR="${ROOT_DIR}/internal/api" +declare -r API_DIR="${ROOT_DIR}/api" declare -r GENERATED_PATTERN='^// Code generated .* DO NOT EDIT\.$' declare -r MERGE_DOCKER_IMG=quay.io/influxdb/swagger-cli diff --git a/internal/config/config.go b/internal/config/config.go index e7e3322..8d1eb95 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -6,7 +6,7 @@ import ( "os/user" "path/filepath" - "github.com/influxdata/influx-cli/v2/internal/api" + "github.com/influxdata/influx-cli/v2/api" ) // Config store the crendentials of influxdb host and token. diff --git a/internal/config/local.go b/internal/config/local.go index 141825d..e880877 100644 --- a/internal/config/local.go +++ b/internal/config/local.go @@ -10,7 +10,7 @@ import ( "path/filepath" "github.com/BurntSushi/toml" - "github.com/influxdata/influx-cli/v2/internal/api" + "github.com/influxdata/influx-cli/v2/api" ) // store is the embedded store of the Config service. diff --git a/internal/mock/api_bucket_schemas.gen.go b/internal/mock/api_bucket_schemas.gen.go index 4b8eca3..120bf73 100644 --- a/internal/mock/api_bucket_schemas.gen.go +++ b/internal/mock/api_bucket_schemas.gen.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/influxdata/influx-cli/v2/internal/api (interfaces: BucketSchemasApi) +// Source: github.com/influxdata/influx-cli/v2/api (interfaces: BucketSchemasApi) // Package mock is a generated GoMock package. package mock @@ -9,7 +9,7 @@ import ( reflect "reflect" gomock "github.com/golang/mock/gomock" - api "github.com/influxdata/influx-cli/v2/internal/api" + api "github.com/influxdata/influx-cli/v2/api" ) // MockBucketSchemasApi is a mock of BucketSchemasApi interface. diff --git a/internal/mock/api_buckets.gen.go b/internal/mock/api_buckets.gen.go index 8fbc42c..85899c3 100644 --- a/internal/mock/api_buckets.gen.go +++ b/internal/mock/api_buckets.gen.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/influxdata/influx-cli/v2/internal/api (interfaces: BucketsApi) +// Source: github.com/influxdata/influx-cli/v2/api (interfaces: BucketsApi) // Package mock is a generated GoMock package. package mock @@ -9,7 +9,7 @@ import ( reflect "reflect" gomock "github.com/golang/mock/gomock" - api "github.com/influxdata/influx-cli/v2/internal/api" + api "github.com/influxdata/influx-cli/v2/api" ) // MockBucketsApi is a mock of BucketsApi interface. diff --git a/internal/mock/api_delete.gen.go b/internal/mock/api_delete.gen.go index e6ca33d..4687f3b 100644 --- a/internal/mock/api_delete.gen.go +++ b/internal/mock/api_delete.gen.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/influxdata/influx-cli/v2/internal/api (interfaces: DeleteApi) +// Source: github.com/influxdata/influx-cli/v2/api (interfaces: DeleteApi) // Package mock is a generated GoMock package. package mock @@ -9,7 +9,7 @@ import ( reflect "reflect" gomock "github.com/golang/mock/gomock" - api "github.com/influxdata/influx-cli/v2/internal/api" + api "github.com/influxdata/influx-cli/v2/api" ) // MockDeleteApi is a mock of DeleteApi interface. diff --git a/internal/mock/api_health.gen.go b/internal/mock/api_health.gen.go index b801171..bfe4e81 100644 --- a/internal/mock/api_health.gen.go +++ b/internal/mock/api_health.gen.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/influxdata/influx-cli/v2/internal/api (interfaces: HealthApi) +// Source: github.com/influxdata/influx-cli/v2/api (interfaces: HealthApi) // Package mock is a generated GoMock package. package mock @@ -9,7 +9,7 @@ import ( reflect "reflect" gomock "github.com/golang/mock/gomock" - api "github.com/influxdata/influx-cli/v2/internal/api" + api "github.com/influxdata/influx-cli/v2/api" ) // MockHealthApi is a mock of HealthApi interface. diff --git a/internal/mock/api_organizations.gen.go b/internal/mock/api_organizations.gen.go index f563c74..a0c5917 100644 --- a/internal/mock/api_organizations.gen.go +++ b/internal/mock/api_organizations.gen.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/influxdata/influx-cli/v2/internal/api (interfaces: OrganizationsApi) +// Source: github.com/influxdata/influx-cli/v2/api (interfaces: OrganizationsApi) // Package mock is a generated GoMock package. package mock @@ -9,7 +9,7 @@ import ( reflect "reflect" gomock "github.com/golang/mock/gomock" - api "github.com/influxdata/influx-cli/v2/internal/api" + api "github.com/influxdata/influx-cli/v2/api" ) // MockOrganizationsApi is a mock of OrganizationsApi interface. diff --git a/internal/mock/api_query.gen.go b/internal/mock/api_query.gen.go index c7c5f01..ef6af3f 100644 --- a/internal/mock/api_query.gen.go +++ b/internal/mock/api_query.gen.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/influxdata/influx-cli/v2/internal/api (interfaces: QueryApi) +// Source: github.com/influxdata/influx-cli/v2/api (interfaces: QueryApi) // Package mock is a generated GoMock package. package mock @@ -10,7 +10,7 @@ import ( reflect "reflect" gomock "github.com/golang/mock/gomock" - api "github.com/influxdata/influx-cli/v2/internal/api" + api "github.com/influxdata/influx-cli/v2/api" ) // MockQueryApi is a mock of QueryApi interface. diff --git a/internal/mock/api_setup.gen.go b/internal/mock/api_setup.gen.go index e5c715f..932fbad 100644 --- a/internal/mock/api_setup.gen.go +++ b/internal/mock/api_setup.gen.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/influxdata/influx-cli/v2/internal/api (interfaces: SetupApi) +// Source: github.com/influxdata/influx-cli/v2/api (interfaces: SetupApi) // Package mock is a generated GoMock package. package mock @@ -9,7 +9,7 @@ import ( reflect "reflect" gomock "github.com/golang/mock/gomock" - api "github.com/influxdata/influx-cli/v2/internal/api" + api "github.com/influxdata/influx-cli/v2/api" ) // MockSetupApi is a mock of SetupApi interface. diff --git a/internal/mock/api_users.gen.go b/internal/mock/api_users.gen.go index 95a3a43..9eea553 100644 --- a/internal/mock/api_users.gen.go +++ b/internal/mock/api_users.gen.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/influxdata/influx-cli/v2/internal/api (interfaces: UsersApi) +// Source: github.com/influxdata/influx-cli/v2/api (interfaces: UsersApi) // Package mock is a generated GoMock package. package mock @@ -9,7 +9,7 @@ import ( reflect "reflect" gomock "github.com/golang/mock/gomock" - api "github.com/influxdata/influx-cli/v2/internal/api" + api "github.com/influxdata/influx-cli/v2/api" ) // MockUsersApi is a mock of UsersApi interface. diff --git a/internal/mock/api_write.gen.go b/internal/mock/api_write.gen.go index 65a3daa..8e76d47 100644 --- a/internal/mock/api_write.gen.go +++ b/internal/mock/api_write.gen.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/influxdata/influx-cli/v2/internal/api (interfaces: WriteApi) +// Source: github.com/influxdata/influx-cli/v2/api (interfaces: WriteApi) // Package mock is a generated GoMock package. package mock @@ -9,7 +9,7 @@ import ( reflect "reflect" gomock "github.com/golang/mock/gomock" - api "github.com/influxdata/influx-cli/v2/internal/api" + api "github.com/influxdata/influx-cli/v2/api" ) // MockWriteApi is a mock of WriteApi interface. diff --git a/internal/mock/gen.go b/internal/mock/gen.go index c21f199..ee8f41c 100644 --- a/internal/mock/gen.go +++ b/internal/mock/gen.go @@ -1,16 +1,16 @@ package mock // HTTP API mocks -//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_bucket_schemas.gen.go github.com/influxdata/influx-cli/v2/internal/api BucketSchemasApi -//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_buckets.gen.go github.com/influxdata/influx-cli/v2/internal/api BucketsApi -//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_health.gen.go github.com/influxdata/influx-cli/v2/internal/api HealthApi -//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_organizations.gen.go github.com/influxdata/influx-cli/v2/internal/api OrganizationsApi -//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_setup.gen.go github.com/influxdata/influx-cli/v2/internal/api SetupApi -//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_write.gen.go github.com/influxdata/influx-cli/v2/internal/api WriteApi -//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_query.gen.go github.com/influxdata/influx-cli/v2/internal/api QueryApi -//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_users.gen.go github.com/influxdata/influx-cli/v2/internal/api UsersApi -//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_delete.gen.go github.com/influxdata/influx-cli/v2/internal/api DeleteApi +//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_bucket_schemas.gen.go github.com/influxdata/influx-cli/v2/api BucketSchemasApi +//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_buckets.gen.go github.com/influxdata/influx-cli/v2/api BucketsApi +//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_health.gen.go github.com/influxdata/influx-cli/v2/api HealthApi +//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_organizations.gen.go github.com/influxdata/influx-cli/v2/api OrganizationsApi +//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_setup.gen.go github.com/influxdata/influx-cli/v2/api SetupApi +//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_write.gen.go github.com/influxdata/influx-cli/v2/api WriteApi +//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_query.gen.go github.com/influxdata/influx-cli/v2/api QueryApi +//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_users.gen.go github.com/influxdata/influx-cli/v2/api UsersApi +//go:generate go run github.com/golang/mock/mockgen -package mock -destination api_delete.gen.go github.com/influxdata/influx-cli/v2/api DeleteApi // Other mocks //go:generate go run github.com/golang/mock/mockgen -package mock -destination config.gen.go -mock_names Service=MockConfigService github.com/influxdata/influx-cli/v2/internal/config Service -//go:generate go run github.com/golang/mock/mockgen -package mock -destination stdio.gen.go github.com/influxdata/influx-cli/v2/internal/stdio StdIO +//go:generate go run github.com/golang/mock/mockgen -package mock -destination stdio.gen.go github.com/influxdata/influx-cli/v2/pkg/stdio StdIO diff --git a/internal/mock/stdio.gen.go b/internal/mock/stdio.gen.go index a92c944..041615c 100644 --- a/internal/mock/stdio.gen.go +++ b/internal/mock/stdio.gen.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/influxdata/influx-cli/v2/internal/stdio (interfaces: StdIO) +// Source: github.com/influxdata/influx-cli/v2/pkg/stdio (interfaces: StdIO) // Package mock is a generated GoMock package. package mock diff --git a/internal/stdio/console.go b/pkg/stdio/console.go similarity index 100% rename from internal/stdio/console.go rename to pkg/stdio/console.go diff --git a/internal/stdio/stdio.go b/pkg/stdio/stdio.go similarity index 100% rename from internal/stdio/stdio.go rename to pkg/stdio/stdio.go