UNPKG

@crowdin/crowdin-api-client

Version:
320 lines (319 loc) 13.2 kB
import { CrowdinApi, DownloadLink, PaginationOptions, PatchRequest, ResponseList, ResponseObject, Status } from '../core'; /** * Glossaries help to explain some specific terms or the ones often used in the project so that they can be properly and consistently translated. * * Use API to manage glossaries or specific terms. * Glossary export and import are asynchronous operations and shall be completed with sequence of API methods. */ export declare class Glossaries extends CrowdinApi { /** * @param options optional parameters for the request * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.getMany */ listGlossaries(options?: GlossariesModel.ListGlossariesOptions): Promise<ResponseList<GlossariesModel.Glossary>>; /** * @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://developer.crowdin.com/api/v2/#operation/api.glossaries.getMany */ listGlossaries(groupId?: number, limit?: number, offset?: number): Promise<ResponseList<GlossariesModel.Glossary>>; /** * @param request request body * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.post */ addGlossary(request: GlossariesModel.CreateGlossaryRequest): Promise<ResponseObject<GlossariesModel.Glossary>>; /** * @param glossaryId glossary identifier * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.get */ getGlossary(glossaryId: number): Promise<ResponseObject<GlossariesModel.Glossary>>; /** * @param glossaryId glossary identifier * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.delete */ deleteGlossary(glossaryId: number): Promise<void>; /** * @param glossaryId glossary identifier * @param request request body * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.patch */ editGlossary(glossaryId: number, request: PatchRequest[]): Promise<ResponseObject<GlossariesModel.Glossary>>; /** * @param glossaryId glossary identifier * @param request request body * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.exports.post */ exportGlossary(glossaryId: number, request: GlossariesModel.ExportGlossaryRequest): Promise<ResponseObject<Status<GlossariesModel.GlossaryExportStatusAttribute>>>; /** * @param glossaryId glossary identifier * @param exportId export identifier * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.exports.get */ checkGlossaryExportStatus(glossaryId: number, exportId: string): Promise<ResponseObject<Status<GlossariesModel.GlossaryExportStatusAttribute>>>; /** * @param glossaryId glossary identifier * @param exportId export identifier * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.exports.download.download */ downloadGlossary(glossaryId: number, exportId: string): Promise<ResponseObject<DownloadLink>>; /** * @param glossaryId glossary identifier * @param request request body * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.imports.post */ importGlossaryFile(glossaryId: number, request: GlossariesModel.GlossaryFile): Promise<ResponseObject<Status<GlossariesModel.GlossaryImportStatusAttribute>>>; /** * @param glossaryId glossary identifier * @param importId import identifier * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.imports.get */ checkGlossaryImportStatus(glossaryId: number, importId: string): Promise<ResponseObject<Status<GlossariesModel.GlossaryImportStatusAttribute>>>; /** * @param glossaryId glossary identifier * @param options optional parameters for the request * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.terms.getMany */ listTerms(glossaryId: number, options?: GlossariesModel.ListTermsOptions): Promise<ResponseList<GlossariesModel.Term>>; /** * @param glossaryId glossary identifier * @param userId list user glossaries * @param limit maximum number of items to retrieve (default 25) * @param offset starting offset in the collection (default 0) * @param languageId term language identifier * @param translationOfTermId filter terms by termId * @param conceptId filter terms by conceptId * @deprecated optional parameters should be passed through an object * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.terms.getMany */ listTerms(glossaryId: number, userId?: number, limit?: number, offset?: number, languageId?: string, translationOfTermId?: number, conceptId?: number): Promise<ResponseList<GlossariesModel.Term>>; /** * @param glossaryId glossary identifier * @param request request body * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.terms.post */ addTerm(glossaryId: number, request: GlossariesModel.CreateTermRequest): Promise<ResponseObject<GlossariesModel.Term>>; /** * @param glossaryId glossary identifier * @param options optional parameters for the request * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.terms.deleteMany */ clearGlossary(glossaryId: number, options?: GlossariesModel.ClearGlossaryOptions): Promise<ResponseObject<GlossariesModel.Term>>; /** * @param glossaryId glossary identifier * @param languageId languageId identifier * @param translationOfTermId term translation identifier * @param conceptId concept identifier * @deprecated optional parameters should be passed through an object * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.terms.deleteMany */ clearGlossary(glossaryId: number, languageId?: number, translationOfTermId?: number, conceptId?: number): Promise<ResponseObject<GlossariesModel.Term>>; /** * @param glossaryId glossary identifier * @param termId term identifier * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.terms.get */ getTerm(glossaryId: number, termId: number): Promise<ResponseObject<GlossariesModel.Term>>; /** * @param glossaryId glossary identifier * @param termId term identifier * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.terms.delete */ deleteTerm(glossaryId: number, termId: number): Promise<void>; /** * @param glossaryId glossary identifier * @param termId term identifier * @param request request body * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.terms.patch */ editTerm(glossaryId: number, termId: number, request: PatchRequest[]): Promise<ResponseObject<GlossariesModel.Term>>; /** * @param glossaryId glossary identifier * @param options optional parameters for the request * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.concepts.getMany */ listConcepts(glossaryId: number, options?: { orderBy?: string; } & PaginationOptions): Promise<ResponseList<GlossariesModel.Concept>>; /** * @param glossaryId glossary identifier * @param conceptId concept identifier * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.concepts.get */ getConcept(glossaryId: number, conceptId: number): Promise<ResponseObject<GlossariesModel.Concept>>; /** * @param glossaryId glossary identifier * @param conceptId concept identifier * @param request request body * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.concepts.put */ updateConcept(glossaryId: number, conceptId: number, request: GlossariesModel.UpdateConceptRequest): Promise<ResponseObject<GlossariesModel.Concept>>; /** * @param glossaryId glossary identifier * @param conceptId concept identifier * @see https://developer.crowdin.com/api/v2/#operation/api.glossaries.concepts.delete */ deleteConcept(glossaryId: number, conceptId: number): Promise<void>; /** * @param projectId project identifier * @param request request body * @see https://developer.crowdin.com/api/v2/#operation/api.projects.glossaries.concordance.post */ concordanceSearch(projectId: number, request: GlossariesModel.ConcordanceSearchRequest): Promise<ResponseList<GlossariesModel.ConcordanceSearchResponse>>; } export declare namespace GlossariesModel { interface Glossary { id: number; name: string; groupId: number; userId: number; terms: number; languageId: string; languageIds: string[]; defaultProjectIds: number[]; projectIds: number[]; webUrl: string; createdAt: string; } interface CreateGlossaryRequest { name: string; languageId: string; groupId?: number; } type ExportField = 'term' | 'description' | 'partOfSpeech' | 'type' | 'status' | 'gender' | 'note' | 'url' | 'conceptDefinition' | 'conceptSubject' | 'conceptNote' | 'conceptUrl' | 'conceptFigure'; interface ExportGlossaryRequest { format?: GlossaryFormat; exportFields?: ExportField[]; } interface GlossaryExportStatusAttribute { format: string; exportFields: ExportField[]; } interface GlossaryImportStatusAttribute { storageId: number; scheme: unknown; firstLineContainsHeader: boolean; } interface GlossaryFile { storageId: number; scheme?: GlossaryFileScheme; firstLineContainsHeader?: boolean; } interface ListTermsOptions extends PaginationOptions { userId?: number; languageId?: string; conceptId?: number; orderBy?: string; croql?: string; /** * @deprecated */ translationOfTermId?: number; } interface Term { id: number; userId: number; glossaryId: number; languageId: string; text: string; description: string; partOfSpeech: PartOfSpeech; status: Status; type: Type; gender: Gender; note: string; url: string; conceptId: number; lemma: string; createdAt: string; updatedAt: string; } interface CreateTermRequest { languageId: string; text: string; description?: string; partOfSpeech?: PartOfSpeech; status?: Status; type?: Type; gender?: Gender; note?: string; url?: string; conceptId?: number; /** * @deprecated */ translationOfTermId?: number; } interface ConcordanceSearchRequest extends PaginationOptions { sourceLanguageId: string; targetLanguageId: string; expressions: string[]; /** * @deprecated */ expression?: string; } interface ConcordanceSearchResponse { glossary: Glossary; concept: Concept; sourceTerms: Term[]; targetTerms: Term[]; } type Status = 'preferred' | 'admitted' | 'not recommended' | 'obsolete'; type Type = 'full form' | 'acronym' | 'abbreviation' | 'short form' | 'phrase' | 'variant'; type Gender = 'masculine' | 'feminine' | 'neuter' | 'other'; type GlossaryFormat = 'tbx' | 'tbx_v3' | 'csv' | 'xlsx'; interface GlossaryFileScheme { [key: string]: number; } type PartOfSpeech = 'adjective' | 'adposition' | 'adverb' | 'auxiliary' | 'coordinating conjunction' | 'determiner' | 'interjection' | 'noun' | 'numeral' | 'particle' | 'pronoun' | 'proper noun' | 'subordinating conjunction' | 'verb' | 'other'; interface ListGlossariesOptions extends PaginationOptions { groupId?: number; userId?: number; orderBy?: string; } interface ClearGlossaryOptions { languageId?: number; /** * @deprecated */ translationOfTermId?: number; conceptId?: number; } interface Concept { id: number; userId: number; glossaryId: number; subject: string; definition: string; translatable: boolean; note: string; url: string; figure: string; languagesDetails: LanguageDetails[]; createdAt: string; updatedAt: string; } interface LanguageDetails { languageId: string; userId: number; definition: string; note: string; createdAt: string; updatedAt: string; } interface UpdateConceptRequest { subject?: string; definition?: string; translatable?: boolean; note?: string; url?: string; figure?: string; languagesDetails?: { languageId: string; definition: string; note?: string; }[]; } }