diff --git a/packages/core/api/.eslintrc b/packages/core/api/.eslintrc deleted file mode 100644 index 7742b27d..00000000 --- a/packages/core/api/.eslintrc +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "standard", - "env": { - "mocha": true - }, - "parserOptions": { - "ecmaVersion": 2020 - }, - "overrides": [ - { - "files": ["*.test.js", "*.spec.js"], - "rules": { - "no-unused-expressions": "off" - } - } - ] -} diff --git a/packages/core/api/.gitignore b/packages/core/api/.gitignore deleted file mode 100644 index cbb386fa..00000000 --- a/packages/core/api/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -.vscode/ -node_modules/ -npm-debug.log -yarn-error.log -yarn.lock -package-lock.json -/.idea/ diff --git a/packages/core/api/package.json b/packages/core/api/package.json deleted file mode 100644 index aed4a79c..00000000 --- a/packages/core/api/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "@certd/api", - "version": "0.3.0", - "description": "", - "type": "module", - "author": "Greper", - "license": "MIT", - "main": "./dist/index.cjs", - "module": "./dist/fast-crud.es.js", - "scripts": { - "build": "rollup -c" - }, - "dependencies": { - "axios": "^0.21.1", - "dayjs": "^1.9.7", - "lodash-es": "^4.17.20", - "log4js": "^6.3.0", - "qs": "^6.9.4" - }, - "devDependencies": { - "chai": "^4.2.0", - "eslint": "^7.15.0", - "eslint-config-standard": "^16.0.2", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1", - "mocha": "^8.2.1", - "rollup": "^3.2.3" - }, - "gitHead": "5fbd7742665c0a949333d805153e9b6af91c0a71" -} diff --git a/packages/core/api/rollup.config.js b/packages/core/api/rollup.config.js deleted file mode 100644 index c67735ae..00000000 --- a/packages/core/api/rollup.config.js +++ /dev/null @@ -1,13 +0,0 @@ -export default { - input: 'src/index.js', - output: [ - { - file: 'dist/index.cjs', - format: 'cjs' - }, - { - file: 'dist/index.es.js', - format: 'es' - } - ] -} diff --git a/packages/core/api/src/access-provider/index.js b/packages/core/api/src/access-provider/index.js deleted file mode 100644 index bafb0148..00000000 --- a/packages/core/api/src/access-provider/index.js +++ /dev/null @@ -1,2 +0,0 @@ -import { Registry } from '../registry/registry.js' -export const accessProviderRegistry = new Registry() diff --git a/packages/core/api/src/dns-provider/abstract-dns-provider.js b/packages/core/api/src/dns-provider/abstract-dns-provider.js deleted file mode 100644 index 3b429ecb..00000000 --- a/packages/core/api/src/dns-provider/abstract-dns-provider.js +++ /dev/null @@ -1,47 +0,0 @@ -import _ from 'lodash' -import logger from '../utils/util.log.js' -import commonUtil from '../utils/util.common.js' -export class AbstractDnsProvider { - constructor ({ accessProviders }) { - this.logger = logger - this.accessProviders = commonUtil.arrayToMap(accessProviders) - } - - async createRecord ({ fullRecord, type, value }) { - throw new Error('请实现 createRecord 方法') - } - - async removeRecord ({ fullRecord, type, value, record }) { - throw new Error('请实现 removeRecord 方法') - } - - async getDomainList () { - throw new Error('请实现 getDomainList 方法') - } - - async matchDomain (dnsRecord, domainPropName) { - const list = await this.getDomainList() - let domain = null - for (const item of list) { - if (_.endsWith(dnsRecord, item[domainPropName])) { - domain = item - break - } - } - if (!domain) { - throw new Error('找不到域名,请检查域名是否正确:' + dnsRecord) - } - return domain - } - - getAccessProvider (accessProvider, accessProviders = this.accessProviders) { - let access = accessProvider - if (typeof accessProvider === 'string' && accessProviders) { - access = accessProviders[accessProvider] - } - if (access == null) { - throw new Error(`accessProvider :${accessProvider}不存在`) - } - return access - } -} diff --git a/packages/core/api/src/dns-provider/index.js b/packages/core/api/src/dns-provider/index.js deleted file mode 100644 index 4136e62d..00000000 --- a/packages/core/api/src/dns-provider/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import { Registry } from '../registry/registry.js' -export { AbstractDnsProvider } from './abstract-dns-provider.js' - -export const dnsProviderRegistry = new Registry() diff --git a/packages/core/api/src/index.js b/packages/core/api/src/index.js deleted file mode 100644 index 19d50fff..00000000 --- a/packages/core/api/src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -export * from './dns-provider/index.js' -export * from './plugin/index.js' -export * from './access-provider/index.js' -export { Store } from './store/store.js' -export { util } from './utils/index.js' -// module.createRequireFromPath() diff --git a/packages/core/api/src/plugin/abstract-plugin.js b/packages/core/api/src/plugin/abstract-plugin.js deleted file mode 100644 index 9a537002..00000000 --- a/packages/core/api/src/plugin/abstract-plugin.js +++ /dev/null @@ -1,81 +0,0 @@ -import fs from 'fs' -import logger from '../utils/util.log.js' -import dayjs from 'dayjs' -import Sleep from '../utils/util.sleep.js' -import commonUtil from '../utils/util.common.js' -export class AbstractPlugin { - constructor (options) { - if (options == null) { - throw new Error('插件安装失败:参数不允许为空') - } - const { accessProviders } = options - this.logger = logger - this.accessProviders = commonUtil.arrayToMap(accessProviders) - } - - appendTimeSuffix (name) { - if (name == null) { - name = 'certd' - } - return name + '-' + dayjs().format('YYYYMMDD-HHmmss') - } - - async executeFromContextFile (options = {}) { - const { contextPath } = options - const contextJson = fs.readFileSync(contextPath) - const context = JSON.parse(contextJson) - options.context = context - await this.doExecute(options) - fs.writeFileSync(JSON.stringify(context)) - } - - async doExecute (options) { - try { - return await this.execute(options) - } catch (e) { - logger.error('插件执行出错:', e) - throw e - } - } - - /** - * 执行 - * @param options - * @returns {Promise} - */ - async execute (options) { - console.error('请实现此方法,context:', options.context) - } - - async doRollback (options) { - try { - return await this.rollback(options) - } catch (e) { - logger.error('插件rollback出错:', e) - throw e - } - } - - /** - * 回退,用于单元测试 - * @param options - */ - async rollback (options) { - console.error('请实现此方法,rollback:', options.context) - } - - getAccessProvider (accessProvider, accessProviders = this.accessProviders) { - let access = accessProvider - if (typeof accessProvider === 'string' && accessProviders) { - access = accessProviders[accessProvider] - } - if (access == null) { - throw new Error(`accessProvider :${accessProvider}不存在`) - } - return access - } - - async sleep (time) { - await Sleep(time) - } -} diff --git a/packages/core/api/src/plugin/index.js b/packages/core/api/src/plugin/index.js deleted file mode 100644 index 7f318ab5..00000000 --- a/packages/core/api/src/plugin/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Registry } from '../registry/registry.js' -export { AbstractPlugin } from './abstract-plugin.js' -export const pluginRegistry = new Registry() diff --git a/packages/core/api/src/registry/registry.js b/packages/core/api/src/registry/registry.js deleted file mode 100644 index eb1c1454..00000000 --- a/packages/core/api/src/registry/registry.js +++ /dev/null @@ -1,46 +0,0 @@ -export class Registry { - constructor () { - this.collection = {} - } - - install (target) { - if (target == null) { - return - } - if (this.collection == null) { - this.collection = {} - } - let defineName = target.define ? target.define().name : null - if (defineName == null) { - defineName = target.name - } - - this.register(defineName, target) - } - - register (key, value) { - if (!key || value == null) { - return - } - this.collection[key] = value - } - - get (name) { - if (!name) { - throw new Error('插件名称不能为空') - } - - if (!this.collection) { - this.collection = {} - } - const plugin = this.collection[name] - if (!plugin) { - throw new Error(`插件${name}还未注册`) - } - return plugin - } - - getCollection () { - return this.collection - } -} diff --git a/packages/core/api/src/store/store.js b/packages/core/api/src/store/store.js deleted file mode 100644 index 892b0538..00000000 --- a/packages/core/api/src/store/store.js +++ /dev/null @@ -1,33 +0,0 @@ -export class Store { - set (key, value) { - - } - - get (key) { - - } - - buildKey (...keyItem) { - - } - - linkExists (linkPath) { - - } - - link (targetPath, linkPath) { - - } - - unlink (linkPath) { - - } - - /** - * 全路径 - * @param key - */ - getActualKey (key) { - // return 前缀+key - } -} diff --git a/packages/core/api/src/utils/index.js b/packages/core/api/src/utils/index.js deleted file mode 100644 index 5ffc5c1e..00000000 --- a/packages/core/api/src/utils/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import logger from './util.log.js' -import path from './util.path.js' -import { request } from './util.request.js' -import sleep from './util.sleep.js' -import common from './util.common.js' -export const util = { - logger, path, request, sleep, common -} diff --git a/packages/core/api/src/utils/util.common.js b/packages/core/api/src/utils/util.common.js deleted file mode 100644 index 68ae13b7..00000000 --- a/packages/core/api/src/utils/util.common.js +++ /dev/null @@ -1,33 +0,0 @@ -import _ from 'lodash' -export default { - arrayToMap (array) { - if (!array) { - return {} - } - if (!_.isArray(array)) { - return array - } - const map = {} - for (const item of array) { - if (item.key) { - map[item.key] = item - } - } - return map - }, - mapToArray (map) { - if (!map) { - return [] - } - if (_.isArray(map)) { - return map - } - const array = [] - for (const key in map) { - const item = map[key] - item.key = key - array.push(item) - } - return array - } -} diff --git a/packages/core/api/src/utils/util.log.js b/packages/core/api/src/utils/util.log.js deleted file mode 100644 index 0abd0555..00000000 --- a/packages/core/api/src/utils/util.log.js +++ /dev/null @@ -1,7 +0,0 @@ -import log4js from 'log4js' -log4js.configure({ - appenders: { std: { type: 'stdout' } }, - categories: { default: { appenders: ['std'], level: 'info' } } -}) -const logger = log4js.getLogger('certd') -export default logger diff --git a/packages/core/api/src/utils/util.path.js b/packages/core/api/src/utils/util.path.js deleted file mode 100644 index 9b575de0..00000000 --- a/packages/core/api/src/utils/util.path.js +++ /dev/null @@ -1,9 +0,0 @@ -import path from 'path' - -function getUserBasePath () { - const userHome = process.env.USERPROFILE || process.env.HOME - return path.resolve(userHome, './.certd') -} -export default { - getUserBasePath -} diff --git a/packages/core/api/src/utils/util.request.js b/packages/core/api/src/utils/util.request.js deleted file mode 100644 index 7fe9b7e3..00000000 --- a/packages/core/api/src/utils/util.request.js +++ /dev/null @@ -1,57 +0,0 @@ -import axios from 'axios' -import qs from 'qs' -import logger from './util.log.js' -/** - * @description 创建请求实例 - */ -function createService () { - // 创建一个 axios 实例 - const service = axios.create() - // 请求拦截 - service.interceptors.request.use( - config => { - if (config.formData) { - config.data = qs.stringify(config.formData, { - arrayFormat: 'indices', - allowDots: true - }) // 序列化请求参数 - delete config.formData - } - return config - }, - error => { - // 发送失败 - logger.error(error) - return Promise.reject(error) - } - ) - // 响应拦截 - service.interceptors.response.use( - response => { - logger.info('http response:', JSON.stringify(response.data)) - return response.data - }, - error => { - // const status = _.get(error, 'response.status') - // switch (status) { - // case 400: error.message = '请求错误'; break - // case 401: error.message = '未授权,请登录'; break - // case 403: error.message = '拒绝访问'; break - // case 404: error.message = `请求地址出错: ${error.response.config.url}`; break - // case 408: error.message = '请求超时'; break - // case 500: error.message = '服务器内部错误'; break - // case 501: error.message = '服务未实现'; break - // case 502: error.message = '网关错误'; break - // case 503: error.message = '服务不可用'; break - // case 504: error.message = '网关超时'; break - // case 505: error.message = 'HTTP版本不受支持'; break - // default: break - // } - logger.error('请求出错:', error.response.config.url, error) - return Promise.reject(error) - } - ) - return service -} - -export const request = createService() diff --git a/packages/core/api/src/utils/util.sleep.js b/packages/core/api/src/utils/util.sleep.js deleted file mode 100644 index 298d90c2..00000000 --- a/packages/core/api/src/utils/util.sleep.js +++ /dev/null @@ -1,7 +0,0 @@ -export default function (timeout) { - return new Promise(resolve => { - setTimeout(() => { - resolve() - }, timeout) - }) -} diff --git a/packages/server/certd-server b/packages/server/certd-server index a0366be6..7782a7de 160000 --- a/packages/server/certd-server +++ b/packages/server/certd-server @@ -1 +1 @@ -Subproject commit a0366be6aeda29aa55d3c5b9f775fa3a27a322a3 +Subproject commit 7782a7de65f60e2b4611bca1e29b4ab19deec82b