Class: NewStoreApi::JobsController
- Inherits:
-
BaseController
- Object
- BaseController
- NewStoreApi::JobsController
- Defined in:
- lib/new_store_api/controllers/jobs_controller.rb
Overview
JobsController
Constant Summary
Constants inherited from BaseController
Instance Attribute Summary
Attributes inherited from BaseController
Instance Method Summary collapse
-
#create_job(x_new_store_tenant, body, store_id: nil, user_id: nil, format: 'json') ⇒ JobIdResponse | SyncJobResponse
🚧 BETA: This endpoint is in beta and may change.
- #destroy_job(job_id, x_new_store_tenant) ⇒ JobResponse
🚧 BETA: This endpoint is in beta and may change.- #list_jobs(x_new_store_tenant, created_after: nil, created_before: nil, status: nil, dataset: nil) ⇒ JobListResponse
🚧 BETA: This endpoint is in beta and may change.- #show_download_url(job_id, x_new_store_tenant, expiration_minutes: 5) ⇒ JobDownloadResponse
🚧 BETA: This endpoint is in beta and may change.- #show_job_status(job_id, x_new_store_tenant) ⇒ JobResponse
🚧 BETA: This endpoint is in beta and may change.Methods inherited from BaseController
#initialize, #new_parameter, #new_request_builder, #new_response_handler, user_agent
Constructor Details
This class inherits a constructor from NewStoreApi::BaseController
Instance Method Details
#create_job(x_new_store_tenant, body, store_id: nil, user_id: nil, format: 'json') ⇒ JobIdResponse | SyncJobResponse
🚧 BETA: This endpoint is in beta and may change.Create a new export job (synchronous or asynchronous) here ID ID 'json' or 'csv'
See API Lifecycle Documentation for details.90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
# File 'lib/new_store_api/controllers/jobs_controller.rb', line 90 def create_job(x_new_store_tenant, body, store_id: nil, user_id: nil, format: 'json') @api_call .request(new_request_builder(HttpMethodEnum::POST, '/data-exports/jobs', Server::API) .header_param(new_parameter(x_new_store_tenant, key: 'X-NewStore-Tenant')) .header_param(new_parameter('application/json', key: 'Content-Type')) .body_param(new_parameter(body)) .query_param(new_parameter(store_id, key: 'store_id') .validator(proc do |value| UnionTypeLookUp.get(:CreateJobStoreId) .validate(value) end)) .query_param(new_parameter(user_id, key: 'user_id') .validator(proc do |value| UnionTypeLookUp.get(:CreateJobUserId) .validate(value) end)) .query_param(new_parameter(format, key: 'format')) .header_param(new_parameter('application/json', key: 'accept')) .body_serializer(proc do |param| param.to_json unless param.nil? end) .auth(Single.new('oauth'))) .response(new_response_handler .deserializer(proc do |response, should_symbolize| APIHelper.deserialize_union_type( UnionTypeLookUp.get(:CreateJobResponse), response, should_symbolize, true ) end) .deserialize_into(ResponseCreatejob.method(:from_hash))) .execute end
#destroy_job(job_id, x_new_store_tenant) ⇒ JobResponse
🚧 BETA: This endpoint is in beta and may change.Cancel an export job export job
See API Lifecycle Documentation for details.141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
# File 'lib/new_store_api/controllers/jobs_controller.rb', line 141 def destroy_job(job_id, x_new_store_tenant) @api_call .request(new_request_builder(HttpMethodEnum::DELETE, '/data-exports/jobs/{job_id}', Server::API) .template_param(new_parameter(job_id, key: 'job_id') .should_encode(true)) .header_param(new_parameter(x_new_store_tenant, key: 'X-NewStore-Tenant')) .header_param(new_parameter('application/json', key: 'accept')) .auth(Single.new('oauth'))) .response(new_response_handler .deserializer(APIHelper.method(:custom_type_deserializer)) .deserialize_into(JobResponse.method(:from_hash))) .execute end
#list_jobs(x_new_store_tenant, created_after: nil, created_before: nil, status: nil, dataset: nil) ⇒ JobListResponse
🚧 BETA: This endpoint is in beta and may change.List all export jobs for a tenant with optional filtering by date range, status, and dataset name jobs created after this date (ISO 8601 format, e.g., 2024-01-01T00:00:00Z) jobs created before this date (ISO 8601 format, e.g., 2024-01-31T23:59:59Z) status (COMPLETED, RUNNING, FAILED, CANCELLED, PENDING) dataset name (exact match)
See API Lifecycle Documentation for details.32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
# File 'lib/new_store_api/controllers/jobs_controller.rb', line 32 def list_jobs(x_new_store_tenant, created_after: nil, created_before: nil, status: nil, dataset: nil) @api_call .request(new_request_builder(HttpMethodEnum::GET, '/data-exports/jobs', Server::API) .header_param(new_parameter(x_new_store_tenant, key: 'X-NewStore-Tenant')) .query_param(new_parameter(created_after, key: 'created_after') .validator(proc do |value| UnionTypeLookUp.get(:ListJobsCreatedAfter) .validate(value) end)) .query_param(new_parameter(created_before, key: 'created_before') .validator(proc do |value| UnionTypeLookUp.get(:ListJobsCreatedBefore) .validate(value) end)) .query_param(new_parameter(status, key: 'status') .validator(proc do |value| UnionTypeLookUp.get(:ListJobsStatus) .validate(value) end)) .query_param(new_parameter(dataset, key: 'dataset') .validator(proc do |value| UnionTypeLookUp.get(:ListJobsDataset) .validate(value) end)) .header_param(new_parameter('application/json', key: 'accept')) .auth(Single.new('oauth'))) .response(new_response_handler .deserializer(APIHelper.method(:custom_type_deserializer)) .deserialize_into(JobListResponse.method(:from_hash))) .execute end
#show_download_url(job_id, x_new_store_tenant, expiration_minutes: 5) ⇒ JobDownloadResponse
🚧 BETA: This endpoint is in beta and may change.Generate signed URLs for downloading job results export job time in minutes
See API Lifecycle Documentation for details.205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222
# File 'lib/new_store_api/controllers/jobs_controller.rb', line 205 def show_download_url(job_id, x_new_store_tenant, expiration_minutes: 5) @api_call .request(new_request_builder(HttpMethodEnum::GET, '/data-exports/jobs/{job_id}/downloads', Server::API) .template_param(new_parameter(job_id, key: 'job_id') .should_encode(true)) .header_param(new_parameter(x_new_store_tenant, key: 'X-NewStore-Tenant')) .query_param(new_parameter(expiration_minutes, key: 'expiration_minutes')) .header_param(new_parameter('application/json', key: 'accept')) .auth(Single.new('oauth'))) .response(new_response_handler .deserializer(APIHelper.method(:custom_type_deserializer)) .deserialize_into(JobDownloadResponse.method(:from_hash))) .execute end
#show_job_status(job_id, x_new_store_tenant) ⇒ JobResponse
🚧 BETA: This endpoint is in beta and may change.Get the status and details of an export job export job
See API Lifecycle Documentation for details.172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
# File 'lib/new_store_api/controllers/jobs_controller.rb', line 172 def show_job_status(job_id, x_new_store_tenant) @api_call .request(new_request_builder(HttpMethodEnum::GET, '/data-exports/jobs/{job_id}', Server::API) .template_param(new_parameter(job_id, key: 'job_id') .should_encode(true)) .header_param(new_parameter(x_new_store_tenant, key: 'X-NewStore-Tenant')) .header_param(new_parameter('application/json', key: 'accept')) .auth(Single.new('oauth'))) .response(new_response_handler .deserializer(APIHelper.method(:custom_type_deserializer)) .deserialize_into(JobResponse.method(:from_hash))) .execute end
- #destroy_job(job_id, x_new_store_tenant) ⇒ JobResponse