smartling-api-sdk-nodejs 2.10.1 → 2.12.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.
@@ -2,5 +2,5 @@ projectKey=smartling-api-sdk-nodejs
2
2
  serverUrl=https://sonar-next.connectors.stg.smartling.net
3
3
  serverVersion=8.6.1.40680
4
4
  dashboardUrl=https://sonar-next.connectors.stg.smartling.net/dashboard?id=smartling-api-sdk-nodejs
5
- ceTaskId=AY9TzKxp7SpYu_MF-cER
6
- ceTaskUrl=https://sonar-next.connectors.stg.smartling.net/api/ce/task?id=AY9TzKxp7SpYu_MF-cER
5
+ ceTaskId=AZHGsopjeTFUeF_dKNj1
6
+ ceTaskUrl=https://sonar-next.connectors.stg.smartling.net/api/ce/task?id=AZHGsopjeTFUeF_dKNj1
@@ -26,4 +26,17 @@ export class FtsUploadFileParameters extends BaseParameters {
26
26
  this.parameters.request.fileType = fileType.toUpperCase();
27
27
  return this;
28
28
  }
29
+
30
+ addDirective(instruction: string, value: string): FtsUploadFileParameters {
31
+ if (!this.parameters.request.parseConfigItems) {
32
+ this.parameters.request.parseConfigItems = [];
33
+ }
34
+
35
+ this.parameters.request.parseConfigItems = this.parameters.request.parseConfigItems.concat({
36
+ instruction,
37
+ value
38
+ });
39
+
40
+ return this;
41
+ }
29
42
  }
@@ -2,6 +2,7 @@ import * as fs from "fs";
2
2
  import string2fileStream from "string-to-file-stream";
3
3
  import { BaseParameters } from "../../parameters/index";
4
4
  import { FileType } from "./file-type";
5
+ import { SmartlingException } from "../../exception";
5
6
 
6
7
  export class UploadFileParameters extends BaseParameters {
7
8
  setDirective(key: string, value: string): UploadFileParameters {
@@ -44,4 +45,14 @@ export class UploadFileParameters extends BaseParameters {
44
45
  this.set("fileUri", fileUri);
45
46
  return this;
46
47
  }
48
+
49
+ setCallbackUrl(callbackUrl: string): UploadFileParameters {
50
+ if (callbackUrl && (callbackUrl.length > 255)) {
51
+ throw new SmartlingException("File callback URL should be not greater than 255 characters.");
52
+ }
53
+
54
+ this.set("callbackUrl", callbackUrl);
55
+
56
+ return this;
57
+ }
47
58
  }
@@ -5,4 +5,5 @@ export declare class FtsUploadFileParameters extends BaseParameters {
5
5
  setFileFromLocalFilePath(filePath: string): FtsUploadFileParameters;
6
6
  setFileContent(fileContent: string): FtsUploadFileParameters;
7
7
  setFileType(fileType: FileType): FtsUploadFileParameters;
8
+ addDirective(instruction: string, value: string): FtsUploadFileParameters;
8
9
  }
@@ -47,6 +47,16 @@ class FtsUploadFileParameters extends parameters_1.BaseParameters {
47
47
  this.parameters.request.fileType = fileType.toUpperCase();
48
48
  return this;
49
49
  }
50
+ addDirective(instruction, value) {
51
+ if (!this.parameters.request.parseConfigItems) {
52
+ this.parameters.request.parseConfigItems = [];
53
+ }
54
+ this.parameters.request.parseConfigItems = this.parameters.request.parseConfigItems.concat({
55
+ instruction,
56
+ value
57
+ });
58
+ return this;
59
+ }
50
60
  }
51
61
  exports.FtsUploadFileParameters = FtsUploadFileParameters;
52
62
  //# sourceMappingURL=fts-upload-file-parameters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fts-upload-file-parameters.js","sourceRoot":"","sources":["../../../../api/file-translations/params/fts-upload-file-parameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,kFAAsD;AACtD,iDAAkD;AAGlD,MAAa,uBAAwB,SAAQ,2BAAc;IACvD,YAAY,aAAsC,EAAE;QAChD,KAAK,CAAC,UAAU,CAAC,CAAC;QAElB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,wBAAwB,CAAC,QAAgB;QACrC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAChC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,WAAmB;QAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,+BAAiB,EAAC,WAAW,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAkB;QAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAvBD,0DAuBC"}
1
+ {"version":3,"file":"fts-upload-file-parameters.js","sourceRoot":"","sources":["../../../../api/file-translations/params/fts-upload-file-parameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,kFAAsD;AACtD,iDAAkD;AAGlD,MAAa,uBAAwB,SAAQ,2BAAc;IACvD,YAAY,aAAsC,EAAE;QAChD,KAAK,CAAC,UAAU,CAAC,CAAC;QAElB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,wBAAwB,CAAC,QAAgB;QACrC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAChC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,WAAmB;QAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,+BAAiB,EAAC,WAAW,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAkB;QAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,WAAmB,EAAE,KAAa;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC;SACjD;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC;YACvF,WAAW;YACX,KAAK;SACR,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AApCD,0DAoCC"}
@@ -7,4 +7,5 @@ export declare class UploadFileParameters extends BaseParameters {
7
7
  setFileContent(fileContent: string): UploadFileParameters;
8
8
  setFileType(fileType: FileType): UploadFileParameters;
9
9
  setFileUri(fileUri: string): UploadFileParameters;
10
+ setCallbackUrl(callbackUrl: string): UploadFileParameters;
10
11
  }
@@ -30,6 +30,7 @@ exports.UploadFileParameters = void 0;
30
30
  const fs = __importStar(require("fs"));
31
31
  const string_to_file_stream_1 = __importDefault(require("string-to-file-stream"));
32
32
  const index_1 = require("../../parameters/index");
33
+ const exception_1 = require("../../exception");
33
34
  class UploadFileParameters extends index_1.BaseParameters {
34
35
  setDirective(key, value) {
35
36
  this.set(`smartling.${key}`, value);
@@ -55,6 +56,13 @@ class UploadFileParameters extends index_1.BaseParameters {
55
56
  this.set("fileUri", fileUri);
56
57
  return this;
57
58
  }
59
+ setCallbackUrl(callbackUrl) {
60
+ if (callbackUrl && (callbackUrl.length > 255)) {
61
+ throw new exception_1.SmartlingException("File callback URL should be not greater than 255 characters.");
62
+ }
63
+ this.set("callbackUrl", callbackUrl);
64
+ return this;
65
+ }
58
66
  }
59
67
  exports.UploadFileParameters = UploadFileParameters;
60
68
  //# sourceMappingURL=upload-file-parameters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload-file-parameters.js","sourceRoot":"","sources":["../../../../api/files/params/upload-file-parameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,kFAAsD;AACtD,kDAAwD;AAGxD,MAAa,oBAAqB,SAAQ,sBAAc;IACpD,YAAY,CAAC,GAAW,EAAE,KAAa;QACnC,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAOD,OAAO,CAAC,QAAgB;QACpB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAChC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wBAAwB,CAAC,QAAgB;QACrC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAChC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,WAAmB;QAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,+BAAiB,EAAC,WAAW,CAAC,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAkB;QAC1B,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,OAAe;QACtB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAzCD,oDAyCC"}
1
+ {"version":3,"file":"upload-file-parameters.js","sourceRoot":"","sources":["../../../../api/files/params/upload-file-parameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,kFAAsD;AACtD,kDAAwD;AAExD,+CAAqD;AAErD,MAAa,oBAAqB,SAAQ,sBAAc;IACpD,YAAY,CAAC,GAAW,EAAE,KAAa;QACnC,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAOD,OAAO,CAAC,QAAgB;QACpB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAChC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wBAAwB,CAAC,QAAgB;QACrC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAChC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,WAAmB;QAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,+BAAiB,EAAC,WAAW,CAAC,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAkB;QAC1B,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,OAAe;QACtB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,WAAmB;QAC9B,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE;YAC3C,MAAM,IAAI,8BAAkB,CAAC,8DAA8D,CAAC,CAAC;SAChG;QAED,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAnDD,oDAmDC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smartling-api-sdk-nodejs",
3
- "version": "2.10.1",
3
+ "version": "2.12.0",
4
4
  "description": "Package for Smartling API",
5
5
  "main": "built/index.js",
6
6
  "engines": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smartling-api-sdk-nodejs",
3
- "version": "2.10.1",
3
+ "version": "2.12.0",
4
4
  "description": "Package for Smartling API",
5
5
  "main": "built/index.js",
6
6
  "engines": {
@@ -105,7 +105,9 @@ describe("SmartlingFileTranslationsApi class tests.", () => {
105
105
 
106
106
  params
107
107
  .setFileType(FileType.XML)
108
- .setFileContent(testFileContent);
108
+ .setFileContent(testFileContent)
109
+ .addDirective("entity_escaping_strategy", "propagade")
110
+ .addDirective("placeholder_format_custom", "test");
109
111
 
110
112
  await fileTranslationsApi.uploadFile(accountUid, params);
111
113
 
@@ -141,7 +143,7 @@ describe("SmartlingFileTranslationsApi class tests.", () => {
141
143
  assert.equal(content, testFileContent);
142
144
 
143
145
  // eslint-disable-next-line no-underscore-dangle
144
- assert.equal(fileTranslationsApiFetchCall.args[1].body._streams[4], "{\"fileType\":\"XML\"}");
146
+ assert.equal(fileTranslationsApiFetchCall.args[1].body._streams[4], "{\"fileType\":\"XML\",\"parseConfigItems\":[{\"instruction\":\"entity_escaping_strategy\",\"value\":\"propagade\"},{\"instruction\":\"placeholder_format_custom\",\"value\":\"test\"}]}");
145
147
  });
146
148
 
147
149
  it("Translate file", async () => {
@@ -264,6 +264,7 @@ describe("SmartlingFilesApi class tests.", () => {
264
264
  .setFileFromLocalFilePath("./test/data/file.xml")
265
265
  .setFileUri("test-file-uri")
266
266
  .setFileType(FileType.XML)
267
+ .setCallbackUrl("https://callback.url")
267
268
  .setDirective("foo", "bar");
268
269
 
269
270
  await filesApi.uploadFile(projectId, params);
@@ -290,6 +291,10 @@ describe("SmartlingFilesApi class tests.", () => {
290
291
  "test_user_agent"
291
292
  );
292
293
 
294
+ const stringifiedFormData = JSON.stringify(filesApiFetchStub.getCall(0).args[1].body);
295
+
296
+ assert.ok(stringifiedFormData.includes("Content-Disposition: form-data; name=\\\"callbackUrl\\\"\\r\\n\\r\\n\",\"https://callback.url\""));
297
+
293
298
  assert.equal(
294
299
  // eslint-disable-next-line no-underscore-dangle
295
300
  await streamToString(filesApiFetchStub.getCall(0).args[1].body._streams[1]),
@@ -310,6 +315,7 @@ describe("SmartlingFilesApi class tests.", () => {
310
315
  ))
311
316
  .setFileUri("test-file-uri")
312
317
  .setFileType(FileType.XML)
318
+ .setCallbackUrl("https://callback.url")
313
319
  .setDirective("foo", "bar");
314
320
 
315
321
  await filesApi.uploadFile(projectId, params);
@@ -336,6 +342,10 @@ describe("SmartlingFilesApi class tests.", () => {
336
342
  "test_user_agent"
337
343
  );
338
344
 
345
+ const stringifiedFormData = JSON.stringify(filesApiFetchStub.getCall(0).args[1].body);
346
+
347
+ assert.ok(stringifiedFormData.includes("Content-Disposition: form-data; name=\\\"callbackUrl\\\"\\r\\n\\r\\n\",\"https://callback.url\""));
348
+
339
349
  assert.equal(
340
350
  // eslint-disable-next-line no-underscore-dangle
341
351
  await streamToString(filesApiFetchStub.getCall(0).args[1].body._streams[1]),