tsonik
Version:
A TypeScript client library for the Iconik API based on Swagger documentation
130 lines • 5.3 kB
TypeScript
import { BaseResource } from './base';
import { Tsonik } from '../client';
import { ApiResponse, BulkJobResult, Job, JobCreate, JobsBulkEditQuery, JobsBulkEditRequest, JobsBulkEditResponse, JobsPriorityUpdate, JobsQuery, JobsStateUpdate, JobStepsUpdate, JobUpdate, PaginatedResponse, JobStep } from '../types';
/**
* Job resource for interacting with Iconik Jobs API
* Handles job management, state control, and monitoring
*/
export declare class JobResource extends BaseResource {
constructor(client: Tsonik);
/**
* Get a specific job by ID
* @param jobId The job ID
* @returns Promise resolving to the job data
*/
getJob(jobId: string): Promise<ApiResponse<Job>>;
/**
* Search and list jobs with optional filtering
* @param query Query parameters for filtering and pagination
* @returns Promise resolving to paginated job results
*/
listJobs(query?: JobsQuery): Promise<ApiResponse<PaginatedResponse<Job>>>;
/**
* Create a new job
* @param jobData Job creation data
* @returns Promise resolving to the created job
*/
createJob(jobData: JobCreate): Promise<ApiResponse<Job>>;
/**
* Update an existing job
* @param jobId The job ID to update
* @param jobData Partial job data to update
* @returns Promise resolving to the updated job
*/
updateJob(jobId: string, jobData: JobUpdate): Promise<ApiResponse<Job>>;
/**
* Replace an existing job (full update)
* @param jobId The job ID to replace
* @param jobData Complete job data to replace with
* @param options Optional request options
* @returns Promise resolving to the replaced job
*/
replaceJob(jobId: string, jobData: JobUpdate, options?: {
merge_metadata?: string;
}): Promise<ApiResponse<Job>>;
/**
* Delete a job
* @param jobId The job ID to delete
* @returns Promise resolving to deletion confirmation
*/
deleteJob(jobId: string): Promise<ApiResponse<void>>;
/**
* Update job priority
* @param jobId The job ID
* @param priority New priority value (1-10)
* @returns Promise resolving to updated job data
*/
updatePriority(jobId: string, priority: number): Promise<ApiResponse<Job>>;
/**
* Update job steps
* @param jobId The job ID
* @param stepsData The steps update data
* @returns Promise resolving to the updated job
*/
updateSteps(jobId: string, stepsData: JobStepsUpdate): Promise<ApiResponse<Job>>;
/**
* Bulk edit jobs based on query filters
* @param query Query parameters to filter which jobs to edit
* @param editData Data to update on matching jobs
* @returns Promise resolving to bulk edit result
*/
bulkEditJobs(query: JobsBulkEditQuery, editData: JobsBulkEditRequest): Promise<ApiResponse<JobsBulkEditResponse>>;
/**
* Bulk update job priorities
* @param priorityData Bulk priority update data
* @returns Promise resolving to bulk operation results
*/
bulkUpdatePriority(priorityData: JobsPriorityUpdate): Promise<ApiResponse<BulkJobResult[]>>;
/**
* Bulk update job states
* @param stateData Bulk state update data
* @returns Promise resolving to bulk operation results
*/
bulkUpdateState(stateData: JobsStateUpdate): Promise<ApiResponse<BulkJobResult[]>>;
/**
* Bulk delete multiple jobs
* @param jobIds Array of job IDs to delete
* @returns Promise resolving to deletion confirmation (204 No Content)
*/
bulkDelete(jobIds: string[]): Promise<ApiResponse<void>>;
/**
* Reindex a job
* @param jobId The job ID to reindex
* @param options Options for reindexing
* @returns Promise resolving to success confirmation
*/
reindexJob(jobId: string, options?: {
sync_to_another_dc?: boolean;
}): Promise<ApiResponse<void>>;
/**
* Update multiple steps for a job
* @param jobId The job ID to update steps for
* @param stepsData Job steps update data
* @returns Promise resolving to the updated job
*/
updateJobSteps(jobId: string, stepsData: JobStepsUpdate): Promise<ApiResponse<Job>>;
/**
* Replace multiple steps for a job
* @param jobId The job ID to replace steps for
* @param stepsData Job steps update data
* @returns Promise resolving to the updated job
*/
replaceJobSteps(jobId: string, stepsData: JobStepsUpdate): Promise<ApiResponse<Job>>;
/**
* Update a single job step
* @param jobId The job ID the step belongs to
* @param stepId The ID of the step to update
* @param stepData Step update data (status, message, etc.)
* @returns Promise resolving to the updated job
*/
updateJobStep(jobId: string, stepId: string, stepData: Partial<JobStep>): Promise<ApiResponse<Job>>;
/**
* Replace a single job step (complete replacement)
* @param jobId The job ID the step belongs to
* @param stepId The ID of the step to replace
* @param stepData Full step data to replace with
* @returns Promise resolving to the updated job
*/
replaceJobStep(jobId: string, stepId: string, stepData: JobStep): Promise<ApiResponse<Job>>;
}
//# sourceMappingURL=jobs.d.ts.map