@things-factory/integration-sftp 5.0.0-alpha.5 → 5.0.0-alpha.52

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.
Files changed (43) hide show
  1. package/dist-server/controllers/herbalife/apis/create-serial-number.js +47 -0
  2. package/dist-server/controllers/herbalife/apis/create-serial-number.js.map +1 -0
  3. package/dist-server/controllers/herbalife/apis/create-shipment.js +63 -5
  4. package/dist-server/controllers/herbalife/apis/create-shipment.js.map +1 -1
  5. package/dist-server/controllers/herbalife/apis/index.js +1 -0
  6. package/dist-server/controllers/herbalife/apis/index.js.map +1 -1
  7. package/dist-server/controllers/herbalife/herbalife.js +15 -62
  8. package/dist-server/controllers/herbalife/herbalife.js.map +1 -1
  9. package/dist-server/controllers/sftp-api/index.js +7 -0
  10. package/dist-server/controllers/sftp-api/index.js.map +1 -1
  11. package/dist-server/service/sftp/sftp-mutation.js +78 -60
  12. package/dist-server/service/sftp/sftp-mutation.js.map +1 -1
  13. package/dist-server/service/sftp/sftp-query.js +1 -1
  14. package/dist-server/service/sftp/sftp-query.js.map +1 -1
  15. package/dist-server/service/sftp/sftp-type.js +8 -0
  16. package/dist-server/service/sftp/sftp-type.js.map +1 -1
  17. package/dist-server/service/sftp/sftp.js +23 -1
  18. package/dist-server/service/sftp/sftp.js.map +1 -1
  19. package/dist-server/sftp-const.js +6 -2
  20. package/dist-server/sftp-const.js.map +1 -1
  21. package/dist-server/sftp-s3.js +2 -2
  22. package/dist-server/sftp-s3.js.map +1 -1
  23. package/dist-server/util/generate-files.js +30 -0
  24. package/dist-server/util/generate-files.js.map +1 -0
  25. package/dist-server/util/index.js +1 -1
  26. package/dist-server/util/index.js.map +1 -1
  27. package/package.json +7 -7
  28. package/server/controllers/herbalife/apis/create-serial-number.ts +51 -0
  29. package/server/controllers/herbalife/apis/create-shipment.ts +73 -5
  30. package/server/controllers/herbalife/apis/index.ts +1 -0
  31. package/server/controllers/herbalife/herbalife.ts +23 -71
  32. package/server/controllers/sftp-api/index.ts +3 -0
  33. package/server/service/sftp/sftp-mutation.ts +68 -68
  34. package/server/service/sftp/sftp-query.ts +1 -1
  35. package/server/service/sftp/sftp-type.ts +7 -1
  36. package/server/service/sftp/sftp.ts +22 -1
  37. package/server/sftp-const.ts +5 -1
  38. package/server/sftp-s3.ts +3 -2
  39. package/server/util/generate-files.ts +33 -0
  40. package/server/util/index.ts +1 -1
  41. package/dist-server/util/generate-file.js +0 -27
  42. package/dist-server/util/generate-file.js.map +0 -1
  43. package/server/util/generate-file.ts +0 -30
@@ -1,4 +1,4 @@
1
- import { Field, ID, ObjectType } from 'type-graphql'
1
+ import { Field, ID, ObjectType, registerEnumType } from 'type-graphql'
2
2
  import {
3
3
  Column,
4
4
  CreateDateColumn,
@@ -14,6 +14,17 @@ import { User } from '@things-factory/auth-base'
14
14
  import { FulfillmentCenter } from '@things-factory/integration-fulfillment'
15
15
  import { Domain } from '@things-factory/shell'
16
16
 
17
+ export enum SftpStatus {
18
+ ACTIVE = 'ACTIVE',
19
+ INACTIVE = 'INACTIVE',
20
+ TERMINATED = 'TERMINATED'
21
+ }
22
+
23
+ registerEnumType(SftpStatus, {
24
+ name: 'SftpStatus',
25
+ description: 'state enumeration of a sftp'
26
+ })
27
+
17
28
  @Entity()
18
29
  @Index('ix_sftp_0', (sftp: Sftp) => [sftp.domain, sftp.name], { unique: true })
19
30
  @ObjectType({ description: 'Entity for Sftp' })
@@ -39,6 +50,10 @@ export class Sftp {
39
50
  @Field({ nullable: true })
40
51
  description?: string
41
52
 
53
+ @Column({ nullable: true })
54
+ @Field({ nullable: true })
55
+ status?: SftpStatus
56
+
42
57
  @Column({
43
58
  nullable: true
44
59
  })
@@ -90,6 +105,12 @@ export class Sftp {
90
105
  @Field({ nullable: true })
91
106
  responseFilePattern: string
92
107
 
108
+ @Column({
109
+ nullable: true
110
+ })
111
+ @Field({ nullable: true })
112
+ responseFileTypes: string
113
+
93
114
  @CreateDateColumn()
94
115
  @Field({ nullable: true })
95
116
  createdAt?: Date
@@ -4,6 +4,10 @@ export var SFTPFILESTORAGE: any = config.get('sftpFileStorage')
4
4
  export var SUBMITDATAPATH: string = '/sob/data'
5
5
  export var SUCCESSDATAPATH: string = '/sob/success'
6
6
  export var FAILEDDATAPATH: string = '/sob/failed'
7
- export var COMPLETEDATAPATH: string = '/oc/data'
7
+ export var COMPLETEDATAPATH: string = '/oc/data01'
8
8
  export var COMPLETESUCCESSDATAPATH: string = '/oc/success'
9
9
  export var COMPLETEFAILEDDATAPATH: string = '/oc/failed'
10
+ export var SNSUBMITDATAPATH: string = '/sn/data'
11
+ export var SNSUCCESSDATAPATH: string = '/sn/success'
12
+ export var SNFAILEDDATAPATH: string = '/sn/failed'
13
+ export var BACKUPPATH: string = 'hatiosea/'
package/server/sftp-s3.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import AWS from 'aws-sdk'
2
- import uuid from 'uuid/v4'
3
2
 
4
3
  import { logger } from '@things-factory/env'
5
4
 
6
5
  import { SFTPFILESTORAGE } from './sftp-const'
7
6
 
7
+ const crypto = require('crypto')
8
+
8
9
  const { PassThrough } = require('stream')
9
10
  const path = require('path')
10
11
  const { fs } = require('memfs')
@@ -63,7 +64,7 @@ if (SFTPFILESTORAGE && SFTPFILESTORAGE.type == 's3') {
63
64
 
64
65
  /* upload file */
65
66
  SFTPFILESTORAGE.uploadFile = ({ stream, filename, uploadPath }) => {
66
- const id = uuid()
67
+ const id = crypto.randomUUID()
67
68
  let size: number = 0
68
69
 
69
70
  return new Promise<{ id: string; path: string; size: number }>((resolve, reject) =>
@@ -0,0 +1,33 @@
1
+ import '../sftp-s3'
2
+
3
+ import { SFTPFILESTORAGE } from '../sftp-const'
4
+
5
+ const fs = require('fs')
6
+
7
+ export async function generateFiles(params: any[]) {
8
+ const fileDirectory = './uploaded-files'
9
+ for (let i = 0; i < params.length; i++) {
10
+ let param: any = params[i]
11
+ const { uploadPath, content, title } = param
12
+
13
+ if (!fs.existsSync(fileDirectory)) {
14
+ fs.mkdirSync(fileDirectory)
15
+ }
16
+
17
+ const filePath = fileDirectory + '/' + title
18
+
19
+ fs.writeFile(filePath, content, function (err) {
20
+ if (err) throw err
21
+ console.log('File is created successfully.')
22
+ })
23
+
24
+ if (uploadPath) {
25
+ const stream = fs.createReadStream(filePath)
26
+ await SFTPFILESTORAGE.uploadFile({ stream, filename: title, uploadPath })
27
+ }
28
+ }
29
+
30
+ fs.rm(fileDirectory, { recursive: true })
31
+
32
+ return true
33
+ }
@@ -1,2 +1,2 @@
1
1
  export * from './get-permitted-directories'
2
- export * from './generate-file'
2
+ export * from './generate-files'
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateFile = void 0;
4
- require("../sftp-s3");
5
- const sftp_const_1 = require("../sftp-const");
6
- const fs = require('fs');
7
- async function generateFile(params) {
8
- const { uploadPath, content, title } = params;
9
- const fileDirectory = './uploaded-files';
10
- if (!fs.existsSync(fileDirectory)) {
11
- fs.mkdirSync(fileDirectory);
12
- }
13
- const filePath = fileDirectory + '/' + title;
14
- fs.writeFile(filePath, content, function (err) {
15
- if (err)
16
- throw err;
17
- console.log('File is created successfully.');
18
- });
19
- if (uploadPath) {
20
- const stream = fs.createReadStream(filePath);
21
- await sftp_const_1.SFTPFILESTORAGE.uploadFile({ stream, filename: title, uploadPath });
22
- }
23
- fs.rmdirSync(fileDirectory, { recursive: true });
24
- return true;
25
- }
26
- exports.generateFile = generateFile;
27
- //# sourceMappingURL=generate-file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-file.js","sourceRoot":"","sources":["../../server/util/generate-file.ts"],"names":[],"mappings":";;;AAAA,sBAAmB;AAEnB,8CAA+C;AAE/C,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEjB,KAAK,UAAU,YAAY,CAAC,MAAW;IAC5C,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAC7C,MAAM,aAAa,GAAG,kBAAkB,CAAA;IAExC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACjC,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;KAC5B;IAED,MAAM,QAAQ,GAAG,aAAa,GAAG,GAAG,GAAG,KAAK,CAAA;IAE5C,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG;QAC3C,IAAI,GAAG;YAAE,MAAM,GAAG,CAAA;QAClB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,IAAI,UAAU,EAAE;QACd,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC5C,MAAM,4BAAe,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;KAC1E;IAED,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEhD,OAAO,IAAI,CAAA;AACb,CAAC;AAvBD,oCAuBC"}
@@ -1,30 +0,0 @@
1
- import '../sftp-s3'
2
-
3
- import { SFTPFILESTORAGE } from '../sftp-const'
4
-
5
- const fs = require('fs')
6
-
7
- export async function generateFile(params: any) {
8
- const { uploadPath, content, title } = params
9
- const fileDirectory = './uploaded-files'
10
-
11
- if (!fs.existsSync(fileDirectory)) {
12
- fs.mkdirSync(fileDirectory)
13
- }
14
-
15
- const filePath = fileDirectory + '/' + title
16
-
17
- fs.writeFile(filePath, content, function (err) {
18
- if (err) throw err
19
- console.log('File is created successfully.')
20
- })
21
-
22
- if (uploadPath) {
23
- const stream = fs.createReadStream(filePath)
24
- await SFTPFILESTORAGE.uploadFile({ stream, filename: title, uploadPath })
25
- }
26
-
27
- fs.rmdirSync(fileDirectory, { recursive: true })
28
-
29
- return true
30
- }