@crowdin/app-project-module 0.43.0 → 0.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/index.d.ts +1 -1
- package/out/index.js +57 -166
- package/out/middlewares/integration-credentials.d.ts +2 -1
- package/out/middlewares/ui-module.d.ts +2 -2
- package/out/middlewares/ui-module.js +4 -0
- package/out/models/index.d.ts +52 -698
- package/out/models/index.js +2 -26
- package/out/modules/context-menu/index.d.ts +6 -0
- package/out/modules/context-menu/index.js +17 -0
- package/out/{handlers/custom-mt → modules/custom-mt/handlers}/translate.d.ts +2 -1
- package/out/{handlers/custom-mt → modules/custom-mt/handlers}/translate.js +2 -2
- package/out/modules/custom-mt/index.d.ts +6 -0
- package/out/modules/custom-mt/index.js +17 -0
- package/out/modules/custom-mt/types.d.ts +22 -0
- package/out/modules/custom-mt/types.js +2 -0
- package/out/{handlers/custom-spell-check → modules/custom-spell-check/handlers}/get-languages-list.d.ts +2 -1
- package/out/{handlers/custom-spell-check → modules/custom-spell-check/handlers}/get-languages-list.js +2 -2
- package/out/{handlers/custom-spell-check → modules/custom-spell-check/handlers}/spell-check.d.ts +2 -1
- package/out/{handlers/custom-spell-check → modules/custom-spell-check/handlers}/spell-check.js +5 -3
- package/out/modules/custom-spell-check/index.d.ts +6 -0
- package/out/modules/custom-spell-check/index.js +32 -0
- package/out/modules/custom-spell-check/types.d.ts +56 -0
- package/out/modules/custom-spell-check/types.js +2 -0
- package/out/modules/editor-right-panel/index.d.ts +6 -0
- package/out/modules/editor-right-panel/index.js +17 -0
- package/out/modules/editor-right-panel/types.d.ts +7 -0
- package/out/modules/editor-right-panel/types.js +2 -0
- package/out/modules/editor-themes/index.d.ts +6 -0
- package/out/modules/editor-themes/index.js +11 -0
- package/out/{handlers/file-processing → modules/file-processing/handlers}/custom-file-format.d.ts +2 -1
- package/out/{handlers/file-processing → modules/file-processing/handlers}/custom-file-format.js +5 -5
- package/out/modules/file-processing/handlers/file-download.d.ts +5 -0
- package/out/{handlers/file-processing → modules/file-processing/handlers}/file-download.js +2 -2
- package/out/{handlers/file-processing → modules/file-processing/handlers}/pre-post-process.d.ts +2 -1
- package/out/{handlers/file-processing → modules/file-processing/handlers}/pre-post-process.js +8 -8
- package/out/modules/file-processing/index.d.ts +22 -0
- package/out/modules/file-processing/index.js +57 -0
- package/out/modules/file-processing/types.d.ts +133 -0
- package/out/modules/file-processing/types.js +12 -0
- package/out/{handlers/integration/crowdin-project.d.ts → modules/form-data-display.d.ts} +1 -1
- package/out/modules/form-data-save.d.ts +4 -0
- package/out/{handlers/integration → modules/integration/handlers}/crowdin-file-progress.d.ts +2 -1
- package/out/{handlers/integration → modules/integration/handlers}/crowdin-file-progress.js +2 -2
- package/out/modules/integration/handlers/crowdin-files.d.ts +5 -0
- package/out/{handlers/integration → modules/integration/handlers}/crowdin-files.js +3 -3
- package/out/modules/integration/handlers/crowdin-project.d.ts +4 -0
- package/out/{handlers/integration → modules/integration/handlers}/crowdin-project.js +1 -1
- package/out/modules/integration/handlers/crowdin-update.d.ts +5 -0
- package/out/{handlers/integration → modules/integration/handlers}/crowdin-update.js +6 -6
- package/out/modules/integration/handlers/crowdin-webhook.d.ts +5 -0
- package/out/{handlers/integration → modules/integration/handlers}/crowdin-webhook.js +7 -7
- package/out/modules/integration/handlers/integration-data.d.ts +4 -0
- package/out/{handlers/integration → modules/integration/handlers}/integration-data.js +4 -4
- package/out/{handlers/integration → modules/integration/handlers}/integration-login.d.ts +2 -1
- package/out/{handlers/integration → modules/integration/handlers}/integration-login.js +3 -3
- package/out/modules/integration/handlers/integration-logout.d.ts +5 -0
- package/out/{handlers/integration → modules/integration/handlers}/integration-logout.js +5 -5
- package/out/modules/integration/handlers/integration-update.d.ts +5 -0
- package/out/{handlers/integration → modules/integration/handlers}/integration-update.js +5 -5
- package/out/modules/integration/handlers/integration-webhook.d.ts +5 -0
- package/out/{handlers/integration → modules/integration/handlers}/integration-webhook.js +4 -4
- package/out/modules/integration/handlers/job-cancel.d.ts +3 -0
- package/out/{handlers/integration → modules/integration/handlers}/job-cancel.js +3 -3
- package/out/modules/integration/handlers/job-info.d.ts +3 -0
- package/out/{handlers/integration → modules/integration/handlers}/job-info.js +3 -3
- package/out/modules/integration/handlers/main.d.ts +5 -0
- package/out/{handlers/integration → modules/integration/handlers}/main.js +4 -4
- package/out/modules/integration/handlers/oauth-login.d.ts +5 -0
- package/out/{handlers/integration → modules/integration/handlers}/oauth-login.js +3 -3
- package/out/{handlers/integration → modules/integration/handlers}/oauth-url.d.ts +2 -1
- package/out/{handlers/integration → modules/integration/handlers}/oauth-url.js +2 -2
- package/out/modules/integration/handlers/settings-save.d.ts +5 -0
- package/out/{handlers/integration → modules/integration/handlers}/settings-save.js +10 -10
- package/out/modules/integration/handlers/settings.d.ts +3 -0
- package/out/{handlers/integration → modules/integration/handlers}/settings.js +1 -1
- package/out/{handlers/integration → modules/integration/handlers}/subscription-info.d.ts +1 -1
- package/out/{handlers/integration → modules/integration/handlers}/subscription-info.js +1 -1
- package/out/modules/integration/handlers/sync-settings-save.d.ts +5 -0
- package/out/{handlers/integration → modules/integration/handlers}/sync-settings-save.js +5 -5
- package/out/modules/integration/handlers/sync-settings.d.ts +3 -0
- package/out/{handlers/integration → modules/integration/handlers}/sync-settings.js +2 -2
- package/out/modules/integration/handlers/user-errors.d.ts +3 -0
- package/out/{handlers/integration → modules/integration/handlers}/user-errors.js +2 -2
- package/out/modules/integration/index.d.ts +6 -0
- package/out/modules/integration/index.js +113 -0
- package/out/modules/integration/types.d.ts +446 -0
- package/out/modules/integration/types.js +19 -0
- package/out/modules/manifest.d.ts +3 -0
- package/out/{handlers → modules}/manifest.js +16 -10
- package/out/modules/modal/index.d.ts +6 -0
- package/out/modules/modal/index.js +17 -0
- package/out/modules/organization-menu/index.d.ts +6 -0
- package/out/modules/organization-menu/index.js +19 -0
- package/out/modules/profile-resources-menu/index.d.ts +6 -0
- package/out/modules/profile-resources-menu/index.js +19 -0
- package/out/modules/project-menu/index.d.ts +6 -0
- package/out/modules/project-menu/index.js +17 -0
- package/out/modules/project-menu-crowdsource/index.d.ts +6 -0
- package/out/modules/project-menu-crowdsource/index.js +17 -0
- package/out/modules/project-reports/index.d.ts +6 -0
- package/out/modules/project-reports/index.js +19 -0
- package/out/modules/project-tools/index.d.ts +6 -0
- package/out/modules/project-tools/index.js +19 -0
- package/out/storage/index.d.ts +3 -2
- package/out/storage/mysql.d.ts +2 -1
- package/out/storage/mysql.js +1 -1
- package/out/storage/postgre.d.ts +2 -1
- package/out/storage/postgre.js +9 -7
- package/out/storage/sqlite.d.ts +2 -1
- package/out/util/api/api.d.ts +2 -2
- package/out/util/api/api.js +10 -10
- package/out/util/connection.d.ts +3 -2
- package/out/util/cron.d.ts +2 -1
- package/out/util/cron.js +6 -6
- package/out/util/defaults.d.ts +5 -2
- package/out/util/defaults.js +13 -3
- package/out/util/file-snapshot.d.ts +2 -1
- package/out/util/file-snapshot.js +5 -5
- package/out/util/files.d.ts +2 -1
- package/out/util/index.d.ts +2 -1
- package/out/util/logger.d.ts +2 -2
- package/out/util/webhooks.d.ts +2 -1
- package/out/util/webhooks.js +5 -5
- package/package.json +1 -1
- package/out/handlers/file-processing/file-download.d.ts +0 -4
- package/out/handlers/form-data-display.d.ts +0 -3
- package/out/handlers/form-data-save.d.ts +0 -3
- package/out/handlers/integration/crowdin-files.d.ts +0 -4
- package/out/handlers/integration/crowdin-update.d.ts +0 -4
- package/out/handlers/integration/crowdin-webhook.d.ts +0 -4
- package/out/handlers/integration/integration-data.d.ts +0 -4
- package/out/handlers/integration/integration-logout.d.ts +0 -4
- package/out/handlers/integration/integration-update.d.ts +0 -4
- package/out/handlers/integration/integration-webhook.d.ts +0 -4
- package/out/handlers/integration/job-cancel.d.ts +0 -3
- package/out/handlers/integration/job-info.d.ts +0 -3
- package/out/handlers/integration/main.d.ts +0 -4
- package/out/handlers/integration/oauth-login.d.ts +0 -4
- package/out/handlers/integration/settings-save.d.ts +0 -4
- package/out/handlers/integration/settings.d.ts +0 -3
- package/out/handlers/integration/sync-settings-save.d.ts +0 -4
- package/out/handlers/integration/sync-settings.d.ts +0 -3
- package/out/handlers/integration/user-errors.d.ts +0 -3
- package/out/handlers/manifest.d.ts +0 -3
- /package/out/{handlers → modules}/form-data-display.js +0 -0
- /package/out/{handlers → modules}/form-data-save.js +0 -0
- /package/out/{handlers → modules}/install.d.ts +0 -0
- /package/out/{handlers → modules}/install.js +0 -0
- /package/out/{handlers → modules}/subscription-paid.d.ts +0 -0
- /package/out/{handlers → modules}/subscription-paid.js +0 -0
- /package/out/{handlers → modules}/uninstall.d.ts +0 -0
- /package/out/{handlers → modules}/uninstall.js +0 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import Crowdin, { LanguagesModel, SourceStringsModel } from '@crowdin/crowdin-api-client';
|
|
3
|
+
import { CrowdinContextInfo, SignaturePatterns } from '../../models';
|
|
4
|
+
export interface FileProcessLogic {
|
|
5
|
+
/**
|
|
6
|
+
* Folder where larger file will be temporary stored (default "{@link dbFolder}/custom-file-format")
|
|
7
|
+
*/
|
|
8
|
+
filesFolder?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Contains fileName and/or fileContent regular expressions used to detect file type when uploading a new source file via UI (or via API without specified type parameter). If the file matches regular expressions, it's labeled as a custom format file.
|
|
11
|
+
*/
|
|
12
|
+
signaturePatterns?: SignaturePatterns;
|
|
13
|
+
/**
|
|
14
|
+
* Override to store huge responses (by default they will be stored in fs)
|
|
15
|
+
*/
|
|
16
|
+
storeFile?: (content: Buffer) => Promise<string>;
|
|
17
|
+
}
|
|
18
|
+
export interface CustomFileFormatLogic extends FileProcessLogic {
|
|
19
|
+
/**
|
|
20
|
+
* The type parameter value for a custom file format. Used for a custom format file upload via API.
|
|
21
|
+
*/
|
|
22
|
+
type: string;
|
|
23
|
+
/**
|
|
24
|
+
* This parameter is used to combine the content of multiple languages into one request when uploading and downloading translations in your Crowdin project.
|
|
25
|
+
*/
|
|
26
|
+
multilingual?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Flag to automatically upload translations
|
|
29
|
+
*/
|
|
30
|
+
autoUploadTranslations?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Enable strings export
|
|
33
|
+
*/
|
|
34
|
+
stringsExport?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* File extensions (used for strings export)
|
|
37
|
+
*/
|
|
38
|
+
extensions?: string[];
|
|
39
|
+
/**
|
|
40
|
+
* Enable custom srx
|
|
41
|
+
*/
|
|
42
|
+
customSrxSupported?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Enable multi language strings export
|
|
45
|
+
*/
|
|
46
|
+
multilingualExport?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Used for initial source file upload, source file update, and translation upload
|
|
49
|
+
*/
|
|
50
|
+
parseFile?: (fileContent: Buffer, req: Omit<ProcessFileRequest, 'jobType' | 'file'>, client: Crowdin, context: CrowdinContextInfo, projectId: number) => Promise<ParseFileResponse>;
|
|
51
|
+
/**
|
|
52
|
+
* Used for translation download
|
|
53
|
+
*/
|
|
54
|
+
buildFile?: (fileContent: Buffer, req: Omit<ProcessFileRequest, 'jobType' | 'file'>, strings: ProcessFileString[], client: Crowdin, context: CrowdinContextInfo, projectId: number) => Promise<BuildFileResponse>;
|
|
55
|
+
/**
|
|
56
|
+
* Used for strings export
|
|
57
|
+
*/
|
|
58
|
+
exportStrings?: (req: Omit<ProcessFileRequest, 'jobType'>, strings: ProcessFileString[], client: Crowdin, context: CrowdinContextInfo, projectId: number) => Promise<BuildFileResponse>;
|
|
59
|
+
}
|
|
60
|
+
export type FileImportExportLogic = FilePreImportLogic | FilePostImportLogic | FilePreExportLogic | FilePostExportLogic;
|
|
61
|
+
export type FileImportExportContent = ProcessFileString[] | Buffer | undefined;
|
|
62
|
+
export interface FilePreImportLogic extends FileProcessLogic {
|
|
63
|
+
fileProcess: (req: ProcessFileRequest, content: FileImportExportContent, client: Crowdin, context: CrowdinContextInfo, projectId: number) => Promise<ContentFileResponse>;
|
|
64
|
+
}
|
|
65
|
+
export interface FilePostImportLogic extends FileProcessLogic {
|
|
66
|
+
fileProcess: (req: ProcessFileRequest, content: FileImportExportContent, client: Crowdin, context: CrowdinContextInfo, projectId: number) => Promise<StringsFileResponse>;
|
|
67
|
+
}
|
|
68
|
+
export interface FilePreExportLogic extends FileProcessLogic {
|
|
69
|
+
fileProcess: (req: ProcessFileRequest, content: FileImportExportContent, client: Crowdin, context: CrowdinContextInfo, projectId: number) => Promise<StringsFileResponse>;
|
|
70
|
+
}
|
|
71
|
+
export interface FilePostExportLogic extends FileProcessLogic {
|
|
72
|
+
fileProcess: (req: ProcessFileRequest, content: FileImportExportContent, client: Crowdin, context: CrowdinContextInfo, projectId: number) => Promise<ContentFileResponse>;
|
|
73
|
+
}
|
|
74
|
+
export interface ProcessFileRequest {
|
|
75
|
+
jobType: ProcessFileJobType;
|
|
76
|
+
file: ProcessFileRecord;
|
|
77
|
+
sourceLanguage: LanguagesModel.Language;
|
|
78
|
+
targetLanguages: LanguagesModel.Language[];
|
|
79
|
+
strings: ProcessFileString[];
|
|
80
|
+
stringsUrl: string;
|
|
81
|
+
getRawContent?: (encoding: BufferEncoding) => Promise<string | Buffer>;
|
|
82
|
+
}
|
|
83
|
+
export interface ProcessFileRecord {
|
|
84
|
+
content?: string;
|
|
85
|
+
contentUrl?: string;
|
|
86
|
+
path?: string;
|
|
87
|
+
id?: number;
|
|
88
|
+
name?: string;
|
|
89
|
+
}
|
|
90
|
+
export declare enum ProcessFileJobType {
|
|
91
|
+
PARSE_FILE = "parse-file",
|
|
92
|
+
BUILD_FILE = "build-file",
|
|
93
|
+
PRE_IMPORT = "pre-import-file",
|
|
94
|
+
POST_IMPORT = "post-import-file",
|
|
95
|
+
PRE_EXPORT = "pre-export-file",
|
|
96
|
+
POST_EXPORT = "post-export-file"
|
|
97
|
+
}
|
|
98
|
+
export interface ParseFileResponse {
|
|
99
|
+
previewFile?: Buffer;
|
|
100
|
+
strings?: ProcessFileString[];
|
|
101
|
+
error?: string;
|
|
102
|
+
}
|
|
103
|
+
export interface BuildFileResponse {
|
|
104
|
+
contentFile: Buffer;
|
|
105
|
+
error?: string;
|
|
106
|
+
fileName?: string;
|
|
107
|
+
fileType?: string;
|
|
108
|
+
}
|
|
109
|
+
export interface StringsFileResponse extends Omit<ParseFileResponse, 'previewFile'> {
|
|
110
|
+
notModified?: boolean;
|
|
111
|
+
}
|
|
112
|
+
export interface ContentFileResponse extends BuildFileResponse {
|
|
113
|
+
notModified?: boolean;
|
|
114
|
+
}
|
|
115
|
+
export interface ProcessFileString {
|
|
116
|
+
previewId?: number;
|
|
117
|
+
id: number;
|
|
118
|
+
identifier: string;
|
|
119
|
+
context?: string;
|
|
120
|
+
customData?: string;
|
|
121
|
+
maxLength?: number;
|
|
122
|
+
isHidden?: boolean;
|
|
123
|
+
hasPlurals?: boolean;
|
|
124
|
+
labels?: string[];
|
|
125
|
+
text: string | SourceStringsModel.PluralText;
|
|
126
|
+
translations?: StringTranslations;
|
|
127
|
+
uniqId?: string;
|
|
128
|
+
}
|
|
129
|
+
export interface StringTranslations {
|
|
130
|
+
[language: string]: {
|
|
131
|
+
text: string | SourceStringsModel.PluralText;
|
|
132
|
+
};
|
|
133
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessFileJobType = void 0;
|
|
4
|
+
var ProcessFileJobType;
|
|
5
|
+
(function (ProcessFileJobType) {
|
|
6
|
+
ProcessFileJobType["PARSE_FILE"] = "parse-file";
|
|
7
|
+
ProcessFileJobType["BUILD_FILE"] = "build-file";
|
|
8
|
+
ProcessFileJobType["PRE_IMPORT"] = "pre-import-file";
|
|
9
|
+
ProcessFileJobType["POST_IMPORT"] = "post-import-file";
|
|
10
|
+
ProcessFileJobType["PRE_EXPORT"] = "pre-export-file";
|
|
11
|
+
ProcessFileJobType["POST_EXPORT"] = "post-export-file";
|
|
12
|
+
})(ProcessFileJobType = exports.ProcessFileJobType || (exports.ProcessFileJobType = {}));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="qs" />
|
|
2
|
+
import { CrowdinClientRequest } from '../models';
|
|
2
3
|
import { Response } from 'express';
|
|
3
|
-
import { CrowdinClientRequest } from '../../models';
|
|
4
4
|
export default function handle(): (req: CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { CrowdinClientRequest } from '../models';
|
|
3
|
+
import { Response } from 'express';
|
|
4
|
+
export default function handle(): (req: CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
package/out/{handlers/integration → modules/integration/handlers}/crowdin-file-progress.d.ts
RENAMED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="qs" />
|
|
2
2
|
import { Response } from 'express';
|
|
3
|
-
import { CrowdinClientRequest
|
|
3
|
+
import { CrowdinClientRequest } from '../../../models';
|
|
4
|
+
import { IntegrationLogic } from '../types';
|
|
4
5
|
export default function handle(integration: IntegrationLogic): (req: CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const util_1 = require("
|
|
13
|
-
const logger_1 = require("
|
|
12
|
+
const util_1 = require("../../../util");
|
|
13
|
+
const logger_1 = require("../../../util/logger");
|
|
14
14
|
function handle(integration) {
|
|
15
15
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
16
16
|
const fileId = Number(req.params.fileId || req.body.fileId);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
import { Config } from '../../../models';
|
|
4
|
+
import { IntegrationLogic } from '../types';
|
|
5
|
+
export default function handle(config: Config, integration: IntegrationLogic): (req: import("../../../models").CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const util_1 = require("
|
|
13
|
-
const defaults_1 = require("
|
|
14
|
-
const logger_1 = require("
|
|
12
|
+
const util_1 = require("../../../util");
|
|
13
|
+
const defaults_1 = require("../../../util/defaults");
|
|
14
|
+
const logger_1 = require("../../../util/logger");
|
|
15
15
|
function handle(config, integration) {
|
|
16
16
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
17
17
|
req.logInfo('Loading crowdin files');
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
import { CrowdinClientRequest } from '../../../models';
|
|
4
|
+
export default function handle(): (req: CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const util_1 = require("
|
|
12
|
+
const util_1 = require("../../../util");
|
|
13
13
|
function handle() {
|
|
14
14
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
15
15
|
const projectId = req.crowdinContext.jwtPayload.context.project_id;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
import { Config } from '../../../models';
|
|
4
|
+
import { IntegrationLogic } from '../types';
|
|
5
|
+
export default function handle(config: Config, integration: IntegrationLogic): (req: import("../../../models").CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -13,12 +13,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const lodash_uniqby_1 = __importDefault(require("lodash.uniqby"));
|
|
16
|
-
const job_1 = require("
|
|
17
|
-
const util_1 = require("
|
|
18
|
-
const defaults_1 = require("
|
|
19
|
-
const logger_1 = require("
|
|
20
|
-
const job_2 = require("
|
|
21
|
-
const files_1 = require("
|
|
16
|
+
const job_1 = require("../../../models/job");
|
|
17
|
+
const util_1 = require("../../../util");
|
|
18
|
+
const defaults_1 = require("../../../util/defaults");
|
|
19
|
+
const logger_1 = require("../../../util/logger");
|
|
20
|
+
const job_2 = require("../../../util/job");
|
|
21
|
+
const files_1 = require("../../../util/files");
|
|
22
22
|
function handle(config, integration) {
|
|
23
23
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
24
24
|
var _a, _b;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Request, Response } from 'express';
|
|
3
|
+
import { Config } from '../../../models';
|
|
4
|
+
import { IntegrationLogic } from '../types';
|
|
5
|
+
export default function handle(config: Config, integration: IntegrationLogic): (req: import("../../../models").CrowdinClientRequest | Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,12 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const storage_1 = require("
|
|
13
|
-
const logger_1 = require("
|
|
14
|
-
const util_1 = require("
|
|
15
|
-
const cron_1 = require("
|
|
16
|
-
const webhooks_1 = require("
|
|
17
|
-
const
|
|
12
|
+
const storage_1 = require("../../../storage");
|
|
13
|
+
const logger_1 = require("../../../util/logger");
|
|
14
|
+
const util_1 = require("../../../util");
|
|
15
|
+
const cron_1 = require("../../../util/cron");
|
|
16
|
+
const webhooks_1 = require("../../../util/webhooks");
|
|
17
|
+
const types_1 = require("../types");
|
|
18
18
|
function filterSyncFiles(args) {
|
|
19
19
|
var _a, _b;
|
|
20
20
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -71,7 +71,7 @@ function handle(config, integration) {
|
|
|
71
71
|
const webhookUrlParam = req.query[urlParam];
|
|
72
72
|
let filesToSync;
|
|
73
73
|
if (webhookUrlParam) {
|
|
74
|
-
const { projectId, crowdinClient, rootFolder, appSettings, syncSettings } = yield (0, webhooks_1.prepareWebhookData)(config, integration, webhookUrlParam,
|
|
74
|
+
const { projectId, crowdinClient, rootFolder, appSettings, syncSettings } = yield (0, webhooks_1.prepareWebhookData)(config, integration, webhookUrlParam, types_1.Provider.CROWDIN);
|
|
75
75
|
if (!crowdinClient) {
|
|
76
76
|
return res.status(403).send({ error: 'Access denied' });
|
|
77
77
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
import { IntegrationLogic } from '../types';
|
|
4
|
+
export default function handle(integration: IntegrationLogic): (req: import("../../../models").CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,13 +9,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const util_1 = require("
|
|
13
|
-
const logger_1 = require("
|
|
14
|
-
const files_1 = require("
|
|
12
|
+
const util_1 = require("../../../util");
|
|
13
|
+
const logger_1 = require("../../../util/logger");
|
|
14
|
+
const files_1 = require("../../../util/files");
|
|
15
15
|
function handle(integration) {
|
|
16
16
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
17
17
|
const { parent_id: parentId, search, page } = req.query;
|
|
18
|
-
req.logInfo('
|
|
18
|
+
req.logInfo('Received request to get integration data');
|
|
19
19
|
let message;
|
|
20
20
|
let stopPagination;
|
|
21
21
|
let files;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="qs" />
|
|
2
2
|
import { Response } from 'express';
|
|
3
|
-
import { Config, CrowdinClientRequest
|
|
3
|
+
import { Config, CrowdinClientRequest } from '../../../models';
|
|
4
|
+
import { IntegrationLogic } from '../types';
|
|
4
5
|
export default function handle(config: Config, integration: IntegrationLogic): (req: CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const storage_1 = require("
|
|
13
|
-
const util_1 = require("
|
|
14
|
-
const logger_1 = require("
|
|
12
|
+
const storage_1 = require("../../../storage");
|
|
13
|
+
const util_1 = require("../../../util");
|
|
14
|
+
const logger_1 = require("../../../util/logger");
|
|
15
15
|
function handle(config, integration) {
|
|
16
16
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
17
17
|
req.logInfo('Received integration login request');
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
import { Config } from '../../../models';
|
|
4
|
+
import { IntegrationLogic } from '../types';
|
|
5
|
+
export default function handle(config: Config, integration: IntegrationLogic): (req: import("../../../models").CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,11 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const storage_1 = require("
|
|
13
|
-
const util_1 = require("
|
|
14
|
-
const connection_1 = require("
|
|
15
|
-
const webhooks_1 = require("
|
|
16
|
-
const logger_1 = require("
|
|
12
|
+
const storage_1 = require("../../../storage");
|
|
13
|
+
const util_1 = require("../../../util");
|
|
14
|
+
const connection_1 = require("../../../util/connection");
|
|
15
|
+
const webhooks_1 = require("../../../util/webhooks");
|
|
16
|
+
const logger_1 = require("../../../util/logger");
|
|
17
17
|
function handle(config, integration) {
|
|
18
18
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
19
19
|
req.logInfo('Received integration logout request');
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
import { Config } from '../../../models';
|
|
4
|
+
import { IntegrationLogic } from '../types';
|
|
5
|
+
export default function handle(config: Config, integration: IntegrationLogic): (req: import("../../../models").CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,11 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const job_1 = require("
|
|
13
|
-
const util_1 = require("
|
|
14
|
-
const defaults_1 = require("
|
|
15
|
-
const job_2 = require("
|
|
16
|
-
const logger_1 = require("
|
|
12
|
+
const job_1 = require("../../../models/job");
|
|
13
|
+
const util_1 = require("../../../util");
|
|
14
|
+
const defaults_1 = require("../../../util/defaults");
|
|
15
|
+
const job_2 = require("../../../util/job");
|
|
16
|
+
const logger_1 = require("../../../util/logger");
|
|
17
17
|
function handle(config, integration) {
|
|
18
18
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
19
19
|
var _a;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Request, Response } from 'express';
|
|
3
|
+
import { Config } from '../../../models';
|
|
4
|
+
import { IntegrationLogic } from '../types';
|
|
5
|
+
export default function handle(config: Config, integration: IntegrationLogic): (req: import("../../../models").CrowdinClientRequest | Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,16 +9,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
12
|
+
const util_1 = require("../../../util");
|
|
13
|
+
const webhooks_1 = require("../../../util/webhooks");
|
|
14
|
+
const types_1 = require("../types");
|
|
15
15
|
function handle(config, integration) {
|
|
16
16
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
17
17
|
var _a, _b;
|
|
18
18
|
const urlParam = (_a = integration.webhooks) === null || _a === void 0 ? void 0 : _a.urlParam;
|
|
19
19
|
const webhookUrlParam = req.query[urlParam];
|
|
20
20
|
if (((_b = integration.webhooks) === null || _b === void 0 ? void 0 : _b.integrationWebhookInterceptor) && webhookUrlParam) {
|
|
21
|
-
const webhookData = yield (0, webhooks_1.prepareWebhookData)(config, integration, webhookUrlParam,
|
|
21
|
+
const webhookData = yield (0, webhooks_1.prepareWebhookData)(config, integration, webhookUrlParam, types_1.Provider.INTEGRATION);
|
|
22
22
|
if (!webhookData.crowdinClient) {
|
|
23
23
|
return res.status(403).send({ error: 'Access denied' });
|
|
24
24
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
export default function handle(): (req: import("../../../models").CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const job_1 = require("
|
|
13
|
-
const util_1 = require("
|
|
14
|
-
const storage_1 = require("
|
|
12
|
+
const job_1 = require("../../../models/job");
|
|
13
|
+
const util_1 = require("../../../util");
|
|
14
|
+
const storage_1 = require("../../../storage");
|
|
15
15
|
function handle() {
|
|
16
16
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
17
17
|
const id = req.query.job_id || req.body.job_id;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
export default function handle(): (req: import("../../../models").CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const job_1 = require("
|
|
13
|
-
const util_1 = require("
|
|
14
|
-
const storage_1 = require("
|
|
12
|
+
const job_1 = require("../../../models/job");
|
|
13
|
+
const util_1 = require("../../../util");
|
|
14
|
+
const storage_1 = require("../../../storage");
|
|
15
15
|
function getHumanETA(ms) {
|
|
16
16
|
const seconds = Math.floor(ms / 1000);
|
|
17
17
|
let minutes = Math.floor(seconds / 60);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
import { Config } from '../../../models';
|
|
4
|
+
import { IntegrationLogic } from '../types';
|
|
5
|
+
export default function handle(config: Config, integration: IntegrationLogic): (req: import("../../../models").CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,10 +9,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const util_1 = require("
|
|
13
|
-
const connection_1 = require("
|
|
14
|
-
const defaults_1 = require("
|
|
15
|
-
const logger_1 = require("
|
|
12
|
+
const util_1 = require("../../../util");
|
|
13
|
+
const connection_1 = require("../../../util/connection");
|
|
14
|
+
const defaults_1 = require("../../../util/defaults");
|
|
15
|
+
const logger_1 = require("../../../util/logger");
|
|
16
16
|
function handle(config, integration) {
|
|
17
17
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
18
18
|
var _a, _b;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Request, Response } from 'express';
|
|
3
|
+
import { Config } from '../../../models';
|
|
4
|
+
import { IntegrationLogic } from '../types';
|
|
5
|
+
export default function handle(config: Config, integration: IntegrationLogic): (req: import("../../../models").CrowdinClientRequest | Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -13,9 +13,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const axios_1 = __importDefault(require("axios"));
|
|
16
|
-
const util_1 = require("
|
|
17
|
-
const defaults_1 = require("
|
|
18
|
-
const logger_1 = require("
|
|
16
|
+
const util_1 = require("../../../util");
|
|
17
|
+
const defaults_1 = require("../../../util/defaults");
|
|
18
|
+
const logger_1 = require("../../../util/logger");
|
|
19
19
|
function handle(config, integration) {
|
|
20
20
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
21
21
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="qs" />
|
|
2
2
|
import { Response } from 'express';
|
|
3
|
-
import { Config, CrowdinClientRequest
|
|
3
|
+
import { Config, CrowdinClientRequest } from '../../../models';
|
|
4
|
+
import { IntegrationLogic } from '../types';
|
|
4
5
|
export default function handle(config: Config, integration: IntegrationLogic): (req: CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const util_1 = require("
|
|
13
|
-
const defaults_1 = require("
|
|
12
|
+
const util_1 = require("../../../util");
|
|
13
|
+
const defaults_1 = require("../../../util/defaults");
|
|
14
14
|
function handle(config, integration) {
|
|
15
15
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
16
16
|
req.logInfo('Received OAuth login url request');
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
import { Config } from '../../../models';
|
|
4
|
+
import { IntegrationLogic } from '../types';
|
|
5
|
+
export default function handle(config: Config, integration: IntegrationLogic): (req: import("../../../models").CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,12 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
12
|
+
const storage_1 = require("../../../storage");
|
|
13
|
+
const util_1 = require("../../../util");
|
|
14
|
+
const cron_1 = require("../../../util/cron");
|
|
15
|
+
const file_snapshot_1 = require("../../../util/file-snapshot");
|
|
16
|
+
const webhooks_1 = require("../../../util/webhooks");
|
|
17
|
+
const types_1 = require("../types");
|
|
18
18
|
function handle(config, integration) {
|
|
19
19
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
20
20
|
const appSettings = req.body.config;
|
|
@@ -32,15 +32,15 @@ function handle(config, integration) {
|
|
|
32
32
|
}
|
|
33
33
|
else {
|
|
34
34
|
if (appSettings['new-crowdin-files']) {
|
|
35
|
-
(0, file_snapshot_1.createOrUpdateFileSnapshot)(config, integration, req,
|
|
35
|
+
(0, file_snapshot_1.createOrUpdateFileSnapshot)(config, integration, req, types_1.Provider.CROWDIN);
|
|
36
36
|
}
|
|
37
37
|
if (appSettings['new-integration-files']) {
|
|
38
|
-
(0, file_snapshot_1.createOrUpdateFileSnapshot)(config, integration, req,
|
|
38
|
+
(0, file_snapshot_1.createOrUpdateFileSnapshot)(config, integration, req, types_1.Provider.INTEGRATION);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
if (integration.syncNewElements) {
|
|
42
|
-
yield (0, cron_1.createOrUpdateSyncSettings)(config, req, {},
|
|
43
|
-
yield (0, cron_1.createOrUpdateSyncSettings)(config, req, [],
|
|
42
|
+
yield (0, cron_1.createOrUpdateSyncSettings)(config, req, {}, types_1.Provider.CROWDIN, true);
|
|
43
|
+
yield (0, cron_1.createOrUpdateSyncSettings)(config, req, [], types_1.Provider.INTEGRATION, true);
|
|
44
44
|
}
|
|
45
45
|
res.status(204).end();
|
|
46
46
|
}));
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
export default function handle(): (req: import("../../../models").CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const util_1 = require("
|
|
12
|
+
const util_1 = require("../../../util");
|
|
13
13
|
function handle() {
|
|
14
14
|
return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
15
15
|
let settings = {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
import { Config } from '../../../models';
|
|
4
|
+
import { IntegrationLogic } from '../types';
|
|
5
|
+
export default function handle(config: Config, integration: IntegrationLogic): (req: import("../../../models").CrowdinClientRequest | import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: Function) => void;
|