youzanyun-devtool-worker
Version:
89 lines (88 loc) • 3.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
const path_1 = tslib_1.__importDefault(require("path"));
const spring4js_nodejs_1 = require("spring4js-nodejs");
let LocalJetbrainService = class LocalJetbrainService {
constructor() {
}
async getAllBepImplements(projectId) {
let project = await this.projectService.getProjectById(projectId);
let resData = await this.requestService.get('http://127.0.0.1:9000/extension/point/local/impl/queryAll', {
params: {
projectName: project.proName
}
});
if (+resData.code !== 200) {
throw new Error(resData.message);
}
return resData.data;
}
async getAllMepImplements(projectId) {
let project = await this.projectService.getProjectById(projectId);
let resData = await this.requestService.get('http://127.0.0.1:9000/message/impl/queryAll', {
params: {
projectName: project.proName
}
});
if (+resData.code !== 200) {
throw new Error(resData.message);
}
return resData.data;
}
async generateBepCode(projectId, info) {
let { bepId, packageName, className } = info;
let project = await this.projectService.getProjectById(projectId);
let { proPath, proName } = project;
let resData = await this.requestService.dubboCallWithAuthV2("com.youzan.mock.platform.api.ImplGeneratorService", "extPointImplGenerator", [
{
projectName: proName,
packageName: packageName,
implName: className,
extensionPointId: bepId,
}
], {
projectName: proName,
});
if (+resData.code !== 200) {
throw new Error(resData.message);
}
let classContent = Buffer.from(resData.data.byteData, 'base64').toString('utf8');
let dir = path_1.default.resolve(proPath, `${proName}-biz/src/main/java/${packageName.replace(/\./g, '/')}`);
await fs_extra_1.default.ensureDir(dir);
await fs_extra_1.default.writeFile(path_1.default.resolve(dir, `${className}.java`), classContent);
}
async generateMepCode(projectId, info) {
let { topic, packageName, className } = info;
let project = await this.projectService.getProjectById(projectId);
let { proPath, proName } = project;
let resData = await this.requestService.dubboCallWithAuthV2("com.youzan.mock.platform.api.ImplGeneratorService", "msgPushImplGenerator", [
{
projectName: proName,
packageName: packageName,
implName: className,
topic: topic,
}
], {
projectName: proName,
});
if (+resData.code !== 200) {
throw new Error(resData.message);
}
let classContent = Buffer.from(resData.data.byteData, 'base64').toString('utf8');
let dir = path_1.default.resolve(proPath, `${proName}-biz/src/main/java/${packageName.replace(/\./g, '/')}`);
await fs_extra_1.default.ensureDir(dir);
await fs_extra_1.default.writeFile(path_1.default.resolve(dir, `${className}.java`), classContent);
}
};
tslib_1.__decorate([
(0, spring4js_nodejs_1.Resource)()
], LocalJetbrainService.prototype, "projectService", void 0);
tslib_1.__decorate([
(0, spring4js_nodejs_1.Resource)()
], LocalJetbrainService.prototype, "requestService", void 0);
LocalJetbrainService = tslib_1.__decorate([
(0, spring4js_nodejs_1.Service)()
], LocalJetbrainService);
exports.default = LocalJetbrainService;