UNPKG

@mwcp/ali-oss

Version:
74 lines 3.02 kB
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); }; /* eslint-disable @typescript-eslint/no-unnecessary-condition */ import assert from 'node:assert'; import { DataSourceManager, Init, Inject, Singleton, } from '@midwayjs/core'; import { MConfig } from '@mwcp/share'; import { AliOssComponent } from './component.js'; import { ConfigKey } from './types.js'; let AliOssSourceManager = class AliOssSourceManager extends DataSourceManager { sourceConfig; baseDir; async init() { assert(this.sourceConfig?.dataSource, 'dataSourceConfig is not defined'); // 需要注意的是,这里第二个参数需要传入一个实体类扫描地址 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 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 ConfigKey.sourceManagerName; } async checkConnected(dataSource) { if (!dataSource) { return false; } // @TODO check connection return true; } async destroyDataSource() { return; } }; __decorate([ MConfig(ConfigKey.config), __metadata("design:type", Object) ], AliOssSourceManager.prototype, "sourceConfig", void 0); __decorate([ Inject(), __metadata("design:type", String) ], AliOssSourceManager.prototype, "baseDir", void 0); __decorate([ Init(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise) ], AliOssSourceManager.prototype, "init", null); AliOssSourceManager = __decorate([ Singleton() ], AliOssSourceManager); export { AliOssSourceManager }; //# sourceMappingURL=source-manager.js.map