@spinajs/fs-s3 2.0.85 → 2.0.87
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/lib/cjs/index.d.ts +112 -0
- package/lib/cjs/index.d.ts.map +1 -0
- package/lib/cjs/index.js +356 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/{index.d.ts → mjs/index.d.ts} +0 -0
- package/lib/mjs/index.d.ts.map +1 -0
- package/lib/{index.js → mjs/index.js} +0 -0
- package/lib/mjs/index.js.map +1 -0
- package/lib/tsconfig.cjs.tsbuildinfo +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/package.json +15 -6
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/// <reference types="node" />
|
|
4
|
+
import { ILog } from '@spinajs/log';
|
|
5
|
+
import { fs, IStat, IZipResult } from '@spinajs/fs';
|
|
6
|
+
import * as AWS from 'aws-sdk';
|
|
7
|
+
import stream from 'stream';
|
|
8
|
+
export interface IS3Config {
|
|
9
|
+
bucket: string;
|
|
10
|
+
name: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Abstract layer for file operations.
|
|
14
|
+
* Basic implementation is just wrapper for native node fs functions
|
|
15
|
+
*
|
|
16
|
+
* It allows to wrap other libs eg. aws s3, ftp
|
|
17
|
+
* and inject it into code without changing logic that use them.
|
|
18
|
+
*
|
|
19
|
+
* TODO: map errors to some kind of common errors shared with other implementations
|
|
20
|
+
*/
|
|
21
|
+
export declare class fsS3 extends fs {
|
|
22
|
+
Options: IS3Config;
|
|
23
|
+
protected Logger: ILog;
|
|
24
|
+
protected S3: AWS.S3;
|
|
25
|
+
protected AwsConfig: AWS.ConfigurationOptions;
|
|
26
|
+
protected ConfigPath: string;
|
|
27
|
+
/**
|
|
28
|
+
* File system for temporary files
|
|
29
|
+
*/
|
|
30
|
+
protected TempFs: fs;
|
|
31
|
+
/**
|
|
32
|
+
* Name of provider. We can have multiple providers of the same type but with different options.
|
|
33
|
+
* Also used in InjectService decorator for mapping
|
|
34
|
+
*/
|
|
35
|
+
get Name(): string;
|
|
36
|
+
constructor(Options: IS3Config);
|
|
37
|
+
resolve(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
*
|
|
40
|
+
* Tries to download file to local filesystem, then returns local filesystem path.
|
|
41
|
+
* Native implementation simply returns local path and does nothing.
|
|
42
|
+
*
|
|
43
|
+
* @param path - file to download
|
|
44
|
+
*/
|
|
45
|
+
download(path: string): Promise<string>;
|
|
46
|
+
/**
|
|
47
|
+
* read all content of file
|
|
48
|
+
*/
|
|
49
|
+
read(path: string, encoding: BufferEncoding): Promise<string | Buffer>;
|
|
50
|
+
readStream(path: string, encoding?: BufferEncoding): Promise<import("fs").ReadStream>;
|
|
51
|
+
/**
|
|
52
|
+
* Write to file string or buffer
|
|
53
|
+
*/
|
|
54
|
+
write(path: string, data: string | Buffer, encoding?: BufferEncoding): Promise<void>;
|
|
55
|
+
append(path: string, data: string | Buffer, encoding?: BufferEncoding): Promise<void>;
|
|
56
|
+
writeStream(path: string, encoding?: BufferEncoding): Promise<stream.PassThrough>;
|
|
57
|
+
/**
|
|
58
|
+
* Checks if file existst
|
|
59
|
+
* @param path - path to check
|
|
60
|
+
*/
|
|
61
|
+
exists(path: string): Promise<boolean>;
|
|
62
|
+
dirExists(): Promise<boolean>;
|
|
63
|
+
/**
|
|
64
|
+
* Copy file to another location
|
|
65
|
+
* @param path - src path
|
|
66
|
+
* @param dest - dest path
|
|
67
|
+
*/
|
|
68
|
+
copy(path: string, dest: string): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Copy file to another location and deletes src file
|
|
71
|
+
*/
|
|
72
|
+
move(oldPath: string, newPath: string): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Change name of a file
|
|
75
|
+
*/
|
|
76
|
+
rename(oldPath: string, newPath: string): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Deletes file permanently
|
|
79
|
+
*
|
|
80
|
+
* @param path - path to file that will be deleted
|
|
81
|
+
* @param onlyTemp - remote filesystems need to download file before, if so, calling unlink with this flag removes only local temp file after we finished processing
|
|
82
|
+
*/
|
|
83
|
+
unlink(path: string, onlyTemp?: boolean): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
* Deletes dir recursively & all contents inside
|
|
87
|
+
*
|
|
88
|
+
* @param path - dir to remove
|
|
89
|
+
*/
|
|
90
|
+
rm(_path: string): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
*
|
|
93
|
+
* Creates directory, recursively
|
|
94
|
+
*
|
|
95
|
+
*/
|
|
96
|
+
mkdir(): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Returns file statistics, not all fields may be accesible
|
|
99
|
+
*/
|
|
100
|
+
stat(path: string): Promise<IStat>;
|
|
101
|
+
protected getSignedUrl(path: string): Promise<string>;
|
|
102
|
+
tmppath(): string;
|
|
103
|
+
/**
|
|
104
|
+
* List content of directory
|
|
105
|
+
*
|
|
106
|
+
* @param path - path to directory
|
|
107
|
+
*/
|
|
108
|
+
list(path: string): Promise<string[]>;
|
|
109
|
+
zip(path: string, zName?: string): Promise<IZipResult>;
|
|
110
|
+
protected resolvePath(): void;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AACA,OAAO,EAAE,IAAI,EAAU,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAO/B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,qBAEa,IAAK,SAAQ,EAAE;IAyBP,OAAO,EAAE,SAAS;IAvBrC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;IAEvB,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;IAGrB,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,oBAAoB,CAAC;IAG9C,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;IAErB;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;gBAEkB,OAAO,EAAE,SAAS;IAIxB,OAAO;IAcpB;;;;;;OAMG;IACU,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBpD;;OAEG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc;IAS3C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc;IAK/D;;OAEG;IACU,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc;IASpE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCrF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc;IAoBhE;;;OAGG;IACU,MAAM,CAAC,IAAI,EAAE,MAAM;IAenB,SAAS;IAMtB;;;;OAIG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAU5C;;OAEG;IACU,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKlD;;OAEG;IACU,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIpD;;;;;OAKG;IACU,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO;IAYpD;;;;;OAKG;IAEU,EAAE,CAAC,KAAK,EAAE,MAAM;IAI7B;;;;OAIG;IACU,KAAK;IAIlB;;OAEG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;cAuB/B,YAAY,CAAC,IAAI,EAAE,MAAM;IAQlC,OAAO,IAAI,MAAM;IAIxB;;;;OAIG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM;IAYjB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA6BnE,SAAS,CAAC,WAAW;CAGtB"}
|
package/lib/cjs/index.js
ADDED
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
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;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
+
if (mod && mod.__esModule) return mod;
|
|
26
|
+
var result = {};
|
|
27
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
+
__setModuleDefault(result, mod);
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
31
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
32
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.fsS3 = void 0;
|
|
39
|
+
const di_1 = require("@spinajs/di");
|
|
40
|
+
const log_1 = require("@spinajs/log");
|
|
41
|
+
const fs_1 = require("@spinajs/fs");
|
|
42
|
+
const AWS = __importStar(require("aws-sdk"));
|
|
43
|
+
const configuration_1 = require("@spinajs/configuration");
|
|
44
|
+
const archiver_1 = __importDefault(require("archiver"));
|
|
45
|
+
const path_1 = require("path");
|
|
46
|
+
const exceptions_1 = require("@spinajs/exceptions");
|
|
47
|
+
const fs_2 = require("fs");
|
|
48
|
+
const luxon_1 = require("luxon");
|
|
49
|
+
const stream_1 = __importDefault(require("stream"));
|
|
50
|
+
/**
|
|
51
|
+
* Abstract layer for file operations.
|
|
52
|
+
* Basic implementation is just wrapper for native node fs functions
|
|
53
|
+
*
|
|
54
|
+
* It allows to wrap other libs eg. aws s3, ftp
|
|
55
|
+
* and inject it into code without changing logic that use them.
|
|
56
|
+
*
|
|
57
|
+
* TODO: map errors to some kind of common errors shared with other implementations
|
|
58
|
+
*/
|
|
59
|
+
let fsS3 = class fsS3 extends fs_1.fs {
|
|
60
|
+
/**
|
|
61
|
+
* Name of provider. We can have multiple providers of the same type but with different options.
|
|
62
|
+
* Also used in InjectService decorator for mapping
|
|
63
|
+
*/
|
|
64
|
+
get Name() {
|
|
65
|
+
return this.Options.name;
|
|
66
|
+
}
|
|
67
|
+
constructor(Options) {
|
|
68
|
+
super();
|
|
69
|
+
this.Options = Options;
|
|
70
|
+
}
|
|
71
|
+
async resolve() {
|
|
72
|
+
AWS.config.update(this.AwsConfig);
|
|
73
|
+
if (this.ConfigPath) {
|
|
74
|
+
AWS.config.loadFromPath(this.ConfigPath);
|
|
75
|
+
}
|
|
76
|
+
else if (this.AwsConfig) {
|
|
77
|
+
AWS.config.update(this.AwsConfig);
|
|
78
|
+
}
|
|
79
|
+
this.S3 = new AWS.S3();
|
|
80
|
+
this.TempFs = await di_1.DI.resolve('__file_provider__', ['fs-temp']);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
*
|
|
84
|
+
* Tries to download file to local filesystem, then returns local filesystem path.
|
|
85
|
+
* Native implementation simply returns local path and does nothing.
|
|
86
|
+
*
|
|
87
|
+
* @param path - file to download
|
|
88
|
+
*/
|
|
89
|
+
async download(path) {
|
|
90
|
+
const tmpName = this.TempFs.tmppath();
|
|
91
|
+
const wStream = await this.TempFs.writeStream(tmpName);
|
|
92
|
+
return new Promise((resolve, reject) => {
|
|
93
|
+
this.S3.getObject({
|
|
94
|
+
Bucket: this.Options.bucket,
|
|
95
|
+
Key: path,
|
|
96
|
+
})
|
|
97
|
+
.on('error', (err) => {
|
|
98
|
+
reject(err);
|
|
99
|
+
})
|
|
100
|
+
.on('httpData', (chunk) => {
|
|
101
|
+
wStream.write(chunk);
|
|
102
|
+
})
|
|
103
|
+
.on('httpDone', () => {
|
|
104
|
+
wStream.end();
|
|
105
|
+
this.Logger.trace(`Downloaded file from S3 bucket ${this.Options.bucket}, file: ${path}`);
|
|
106
|
+
resolve(tmpName);
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* read all content of file
|
|
112
|
+
*/
|
|
113
|
+
async read(path, encoding) {
|
|
114
|
+
const fLocal = await this.download(path);
|
|
115
|
+
const content = await this.TempFs.read(fLocal, encoding);
|
|
116
|
+
await this.TempFs.unlink(fLocal);
|
|
117
|
+
return content;
|
|
118
|
+
}
|
|
119
|
+
async readStream(path, encoding) {
|
|
120
|
+
const fLocal = await this.download(path);
|
|
121
|
+
return this.TempFs.readStream(fLocal, encoding);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Write to file string or buffer
|
|
125
|
+
*/
|
|
126
|
+
async write(path, data, encoding) {
|
|
127
|
+
await this.S3.upload({
|
|
128
|
+
Bucket: this.Options.bucket,
|
|
129
|
+
Key: path,
|
|
130
|
+
Body: data,
|
|
131
|
+
ContentEncoding: encoding,
|
|
132
|
+
}).promise();
|
|
133
|
+
}
|
|
134
|
+
async append(path, data, encoding) {
|
|
135
|
+
/**
|
|
136
|
+
* We cannot append to file in s3 directly,
|
|
137
|
+
* we have to download file firs, append locally, then upload again new file
|
|
138
|
+
*/
|
|
139
|
+
const fLocal = await this.download(path);
|
|
140
|
+
await this.TempFs.append(fLocal, data, encoding);
|
|
141
|
+
const wStream = await this.writeStream(path, encoding);
|
|
142
|
+
const rStream = await this.TempFs.readStream(fLocal, encoding);
|
|
143
|
+
return new Promise((resolve, reject) => {
|
|
144
|
+
rStream
|
|
145
|
+
.pipe(wStream)
|
|
146
|
+
.on('end', () => {
|
|
147
|
+
this.TempFs.rm(fLocal)
|
|
148
|
+
.then(() => {
|
|
149
|
+
return resolve();
|
|
150
|
+
})
|
|
151
|
+
.catch(() => {
|
|
152
|
+
resolve();
|
|
153
|
+
});
|
|
154
|
+
})
|
|
155
|
+
.on('error', (err) => {
|
|
156
|
+
// eslint-disable-next-line promise/no-promise-in-callback
|
|
157
|
+
this.TempFs.rm(fLocal)
|
|
158
|
+
.then(() => {
|
|
159
|
+
return reject(err);
|
|
160
|
+
})
|
|
161
|
+
.catch(() => {
|
|
162
|
+
reject(err);
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
async writeStream(path, encoding) {
|
|
168
|
+
const s = new stream_1.default.PassThrough();
|
|
169
|
+
this.S3.upload({
|
|
170
|
+
Bucket: this.Options.bucket,
|
|
171
|
+
Key: path,
|
|
172
|
+
Body: s,
|
|
173
|
+
ContentEncoding: encoding,
|
|
174
|
+
}, (err) => {
|
|
175
|
+
if (err) {
|
|
176
|
+
this.Logger.error(`Cannot write file ${path} as stream to s3 bucket`);
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
return Promise.resolve(s);
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Checks if file existst
|
|
183
|
+
* @param path - path to check
|
|
184
|
+
*/
|
|
185
|
+
async exists(path) {
|
|
186
|
+
try {
|
|
187
|
+
await this.S3.headObject({
|
|
188
|
+
Bucket: this.Options.bucket,
|
|
189
|
+
Key: path,
|
|
190
|
+
}).promise();
|
|
191
|
+
}
|
|
192
|
+
catch (err) {
|
|
193
|
+
if (err.name === 'ResourceNotFoundException') {
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
async dirExists() {
|
|
200
|
+
// s3 does not have concept of folders
|
|
201
|
+
// we assume that all exists
|
|
202
|
+
return Promise.resolve(true);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Copy file to another location
|
|
206
|
+
* @param path - src path
|
|
207
|
+
* @param dest - dest path
|
|
208
|
+
*/
|
|
209
|
+
async copy(path, dest) {
|
|
210
|
+
const copyparams = {
|
|
211
|
+
Bucket: this.Options.bucket,
|
|
212
|
+
CopySource: this.Options.bucket + '/' + path,
|
|
213
|
+
Key: dest,
|
|
214
|
+
};
|
|
215
|
+
await this.S3.copyObject(copyparams).promise();
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Copy file to another location and deletes src file
|
|
219
|
+
*/
|
|
220
|
+
async move(oldPath, newPath) {
|
|
221
|
+
await this.copy(oldPath, newPath);
|
|
222
|
+
await this.unlink(oldPath);
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Change name of a file
|
|
226
|
+
*/
|
|
227
|
+
async rename(oldPath, newPath) {
|
|
228
|
+
return this.move(oldPath, newPath);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Deletes file permanently
|
|
232
|
+
*
|
|
233
|
+
* @param path - path to file that will be deleted
|
|
234
|
+
* @param onlyTemp - remote filesystems need to download file before, if so, calling unlink with this flag removes only local temp file after we finished processing
|
|
235
|
+
*/
|
|
236
|
+
async unlink(path, onlyTemp) {
|
|
237
|
+
if (onlyTemp) {
|
|
238
|
+
await this.TempFs.unlink(path);
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
await this.S3.deleteObject({
|
|
242
|
+
Key: path,
|
|
243
|
+
Bucket: this.Options.bucket,
|
|
244
|
+
}).promise();
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
*
|
|
248
|
+
* Deletes dir recursively & all contents inside
|
|
249
|
+
*
|
|
250
|
+
* @param path - dir to remove
|
|
251
|
+
*/
|
|
252
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
|
|
253
|
+
async rm(_path) {
|
|
254
|
+
// s3 is not deleting folders
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
*
|
|
258
|
+
* Creates directory, recursively
|
|
259
|
+
*
|
|
260
|
+
*/
|
|
261
|
+
async mkdir() {
|
|
262
|
+
// s3 dont need to create folders
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Returns file statistics, not all fields may be accesible
|
|
266
|
+
*/
|
|
267
|
+
async stat(path) {
|
|
268
|
+
const result = await this.S3.headObject({
|
|
269
|
+
Bucket: this.Options.bucket,
|
|
270
|
+
Key: path,
|
|
271
|
+
}).promise();
|
|
272
|
+
return {
|
|
273
|
+
// no directories in s3
|
|
274
|
+
IsDirectory: false,
|
|
275
|
+
// only files can be stored in s3
|
|
276
|
+
IsFile: true,
|
|
277
|
+
// no creation time
|
|
278
|
+
CreationTime: luxon_1.DateTime.min(),
|
|
279
|
+
ModifiedTime: luxon_1.DateTime.fromJSDate(result.LastModified),
|
|
280
|
+
// no access time in s3
|
|
281
|
+
AccessTime: luxon_1.DateTime.min(),
|
|
282
|
+
Size: result.ContentLength,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
async getSignedUrl(path) {
|
|
286
|
+
return this.S3.getSignedUrlPromise('getObject', {
|
|
287
|
+
Bucket: this.Options.bucket,
|
|
288
|
+
Key: path,
|
|
289
|
+
Expires: 24 * 60 * 60,
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
tmppath() {
|
|
293
|
+
throw new exceptions_1.MethodNotImplemented('fs s3 does not support temporary paths');
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* List content of directory
|
|
297
|
+
*
|
|
298
|
+
* @param path - path to directory
|
|
299
|
+
*/
|
|
300
|
+
async list(path) {
|
|
301
|
+
const params = {
|
|
302
|
+
Bucket: this.Options.bucket,
|
|
303
|
+
Delimiter: '/',
|
|
304
|
+
Prefix: path,
|
|
305
|
+
};
|
|
306
|
+
// TODO: support more than 1000 items using continuation token
|
|
307
|
+
const result = await this.S3.listObjectsV2(params).promise();
|
|
308
|
+
return result.Contents.map((x) => x.Key);
|
|
309
|
+
}
|
|
310
|
+
async zip(path, zName) {
|
|
311
|
+
const zTmpName = this.TempFs.tmppath();
|
|
312
|
+
const output = await this.TempFs.writeStream(zTmpName);
|
|
313
|
+
const archive = (0, archiver_1.default)('zip', {
|
|
314
|
+
zlib: { level: 9 }, // Sets the compression level.
|
|
315
|
+
});
|
|
316
|
+
// pipe archive data to the file
|
|
317
|
+
archive.pipe(output);
|
|
318
|
+
const tFile = await this.download(path);
|
|
319
|
+
archive.file(tFile, { name: zName ?? (0, path_1.basename)(path) });
|
|
320
|
+
await archive.finalize();
|
|
321
|
+
return {
|
|
322
|
+
asFilePath: () => {
|
|
323
|
+
return zTmpName;
|
|
324
|
+
},
|
|
325
|
+
asStream: (encoding) => {
|
|
326
|
+
return (0, fs_2.createReadStream)(`${zTmpName}`, encoding);
|
|
327
|
+
},
|
|
328
|
+
asBase64: () => {
|
|
329
|
+
return (0, fs_2.readFileSync)(`${zTmpName}`, 'base64');
|
|
330
|
+
},
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
334
|
+
resolvePath() {
|
|
335
|
+
throw new exceptions_1.MethodNotImplemented('fs s3 does not support path resolving');
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
__decorate([
|
|
339
|
+
(0, log_1.Logger)('fs'),
|
|
340
|
+
__metadata("design:type", Object)
|
|
341
|
+
], fsS3.prototype, "Logger", void 0);
|
|
342
|
+
__decorate([
|
|
343
|
+
(0, configuration_1.Config)('fs.s3.config'),
|
|
344
|
+
__metadata("design:type", AWS.ConfigurationOptions)
|
|
345
|
+
], fsS3.prototype, "AwsConfig", void 0);
|
|
346
|
+
__decorate([
|
|
347
|
+
(0, configuration_1.Config)('fs.s3.configPath'),
|
|
348
|
+
__metadata("design:type", String)
|
|
349
|
+
], fsS3.prototype, "ConfigPath", void 0);
|
|
350
|
+
fsS3 = __decorate([
|
|
351
|
+
(0, di_1.Injectable)('fs'),
|
|
352
|
+
(0, di_1.PerInstanceCheck)(),
|
|
353
|
+
__metadata("design:paramtypes", [Object])
|
|
354
|
+
], fsS3);
|
|
355
|
+
exports.fsS3 = fsS3;
|
|
356
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AACA,OAAO,EAAE,IAAI,EAAU,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAO/B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,qBAEa,IAAK,SAAQ,EAAE;IAyBP,OAAO,EAAE,SAAS;IAvBrC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;IAEvB,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;IAGrB,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,oBAAoB,CAAC;IAG9C,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;IAErB;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;gBAEkB,OAAO,EAAE,SAAS;IAIxB,OAAO;IAcpB;;;;;;OAMG;IACU,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBpD;;OAEG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc;IAS3C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc;IAK/D;;OAEG;IACU,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc;IASpE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCrF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc;IAoBhE;;;OAGG;IACU,MAAM,CAAC,IAAI,EAAE,MAAM;IAenB,SAAS;IAMtB;;;;OAIG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAU5C;;OAEG;IACU,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKlD;;OAEG;IACU,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIpD;;;;;OAKG;IACU,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO;IAYpD;;;;;OAKG;IAEU,EAAE,CAAC,KAAK,EAAE,MAAM;IAI7B;;;;OAIG;IACU,KAAK;IAIlB;;OAEG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;cAuB/B,YAAY,CAAC,IAAI,EAAE,MAAM;IAQlC,OAAO,IAAI,MAAM;IAIxB;;;;OAIG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM;IAYjB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA6BnE,SAAS,CAAC,WAAW;CAGtB"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|