UNPKG

@mw-components/ali-oss

Version:

阿里云 OSS 命令行工具 ossutil 封装 midway.js 组件,提供 TypeScript 类型定义

99 lines 3.97 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 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; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AliOssSourceManager = void 0; /* eslint-disable @typescript-eslint/no-unnecessary-condition */ const node_assert_1 = __importDefault(require("node:assert")); const core_1 = require("@midwayjs/core"); const decorator_1 = require("@midwayjs/decorator"); const component_1 = require("./component"); const types_1 = require("./types"); let AliOssSourceManager = class AliOssSourceManager extends core_1.DataSourceManager { sourceConfig; logger; baseDir; async init() { if (!this.sourceConfig || !this.sourceConfig.dataSource) { this.logger.info('dataSourceConfig is not defined'); return; } // 需要注意的是,这里第二个参数需要传入一个实体类扫描地址 await this.initDataSource(this.sourceConfig, this.baseDir); } /** * 创建单个实例 */ async createDataSource(config, dataSourceName, cacheDataSource = true) { const cacheInst = cacheDataSource ? this.getDataSource(dataSourceName) : null; if (cacheDataSource && cacheInst) { return cacheInst; } const inst = new component_1.AliOssComponent(config); if (cacheDataSource && inst) { if (!this.sourceConfig.dataSource[dataSourceName]) { this.sourceConfig.dataSource[dataSourceName] = config; } } if (!cacheDataSource) { // saved in initDataSource this.dataSource.delete(dataSourceName); } return inst; } getName() { return types_1.ConfigKey.sourceManagerName; } async checkConnected(dataSource) { if (!dataSource) { return false; } try { return true; } catch (ex) { this.logger.error('[KmoreDbSourceManager]: checkConnected()', ex); } return false; } async destroyDataSource() { return; } getConfigByDbId(clientId) { (0, node_assert_1.default)(clientId); const config = this.sourceConfig.dataSource[clientId]; return config; } }; __decorate([ (0, decorator_1.Config)(types_1.ConfigKey.config), __metadata("design:type", Object) ], AliOssSourceManager.prototype, "sourceConfig", void 0); __decorate([ (0, decorator_1.Logger)(), __metadata("design:type", Object) ], AliOssSourceManager.prototype, "logger", void 0); __decorate([ (0, decorator_1.Inject)(), __metadata("design:type", String) ], AliOssSourceManager.prototype, "baseDir", void 0); __decorate([ (0, decorator_1.Init)(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise) ], AliOssSourceManager.prototype, "init", null); AliOssSourceManager = __decorate([ (0, decorator_1.Provide)(), (0, decorator_1.Scope)(decorator_1.ScopeEnum.Singleton) ], AliOssSourceManager); exports.AliOssSourceManager = AliOssSourceManager; //# sourceMappingURL=source-manager.js.map