@crowdin/crowdin-api-client
Version:
JavaScript library for Crowdin API
96 lines (95 loc) • 4.36 kB
TypeScript
import { CrowdinApi, PaginationOptions, ResponseList, ResponseObject } from '../core';
import { SourceStringsModel } from '../sourceStrings';
/**
* Workflows are the sequences of steps that content in your project should go through (e.g. pre-translation, translation, proofreading).
* You can use a default template or create the one that works best for you and assign it to the needed projects.
*
* Use API to get the list of workflow templates available in your organization and to check the details of a specific template.
*/
export declare class Workflows extends CrowdinApi {
/**
* @param projectId project identifier
* @param options optional pagination parameters for the request
* @see https://support.crowdin.com/enterprise/api/#operation/api.projects.workflow-steps.getMany
*/
listWorkflowSteps(projectId: number, options?: PaginationOptions): Promise<ResponseList<WorkflowModel.WorkflowStep>>;
/**
* @param projectId project identifier
* @param limit maximum number of items to retrieve (default 25)
* @param offset starting offset in the collection (default 0)
* @deprecated optional parameters should be passed through an object
* @see https://support.crowdin.com/enterprise/api/#operation/api.projects.workflow-steps.getMany
*/
listWorkflowSteps(projectId: number, limit?: number, offset?: number): Promise<ResponseList<WorkflowModel.WorkflowStep>>;
/**
* @param projectId project identifier
* @param stepId workflow step identifier
* @see https://support.crowdin.com/enterprise/api/#operation/api.projects.workflow-steps.getMany
*/
getWorkflowStep(projectId: number, stepId: number): Promise<ResponseObject<WorkflowModel.WorkflowStep>>;
/**
* @param projectId project identifier
* @param stepId workflow step identifier
* @param options optional parameters for the request
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Workflows/operation/api.projects.workflow-steps.strings.getMany
*/
listStringsOnTheWorkflowStep(projectId: number, stepId: number, options?: WorkflowModel.ListStringsOntheWorkflowStepOptions): Promise<ResponseList<SourceStringsModel.String>>;
/**
* @param options optional parameters for the request
* @see https://support.crowdin.com/enterprise/api/#operation/api.workflow-templates.getMany
*/
listWorkflowTemplates(options?: WorkflowModel.ListWorkflowTemplatesOptions): Promise<ResponseList<WorkflowModel.Workflow>>;
/**
* @param groupId group identifier
* @param limit maximum number of items to retrieve (default 25)
* @param offset starting offset in the collection (default 0)
* @deprecated optional parameters should be passed through an object
* @see https://support.crowdin.com/enterprise/api/#operation/api.workflow-templates.getMany
*/
listWorkflowTemplates(groupId?: number, limit?: number, offset?: number): Promise<ResponseList<WorkflowModel.Workflow>>;
/**
* @param templateId workflow template identifier
* @see https://support.crowdin.com/enterprise/api/#operation/api.workflow-templates.get
*/
getWorkflowTemplateInfo(templateId: number): Promise<ResponseObject<WorkflowModel.Workflow>>;
}
export declare namespace WorkflowModel {
interface WorkflowStep {
id: number;
title: string;
type: string;
languages: string[];
config: {
assignees: {
[language: string]: number[];
};
};
}
interface ListWorkflowTemplatesOptions extends PaginationOptions {
groupId?: number;
}
interface ListStringsOntheWorkflowStepOptions extends PaginationOptions {
languageIds?: string;
orderBy?: string;
status?: 'todo' | 'done' | 'pending' | 'incomplete' | 'need_review';
}
interface Workflow {
id: number;
title: string;
description: string;
groupId: number;
isDefault: boolean;
webUrl: string;
steps: {
id: number;
languages: string[];
assignees: number[];
vendorId: number;
config: {
minRelevant: number;
autoSubstitution: boolean;
};
mtId: number;
}[];
}
}