UNPKG

tsonik

Version:

A TypeScript client library for the Iconik API based on Swagger documentation

130 lines 5.3 kB
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