1 | const utils = require('./utils');
|
2 | const httpUpload = require('./http-upload');
|
3 | const sftpUpload = require('./sftp-upload');
|
4 |
|
5 | const {log, getAgrType, makeAssetsMap} = utils;
|
6 |
|
7 | function ClientUpload({
|
8 | httpOption: h,
|
9 | sftpOption: s,
|
10 | source,
|
11 | ignoreRegexp,
|
12 | success
|
13 | }) {
|
14 |
|
15 | if([h, s].every(k => getAgrType(k) !== 'object')) {
|
16 | log.error('httpOption or sftpOption must be provided !', 'exit');
|
17 | }
|
18 |
|
19 | if(s) {
|
20 | let {
|
21 | username,
|
22 | password,
|
23 | target,
|
24 | host,
|
25 | port = 22
|
26 | } = s;
|
27 | if([username, password, target, host].some(k => !k)) {
|
28 | log.error('some sftpOption must be provided !', 'exit');
|
29 | }
|
30 | makeAssetsMap(source, ignoreRegexp)
|
31 | .then(({assetsMap, folders}) => {
|
32 | sftpUpload({
|
33 | host,
|
34 | port,
|
35 | username,
|
36 | password,
|
37 | target
|
38 | }, assetsMap, folders, success)
|
39 | }).catch(e => log.error(e));
|
40 | } else if(h) {
|
41 | let {
|
42 | username,
|
43 | password,
|
44 | target,
|
45 | host,
|
46 | port = 20
|
47 | } = h;
|
48 | if(!target || !host) {
|
49 | log.error('target, host must be provided !', 'exit');
|
50 | }
|
51 | makeAssetsMap(source, ignoreRegexp)
|
52 | .then(({assetsMap}) => {
|
53 | httpUpload({
|
54 | host,
|
55 | port,
|
56 | username,
|
57 | password,
|
58 | target
|
59 | }, assetsMap, success)
|
60 | }).catch(e => log.error(e));
|
61 | }
|
62 |
|
63 | }
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 |
|
74 |
|
75 |
|
76 |
|
77 |
|
78 |
|
79 |
|
80 | module.exports = ClientUpload;
|
81 | module.exports.httpUpload = httpUpload;
|
82 | module.exports.sftpUpload = sftpUpload; |
\ | No newline at end of file |