mirror of
https://github.com/certd/certd.git
synced 2026-04-23 11:37:23 +08:00
chore:
This commit is contained in:
@@ -1,24 +1,33 @@
|
||||
import { HttpChallengeUploadContext } from "./api";
|
||||
|
||||
export class HttpChallengeUploaderFactory {
|
||||
async getClassByType(type: string) {
|
||||
if (type === "alioss") {
|
||||
return (await import("./impls/alioss.js")).AliossHttpChallengeUploader;
|
||||
const module = await import("./impls/alioss.js");
|
||||
return module.AliossHttpChallengeUploader;
|
||||
} else if (type === "ssh") {
|
||||
return (await import("./impls/ssh.js")).SshHttpChallengeUploader;
|
||||
const module = await import("./impls/ssh.js");
|
||||
return module.SshHttpChallengeUploader;
|
||||
} else if (type === "ftp") {
|
||||
return (await import("./impls/ftp.js")).FtpHttpChallengeUploader;
|
||||
const module = await import("./impls/ftp.js");
|
||||
return module.FtpHttpChallengeUploader;
|
||||
} else if (type === "tencentcos") {
|
||||
return (await import("./impls/tencentcos.js")).TencentCosHttpChallengeUploader;
|
||||
const module = await import("./impls/tencentcos.js");
|
||||
return module.TencentCosHttpChallengeUploader;
|
||||
} else if (type === "qiniuoss") {
|
||||
return (await import("./impls/qiniuoss.js")).QiniuOssHttpChallengeUploader;
|
||||
const module = await import("./impls/qiniuoss.js");
|
||||
return module.QiniuOssHttpChallengeUploader;
|
||||
} else {
|
||||
throw new Error(`暂不支持此文件上传方式: ${type}`);
|
||||
}
|
||||
}
|
||||
createUploaderByType(type: string, opts: { rootDir: string; access: any }) {
|
||||
const cls = this.getClassByType(type);
|
||||
async createUploaderByType(type: string, opts: { rootDir: string; access: any; ctx: HttpChallengeUploadContext }) {
|
||||
const cls = await this.getClassByType(type);
|
||||
if (cls) {
|
||||
// @ts-ignore
|
||||
return new cls(opts);
|
||||
const instance = new cls(opts);
|
||||
await instance.setCtx(opts.ctx);
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { BaseHttpChallengeUploader } from "../api";
|
||||
import { BaseHttpChallengeUploader } from "../api.js";
|
||||
import { AliossAccess, AliyunAccess } from "@certd/plugin-lib";
|
||||
import { AliossClient } from "@certd/plugin-lib/dist/aliyun/lib/oss-client";
|
||||
import { AliossClient } from "@certd/plugin-lib";
|
||||
|
||||
export class AliossHttpChallengeUploader extends BaseHttpChallengeUploader<AliossAccess> {
|
||||
async upload(filePath: string, fileContent: string) {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { BaseHttpChallengeUploader } from "../api";
|
||||
import { FtpAccess } from "@certd/plugin-lib";
|
||||
import { FtpClient } from "@certd/plugin-lib/dist/ftp/client";
|
||||
import { BaseHttpChallengeUploader } from "../api.js";
|
||||
import { FtpAccess, FtpClient } from "@certd/plugin-lib";
|
||||
|
||||
export class FtpHttpChallengeUploader extends BaseHttpChallengeUploader<FtpAccess> {
|
||||
async upload(fileName: string, fileContent: string) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { BaseHttpChallengeUploader } from "../api";
|
||||
import { FtpAccess } from "@certd/plugin-lib";
|
||||
import { BaseHttpChallengeUploader } from "../api.js";
|
||||
import { QiniuOssAccess } from "@certd/plugin-lib/dist/qiniu/access-oss";
|
||||
|
||||
export class QiniuOssHttpChallengeUploader extends BaseHttpChallengeUploader<FtpAccess> {
|
||||
export class QiniuOssHttpChallengeUploader extends BaseHttpChallengeUploader<QiniuOssAccess> {
|
||||
async upload(fileName: string, fileContent: string) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { BaseHttpChallengeUploader } from "../api";
|
||||
import { BaseHttpChallengeUploader } from "../api.js";
|
||||
import { SshAccess, SshClient } from "@certd/plugin-lib";
|
||||
import path from "path";
|
||||
import os from "os";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { BaseHttpChallengeUploader } from "../api";
|
||||
import { FtpAccess } from "@certd/plugin-lib";
|
||||
import { BaseHttpChallengeUploader } from "../api.js";
|
||||
import { TencentCosAccess } from "@certd/plugin-lib/dist/tencent/access-cos";
|
||||
|
||||
export class TencentCosHttpChallengeUploader extends BaseHttpChallengeUploader<FtpAccess> {
|
||||
export class TencentCosHttpChallengeUploader extends BaseHttpChallengeUploader<TencentCosAccess> {
|
||||
async upload(fileName: string, fileContent: string) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user