@certd/plugin-lib 1.37.17 → 1.38.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.
- package/CHANGELOG.md +6 -0
- package/dist/cert/cert-reader.d.ts +62 -0
- package/dist/cert/cert-reader.js +205 -0
- package/dist/cert/consts.d.ts +2 -0
- package/dist/cert/consts.js +2 -0
- package/dist/cert/convert.d.ts +24 -0
- package/dist/cert/convert.js +122 -0
- package/dist/cert/dns-provider/api.d.ts +76 -0
- package/dist/cert/dns-provider/api.js +1 -0
- package/dist/cert/dns-provider/base.d.ts +27 -0
- package/dist/cert/dns-provider/base.js +48 -0
- package/dist/cert/dns-provider/decorator.d.ts +3 -0
- package/dist/cert/dns-provider/decorator.js +20 -0
- package/dist/cert/dns-provider/domain-parser.d.ts +9 -0
- package/dist/cert/dns-provider/domain-parser.js +63 -0
- package/dist/cert/dns-provider/index.d.ts +5 -0
- package/dist/cert/dns-provider/index.js +5 -0
- package/dist/cert/dns-provider/registry.d.ts +1 -0
- package/dist/cert/dns-provider/registry.js +2 -0
- package/dist/cert/index.d.ts +4 -0
- package/dist/cert/index.js +4 -0
- package/dist/common/index.js +0 -1
- package/dist/common/util.js +0 -1
- package/dist/index.d.ts +1 -8
- package/dist/index.js +1 -9
- package/dist/lib/check.d.ts +6 -0
- package/dist/lib/check.js +13 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +1 -1
- package/dist/lib/ocr-api.js +0 -1
- package/dist/service/index.js +0 -1
- package/dist/service/site-info.js +0 -1
- package/package.json +13 -9
- package/tsconfig.json +2 -1
- package/dist/aliyun/access/aliesa-access.d.ts +0 -5
- package/dist/aliyun/access/aliesa-access.js +0 -61
- package/dist/aliyun/access/alioss-access.d.ts +0 -6
- package/dist/aliyun/access/alioss-access.js +0 -89
- package/dist/aliyun/access/aliyun-access.d.ts +0 -30
- package/dist/aliyun/access/aliyun-access.js +0 -126
- package/dist/aliyun/access/index.d.ts +0 -3
- package/dist/aliyun/access/index.js +0 -4
- package/dist/aliyun/index.d.ts +0 -2
- package/dist/aliyun/index.js +0 -3
- package/dist/aliyun/lib/base-client.d.ts +0 -16
- package/dist/aliyun/lib/base-client.js +0 -67
- package/dist/aliyun/lib/index.d.ts +0 -3
- package/dist/aliyun/lib/index.js +0 -4
- package/dist/aliyun/lib/oss-client.d.ts +0 -19
- package/dist/aliyun/lib/oss-client.js +0 -76
- package/dist/aliyun/lib/ssl-client.d.ts +0 -49
- package/dist/aliyun/lib/ssl-client.js +0 -133
- package/dist/ctyun/access/ctyun-access.d.ts +0 -5
- package/dist/ctyun/access/ctyun-access.js +0 -49
- package/dist/ctyun/index.d.ts +0 -1
- package/dist/ctyun/index.js +0 -2
- package/dist/ftp/access.d.ts +0 -12
- package/dist/ftp/access.js +0 -99
- package/dist/ftp/client.d.ts +0 -16
- package/dist/ftp/client.js +0 -57
- package/dist/ftp/index.d.ts +0 -2
- package/dist/ftp/index.js +0 -3
- package/dist/oss/api.d.ts +0 -46
- package/dist/oss/api.js +0 -48
- package/dist/oss/factory.d.ts +0 -10
- package/dist/oss/factory.js +0 -46
- package/dist/oss/impls/alioss.d.ts +0 -13
- package/dist/oss/impls/alioss.js +0 -55
- package/dist/oss/impls/ftp.d.ts +0 -12
- package/dist/oss/impls/ftp.js +0 -75
- package/dist/oss/impls/qiniuoss.d.ts +0 -13
- package/dist/oss/impls/qiniuoss.js +0 -47
- package/dist/oss/impls/s3.d.ts +0 -13
- package/dist/oss/impls/s3.js +0 -92
- package/dist/oss/impls/sftp.d.ts +0 -10
- package/dist/oss/impls/sftp.js +0 -79
- package/dist/oss/impls/ssh.d.ts +0 -11
- package/dist/oss/impls/ssh.js +0 -59
- package/dist/oss/impls/tencentcos.d.ts +0 -13
- package/dist/oss/impls/tencentcos.js +0 -51
- package/dist/oss/index.d.ts +0 -2
- package/dist/oss/index.js +0 -3
- package/dist/qiniu/access-oss.d.ts +0 -5
- package/dist/qiniu/access-oss.js +0 -47
- package/dist/qiniu/access.d.ts +0 -5
- package/dist/qiniu/access.js +0 -43
- package/dist/qiniu/index.d.ts +0 -3
- package/dist/qiniu/index.js +0 -4
- package/dist/qiniu/lib/sdk.d.ts +0 -34
- package/dist/qiniu/lib/sdk.js +0 -162
- package/dist/s3/access.d.ts +0 -25
- package/dist/s3/access.js +0 -134
- package/dist/s3/index.d.ts +0 -1
- package/dist/s3/index.js +0 -2
- package/dist/ssh/index.d.ts +0 -3
- package/dist/ssh/index.js +0 -4
- package/dist/ssh/sftp-access.d.ts +0 -5
- package/dist/ssh/sftp-access.js +0 -51
- package/dist/ssh/ssh-access.d.ts +0 -17
- package/dist/ssh/ssh-access.js +0 -214
- package/dist/ssh/ssh.d.ts +0 -138
- package/dist/ssh/ssh.js +0 -589
- package/dist/tencent/access-cos.d.ts +0 -6
- package/dist/tencent/access-cos.js +0 -83
- package/dist/tencent/access.d.ts +0 -10
- package/dist/tencent/access.js +0 -90
- package/dist/tencent/index.d.ts +0 -3
- package/dist/tencent/index.js +0 -4
- package/dist/tencent/lib/cos-client.d.ts +0 -19
- package/dist/tencent/lib/cos-client.js +0 -98
- package/dist/tencent/lib/index.d.ts +0 -2
- package/dist/tencent/lib/index.js +0 -3
- package/dist/tencent/lib/ssl-client.d.ts +0 -32
- package/dist/tencent/lib/ssl-client.js +0 -86
package/dist/oss/api.d.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { IAccessService } from "@certd/pipeline";
|
|
2
|
-
import { ILogger, utils } from "@certd/basic";
|
|
3
|
-
export type OssClientRemoveByOpts = {
|
|
4
|
-
dir?: string;
|
|
5
|
-
beforeDays?: number;
|
|
6
|
-
};
|
|
7
|
-
export type OssFileItem = {
|
|
8
|
-
path: string;
|
|
9
|
-
size: number;
|
|
10
|
-
lastModified: number;
|
|
11
|
-
};
|
|
12
|
-
export type IOssClient = {
|
|
13
|
-
upload: (fileName: string, fileContent: Buffer) => Promise<void>;
|
|
14
|
-
remove: (fileName: string, opts?: {
|
|
15
|
-
joinRootDir?: boolean;
|
|
16
|
-
}) => Promise<void>;
|
|
17
|
-
download: (fileName: string, savePath: string) => Promise<void>;
|
|
18
|
-
removeBy: (removeByOpts: OssClientRemoveByOpts) => Promise<void>;
|
|
19
|
-
listDir: (dir: string) => Promise<OssFileItem[]>;
|
|
20
|
-
};
|
|
21
|
-
export type OssClientContext = {
|
|
22
|
-
accessService: IAccessService;
|
|
23
|
-
logger: ILogger;
|
|
24
|
-
utils: typeof utils;
|
|
25
|
-
};
|
|
26
|
-
export declare abstract class BaseOssClient<A> implements IOssClient {
|
|
27
|
-
rootDir: string;
|
|
28
|
-
access: A;
|
|
29
|
-
logger: ILogger;
|
|
30
|
-
utils: typeof utils;
|
|
31
|
-
ctx: OssClientContext;
|
|
32
|
-
protected constructor(opts: {
|
|
33
|
-
rootDir?: string;
|
|
34
|
-
access: A;
|
|
35
|
-
});
|
|
36
|
-
join(...strs: string[]): string;
|
|
37
|
-
setCtx(ctx: any): Promise<void>;
|
|
38
|
-
init(): Promise<void>;
|
|
39
|
-
abstract remove(fileName: string, opts?: {
|
|
40
|
-
joinRootDir?: boolean;
|
|
41
|
-
}): Promise<void>;
|
|
42
|
-
abstract upload(fileName: string, fileContent: Buffer): Promise<void>;
|
|
43
|
-
abstract download(fileName: string, savePath: string): Promise<void>;
|
|
44
|
-
abstract listDir(dir: string): Promise<OssFileItem[]>;
|
|
45
|
-
removeBy(removeByOpts: OssClientRemoveByOpts): Promise<void>;
|
|
46
|
-
}
|
package/dist/oss/api.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import dayjs from "dayjs";
|
|
2
|
-
export class BaseOssClient {
|
|
3
|
-
rootDir = "";
|
|
4
|
-
access = null;
|
|
5
|
-
logger;
|
|
6
|
-
utils;
|
|
7
|
-
ctx;
|
|
8
|
-
constructor(opts) {
|
|
9
|
-
this.rootDir = opts.rootDir || "";
|
|
10
|
-
this.access = opts.access;
|
|
11
|
-
}
|
|
12
|
-
join(...strs) {
|
|
13
|
-
let res = "";
|
|
14
|
-
for (const item of strs) {
|
|
15
|
-
if (item) {
|
|
16
|
-
if (!res) {
|
|
17
|
-
res = item;
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
res += "/" + item;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
res = res.replace(/[\\/]+/g, "/");
|
|
25
|
-
return res;
|
|
26
|
-
}
|
|
27
|
-
async setCtx(ctx) {
|
|
28
|
-
// set context
|
|
29
|
-
this.ctx = ctx;
|
|
30
|
-
this.logger = ctx.logger;
|
|
31
|
-
this.utils = ctx.utils;
|
|
32
|
-
await this.init();
|
|
33
|
-
}
|
|
34
|
-
async init() {
|
|
35
|
-
// do nothing
|
|
36
|
-
}
|
|
37
|
-
async removeBy(removeByOpts) {
|
|
38
|
-
const list = await this.listDir(removeByOpts.dir);
|
|
39
|
-
// removeByOpts.beforeDays = 0;
|
|
40
|
-
const beforeDate = dayjs().subtract(removeByOpts.beforeDays, "day");
|
|
41
|
-
for (const item of list) {
|
|
42
|
-
if (item.lastModified && item.lastModified < beforeDate.valueOf()) {
|
|
43
|
-
await this.remove(item.path, { joinRootDir: false });
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29zcy9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBaUMxQixNQUFNLE9BQWdCLGFBQWE7SUFDakMsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixNQUFNLEdBQU0sSUFBSSxDQUFDO0lBQ2pCLE1BQU0sQ0FBVTtJQUNoQixLQUFLLENBQWU7SUFDcEIsR0FBRyxDQUFtQjtJQUV0QixZQUFzQixJQUFxQztRQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQUcsSUFBYztRQUNwQixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hCLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNULEdBQUcsR0FBRyxJQUFJLENBQUM7Z0JBQ2IsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEdBQUcsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFRO1FBQ25CLGNBQWM7UUFDZCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFDdkIsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsYUFBYTtJQUNmLENBQUM7SUFPRCxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQW1DO1FBQ2hELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEQsK0JBQStCO1FBQy9CLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDeEIsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQ2xFLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDdkQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
|
package/dist/oss/factory.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { OssClientContext } from "./api";
|
|
2
|
-
export declare class OssClientFactory {
|
|
3
|
-
getClassByType(type: string): Promise<typeof import("./impls/alioss.js").default | typeof import("./impls/ssh.js").default | typeof import("./impls/sftp.js").default | typeof import("./impls/ftp.js").default | typeof import("./impls/tencentcos.js").default | typeof import("./impls/qiniuoss.js").default | typeof import("./impls/s3.js").default>;
|
|
4
|
-
createOssClientByType(type: string, opts: {
|
|
5
|
-
rootDir?: string;
|
|
6
|
-
access: any;
|
|
7
|
-
ctx: OssClientContext;
|
|
8
|
-
}): Promise<any>;
|
|
9
|
-
}
|
|
10
|
-
export declare const ossClientFactory: OssClientFactory;
|
package/dist/oss/factory.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
export class OssClientFactory {
|
|
2
|
-
async getClassByType(type) {
|
|
3
|
-
if (type === "alioss") {
|
|
4
|
-
const module = await import("./impls/alioss.js");
|
|
5
|
-
return module.default;
|
|
6
|
-
}
|
|
7
|
-
else if (type === "ssh") {
|
|
8
|
-
const module = await import("./impls/ssh.js");
|
|
9
|
-
return module.default;
|
|
10
|
-
}
|
|
11
|
-
else if (type === "sftp") {
|
|
12
|
-
const module = await import("./impls/sftp.js");
|
|
13
|
-
return module.default;
|
|
14
|
-
}
|
|
15
|
-
else if (type === "ftp") {
|
|
16
|
-
const module = await import("./impls/ftp.js");
|
|
17
|
-
return module.default;
|
|
18
|
-
}
|
|
19
|
-
else if (type === "tencentcos") {
|
|
20
|
-
const module = await import("./impls/tencentcos.js");
|
|
21
|
-
return module.default;
|
|
22
|
-
}
|
|
23
|
-
else if (type === "qiniuoss") {
|
|
24
|
-
const module = await import("./impls/qiniuoss.js");
|
|
25
|
-
return module.default;
|
|
26
|
-
}
|
|
27
|
-
else if (type === "s3") {
|
|
28
|
-
const module = await import("./impls/s3.js");
|
|
29
|
-
return module.default;
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
throw new Error(`暂不支持此文件上传方式: ${type}`);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
async createOssClientByType(type, opts) {
|
|
36
|
-
const cls = await this.getClassByType(type);
|
|
37
|
-
if (cls) {
|
|
38
|
-
// @ts-ignore
|
|
39
|
-
const instance = new cls(opts);
|
|
40
|
-
await instance.setCtx(opts.ctx);
|
|
41
|
-
return instance;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
export const ossClientFactory = new OssClientFactory();
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vc3MvZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBWTtRQUMvQixJQUFJLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0QixNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUN4QixDQUFDO2FBQU0sSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDMUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM5QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDeEIsQ0FBQzthQUFNLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzNCLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDL0MsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMxQixNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUN4QixDQUFDO2FBQU0sSUFBSSxJQUFJLEtBQUssWUFBWSxFQUFFLENBQUM7WUFDakMsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNyRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDeEIsQ0FBQzthQUFNLElBQUksSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQy9CLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDbkQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM3QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBQ0QsS0FBSyxDQUFDLHFCQUFxQixDQUFDLElBQVksRUFBRSxJQUE4RDtRQUN0RyxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLGFBQWE7WUFDYixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixNQUFNLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUMifQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { BaseOssClient, OssFileItem } from "../api.js";
|
|
2
|
-
import { AliossAccess, AliossClient } from "../../aliyun/index.js";
|
|
3
|
-
export default class AliOssClientImpl extends BaseOssClient<AliossAccess> {
|
|
4
|
-
client: AliossClient;
|
|
5
|
-
join(...strs: string[]): string;
|
|
6
|
-
init(): Promise<void>;
|
|
7
|
-
download(filePath: string, savePath: string): Promise<void>;
|
|
8
|
-
listDir(dir: string): Promise<OssFileItem[]>;
|
|
9
|
-
upload(filePath: string, fileContent: Buffer | string): Promise<void>;
|
|
10
|
-
remove(filePath: string, opts?: {
|
|
11
|
-
joinRootDir?: boolean;
|
|
12
|
-
}): Promise<void>;
|
|
13
|
-
}
|
package/dist/oss/impls/alioss.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { BaseOssClient } from "../api.js";
|
|
2
|
-
import { AliossClient } from "../../aliyun/index.js";
|
|
3
|
-
import dayjs from "dayjs";
|
|
4
|
-
export default class AliOssClientImpl extends BaseOssClient {
|
|
5
|
-
client;
|
|
6
|
-
join(...strs) {
|
|
7
|
-
const str = super.join(...strs);
|
|
8
|
-
if (str.startsWith("/")) {
|
|
9
|
-
return str.substring(1);
|
|
10
|
-
}
|
|
11
|
-
return str;
|
|
12
|
-
}
|
|
13
|
-
async init() {
|
|
14
|
-
const aliyunAccess = await this.ctx.accessService.getById(this.access.accessId);
|
|
15
|
-
const client = new AliossClient({
|
|
16
|
-
access: aliyunAccess,
|
|
17
|
-
bucket: this.access.bucket,
|
|
18
|
-
region: this.access.region,
|
|
19
|
-
});
|
|
20
|
-
await client.init();
|
|
21
|
-
this.client = client;
|
|
22
|
-
}
|
|
23
|
-
async download(filePath, savePath) {
|
|
24
|
-
const key = this.join(this.rootDir, filePath);
|
|
25
|
-
await this.client.downloadFile(key, savePath);
|
|
26
|
-
}
|
|
27
|
-
async listDir(dir) {
|
|
28
|
-
const dirKey = this.join(this.rootDir, dir) + "/";
|
|
29
|
-
const list = await this.client.listDir(dirKey);
|
|
30
|
-
this.logger.info(`列出目录: ${dirKey},文件数:${list.length}`);
|
|
31
|
-
return list.map(item => {
|
|
32
|
-
return {
|
|
33
|
-
path: item.name,
|
|
34
|
-
lastModified: dayjs(item.lastModified).valueOf(),
|
|
35
|
-
size: item.size,
|
|
36
|
-
};
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
async upload(filePath, fileContent) {
|
|
40
|
-
const key = this.join(this.rootDir, filePath);
|
|
41
|
-
this.logger.info(`开始上传文件: ${key}`);
|
|
42
|
-
await this.client.uploadFile(key, fileContent);
|
|
43
|
-
this.logger.info(`文件上传成功: ${filePath}`);
|
|
44
|
-
}
|
|
45
|
-
async remove(filePath, opts) {
|
|
46
|
-
if (opts?.joinRootDir !== false) {
|
|
47
|
-
filePath = this.join(this.rootDir, filePath);
|
|
48
|
-
}
|
|
49
|
-
const key = filePath;
|
|
50
|
-
// remove file from alioss
|
|
51
|
-
await this.client.removeFile(key);
|
|
52
|
-
this.logger.info(`文件删除成功: ${key}`);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpb3NzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL29zcy9pbXBscy9hbGlvc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBZSxNQUFNLFdBQVcsQ0FBQztBQUN2RCxPQUFPLEVBQWdCLFlBQVksRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsTUFBTSxDQUFDLE9BQU8sT0FBTyxnQkFBaUIsU0FBUSxhQUEyQjtJQUN2RSxNQUFNLENBQWU7SUFDckIsSUFBSSxDQUFDLEdBQUcsSUFBYztRQUNwQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFDRCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFlLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUYsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLENBQUM7WUFDOUIsTUFBTSxFQUFFLFlBQVk7WUFDcEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMxQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO1NBQzNCLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQWdCLEVBQUUsUUFBZ0I7UUFDL0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQVc7UUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNsRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsTUFBTSxRQUFRLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNyQixPQUFPO2dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hELElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTthQUNoQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFnQixFQUFFLFdBQTRCO1FBQ3pELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbkMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQWdCLEVBQUUsSUFBZ0M7UUFDN0QsSUFBSSxJQUFJLEVBQUUsV0FBVyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ2hDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQztRQUNyQiwwQkFBMEI7UUFDMUIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGIn0=
|
package/dist/oss/impls/ftp.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { BaseOssClient } from "../api.js";
|
|
2
|
-
import { FtpAccess } from "../../ftp/index.js";
|
|
3
|
-
export default class FtpOssClientImpl extends BaseOssClient<FtpAccess> {
|
|
4
|
-
join(...strs: string[]): string;
|
|
5
|
-
download(fileName: string, savePath: string): Promise<void>;
|
|
6
|
-
listDir(dir: string): Promise<any>;
|
|
7
|
-
upload(filePath: string, fileContent: Buffer | string): Promise<void>;
|
|
8
|
-
private getFtpClient;
|
|
9
|
-
remove(filePath: string, opts?: {
|
|
10
|
-
joinRootDir?: boolean;
|
|
11
|
-
}): Promise<void>;
|
|
12
|
-
}
|
package/dist/oss/impls/ftp.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { BaseOssClient } from "../api.js";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import os from "os";
|
|
4
|
-
import fs from "fs";
|
|
5
|
-
import { FtpClient } from "../../ftp/index.js";
|
|
6
|
-
export default class FtpOssClientImpl extends BaseOssClient {
|
|
7
|
-
join(...strs) {
|
|
8
|
-
const str = super.join(...strs);
|
|
9
|
-
if (!str.startsWith("/")) {
|
|
10
|
-
return "/" + str;
|
|
11
|
-
}
|
|
12
|
-
return str;
|
|
13
|
-
}
|
|
14
|
-
async download(fileName, savePath) {
|
|
15
|
-
const client = this.getFtpClient();
|
|
16
|
-
await client.connect(async (client) => {
|
|
17
|
-
const path = this.join(this.rootDir, fileName);
|
|
18
|
-
await client.download(path, savePath);
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
async listDir(dir) {
|
|
22
|
-
const client = this.getFtpClient();
|
|
23
|
-
return await client.connect(async (client) => {
|
|
24
|
-
const path = this.join(this.rootDir, dir);
|
|
25
|
-
const res = await client.listDir(path);
|
|
26
|
-
return res.map(item => {
|
|
27
|
-
return {
|
|
28
|
-
path: this.join(path, item.name),
|
|
29
|
-
size: item.size,
|
|
30
|
-
lastModified: item.modifiedAt.getTime(),
|
|
31
|
-
};
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
async upload(filePath, fileContent) {
|
|
36
|
-
const client = this.getFtpClient();
|
|
37
|
-
await client.connect(async (client) => {
|
|
38
|
-
let tmpFilePath = fileContent;
|
|
39
|
-
if (typeof fileContent !== "string") {
|
|
40
|
-
tmpFilePath = path.join(os.tmpdir(), "cert", "oss", filePath);
|
|
41
|
-
const dir = path.dirname(tmpFilePath);
|
|
42
|
-
if (!fs.existsSync(dir)) {
|
|
43
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
44
|
-
}
|
|
45
|
-
fs.writeFileSync(tmpFilePath, fileContent);
|
|
46
|
-
}
|
|
47
|
-
try {
|
|
48
|
-
// Write file to temp path
|
|
49
|
-
const path = this.join(this.rootDir, filePath);
|
|
50
|
-
await client.upload(tmpFilePath, path);
|
|
51
|
-
}
|
|
52
|
-
finally {
|
|
53
|
-
// Remove temp file
|
|
54
|
-
fs.unlinkSync(tmpFilePath);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
getFtpClient() {
|
|
59
|
-
return new FtpClient({
|
|
60
|
-
access: this.access,
|
|
61
|
-
logger: this.logger,
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
async remove(filePath, opts) {
|
|
65
|
-
if (opts?.joinRootDir !== false) {
|
|
66
|
-
filePath = this.join(this.rootDir, filePath);
|
|
67
|
-
}
|
|
68
|
-
const client = this.getFtpClient();
|
|
69
|
-
await client.connect(async (client) => {
|
|
70
|
-
await client.client.remove(filePath);
|
|
71
|
-
this.logger.info(`删除文件成功: ${filePath}`);
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnRwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL29zcy9pbXBscy9mdHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQWEsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFMUQsTUFBTSxDQUFDLE9BQU8sT0FBTyxnQkFBaUIsU0FBUSxhQUF3QjtJQUNwRSxJQUFJLENBQUMsR0FBRyxJQUFjO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNuQixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuQyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMvQyxNQUFNLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBVztRQUN2QixNQUFNLE1BQU0s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
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { QiniuClient, QiniuOssAccess } from "../../qiniu/index.js";
|
|
2
|
-
import { BaseOssClient, OssFileItem } from "../api.js";
|
|
3
|
-
export default class QiniuOssClientImpl extends BaseOssClient<QiniuOssAccess> {
|
|
4
|
-
client: QiniuClient;
|
|
5
|
-
join(...strs: string[]): string;
|
|
6
|
-
init(): Promise<void>;
|
|
7
|
-
download(fileName: string, savePath: string): Promise<void>;
|
|
8
|
-
listDir(dir: string): Promise<OssFileItem[]>;
|
|
9
|
-
upload(filePath: string, fileContent: Buffer | string): Promise<void>;
|
|
10
|
-
remove(filePath: string, opts?: {
|
|
11
|
-
joinRootDir?: boolean;
|
|
12
|
-
}): Promise<void>;
|
|
13
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { QiniuClient } from "../../qiniu/index.js";
|
|
2
|
-
import { BaseOssClient } from "../api.js";
|
|
3
|
-
export default class QiniuOssClientImpl extends BaseOssClient {
|
|
4
|
-
client;
|
|
5
|
-
join(...strs) {
|
|
6
|
-
const str = super.join(...strs);
|
|
7
|
-
if (str.startsWith("/")) {
|
|
8
|
-
return str.substring(1);
|
|
9
|
-
}
|
|
10
|
-
return str;
|
|
11
|
-
}
|
|
12
|
-
async init() {
|
|
13
|
-
const qiniuAccess = await this.ctx.accessService.getById(this.access.accessId);
|
|
14
|
-
this.client = new QiniuClient({
|
|
15
|
-
access: qiniuAccess,
|
|
16
|
-
logger: this.logger,
|
|
17
|
-
http: this.ctx.utils.http,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
async download(fileName, savePath) {
|
|
21
|
-
const path = this.join(this.rootDir, fileName);
|
|
22
|
-
await this.client.downloadFile(this.access.bucket, path, savePath);
|
|
23
|
-
}
|
|
24
|
-
async listDir(dir) {
|
|
25
|
-
const path = this.join(this.rootDir, dir);
|
|
26
|
-
const res = await this.client.listDir(this.access.bucket, path);
|
|
27
|
-
return res.items.map(item => {
|
|
28
|
-
return {
|
|
29
|
-
path: item.key,
|
|
30
|
-
size: item.fsize,
|
|
31
|
-
//ns ,纳秒,去掉低4位 为毫秒
|
|
32
|
-
lastModified: Math.floor(item.putTime / 10000),
|
|
33
|
-
};
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
async upload(filePath, fileContent) {
|
|
37
|
-
const path = this.join(this.rootDir, filePath);
|
|
38
|
-
await this.client.uploadFile(this.access.bucket, path, fileContent);
|
|
39
|
-
}
|
|
40
|
-
async remove(filePath, opts) {
|
|
41
|
-
if (opts?.joinRootDir !== false) {
|
|
42
|
-
filePath = this.join(this.rootDir, filePath);
|
|
43
|
-
}
|
|
44
|
-
await this.client.removeFile(this.access.bucket, filePath);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWluaXVvc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb3NzL2ltcGxzL3Fpbml1b3NzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxXQUFXLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBZSxNQUFNLFdBQVcsQ0FBQztBQUV2RCxNQUFNLENBQUMsT0FBTyxPQUFPLGtCQUFtQixTQUFRLGFBQTZCO0lBQzNFLE1BQU0sQ0FBYztJQUVwQixJQUFJLENBQUMsR0FBRyxJQUFjO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQWMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDO1lBQzVCLE1BQU0sRUFBRSxXQUFXO1lBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSTtTQUMxQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFXO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQyxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDMUIsT0FBTztnQkFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNoQixrQkFBa0I7Z0JBQ2xCLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2FBQy9DLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQWdCLEVBQUUsV0FBNEI7UUFDekQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQWdCLEVBQUUsSUFBZ0M7UUFDN0QsSUFBSSxJQUFJLEVBQUUsV0FBVyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ2hDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGIn0=
|
package/dist/oss/impls/s3.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { BaseOssClient, OssFileItem } from "../api.js";
|
|
2
|
-
import { S3Access } from "../../s3/access.js";
|
|
3
|
-
export default class S3OssClientImpl extends BaseOssClient<S3Access> {
|
|
4
|
-
client: any;
|
|
5
|
-
join(...strs: string[]): string;
|
|
6
|
-
init(): Promise<void>;
|
|
7
|
-
download(filePath: string, savePath: string): Promise<void>;
|
|
8
|
-
listDir(dir: string): Promise<OssFileItem[]>;
|
|
9
|
-
upload(filePath: string, fileContent: Buffer | string): Promise<void>;
|
|
10
|
-
remove(filePath: string, opts?: {
|
|
11
|
-
joinRootDir?: boolean;
|
|
12
|
-
}): Promise<void>;
|
|
13
|
-
}
|
package/dist/oss/impls/s3.js
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { BaseOssClient } from "../api.js";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import fs from "fs";
|
|
4
|
-
import dayjs from "dayjs";
|
|
5
|
-
export default class S3OssClientImpl extends BaseOssClient {
|
|
6
|
-
client;
|
|
7
|
-
join(...strs) {
|
|
8
|
-
const str = super.join(...strs);
|
|
9
|
-
if (str.startsWith("/")) {
|
|
10
|
-
return str.substring(1);
|
|
11
|
-
}
|
|
12
|
-
return str;
|
|
13
|
-
}
|
|
14
|
-
async init() {
|
|
15
|
-
// import { S3Client } from "@aws-sdk/client-s3";
|
|
16
|
-
//@ts-ignore
|
|
17
|
-
const { S3Client } = await import("@aws-sdk/client-s3");
|
|
18
|
-
this.client = new S3Client({
|
|
19
|
-
forcePathStyle: true,
|
|
20
|
-
//@ts-ignore
|
|
21
|
-
s3ForcePathStyle: true,
|
|
22
|
-
credentials: {
|
|
23
|
-
accessKeyId: this.access.accessKeyId, // 默认 MinIO 访问密钥
|
|
24
|
-
secretAccessKey: this.access.secretAccessKey, // 默认 MinIO 秘密密钥
|
|
25
|
-
},
|
|
26
|
-
region: "us-east-1",
|
|
27
|
-
endpoint: this.access.endpoint,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
async download(filePath, savePath) {
|
|
31
|
-
// @ts-ignore
|
|
32
|
-
const { GetObjectCommand } = await import("@aws-sdk/client-s3");
|
|
33
|
-
const key = path.join(this.rootDir, filePath);
|
|
34
|
-
const params = {
|
|
35
|
-
Bucket: this.access.bucket, // The name of the bucket. For example, 'sample_bucket_101'.
|
|
36
|
-
Key: key, // The name of the object. For example, 'sample_upload.txt'.
|
|
37
|
-
};
|
|
38
|
-
const res = await this.client.send(new GetObjectCommand({ ...params }));
|
|
39
|
-
const fileContent = fs.createWriteStream(savePath);
|
|
40
|
-
res.Body.pipe(fileContent);
|
|
41
|
-
this.logger.info(`文件下载成功: ${savePath}`);
|
|
42
|
-
}
|
|
43
|
-
async listDir(dir) {
|
|
44
|
-
// @ts-ignore
|
|
45
|
-
const { ListObjectsCommand } = await import("@aws-sdk/client-s3");
|
|
46
|
-
const dirKey = this.join(this.rootDir, dir);
|
|
47
|
-
const params = {
|
|
48
|
-
Bucket: this.access.bucket, // The name of the bucket. For example, 'sample_bucket_101'.
|
|
49
|
-
Prefix: dirKey, // The name of the object. For example, 'sample_upload.txt'.
|
|
50
|
-
};
|
|
51
|
-
const res = await this.client.send(new ListObjectsCommand({ ...params }));
|
|
52
|
-
if (!res.Contents) {
|
|
53
|
-
return [];
|
|
54
|
-
}
|
|
55
|
-
return res.Contents.map(item => {
|
|
56
|
-
return {
|
|
57
|
-
path: item.Key,
|
|
58
|
-
size: item.Size,
|
|
59
|
-
lastModified: dayjs(item.LastModified).valueOf(),
|
|
60
|
-
};
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
async upload(filePath, fileContent) {
|
|
64
|
-
// @ts-ignore
|
|
65
|
-
const { PutObjectCommand } = await import("@aws-sdk/client-s3");
|
|
66
|
-
const key = path.join(this.rootDir, filePath);
|
|
67
|
-
this.logger.info(`开始上传文件: ${key}`);
|
|
68
|
-
const params = {
|
|
69
|
-
Bucket: this.access.bucket, // The name of the bucket. For example, 'sample_bucket_101'.
|
|
70
|
-
Key: key, // The name of the object. For example, 'sample_upload.txt'.
|
|
71
|
-
};
|
|
72
|
-
if (typeof fileContent === "string") {
|
|
73
|
-
fileContent = fs.createReadStream(fileContent);
|
|
74
|
-
}
|
|
75
|
-
await this.client.send(new PutObjectCommand({ Body: fileContent, ...params }));
|
|
76
|
-
this.logger.info(`文件上传成功: ${filePath}`);
|
|
77
|
-
}
|
|
78
|
-
async remove(filePath, opts) {
|
|
79
|
-
if (opts?.joinRootDir !== false) {
|
|
80
|
-
filePath = this.join(this.rootDir, filePath);
|
|
81
|
-
}
|
|
82
|
-
const key = filePath;
|
|
83
|
-
// @ts-ignore
|
|
84
|
-
const { DeleteObjectCommand } = await import("@aws-sdk/client-s3");
|
|
85
|
-
await this.client.send(new DeleteObjectCommand({
|
|
86
|
-
Bucket: this.access.bucket,
|
|
87
|
-
Key: key,
|
|
88
|
-
}));
|
|
89
|
-
this.logger.info(`文件删除成功: ${key}`);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb3NzL2ltcGxzL3MzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQWUsTUFBTSxXQUFXLENBQUM7QUFDdkQsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBRTdCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsTUFBTSxDQUFDLE9BQU8sT0FBTyxlQUFnQixTQUFRLGFBQXVCO0lBQ2xFLE1BQU0sQ0FBTTtJQUNaLElBQUksQ0FBQyxHQUFHLElBQWM7UUFDcEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBQ0QsS0FBSyxDQUFDLElBQUk7UUFDUixpREFBaUQ7UUFDakQsWUFBWTtRQUNaLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxRQUFRLENBQUM7WUFDekIsY0FBYyxFQUFFLElBQUk7WUFDcEIsWUFBWTtZQUNaLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsV0FBVyxFQUFFO2dCQUNYLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxnQkFBZ0I7Z0JBQ3RELGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxnQkFBZ0I7YUFDL0Q7WUFDRCxNQUFNLEVBQUUsV0FBVztZQUNuQixRQUFRLEVBQUUsSUFBSSxDQUFD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
|
package/dist/oss/impls/sftp.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { BaseOssClient, OssFileItem } from "../api.js";
|
|
2
|
-
import { SftpAccess } from "../../ssh/index.js";
|
|
3
|
-
export default class SftpOssClientImpl extends BaseOssClient<SftpAccess> {
|
|
4
|
-
download(fileName: string, savePath: string): Promise<void>;
|
|
5
|
-
listDir(dir: string): Promise<OssFileItem[]>;
|
|
6
|
-
upload(filePath: string, fileContent: Buffer | string): Promise<void>;
|
|
7
|
-
remove(filePath: string, opts?: {
|
|
8
|
-
joinRootDir?: boolean;
|
|
9
|
-
}): Promise<void>;
|
|
10
|
-
}
|
package/dist/oss/impls/sftp.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { BaseOssClient } from "../api.js";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import os from "os";
|
|
4
|
-
import fs from "fs";
|
|
5
|
-
import { SshClient } from "../../ssh/index.js";
|
|
6
|
-
export default class SftpOssClientImpl extends BaseOssClient {
|
|
7
|
-
async download(fileName, savePath) {
|
|
8
|
-
const path = this.join(this.rootDir, fileName);
|
|
9
|
-
const client = new SshClient(this.logger);
|
|
10
|
-
const access = await this.ctx.accessService.getById(this.access.sshAccess);
|
|
11
|
-
await client.download({
|
|
12
|
-
connectConf: access,
|
|
13
|
-
filePath: path,
|
|
14
|
-
savePath,
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
async listDir(dir) {
|
|
18
|
-
const path = this.join(this.rootDir, dir);
|
|
19
|
-
const client = new SshClient(this.logger);
|
|
20
|
-
const access = await this.ctx.accessService.getById(this.access.sshAccess);
|
|
21
|
-
const res = await client.listDir({
|
|
22
|
-
connectConf: access,
|
|
23
|
-
dir: path,
|
|
24
|
-
});
|
|
25
|
-
return res.map(item => {
|
|
26
|
-
return {
|
|
27
|
-
path: this.join(path, item.filename),
|
|
28
|
-
size: item.size,
|
|
29
|
-
lastModified: item.attrs.atime * 1000,
|
|
30
|
-
};
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
async upload(filePath, fileContent) {
|
|
34
|
-
let tmpFilePath = fileContent;
|
|
35
|
-
if (typeof fileContent !== "string") {
|
|
36
|
-
tmpFilePath = path.join(os.tmpdir(), "cert", "oss", filePath);
|
|
37
|
-
const dir = path.dirname(tmpFilePath);
|
|
38
|
-
if (!fs.existsSync(dir)) {
|
|
39
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
40
|
-
}
|
|
41
|
-
fs.writeFileSync(tmpFilePath, fileContent);
|
|
42
|
-
}
|
|
43
|
-
const access = await this.ctx.accessService.getById(this.access.sshAccess);
|
|
44
|
-
const key = this.join(this.rootDir, filePath);
|
|
45
|
-
try {
|
|
46
|
-
const client = new SshClient(this.logger);
|
|
47
|
-
await client.uploadFiles({
|
|
48
|
-
connectConf: access,
|
|
49
|
-
mkdirs: true,
|
|
50
|
-
transports: [
|
|
51
|
-
{
|
|
52
|
-
localPath: tmpFilePath,
|
|
53
|
-
remotePath: key,
|
|
54
|
-
},
|
|
55
|
-
],
|
|
56
|
-
uploadType: "sftp",
|
|
57
|
-
opts: {
|
|
58
|
-
mode: this.access?.fileMode ?? undefined,
|
|
59
|
-
},
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
finally {
|
|
63
|
-
// Remove temp file
|
|
64
|
-
fs.unlinkSync(tmpFilePath);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
async remove(filePath, opts) {
|
|
68
|
-
const access = await this.ctx.accessService.getById(this.access.sshAccess);
|
|
69
|
-
const client = new SshClient(this.logger);
|
|
70
|
-
if (opts?.joinRootDir !== false) {
|
|
71
|
-
filePath = this.join(this.rootDir, filePath);
|
|
72
|
-
}
|
|
73
|
-
await client.removeFiles({
|
|
74
|
-
connectConf: access,
|
|
75
|
-
files: [filePath],
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Z0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vc3MvaW1wbHMvc2Z0cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFlLE1BQU0sV0FBVyxDQUFDO0FBQ3ZELE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sRUFBeUIsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEUsTUFBTSxDQUFDLE9BQU8sT0FBTyxpQkFBa0IsU0FBUSxhQUF5QjtJQUN0RSxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQWdCLEVBQUUsUUFBZ0I7UUFDL0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBWSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RGLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUNwQixXQUFXLEVBQUUsTUFBTTtZQUNuQixRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVE7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFXO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQVksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RixNQUFNLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDL0IsV0FBVyxFQUFFLE1BQU07WUFDbkIsR0FBRyxFQUFFLElBQUk7U0FDVixDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEIsT0FBTztnQkFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDcEMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJO2FBQ3RDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQWdCLEVBQUUsV0FBNEI7UUFDekQsSUFBSSxXQUFXLEdBQUcsV0FBcUIsQ0FBQztRQUN4QyxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxQyxNQUFNLE1BQU0sQ0FBQyxXQUFXLENBQUM7Z0JBQ3ZCLFdBQVcsRUFBRSxNQUFNO2dCQUNuQixNQUFNLEVBQUUsSUFBSTtnQkFDWixVQUFVLEVBQUU7b0JBQ1Y7d0JBQ0UsU0FBUyxFQUFFLFdBQVc7d0JBQ3RCLFVBQVUsRUFBRSxHQUFHO3FCQUNoQjtpQkFDRjtnQkFDRCxVQUFVLEVBQUUsTUFBTTtnQkFDbEIsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsSUFBSSxTQUFTO2lCQUN6QzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7Z0JBQVMsQ0FBQztZQUNULG1CQUFtQjtZQUNuQixFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFnQixFQUFFLElBQWdDO1FBQzdELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEYsTUFBTSxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLElBQUksSUFBSSxFQUFFLFdBQVcsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNoQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxNQUFNLE1BQU0sQ0FBQyxXQUFXLENBQUM7WUFDdkIsV0FBVyxFQUFFLE1BQU07WUFDbkIsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9
|
package/dist/oss/impls/ssh.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { BaseOssClient, OssClientRemoveByOpts, OssFileItem } from "../api.js";
|
|
2
|
-
import { SshAccess } from "../../ssh/index.js";
|
|
3
|
-
export default class SshOssClientImpl extends BaseOssClient<SshAccess> {
|
|
4
|
-
download(fileName: string, savePath: string): Promise<void>;
|
|
5
|
-
removeBy(removeByOpts: OssClientRemoveByOpts): Promise<void>;
|
|
6
|
-
listDir(dir: string): Promise<OssFileItem[]>;
|
|
7
|
-
upload(filePath: string, fileContent: Buffer): Promise<void>;
|
|
8
|
-
remove(filePath: string, opts?: {
|
|
9
|
-
joinRootDir?: boolean;
|
|
10
|
-
}): Promise<void>;
|
|
11
|
-
}
|