ide-assi 0.204.0 → 0.206.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.cjs.js +5 -91
- package/dist/bundle.esm.js +5 -91
- package/dist/components/ideAi.js +51 -94
- package/package.json +1 -1
- package/src/components/ideAi.js +51 -94
package/dist/bundle.cjs.js
CHANGED
|
@@ -193642,24 +193642,18 @@ class IdeAi
|
|
|
193642
193642
|
return o;
|
|
193643
193643
|
};
|
|
193644
193644
|
|
|
193645
|
-
#generateRealFile = async (
|
|
193645
|
+
#generateRealFile = async (srcPath) => {
|
|
193646
193646
|
|
|
193647
193647
|
const files = ["mybatis.xml", "service.java", "controller.java", "react.jsx"];
|
|
193648
193648
|
|
|
193649
193649
|
const params = await Promise.all(
|
|
193650
193650
|
files.map(async (file) => ({
|
|
193651
|
-
path: ninegrid.decode(file, "mybatis.xml",
|
|
193651
|
+
path: ninegrid.decode(file, "mybatis.xml", srcPath.mybatis, "service.java", srcPath.service, "controller.java", srcPath.controller, "react.jsx", srcPath.javascript),
|
|
193652
193652
|
contents: await fetch(`/api/templates/${file}`).then(res => res.text()),
|
|
193653
193653
|
}))
|
|
193654
193654
|
);
|
|
193655
193655
|
|
|
193656
|
-
|
|
193657
|
-
method: "POST",
|
|
193658
|
-
headers: { "Content-Type": "application/json" },
|
|
193659
|
-
body: JSON.stringify({ list: params })
|
|
193660
|
-
});
|
|
193661
|
-
|
|
193662
|
-
return;
|
|
193656
|
+
api.post(`/api/source/generateRealFile`, { list: params });
|
|
193663
193657
|
};
|
|
193664
193658
|
|
|
193665
193659
|
#generateTmplFile = async (promptFile, generateFileName, params) => {
|
|
@@ -193670,16 +193664,6 @@ class IdeAi
|
|
|
193670
193664
|
fileNm: generateFileName,
|
|
193671
193665
|
contents: src,
|
|
193672
193666
|
});
|
|
193673
|
-
/**
|
|
193674
|
-
await fetch(`/api/source/generateTmplFile`, {
|
|
193675
|
-
method: "POST",
|
|
193676
|
-
headers: { "Content-Type": "application/json" },
|
|
193677
|
-
body: JSON.stringify({
|
|
193678
|
-
fileNm: generateFileName,
|
|
193679
|
-
contents: src,
|
|
193680
|
-
})
|
|
193681
|
-
});
|
|
193682
|
-
*/
|
|
193683
193667
|
|
|
193684
193668
|
return src;
|
|
193685
193669
|
};
|
|
@@ -193722,79 +193706,9 @@ class IdeAi
|
|
|
193722
193706
|
|
|
193723
193707
|
generateSourceClient = async (userPrompt) => {
|
|
193724
193708
|
|
|
193725
|
-
|
|
193726
|
-
this.#createModel();
|
|
193727
|
-
|
|
193728
|
-
const what = await this.#what(userPrompt);
|
|
193729
|
-
this.#parent.addMessage("명령을 이해했습니다.");
|
|
193730
|
-
|
|
193731
|
-
const where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
|
|
193732
|
-
this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.");
|
|
193733
|
-
|
|
193734
|
-
|
|
193735
|
-
console.log(where);
|
|
193736
|
-
|
|
193737
|
-
//packageName
|
|
193738
|
-
const srcPath = this.#getSourcePath(where.menu.url);
|
|
193739
|
-
//srcPath.package = this.#parent.config.basePackage + "." + srcPath.package;
|
|
193740
|
-
|
|
193741
|
-
console.log(srcPath);
|
|
193742
|
-
|
|
193743
|
-
|
|
193744
|
-
|
|
193745
|
-
const columnInfo = await this.#getColumnInfo(where.table);
|
|
193709
|
+
console.log(undefined.VITE_REACT_PROJECT_NAME);
|
|
193746
193710
|
|
|
193747
|
-
|
|
193748
|
-
const classPackage = "ide.assi.be." + where.package.split(".").slice(0, -1).join(".");
|
|
193749
|
-
|
|
193750
|
-
//const mybatisXmlSource = await this.#generateMyBatis(userPrompt, where.package, columnInfo);
|
|
193751
|
-
const mybatisXmlSource = await this.#generateTmplFile("/prompts/meta/BuildMyBatisMapper.txt", "mybatis.xml", {
|
|
193752
|
-
userPrompt: userPrompt,
|
|
193753
|
-
resultType: srcPath.resultType,
|
|
193754
|
-
namespace: srcPath.namespace,
|
|
193755
|
-
tableDefinitions: columnInfo
|
|
193756
|
-
});
|
|
193757
|
-
this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
193758
|
-
|
|
193759
|
-
const serviceSrc = await this.#generateTmplFile("/prompts/meta/BuildService.txt", "service.java", {
|
|
193760
|
-
userPrompt: userPrompt,
|
|
193761
|
-
baseClass: srcPath.baseClass,
|
|
193762
|
-
myBatisPath: srcPath.mybatis,
|
|
193763
|
-
namespace: srcPath.namespace,
|
|
193764
|
-
package: srcPath.package + ".service",
|
|
193765
|
-
mybatisXmlSource: mybatisXmlSource,
|
|
193766
|
-
});
|
|
193767
|
-
this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
193768
|
-
|
|
193769
|
-
const controllerSrc = await this.#generateTmplFile("/prompts/meta/BuildController.txt", "controller.java", {
|
|
193770
|
-
userPrompt: userPrompt,
|
|
193771
|
-
baseClass: srcPath.baseClass,
|
|
193772
|
-
menuUrl: where.menu.url,
|
|
193773
|
-
package: srcPath.package + ".controller",
|
|
193774
|
-
serviceSource: serviceSrc,
|
|
193775
|
-
});
|
|
193776
|
-
this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
|
|
193777
|
-
|
|
193778
|
-
return "OKKKK";
|
|
193779
|
-
|
|
193780
|
-
const jsSrc = await this.#generateTmplFile("/prompts/meta/BuildReactJsx.txt", "react.jsx", {
|
|
193781
|
-
userPrompt: userPrompt,
|
|
193782
|
-
menuUrl: where.menu.url,
|
|
193783
|
-
menuName: where.menu.name,
|
|
193784
|
-
controllerSource: controllerSrc,
|
|
193785
|
-
tableDefinitions: columnInfo,
|
|
193786
|
-
});
|
|
193787
|
-
this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
|
|
193788
|
-
|
|
193789
|
-
await this.#generateRealFile(where);
|
|
193790
|
-
}
|
|
193791
|
-
catch (error) {
|
|
193792
|
-
throw error;
|
|
193793
|
-
//console.log("========================");
|
|
193794
|
-
}
|
|
193795
|
-
|
|
193796
|
-
|
|
193797
|
-
return "OK";
|
|
193711
|
+
return;
|
|
193798
193712
|
}
|
|
193799
193713
|
}
|
|
193800
193714
|
|
package/dist/bundle.esm.js
CHANGED
|
@@ -193638,24 +193638,18 @@ class IdeAi
|
|
|
193638
193638
|
return o;
|
|
193639
193639
|
};
|
|
193640
193640
|
|
|
193641
|
-
#generateRealFile = async (
|
|
193641
|
+
#generateRealFile = async (srcPath) => {
|
|
193642
193642
|
|
|
193643
193643
|
const files = ["mybatis.xml", "service.java", "controller.java", "react.jsx"];
|
|
193644
193644
|
|
|
193645
193645
|
const params = await Promise.all(
|
|
193646
193646
|
files.map(async (file) => ({
|
|
193647
|
-
path: ninegrid.decode(file, "mybatis.xml",
|
|
193647
|
+
path: ninegrid.decode(file, "mybatis.xml", srcPath.mybatis, "service.java", srcPath.service, "controller.java", srcPath.controller, "react.jsx", srcPath.javascript),
|
|
193648
193648
|
contents: await fetch(`/api/templates/${file}`).then(res => res.text()),
|
|
193649
193649
|
}))
|
|
193650
193650
|
);
|
|
193651
193651
|
|
|
193652
|
-
|
|
193653
|
-
method: "POST",
|
|
193654
|
-
headers: { "Content-Type": "application/json" },
|
|
193655
|
-
body: JSON.stringify({ list: params })
|
|
193656
|
-
});
|
|
193657
|
-
|
|
193658
|
-
return;
|
|
193652
|
+
api.post(`/api/source/generateRealFile`, { list: params });
|
|
193659
193653
|
};
|
|
193660
193654
|
|
|
193661
193655
|
#generateTmplFile = async (promptFile, generateFileName, params) => {
|
|
@@ -193666,16 +193660,6 @@ class IdeAi
|
|
|
193666
193660
|
fileNm: generateFileName,
|
|
193667
193661
|
contents: src,
|
|
193668
193662
|
});
|
|
193669
|
-
/**
|
|
193670
|
-
await fetch(`/api/source/generateTmplFile`, {
|
|
193671
|
-
method: "POST",
|
|
193672
|
-
headers: { "Content-Type": "application/json" },
|
|
193673
|
-
body: JSON.stringify({
|
|
193674
|
-
fileNm: generateFileName,
|
|
193675
|
-
contents: src,
|
|
193676
|
-
})
|
|
193677
|
-
});
|
|
193678
|
-
*/
|
|
193679
193663
|
|
|
193680
193664
|
return src;
|
|
193681
193665
|
};
|
|
@@ -193718,79 +193702,9 @@ class IdeAi
|
|
|
193718
193702
|
|
|
193719
193703
|
generateSourceClient = async (userPrompt) => {
|
|
193720
193704
|
|
|
193721
|
-
|
|
193722
|
-
this.#createModel();
|
|
193723
|
-
|
|
193724
|
-
const what = await this.#what(userPrompt);
|
|
193725
|
-
this.#parent.addMessage("명령을 이해했습니다.");
|
|
193726
|
-
|
|
193727
|
-
const where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
|
|
193728
|
-
this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.");
|
|
193729
|
-
|
|
193730
|
-
|
|
193731
|
-
console.log(where);
|
|
193732
|
-
|
|
193733
|
-
//packageName
|
|
193734
|
-
const srcPath = this.#getSourcePath(where.menu.url);
|
|
193735
|
-
//srcPath.package = this.#parent.config.basePackage + "." + srcPath.package;
|
|
193736
|
-
|
|
193737
|
-
console.log(srcPath);
|
|
193738
|
-
|
|
193739
|
-
|
|
193740
|
-
|
|
193741
|
-
const columnInfo = await this.#getColumnInfo(where.table);
|
|
193705
|
+
console.log(import.meta.env.VITE_REACT_PROJECT_NAME);
|
|
193742
193706
|
|
|
193743
|
-
|
|
193744
|
-
const classPackage = "ide.assi.be." + where.package.split(".").slice(0, -1).join(".");
|
|
193745
|
-
|
|
193746
|
-
//const mybatisXmlSource = await this.#generateMyBatis(userPrompt, where.package, columnInfo);
|
|
193747
|
-
const mybatisXmlSource = await this.#generateTmplFile("/prompts/meta/BuildMyBatisMapper.txt", "mybatis.xml", {
|
|
193748
|
-
userPrompt: userPrompt,
|
|
193749
|
-
resultType: srcPath.resultType,
|
|
193750
|
-
namespace: srcPath.namespace,
|
|
193751
|
-
tableDefinitions: columnInfo
|
|
193752
|
-
});
|
|
193753
|
-
this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
193754
|
-
|
|
193755
|
-
const serviceSrc = await this.#generateTmplFile("/prompts/meta/BuildService.txt", "service.java", {
|
|
193756
|
-
userPrompt: userPrompt,
|
|
193757
|
-
baseClass: srcPath.baseClass,
|
|
193758
|
-
myBatisPath: srcPath.mybatis,
|
|
193759
|
-
namespace: srcPath.namespace,
|
|
193760
|
-
package: srcPath.package + ".service",
|
|
193761
|
-
mybatisXmlSource: mybatisXmlSource,
|
|
193762
|
-
});
|
|
193763
|
-
this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
193764
|
-
|
|
193765
|
-
const controllerSrc = await this.#generateTmplFile("/prompts/meta/BuildController.txt", "controller.java", {
|
|
193766
|
-
userPrompt: userPrompt,
|
|
193767
|
-
baseClass: srcPath.baseClass,
|
|
193768
|
-
menuUrl: where.menu.url,
|
|
193769
|
-
package: srcPath.package + ".controller",
|
|
193770
|
-
serviceSource: serviceSrc,
|
|
193771
|
-
});
|
|
193772
|
-
this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
|
|
193773
|
-
|
|
193774
|
-
return "OKKKK";
|
|
193775
|
-
|
|
193776
|
-
const jsSrc = await this.#generateTmplFile("/prompts/meta/BuildReactJsx.txt", "react.jsx", {
|
|
193777
|
-
userPrompt: userPrompt,
|
|
193778
|
-
menuUrl: where.menu.url,
|
|
193779
|
-
menuName: where.menu.name,
|
|
193780
|
-
controllerSource: controllerSrc,
|
|
193781
|
-
tableDefinitions: columnInfo,
|
|
193782
|
-
});
|
|
193783
|
-
this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
|
|
193784
|
-
|
|
193785
|
-
await this.#generateRealFile(where);
|
|
193786
|
-
}
|
|
193787
|
-
catch (error) {
|
|
193788
|
-
throw error;
|
|
193789
|
-
//console.log("========================");
|
|
193790
|
-
}
|
|
193791
|
-
|
|
193792
|
-
|
|
193793
|
-
return "OK";
|
|
193707
|
+
return;
|
|
193794
193708
|
}
|
|
193795
193709
|
}
|
|
193796
193710
|
|
package/dist/components/ideAi.js
CHANGED
|
@@ -226,38 +226,18 @@ export class IdeAi
|
|
|
226
226
|
return o;
|
|
227
227
|
};
|
|
228
228
|
|
|
229
|
-
#generateRealFile = async (
|
|
229
|
+
#generateRealFile = async (srcPath) => {
|
|
230
230
|
|
|
231
231
|
const files = ["mybatis.xml", "service.java", "controller.java", "react.jsx"];
|
|
232
232
|
|
|
233
233
|
const params = await Promise.all(
|
|
234
234
|
files.map(async (file) => ({
|
|
235
|
-
path: ninegrid.decode(file, "mybatis.xml",
|
|
235
|
+
path: ninegrid.decode(file, "mybatis.xml", srcPath.mybatis, "service.java", srcPath.service, "controller.java", srcPath.controller, "react.jsx", srcPath.javascript),
|
|
236
236
|
contents: await fetch(`/api/templates/${file}`).then(res => res.text()),
|
|
237
237
|
}))
|
|
238
238
|
);
|
|
239
239
|
|
|
240
|
-
|
|
241
|
-
method: "POST",
|
|
242
|
-
headers: { "Content-Type": "application/json" },
|
|
243
|
-
body: JSON.stringify({ list: params })
|
|
244
|
-
});
|
|
245
|
-
|
|
246
|
-
return;
|
|
247
|
-
|
|
248
|
-
return await new PromptTemplate({
|
|
249
|
-
template,
|
|
250
|
-
inputVariables: Object.keys(params),
|
|
251
|
-
}).format(params);
|
|
252
|
-
|
|
253
|
-
const response3 = await fetch(`/api/source/generateRealFile`, {
|
|
254
|
-
method: "POST",
|
|
255
|
-
headers: { "Content-Type": "application/json" },
|
|
256
|
-
body: JSON.stringify({
|
|
257
|
-
fileNm: filePath,
|
|
258
|
-
contents: src,
|
|
259
|
-
})
|
|
260
|
-
});
|
|
240
|
+
api.post(`/api/source/generateRealFile`, { list: params });
|
|
261
241
|
};
|
|
262
242
|
|
|
263
243
|
#generateTmplFile = async (promptFile, generateFileName, params) => {
|
|
@@ -268,16 +248,6 @@ export class IdeAi
|
|
|
268
248
|
fileNm: generateFileName,
|
|
269
249
|
contents: src,
|
|
270
250
|
});
|
|
271
|
-
/**
|
|
272
|
-
await fetch(`/api/source/generateTmplFile`, {
|
|
273
|
-
method: "POST",
|
|
274
|
-
headers: { "Content-Type": "application/json" },
|
|
275
|
-
body: JSON.stringify({
|
|
276
|
-
fileNm: generateFileName,
|
|
277
|
-
contents: src,
|
|
278
|
-
})
|
|
279
|
-
});
|
|
280
|
-
*/
|
|
281
251
|
|
|
282
252
|
return src;
|
|
283
253
|
};
|
|
@@ -320,77 +290,64 @@ export class IdeAi
|
|
|
320
290
|
|
|
321
291
|
generateSourceClient = async (userPrompt) => {
|
|
322
292
|
|
|
323
|
-
|
|
324
|
-
this.#createModel();
|
|
325
|
-
|
|
326
|
-
const what = await this.#what(userPrompt);
|
|
327
|
-
this.#parent.addMessage("명령을 이해했습니다.");
|
|
328
|
-
|
|
329
|
-
const where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
|
|
330
|
-
this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.")
|
|
331
|
-
|
|
293
|
+
console.log(import.meta.env.VITE_REACT_PROJECT_NAME);
|
|
332
294
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
//packageName
|
|
336
|
-
const srcPath = this.#getSourcePath(where.menu.url);
|
|
337
|
-
//srcPath.package = this.#parent.config.basePackage + "." + srcPath.package;
|
|
295
|
+
return;
|
|
338
296
|
|
|
339
|
-
|
|
297
|
+
this.#createModel();
|
|
340
298
|
|
|
299
|
+
const what = await this.#what(userPrompt);
|
|
300
|
+
this.#parent.addMessage("명령을 이해했습니다.");
|
|
341
301
|
|
|
302
|
+
const where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
|
|
303
|
+
this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.")
|
|
342
304
|
|
|
343
|
-
|
|
305
|
+
console.log(where);
|
|
344
306
|
|
|
345
|
-
|
|
346
|
-
const classPackage = "ide.assi.be." + where.package.split(".").slice(0, -1).join(".");
|
|
307
|
+
const srcPath = this.#getSourcePath(where.menu.url);
|
|
347
308
|
|
|
348
|
-
|
|
349
|
-
const mybatisXmlSource = await this.#generateTmplFile("/prompts/meta/BuildMyBatisMapper.txt", "mybatis.xml", {
|
|
350
|
-
userPrompt: userPrompt,
|
|
351
|
-
resultType: srcPath.resultType,
|
|
352
|
-
namespace: srcPath.namespace,
|
|
353
|
-
tableDefinitions: columnInfo
|
|
354
|
-
});
|
|
355
|
-
this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
309
|
+
console.log(srcPath);
|
|
356
310
|
|
|
357
|
-
|
|
358
|
-
userPrompt: userPrompt,
|
|
359
|
-
baseClass: srcPath.baseClass,
|
|
360
|
-
myBatisPath: srcPath.mybatis,
|
|
361
|
-
namespace: srcPath.namespace,
|
|
362
|
-
package: srcPath.package + ".service",
|
|
363
|
-
mybatisXmlSource: mybatisXmlSource,
|
|
364
|
-
});
|
|
365
|
-
this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
311
|
+
const columnInfo = await this.#getColumnInfo(where.table);
|
|
366
312
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
313
|
+
const mybatisXmlSource = await this.#generateTmplFile("/prompts/meta/BuildMyBatisMapper.txt", "mybatis.xml", {
|
|
314
|
+
userPrompt: userPrompt,
|
|
315
|
+
resultType: srcPath.resultType,
|
|
316
|
+
namespace: srcPath.namespace,
|
|
317
|
+
tableDefinitions: columnInfo
|
|
318
|
+
});
|
|
319
|
+
this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
320
|
+
|
|
321
|
+
const serviceSrc = await this.#generateTmplFile("/prompts/meta/BuildService.txt", "service.java", {
|
|
322
|
+
userPrompt: userPrompt,
|
|
323
|
+
baseClass: srcPath.baseClass,
|
|
324
|
+
myBatisPath: srcPath.mybatis,
|
|
325
|
+
namespace: srcPath.namespace,
|
|
326
|
+
package: srcPath.package + ".service",
|
|
327
|
+
mybatisXmlSource: mybatisXmlSource,
|
|
328
|
+
});
|
|
329
|
+
this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
330
|
+
|
|
331
|
+
const controllerSrc = await this.#generateTmplFile("/prompts/meta/BuildController.txt", "controller.java", {
|
|
332
|
+
userPrompt: userPrompt,
|
|
333
|
+
baseClass: srcPath.baseClass,
|
|
334
|
+
menuUrl: where.menu.url,
|
|
335
|
+
package: srcPath.package + ".controller",
|
|
336
|
+
serviceSource: serviceSrc,
|
|
337
|
+
});
|
|
338
|
+
this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
|
|
339
|
+
|
|
340
|
+
const jsSrc = await this.#generateTmplFile("/prompts/meta/BuildReactJsx.txt", "react.jsx", {
|
|
341
|
+
userPrompt: userPrompt,
|
|
342
|
+
menuUrl: where.menu.url,
|
|
343
|
+
menuName: where.menu.name,
|
|
344
|
+
baseClass: srcPath.baseClass,
|
|
345
|
+
controllerSource: controllerSrc,
|
|
346
|
+
tableDefinitions: columnInfo,
|
|
347
|
+
});
|
|
348
|
+
this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
|
|
393
349
|
|
|
350
|
+
await this.#generateRealFile(srcPath);
|
|
394
351
|
|
|
395
352
|
return "OK";
|
|
396
353
|
}
|
package/package.json
CHANGED
package/src/components/ideAi.js
CHANGED
|
@@ -226,38 +226,18 @@ export class IdeAi
|
|
|
226
226
|
return o;
|
|
227
227
|
};
|
|
228
228
|
|
|
229
|
-
#generateRealFile = async (
|
|
229
|
+
#generateRealFile = async (srcPath) => {
|
|
230
230
|
|
|
231
231
|
const files = ["mybatis.xml", "service.java", "controller.java", "react.jsx"];
|
|
232
232
|
|
|
233
233
|
const params = await Promise.all(
|
|
234
234
|
files.map(async (file) => ({
|
|
235
|
-
path: ninegrid.decode(file, "mybatis.xml",
|
|
235
|
+
path: ninegrid.decode(file, "mybatis.xml", srcPath.mybatis, "service.java", srcPath.service, "controller.java", srcPath.controller, "react.jsx", srcPath.javascript),
|
|
236
236
|
contents: await fetch(`/api/templates/${file}`).then(res => res.text()),
|
|
237
237
|
}))
|
|
238
238
|
);
|
|
239
239
|
|
|
240
|
-
|
|
241
|
-
method: "POST",
|
|
242
|
-
headers: { "Content-Type": "application/json" },
|
|
243
|
-
body: JSON.stringify({ list: params })
|
|
244
|
-
});
|
|
245
|
-
|
|
246
|
-
return;
|
|
247
|
-
|
|
248
|
-
return await new PromptTemplate({
|
|
249
|
-
template,
|
|
250
|
-
inputVariables: Object.keys(params),
|
|
251
|
-
}).format(params);
|
|
252
|
-
|
|
253
|
-
const response3 = await fetch(`/api/source/generateRealFile`, {
|
|
254
|
-
method: "POST",
|
|
255
|
-
headers: { "Content-Type": "application/json" },
|
|
256
|
-
body: JSON.stringify({
|
|
257
|
-
fileNm: filePath,
|
|
258
|
-
contents: src,
|
|
259
|
-
})
|
|
260
|
-
});
|
|
240
|
+
api.post(`/api/source/generateRealFile`, { list: params });
|
|
261
241
|
};
|
|
262
242
|
|
|
263
243
|
#generateTmplFile = async (promptFile, generateFileName, params) => {
|
|
@@ -268,16 +248,6 @@ export class IdeAi
|
|
|
268
248
|
fileNm: generateFileName,
|
|
269
249
|
contents: src,
|
|
270
250
|
});
|
|
271
|
-
/**
|
|
272
|
-
await fetch(`/api/source/generateTmplFile`, {
|
|
273
|
-
method: "POST",
|
|
274
|
-
headers: { "Content-Type": "application/json" },
|
|
275
|
-
body: JSON.stringify({
|
|
276
|
-
fileNm: generateFileName,
|
|
277
|
-
contents: src,
|
|
278
|
-
})
|
|
279
|
-
});
|
|
280
|
-
*/
|
|
281
251
|
|
|
282
252
|
return src;
|
|
283
253
|
};
|
|
@@ -320,77 +290,64 @@ export class IdeAi
|
|
|
320
290
|
|
|
321
291
|
generateSourceClient = async (userPrompt) => {
|
|
322
292
|
|
|
323
|
-
|
|
324
|
-
this.#createModel();
|
|
325
|
-
|
|
326
|
-
const what = await this.#what(userPrompt);
|
|
327
|
-
this.#parent.addMessage("명령을 이해했습니다.");
|
|
328
|
-
|
|
329
|
-
const where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
|
|
330
|
-
this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.")
|
|
331
|
-
|
|
293
|
+
console.log(import.meta.env.VITE_REACT_PROJECT_NAME);
|
|
332
294
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
//packageName
|
|
336
|
-
const srcPath = this.#getSourcePath(where.menu.url);
|
|
337
|
-
//srcPath.package = this.#parent.config.basePackage + "." + srcPath.package;
|
|
295
|
+
return;
|
|
338
296
|
|
|
339
|
-
|
|
297
|
+
this.#createModel();
|
|
340
298
|
|
|
299
|
+
const what = await this.#what(userPrompt);
|
|
300
|
+
this.#parent.addMessage("명령을 이해했습니다.");
|
|
341
301
|
|
|
302
|
+
const where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
|
|
303
|
+
this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.")
|
|
342
304
|
|
|
343
|
-
|
|
305
|
+
console.log(where);
|
|
344
306
|
|
|
345
|
-
|
|
346
|
-
const classPackage = "ide.assi.be." + where.package.split(".").slice(0, -1).join(".");
|
|
307
|
+
const srcPath = this.#getSourcePath(where.menu.url);
|
|
347
308
|
|
|
348
|
-
|
|
349
|
-
const mybatisXmlSource = await this.#generateTmplFile("/prompts/meta/BuildMyBatisMapper.txt", "mybatis.xml", {
|
|
350
|
-
userPrompt: userPrompt,
|
|
351
|
-
resultType: srcPath.resultType,
|
|
352
|
-
namespace: srcPath.namespace,
|
|
353
|
-
tableDefinitions: columnInfo
|
|
354
|
-
});
|
|
355
|
-
this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
309
|
+
console.log(srcPath);
|
|
356
310
|
|
|
357
|
-
|
|
358
|
-
userPrompt: userPrompt,
|
|
359
|
-
baseClass: srcPath.baseClass,
|
|
360
|
-
myBatisPath: srcPath.mybatis,
|
|
361
|
-
namespace: srcPath.namespace,
|
|
362
|
-
package: srcPath.package + ".service",
|
|
363
|
-
mybatisXmlSource: mybatisXmlSource,
|
|
364
|
-
});
|
|
365
|
-
this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
311
|
+
const columnInfo = await this.#getColumnInfo(where.table);
|
|
366
312
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
313
|
+
const mybatisXmlSource = await this.#generateTmplFile("/prompts/meta/BuildMyBatisMapper.txt", "mybatis.xml", {
|
|
314
|
+
userPrompt: userPrompt,
|
|
315
|
+
resultType: srcPath.resultType,
|
|
316
|
+
namespace: srcPath.namespace,
|
|
317
|
+
tableDefinitions: columnInfo
|
|
318
|
+
});
|
|
319
|
+
this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
320
|
+
|
|
321
|
+
const serviceSrc = await this.#generateTmplFile("/prompts/meta/BuildService.txt", "service.java", {
|
|
322
|
+
userPrompt: userPrompt,
|
|
323
|
+
baseClass: srcPath.baseClass,
|
|
324
|
+
myBatisPath: srcPath.mybatis,
|
|
325
|
+
namespace: srcPath.namespace,
|
|
326
|
+
package: srcPath.package + ".service",
|
|
327
|
+
mybatisXmlSource: mybatisXmlSource,
|
|
328
|
+
});
|
|
329
|
+
this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
330
|
+
|
|
331
|
+
const controllerSrc = await this.#generateTmplFile("/prompts/meta/BuildController.txt", "controller.java", {
|
|
332
|
+
userPrompt: userPrompt,
|
|
333
|
+
baseClass: srcPath.baseClass,
|
|
334
|
+
menuUrl: where.menu.url,
|
|
335
|
+
package: srcPath.package + ".controller",
|
|
336
|
+
serviceSource: serviceSrc,
|
|
337
|
+
});
|
|
338
|
+
this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
|
|
339
|
+
|
|
340
|
+
const jsSrc = await this.#generateTmplFile("/prompts/meta/BuildReactJsx.txt", "react.jsx", {
|
|
341
|
+
userPrompt: userPrompt,
|
|
342
|
+
menuUrl: where.menu.url,
|
|
343
|
+
menuName: where.menu.name,
|
|
344
|
+
baseClass: srcPath.baseClass,
|
|
345
|
+
controllerSource: controllerSrc,
|
|
346
|
+
tableDefinitions: columnInfo,
|
|
347
|
+
});
|
|
348
|
+
this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
|
|
393
349
|
|
|
350
|
+
await this.#generateRealFile(srcPath);
|
|
394
351
|
|
|
395
352
|
return "OK";
|
|
396
353
|
}
|