@things-factory/integration-sftp 4.3.671 → 4.3.673
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/dist-server/controllers/herbalife/apis/create-serial-number.js +47 -0
- package/dist-server/controllers/herbalife/apis/create-serial-number.js.map +1 -0
- package/dist-server/controllers/herbalife/apis/create-shipment.js +85 -0
- package/dist-server/controllers/herbalife/apis/create-shipment.js.map +1 -0
- package/dist-server/controllers/herbalife/apis/echo.js +19 -0
- package/dist-server/controllers/herbalife/apis/echo.js.map +1 -0
- package/dist-server/controllers/herbalife/apis/get-outbound-order.js +115 -0
- package/dist-server/controllers/herbalife/apis/get-outbound-order.js.map +1 -0
- package/dist-server/controllers/herbalife/apis/index.js +21 -0
- package/dist-server/controllers/herbalife/apis/index.js.map +1 -0
- package/dist-server/controllers/herbalife/herbalife.js +44 -0
- package/dist-server/controllers/herbalife/herbalife.js.map +1 -0
- package/dist-server/controllers/herbalife/index.js +34 -0
- package/dist-server/controllers/herbalife/index.js.map +1 -0
- package/dist-server/controllers/herbalife/platform-action.js +30 -0
- package/dist-server/controllers/herbalife/platform-action.js.map +1 -0
- package/dist-server/controllers/index.js +20 -0
- package/dist-server/controllers/index.js.map +1 -0
- package/dist-server/controllers/sftp-api/decorators.js +30 -0
- package/dist-server/controllers/sftp-api/decorators.js.map +1 -0
- package/dist-server/controllers/sftp-api/index.js +71 -0
- package/dist-server/controllers/sftp-api/index.js.map +1 -0
- package/dist-server/controllers/sftp-api/types.js +1 -0
- package/dist-server/controllers/sftp-api/types.js.map +1 -0
- package/dist-server/controllers/yltc/apis/create-yltc-inventory-report.js +40 -0
- package/dist-server/controllers/yltc/apis/create-yltc-inventory-report.js.map +1 -0
- package/dist-server/controllers/yltc/apis/echo.js +19 -0
- package/dist-server/controllers/yltc/apis/echo.js.map +1 -0
- package/dist-server/controllers/yltc/apis/index.js +19 -0
- package/dist-server/controllers/yltc/apis/index.js.map +1 -0
- package/dist-server/controllers/yltc/index.js +34 -0
- package/dist-server/controllers/yltc/index.js.map +1 -0
- package/dist-server/controllers/yltc/platform-action.js +30 -0
- package/dist-server/controllers/yltc/platform-action.js.map +1 -0
- package/dist-server/controllers/yltc/yltc.js +71 -0
- package/dist-server/controllers/yltc/yltc.js.map +1 -0
- package/dist-server/index.js +23 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/middlewares/index.js +8 -0
- package/dist-server/middlewares/index.js.map +1 -0
- package/dist-server/routes.js +25 -0
- package/dist-server/routes.js.map +1 -0
- package/dist-server/service/index.js +32 -0
- package/dist-server/service/index.js.map +1 -0
- package/dist-server/service/sftp/index.js +9 -0
- package/dist-server/service/sftp/index.js.map +1 -0
- package/dist-server/service/sftp/sftp-mutation.js +280 -0
- package/dist-server/service/sftp/sftp-mutation.js.map +1 -0
- package/dist-server/service/sftp/sftp-query.js +87 -0
- package/dist-server/service/sftp/sftp-query.js.map +1 -0
- package/dist-server/service/sftp/sftp-type.js +121 -0
- package/dist-server/service/sftp/sftp-type.js.map +1 -0
- package/dist-server/service/sftp/sftp.js +213 -0
- package/dist-server/service/sftp/sftp.js.map +1 -0
- package/dist-server/sftp-const.js +50 -0
- package/dist-server/sftp-const.js.map +1 -0
- package/dist-server/sftp-s3.js +113 -0
- package/dist-server/sftp-s3.js.map +1 -0
- package/dist-server/storage/providers/ftp-storage.provider.js +178 -0
- package/dist-server/storage/providers/ftp-storage.provider.js.map +1 -0
- package/dist-server/storage/providers/local-storage.provider.js +153 -0
- package/dist-server/storage/providers/local-storage.provider.js.map +1 -0
- package/dist-server/storage/providers/s3-storage.provider.js +181 -0
- package/dist-server/storage/providers/s3-storage.provider.js.map +1 -0
- package/dist-server/storage/providers/sftp-storage.provider.js +133 -0
- package/dist-server/storage/providers/sftp-storage.provider.js.map +1 -0
- package/dist-server/storage/storage-factory.js +55 -0
- package/dist-server/storage/storage-factory.js.map +1 -0
- package/dist-server/storage/storage-manager.js +86 -0
- package/dist-server/storage/storage-manager.js.map +1 -0
- package/dist-server/storage/storage-provider.interface.js +3 -0
- package/dist-server/storage/storage-provider.interface.js.map +1 -0
- package/dist-server/util/file-formatters.js +100 -0
- package/dist-server/util/file-formatters.js.map +1 -0
- package/dist-server/util/generate-files.js +90 -0
- package/dist-server/util/generate-files.js.map +1 -0
- package/dist-server/util/get-permitted-directories.js +20 -0
- package/dist-server/util/get-permitted-directories.js.map +1 -0
- package/dist-server/util/index.js +19 -0
- package/dist-server/util/index.js.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var _a;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.SftpQuery = void 0;
|
|
17
|
+
const type_graphql_1 = require("type-graphql");
|
|
18
|
+
const typeorm_1 = require("typeorm");
|
|
19
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
20
|
+
const shell_1 = require("@things-factory/shell");
|
|
21
|
+
const sftp_1 = require("./sftp");
|
|
22
|
+
const sftp_type_1 = require("./sftp-type");
|
|
23
|
+
let SftpQuery = class SftpQuery {
|
|
24
|
+
async sftp(id, context) {
|
|
25
|
+
const { domain } = context.state;
|
|
26
|
+
return await (0, typeorm_1.getRepository)(sftp_1.Sftp).findOne({
|
|
27
|
+
where: { domain, id }
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async sftps(params, context) {
|
|
31
|
+
const { domain } = context.state;
|
|
32
|
+
const convertedParams = (0, shell_1.convertListParams)(params, domain.id);
|
|
33
|
+
const [items, total] = await (0, typeorm_1.getRepository)(sftp_1.Sftp).findAndCount(convertedParams);
|
|
34
|
+
return { items, total };
|
|
35
|
+
}
|
|
36
|
+
async domain(sftp) {
|
|
37
|
+
return await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(sftp.domainId);
|
|
38
|
+
}
|
|
39
|
+
async updater(sftp) {
|
|
40
|
+
return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(sftp.updaterId);
|
|
41
|
+
}
|
|
42
|
+
async creator(sftp) {
|
|
43
|
+
return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(sftp.creatorId);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, type_graphql_1.Query)(returns => sftp_1.Sftp, { description: 'To fetch a Sftp' }),
|
|
48
|
+
__param(0, (0, type_graphql_1.Arg)('id')),
|
|
49
|
+
__param(1, (0, type_graphql_1.Ctx)()),
|
|
50
|
+
__metadata("design:type", Function),
|
|
51
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
52
|
+
__metadata("design:returntype", Promise)
|
|
53
|
+
], SftpQuery.prototype, "sftp", null);
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, type_graphql_1.Query)(returns => sftp_type_1.SftpList, { description: 'To fetch multiple Sftps' }),
|
|
56
|
+
__param(0, (0, type_graphql_1.Args)()),
|
|
57
|
+
__param(1, (0, type_graphql_1.Ctx)()),
|
|
58
|
+
__metadata("design:type", Function),
|
|
59
|
+
__metadata("design:paramtypes", [typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object, Object]),
|
|
60
|
+
__metadata("design:returntype", Promise)
|
|
61
|
+
], SftpQuery.prototype, "sftps", null);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
|
|
64
|
+
__param(0, (0, type_graphql_1.Root)()),
|
|
65
|
+
__metadata("design:type", Function),
|
|
66
|
+
__metadata("design:paramtypes", [sftp_1.Sftp]),
|
|
67
|
+
__metadata("design:returntype", Promise)
|
|
68
|
+
], SftpQuery.prototype, "domain", null);
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
71
|
+
__param(0, (0, type_graphql_1.Root)()),
|
|
72
|
+
__metadata("design:type", Function),
|
|
73
|
+
__metadata("design:paramtypes", [sftp_1.Sftp]),
|
|
74
|
+
__metadata("design:returntype", Promise)
|
|
75
|
+
], SftpQuery.prototype, "updater", null);
|
|
76
|
+
__decorate([
|
|
77
|
+
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
78
|
+
__param(0, (0, type_graphql_1.Root)()),
|
|
79
|
+
__metadata("design:type", Function),
|
|
80
|
+
__metadata("design:paramtypes", [sftp_1.Sftp]),
|
|
81
|
+
__metadata("design:returntype", Promise)
|
|
82
|
+
], SftpQuery.prototype, "creator", null);
|
|
83
|
+
SftpQuery = __decorate([
|
|
84
|
+
(0, type_graphql_1.Resolver)(sftp_1.Sftp)
|
|
85
|
+
], SftpQuery);
|
|
86
|
+
exports.SftpQuery = SftpQuery;
|
|
87
|
+
//# sourceMappingURL=sftp-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sftp-query.js","sourceRoot":"","sources":["../../../server/service/sftp/sftp-query.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAAmF;AACnF,qCAAuC;AAEvC,yDAAgD;AAChD,iDAA4E;AAE5E,iCAA6B;AAC7B,2CAAsC;AAG/B,IAAM,SAAS,GAAf,MAAM,SAAS;IAEd,AAAN,KAAK,CAAC,IAAI,CAAY,EAAU,EAAS,OAAY;QACnD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,uBAAa,EAAC,WAAI,CAAC,CAAC,OAAO,CAAC;YACvC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,KAAK,CAAS,MAAiB,EAAS,OAAY;QACxD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QAC5D,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,uBAAa,EAAC,WAAI,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;QAE9E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,IAAU;QAC7B,OAAO,MAAM,IAAA,uBAAa,EAAC,cAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3D,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,IAAU;QAC9B,OAAO,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC1D,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,IAAU;QAC9B,OAAO,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC1D,CAAC;CACF,CAAA;AAhCO;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,WAAI,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IAC/C,WAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,kBAAG,GAAE,CAAA;;;;qCAMvC;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,oBAAQ,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;IAC1D,WAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,WAAA,IAAA,kBAAG,GAAE,CAAA;;yDAAjB,iBAAS,oBAAT,iBAAS;;sCAOpC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,WAAA,IAAA,mBAAI,GAAE,CAAA;;qCAAO,WAAI;;uCAE9B;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,WAAA,IAAA,mBAAI,GAAE,CAAA;;qCAAO,WAAI;;wCAE/B;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,WAAA,IAAA,mBAAI,GAAE,CAAA;;qCAAO,WAAI;;wCAE/B;AAjCU,SAAS;IADrB,IAAA,uBAAQ,EAAC,WAAI,CAAC;GACF,SAAS,CAkCrB;AAlCY,8BAAS"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SftpList = exports.SftpPatch = exports.NewSftp = void 0;
|
|
13
|
+
const type_graphql_1 = require("type-graphql");
|
|
14
|
+
const sftp_1 = require("./sftp");
|
|
15
|
+
let NewSftp = class NewSftp {
|
|
16
|
+
};
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, type_graphql_1.Field)(),
|
|
19
|
+
__metadata("design:type", String)
|
|
20
|
+
], NewSftp.prototype, "name", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], NewSftp.prototype, "description", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, type_graphql_1.Field)(type => sftp_1.SftpStatus, { nullable: true }),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], NewSftp.prototype, "status", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], NewSftp.prototype, "username", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], NewSftp.prototype, "publicKey", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], NewSftp.prototype, "privateKey", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
43
|
+
__metadata("design:type", String)
|
|
44
|
+
], NewSftp.prototype, "folderPath", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
47
|
+
__metadata("design:type", Boolean)
|
|
48
|
+
], NewSftp.prototype, "isDevelopment", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
51
|
+
__metadata("design:type", String)
|
|
52
|
+
], NewSftp.prototype, "platform", void 0);
|
|
53
|
+
NewSftp = __decorate([
|
|
54
|
+
(0, type_graphql_1.InputType)()
|
|
55
|
+
], NewSftp);
|
|
56
|
+
exports.NewSftp = NewSftp;
|
|
57
|
+
let SftpPatch = class SftpPatch {
|
|
58
|
+
};
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
|
|
61
|
+
__metadata("design:type", String)
|
|
62
|
+
], SftpPatch.prototype, "id", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
65
|
+
__metadata("design:type", String)
|
|
66
|
+
], SftpPatch.prototype, "name", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
69
|
+
__metadata("design:type", String)
|
|
70
|
+
], SftpPatch.prototype, "description", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
(0, type_graphql_1.Field)(type => sftp_1.SftpStatus, { nullable: true }),
|
|
73
|
+
__metadata("design:type", String)
|
|
74
|
+
], SftpPatch.prototype, "status", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
77
|
+
__metadata("design:type", String)
|
|
78
|
+
], SftpPatch.prototype, "username", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
81
|
+
__metadata("design:type", String)
|
|
82
|
+
], SftpPatch.prototype, "publicKey", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
85
|
+
__metadata("design:type", String)
|
|
86
|
+
], SftpPatch.prototype, "privateKey", void 0);
|
|
87
|
+
__decorate([
|
|
88
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
89
|
+
__metadata("design:type", String)
|
|
90
|
+
], SftpPatch.prototype, "folderPath", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
93
|
+
__metadata("design:type", Boolean)
|
|
94
|
+
], SftpPatch.prototype, "isDevelopment", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
97
|
+
__metadata("design:type", String)
|
|
98
|
+
], SftpPatch.prototype, "platform", void 0);
|
|
99
|
+
__decorate([
|
|
100
|
+
(0, type_graphql_1.Field)(),
|
|
101
|
+
__metadata("design:type", String)
|
|
102
|
+
], SftpPatch.prototype, "cuFlag", void 0);
|
|
103
|
+
SftpPatch = __decorate([
|
|
104
|
+
(0, type_graphql_1.InputType)()
|
|
105
|
+
], SftpPatch);
|
|
106
|
+
exports.SftpPatch = SftpPatch;
|
|
107
|
+
let SftpList = class SftpList {
|
|
108
|
+
};
|
|
109
|
+
__decorate([
|
|
110
|
+
(0, type_graphql_1.Field)(type => [sftp_1.Sftp]),
|
|
111
|
+
__metadata("design:type", Array)
|
|
112
|
+
], SftpList.prototype, "items", void 0);
|
|
113
|
+
__decorate([
|
|
114
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.Int),
|
|
115
|
+
__metadata("design:type", Number)
|
|
116
|
+
], SftpList.prototype, "total", void 0);
|
|
117
|
+
SftpList = __decorate([
|
|
118
|
+
(0, type_graphql_1.ObjectType)()
|
|
119
|
+
], SftpList);
|
|
120
|
+
exports.SftpList = SftpList;
|
|
121
|
+
//# sourceMappingURL=sftp-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sftp-type.js","sourceRoot":"","sources":["../../../server/service/sftp/sftp-type.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAoE;AAEpE,iCAAyC;AAGlC,IAAM,OAAO,GAAb,MAAM,OAAO;CA2BnB,CAAA;AA1BC;IAAC,IAAA,oBAAK,GAAE;;qCACI;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCAC3B;AAEnB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACT;AAEjB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACR;AAElB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACP;AAEnB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACP;AAEnB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACH;AAEvB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACT;AA1BN,OAAO;IADnB,IAAA,wBAAS,GAAE;GACC,OAAO,CA2BnB;AA3BY,0BAAO;AA8Bb,IAAM,SAAS,GAAf,MAAM,SAAS;CAiCrB,CAAA;AAhCC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qCAC3B;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCAC3B;AAEnB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACT;AAEjB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACR;AAElB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACP;AAEnB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACP;AAEnB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACH;AAEvB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACT;AAEjB;IAAC,IAAA,oBAAK,GAAE;;yCACM;AAhCH,SAAS;IADrB,IAAA,wBAAS,GAAE;GACC,SAAS,CAiCrB;AAjCY,8BAAS;AAoCf,IAAM,QAAQ,GAAd,MAAM,QAAQ;CAMpB,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAI,CAAC,CAAC;;uCACT;AAEb;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;uCACN;AALF,QAAQ;IADpB,IAAA,yBAAU,GAAE;GACA,QAAQ,CAMpB;AANY,4BAAQ"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var _a, _b, _c, _d;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.Sftp = exports.SftpStatus = void 0;
|
|
14
|
+
const type_graphql_1 = require("type-graphql");
|
|
15
|
+
const typeorm_1 = require("typeorm");
|
|
16
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
17
|
+
const integration_fulfillment_1 = require("@things-factory/integration-fulfillment");
|
|
18
|
+
const shell_1 = require("@things-factory/shell");
|
|
19
|
+
var SftpStatus;
|
|
20
|
+
(function (SftpStatus) {
|
|
21
|
+
SftpStatus["ACTIVE"] = "ACTIVE";
|
|
22
|
+
SftpStatus["INACTIVE"] = "INACTIVE";
|
|
23
|
+
SftpStatus["TERMINATED"] = "TERMINATED";
|
|
24
|
+
})(SftpStatus = exports.SftpStatus || (exports.SftpStatus = {}));
|
|
25
|
+
(0, type_graphql_1.registerEnumType)(SftpStatus, {
|
|
26
|
+
name: 'SftpStatus',
|
|
27
|
+
description: 'state enumeration of a sftp'
|
|
28
|
+
});
|
|
29
|
+
let Sftp = class Sftp {
|
|
30
|
+
};
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
33
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], Sftp.prototype, "id", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, typeorm_1.ManyToOne)(type => shell_1.Domain),
|
|
38
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
39
|
+
__metadata("design:type", typeof (_a = typeof shell_1.Domain !== "undefined" && shell_1.Domain) === "function" ? _a : Object)
|
|
40
|
+
], Sftp.prototype, "domain", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, typeorm_1.RelationId)((sftp) => sftp.domain),
|
|
43
|
+
__metadata("design:type", String)
|
|
44
|
+
], Sftp.prototype, "domainId", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, typeorm_1.Column)(),
|
|
47
|
+
(0, type_graphql_1.Field)(),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], Sftp.prototype, "name", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, typeorm_1.Column)({
|
|
52
|
+
nullable: true
|
|
53
|
+
}),
|
|
54
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
55
|
+
__metadata("design:type", String)
|
|
56
|
+
], Sftp.prototype, "description", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
59
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
60
|
+
__metadata("design:type", String)
|
|
61
|
+
], Sftp.prototype, "status", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, typeorm_1.Column)({
|
|
64
|
+
nullable: true
|
|
65
|
+
}),
|
|
66
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
67
|
+
__metadata("design:type", String)
|
|
68
|
+
], Sftp.prototype, "username", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
71
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
72
|
+
__metadata("design:type", String)
|
|
73
|
+
], Sftp.prototype, "schedule", void 0);
|
|
74
|
+
__decorate([
|
|
75
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
76
|
+
__metadata("design:type", String)
|
|
77
|
+
], Sftp.prototype, "password", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
80
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
81
|
+
__metadata("design:type", String)
|
|
82
|
+
], Sftp.prototype, "host", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
(0, typeorm_1.Column)({ type: 'int', nullable: true }),
|
|
85
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
86
|
+
__metadata("design:type", Number)
|
|
87
|
+
], Sftp.prototype, "port", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
(0, typeorm_1.Column)({
|
|
90
|
+
nullable: true
|
|
91
|
+
}),
|
|
92
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
93
|
+
__metadata("design:type", String)
|
|
94
|
+
], Sftp.prototype, "publicKey", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
(0, typeorm_1.Column)({
|
|
97
|
+
nullable: true
|
|
98
|
+
}),
|
|
99
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
100
|
+
__metadata("design:type", String)
|
|
101
|
+
], Sftp.prototype, "privateKey", void 0);
|
|
102
|
+
__decorate([
|
|
103
|
+
(0, typeorm_1.Column)({
|
|
104
|
+
nullable: true
|
|
105
|
+
}),
|
|
106
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
107
|
+
__metadata("design:type", String)
|
|
108
|
+
], Sftp.prototype, "folderPath", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
111
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
112
|
+
__metadata("design:type", String)
|
|
113
|
+
], Sftp.prototype, "basePath", void 0);
|
|
114
|
+
__decorate([
|
|
115
|
+
(0, typeorm_1.Column)({
|
|
116
|
+
nullable: true
|
|
117
|
+
}),
|
|
118
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
119
|
+
__metadata("design:type", Boolean)
|
|
120
|
+
], Sftp.prototype, "isDevelopment", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
(0, typeorm_1.Column)({
|
|
123
|
+
nullable: true
|
|
124
|
+
}),
|
|
125
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
126
|
+
__metadata("design:type", String)
|
|
127
|
+
], Sftp.prototype, "platform", void 0);
|
|
128
|
+
__decorate([
|
|
129
|
+
(0, typeorm_1.ManyToOne)(type => integration_fulfillment_1.FulfillmentCenter, { nullable: true }),
|
|
130
|
+
__metadata("design:type", typeof (_b = typeof integration_fulfillment_1.FulfillmentCenter !== "undefined" && integration_fulfillment_1.FulfillmentCenter) === "function" ? _b : Object)
|
|
131
|
+
], Sftp.prototype, "fulfillmentCenter", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
(0, typeorm_1.Column)({
|
|
134
|
+
nullable: true
|
|
135
|
+
}),
|
|
136
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
137
|
+
__metadata("design:type", String)
|
|
138
|
+
], Sftp.prototype, "responseType", void 0);
|
|
139
|
+
__decorate([
|
|
140
|
+
(0, typeorm_1.Column)({
|
|
141
|
+
nullable: true
|
|
142
|
+
}),
|
|
143
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
144
|
+
__metadata("design:type", String)
|
|
145
|
+
], Sftp.prototype, "responseFilePattern", void 0);
|
|
146
|
+
__decorate([
|
|
147
|
+
(0, typeorm_1.Column)({
|
|
148
|
+
nullable: true
|
|
149
|
+
}),
|
|
150
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
151
|
+
__metadata("design:type", String)
|
|
152
|
+
], Sftp.prototype, "responseFileTypes", void 0);
|
|
153
|
+
__decorate([
|
|
154
|
+
(0, typeorm_1.Column)({
|
|
155
|
+
nullable: true
|
|
156
|
+
}),
|
|
157
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
158
|
+
__metadata("design:type", String)
|
|
159
|
+
], Sftp.prototype, "sftpType", void 0);
|
|
160
|
+
__decorate([
|
|
161
|
+
(0, typeorm_1.Column)({ type: 'int', nullable: true }),
|
|
162
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
163
|
+
__metadata("design:type", Number)
|
|
164
|
+
], Sftp.prototype, "timeout", void 0);
|
|
165
|
+
__decorate([
|
|
166
|
+
(0, typeorm_1.Column)({ type: 'int', nullable: true }),
|
|
167
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
168
|
+
__metadata("design:type", Number)
|
|
169
|
+
], Sftp.prototype, "retries", void 0);
|
|
170
|
+
__decorate([
|
|
171
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
172
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
173
|
+
__metadata("design:type", Date)
|
|
174
|
+
], Sftp.prototype, "lastTimeSync", void 0);
|
|
175
|
+
__decorate([
|
|
176
|
+
(0, typeorm_1.CreateDateColumn)(),
|
|
177
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
178
|
+
__metadata("design:type", Date)
|
|
179
|
+
], Sftp.prototype, "createdAt", void 0);
|
|
180
|
+
__decorate([
|
|
181
|
+
(0, typeorm_1.UpdateDateColumn)(),
|
|
182
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
183
|
+
__metadata("design:type", Date)
|
|
184
|
+
], Sftp.prototype, "updatedAt", void 0);
|
|
185
|
+
__decorate([
|
|
186
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
|
|
187
|
+
nullable: true
|
|
188
|
+
}),
|
|
189
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
190
|
+
__metadata("design:type", typeof (_c = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _c : Object)
|
|
191
|
+
], Sftp.prototype, "creator", void 0);
|
|
192
|
+
__decorate([
|
|
193
|
+
(0, typeorm_1.RelationId)((sftp) => sftp.creator),
|
|
194
|
+
__metadata("design:type", String)
|
|
195
|
+
], Sftp.prototype, "creatorId", void 0);
|
|
196
|
+
__decorate([
|
|
197
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
|
|
198
|
+
nullable: true
|
|
199
|
+
}),
|
|
200
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
201
|
+
__metadata("design:type", typeof (_d = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _d : Object)
|
|
202
|
+
], Sftp.prototype, "updater", void 0);
|
|
203
|
+
__decorate([
|
|
204
|
+
(0, typeorm_1.RelationId)((sftp) => sftp.updater),
|
|
205
|
+
__metadata("design:type", String)
|
|
206
|
+
], Sftp.prototype, "updaterId", void 0);
|
|
207
|
+
Sftp = __decorate([
|
|
208
|
+
(0, typeorm_1.Entity)(),
|
|
209
|
+
(0, typeorm_1.Index)('ix_sftp_0', (sftp) => [sftp.domain, sftp.name], { unique: true }),
|
|
210
|
+
(0, type_graphql_1.ObjectType)({ description: 'Entity for Sftp' })
|
|
211
|
+
], Sftp);
|
|
212
|
+
exports.Sftp = Sftp;
|
|
213
|
+
//# sourceMappingURL=sftp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sftp.js","sourceRoot":"","sources":["../../../server/service/sftp/sftp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SFTPFILESTORAGE = exports.getSftpStorageConfig = exports.BACKUPPATH = exports.SNFAILEDDATAPATH = exports.SNSUCCESSDATAPATH = exports.SNSUBMITDATAPATH = exports.COMPLETEFAILEDDATAPATH = exports.COMPLETESUCCESSDATAPATH = exports.COMPLETEDATAPATH = exports.FAILEDDATAPATH = exports.SUCCESSDATAPATH = exports.SUBMITDATAPATH = void 0;
|
|
4
|
+
const env_1 = require("@things-factory/env");
|
|
5
|
+
const storage_manager_1 = require("./storage/storage-manager");
|
|
6
|
+
// Path constants
|
|
7
|
+
exports.SUBMITDATAPATH = '/sob/data';
|
|
8
|
+
exports.SUCCESSDATAPATH = '/sob/success';
|
|
9
|
+
exports.FAILEDDATAPATH = '/sob/failed';
|
|
10
|
+
exports.COMPLETEDATAPATH = '/oc/data01';
|
|
11
|
+
exports.COMPLETESUCCESSDATAPATH = '/oc/success';
|
|
12
|
+
exports.COMPLETEFAILEDDATAPATH = '/oc/failed';
|
|
13
|
+
exports.SNSUBMITDATAPATH = '/sn/data';
|
|
14
|
+
exports.SNSUCCESSDATAPATH = '/sn/success';
|
|
15
|
+
exports.SNFAILEDDATAPATH = '/sn/failed';
|
|
16
|
+
exports.BACKUPPATH = 'hatiosea/';
|
|
17
|
+
// Storage configuration helper
|
|
18
|
+
function getSftpStorageConfig() {
|
|
19
|
+
return env_1.config.get('sftpFileStorage');
|
|
20
|
+
}
|
|
21
|
+
exports.getSftpStorageConfig = getSftpStorageConfig;
|
|
22
|
+
// Legacy compatibility - deprecated, use StorageManager instead
|
|
23
|
+
exports.SFTPFILESTORAGE = {
|
|
24
|
+
// This is kept for backward compatibility but should not be used in new code
|
|
25
|
+
// Use StorageManager.getInstance() instead
|
|
26
|
+
get config() {
|
|
27
|
+
return getSftpStorageConfig();
|
|
28
|
+
},
|
|
29
|
+
async readFile(path, encoding) {
|
|
30
|
+
const storageManager = storage_manager_1.StorageManager.getInstance();
|
|
31
|
+
const storageConfig = getSftpStorageConfig();
|
|
32
|
+
return await storageManager.readFile(storageConfig, path, encoding);
|
|
33
|
+
},
|
|
34
|
+
async uploadFile(params) {
|
|
35
|
+
const storageManager = storage_manager_1.StorageManager.getInstance();
|
|
36
|
+
const storageConfig = getSftpStorageConfig();
|
|
37
|
+
return await storageManager.uploadFile(storageConfig, params);
|
|
38
|
+
},
|
|
39
|
+
async readFolders(params) {
|
|
40
|
+
const storageManager = storage_manager_1.StorageManager.getInstance();
|
|
41
|
+
const storageConfig = getSftpStorageConfig();
|
|
42
|
+
return await storageManager.readFolders(storageConfig, params);
|
|
43
|
+
},
|
|
44
|
+
async moveFile(params) {
|
|
45
|
+
const storageManager = storage_manager_1.StorageManager.getInstance();
|
|
46
|
+
const storageConfig = getSftpStorageConfig();
|
|
47
|
+
return await storageManager.moveFile(storageConfig, params);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=sftp-const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sftp-const.js","sourceRoot":"","sources":["../server/sftp-const.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,+DAA0D;AAG1D,iBAAiB;AACN,QAAA,cAAc,GAAW,WAAW,CAAA;AACpC,QAAA,eAAe,GAAW,cAAc,CAAA;AACxC,QAAA,cAAc,GAAW,aAAa,CAAA;AACtC,QAAA,gBAAgB,GAAW,YAAY,CAAA;AACvC,QAAA,uBAAuB,GAAW,aAAa,CAAA;AAC/C,QAAA,sBAAsB,GAAW,YAAY,CAAA;AAC7C,QAAA,gBAAgB,GAAW,UAAU,CAAA;AACrC,QAAA,iBAAiB,GAAW,aAAa,CAAA;AACzC,QAAA,gBAAgB,GAAW,YAAY,CAAA;AACvC,QAAA,UAAU,GAAW,WAAW,CAAA;AAE3C,+BAA+B;AAC/B,SAAgB,oBAAoB;IAClC,OAAO,YAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;AACtC,CAAC;AAFD,oDAEC;AAED,gEAAgE;AACrD,QAAA,eAAe,GAAQ;IAChC,6EAA6E;IAC7E,2CAA2C;IAC3C,IAAI,MAAM;QACR,OAAO,oBAAoB,EAAE,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,QAAiB;QAC5C,MAAM,cAAc,GAAG,gCAAc,CAAC,WAAW,EAAE,CAAA;QACnD,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAA;QAC5C,OAAO,MAAM,cAAc,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACrE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAA6D;QAC5E,MAAM,cAAc,GAAG,gCAAc,CAAC,WAAW,EAAE,CAAA;QACnD,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAA;QAC5C,OAAO,MAAM,cAAc,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC/D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAwB;QACxC,MAAM,cAAc,GAAG,gCAAc,CAAC,WAAW,EAAE,CAAA;QACnD,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAA;QAC5C,OAAO,MAAM,cAAc,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAChE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAA+C;QAC5D,MAAM,cAAc,GAAG,gCAAc,CAAC,WAAW,EAAE,CAAA;QACnD,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAA;QAC5C,OAAO,MAAM,cAAc,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC7D,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const aws_sdk_1 = __importDefault(require("aws-sdk"));
|
|
7
|
+
const uuid_1 = require("uuid");
|
|
8
|
+
const env_1 = require("@things-factory/env");
|
|
9
|
+
const sftp_const_1 = require("./sftp-const");
|
|
10
|
+
const { PassThrough } = require('stream');
|
|
11
|
+
const path = require('path');
|
|
12
|
+
const { fs } = require('memfs');
|
|
13
|
+
if (sftp_const_1.SFTPFILESTORAGE && sftp_const_1.SFTPFILESTORAGE.type == 's3') {
|
|
14
|
+
const S3 = new aws_sdk_1.default.S3({
|
|
15
|
+
accessKeyId: sftp_const_1.SFTPFILESTORAGE.accessKeyId,
|
|
16
|
+
secretAccessKey: sftp_const_1.SFTPFILESTORAGE.secretAccessKey
|
|
17
|
+
});
|
|
18
|
+
// const getAWSSecret = async () => {
|
|
19
|
+
// let accessKeyId
|
|
20
|
+
// let secretAccessKey
|
|
21
|
+
// const secretManager = new AWS.SecretsManager({ region: 'ap-southeast-1' })
|
|
22
|
+
// try {
|
|
23
|
+
// const secretManagerParams = {
|
|
24
|
+
// SecretId: AWSCREDENTIALSECRET,
|
|
25
|
+
// VersionStage: 'AWSCURRENT'
|
|
26
|
+
// }
|
|
27
|
+
// await secretManager
|
|
28
|
+
// .getSecretValue(secretManagerParams, function (err, data) {
|
|
29
|
+
// if (err) {
|
|
30
|
+
// console.log(err, err.stack)
|
|
31
|
+
// } else {
|
|
32
|
+
// const dataSecretString: any = data.SecretString
|
|
33
|
+
// if (dataSecretString) {
|
|
34
|
+
// const secretString = JSON.parse(dataSecretString)
|
|
35
|
+
// accessKeyId = secretString.accessKeyId
|
|
36
|
+
// secretAccessKey = secretString.secretAccessKey
|
|
37
|
+
// }
|
|
38
|
+
// }
|
|
39
|
+
// })
|
|
40
|
+
// .promise()
|
|
41
|
+
// if (accessKeyId && secretAccessKey) {
|
|
42
|
+
// return { accessKeyId: accessKeyId, secretAccessKey: secretAccessKey }
|
|
43
|
+
// } else {
|
|
44
|
+
// return null
|
|
45
|
+
// }
|
|
46
|
+
// } catch (e) {
|
|
47
|
+
// console.log(`[SFTP Get Secret]: ${e}`)
|
|
48
|
+
// }
|
|
49
|
+
// }
|
|
50
|
+
sftp_const_1.SFTPFILESTORAGE.readFolders = async (params, encoding) => {
|
|
51
|
+
let S3params = {
|
|
52
|
+
Bucket: sftp_const_1.SFTPFILESTORAGE.bucketName,
|
|
53
|
+
Delimiter: '/',
|
|
54
|
+
Prefix: params.path
|
|
55
|
+
};
|
|
56
|
+
const result = await S3.listObjects(S3params).promise();
|
|
57
|
+
let body = result.Contents;
|
|
58
|
+
return body;
|
|
59
|
+
};
|
|
60
|
+
sftp_const_1.SFTPFILESTORAGE.readFile = async (path, encoding) => {
|
|
61
|
+
const result = await S3.getObject({
|
|
62
|
+
Bucket: sftp_const_1.SFTPFILESTORAGE.bucketName,
|
|
63
|
+
Key: path
|
|
64
|
+
}).promise();
|
|
65
|
+
var body = result.Body;
|
|
66
|
+
if (encoding) {
|
|
67
|
+
return body.toString(encoding);
|
|
68
|
+
}
|
|
69
|
+
return body;
|
|
70
|
+
};
|
|
71
|
+
sftp_const_1.SFTPFILESTORAGE.moveFile = async (path, encoding) => {
|
|
72
|
+
try {
|
|
73
|
+
const copyResult = await S3.copyObject({
|
|
74
|
+
Bucket: sftp_const_1.SFTPFILESTORAGE.bucketName,
|
|
75
|
+
CopySource: sftp_const_1.SFTPFILESTORAGE.bucketName + '/' + path.source,
|
|
76
|
+
Key: path.destination
|
|
77
|
+
}).promise();
|
|
78
|
+
const copyBody = copyResult.CopyObjectResult;
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
console.log(`[S3 Copy Object] ${e}`);
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const deleteResult = await S3.deleteObject({
|
|
85
|
+
Bucket: sftp_const_1.SFTPFILESTORAGE.bucketName,
|
|
86
|
+
Key: path.source
|
|
87
|
+
}).promise();
|
|
88
|
+
}
|
|
89
|
+
catch (e) {
|
|
90
|
+
console.log(`[S3 Delete Object] ${e}`);
|
|
91
|
+
}
|
|
92
|
+
return true;
|
|
93
|
+
};
|
|
94
|
+
/* upload file */
|
|
95
|
+
sftp_const_1.SFTPFILESTORAGE.uploadFile = ({ stream, filename, uploadPath }) => {
|
|
96
|
+
const id = (0, uuid_1.v4)();
|
|
97
|
+
let size = 0;
|
|
98
|
+
return new Promise((resolve, reject) => stream
|
|
99
|
+
.pipe((() => {
|
|
100
|
+
var pass = new PassThrough();
|
|
101
|
+
S3.upload({
|
|
102
|
+
Bucket: sftp_const_1.SFTPFILESTORAGE.bucketName,
|
|
103
|
+
Key: uploadPath + '/' + filename,
|
|
104
|
+
Body: pass
|
|
105
|
+
}, (err, data) => (err ? reject(err) : resolve({ id, path: uploadPath, size })));
|
|
106
|
+
return pass;
|
|
107
|
+
})())
|
|
108
|
+
.on('error', error => reject(error))
|
|
109
|
+
.on('data', chunk => (size += chunk.length)));
|
|
110
|
+
};
|
|
111
|
+
env_1.logger.info('S3 Bucket Storage is Ready.');
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=sftp-s3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sftp-s3.js","sourceRoot":"","sources":["../server/sftp-s3.ts"],"names":[],"mappings":"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"}
|