ide-assi 0.205.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 -85
- package/dist/bundle.esm.js +5 -85
- package/dist/components/ideAi.js +51 -88
- package/package.json +1 -1
- package/src/components/ideAi.js +51 -88
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,73 +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
|
-
console.log(where);
|
|
193735
|
-
|
|
193736
|
-
const srcPath = this.#getSourcePath(where.menu.url);
|
|
193737
|
-
|
|
193738
|
-
console.log(srcPath);
|
|
193739
|
-
|
|
193740
|
-
|
|
193741
|
-
|
|
193742
|
-
const columnInfo = await this.#getColumnInfo(where.table);
|
|
193709
|
+
console.log(undefined.VITE_REACT_PROJECT_NAME);
|
|
193743
193710
|
|
|
193744
|
-
|
|
193745
|
-
userPrompt: userPrompt,
|
|
193746
|
-
resultType: srcPath.resultType,
|
|
193747
|
-
namespace: srcPath.namespace,
|
|
193748
|
-
tableDefinitions: columnInfo
|
|
193749
|
-
});
|
|
193750
|
-
this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
193751
|
-
|
|
193752
|
-
const serviceSrc = await this.#generateTmplFile("/prompts/meta/BuildService.txt", "service.java", {
|
|
193753
|
-
userPrompt: userPrompt,
|
|
193754
|
-
baseClass: srcPath.baseClass,
|
|
193755
|
-
myBatisPath: srcPath.mybatis,
|
|
193756
|
-
namespace: srcPath.namespace,
|
|
193757
|
-
package: srcPath.package + ".service",
|
|
193758
|
-
mybatisXmlSource: mybatisXmlSource,
|
|
193759
|
-
});
|
|
193760
|
-
this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
193761
|
-
|
|
193762
|
-
const controllerSrc = await this.#generateTmplFile("/prompts/meta/BuildController.txt", "controller.java", {
|
|
193763
|
-
userPrompt: userPrompt,
|
|
193764
|
-
baseClass: srcPath.baseClass,
|
|
193765
|
-
menuUrl: where.menu.url,
|
|
193766
|
-
package: srcPath.package + ".controller",
|
|
193767
|
-
serviceSource: serviceSrc,
|
|
193768
|
-
});
|
|
193769
|
-
this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
|
|
193770
|
-
|
|
193771
|
-
const jsSrc = await this.#generateTmplFile("/prompts/meta/BuildReactJsx.txt", "react.jsx", {
|
|
193772
|
-
userPrompt: userPrompt,
|
|
193773
|
-
menuUrl: where.menu.url,
|
|
193774
|
-
menuName: where.menu.name,
|
|
193775
|
-
baseClass: srcPath.baseClass,
|
|
193776
|
-
controllerSource: controllerSrc,
|
|
193777
|
-
tableDefinitions: columnInfo,
|
|
193778
|
-
});
|
|
193779
|
-
this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
|
|
193780
|
-
|
|
193781
|
-
return "OKKKK";
|
|
193782
|
-
|
|
193783
|
-
await this.#generateRealFile(where);
|
|
193784
|
-
}
|
|
193785
|
-
catch (error) {
|
|
193786
|
-
throw error;
|
|
193787
|
-
//console.log("========================");
|
|
193788
|
-
}
|
|
193789
|
-
|
|
193790
|
-
|
|
193791
|
-
return "OK";
|
|
193711
|
+
return;
|
|
193792
193712
|
}
|
|
193793
193713
|
}
|
|
193794
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,73 +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
|
-
console.log(where);
|
|
193731
|
-
|
|
193732
|
-
const srcPath = this.#getSourcePath(where.menu.url);
|
|
193733
|
-
|
|
193734
|
-
console.log(srcPath);
|
|
193735
|
-
|
|
193736
|
-
|
|
193737
|
-
|
|
193738
|
-
const columnInfo = await this.#getColumnInfo(where.table);
|
|
193705
|
+
console.log(import.meta.env.VITE_REACT_PROJECT_NAME);
|
|
193739
193706
|
|
|
193740
|
-
|
|
193741
|
-
userPrompt: userPrompt,
|
|
193742
|
-
resultType: srcPath.resultType,
|
|
193743
|
-
namespace: srcPath.namespace,
|
|
193744
|
-
tableDefinitions: columnInfo
|
|
193745
|
-
});
|
|
193746
|
-
this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
193747
|
-
|
|
193748
|
-
const serviceSrc = await this.#generateTmplFile("/prompts/meta/BuildService.txt", "service.java", {
|
|
193749
|
-
userPrompt: userPrompt,
|
|
193750
|
-
baseClass: srcPath.baseClass,
|
|
193751
|
-
myBatisPath: srcPath.mybatis,
|
|
193752
|
-
namespace: srcPath.namespace,
|
|
193753
|
-
package: srcPath.package + ".service",
|
|
193754
|
-
mybatisXmlSource: mybatisXmlSource,
|
|
193755
|
-
});
|
|
193756
|
-
this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
193757
|
-
|
|
193758
|
-
const controllerSrc = await this.#generateTmplFile("/prompts/meta/BuildController.txt", "controller.java", {
|
|
193759
|
-
userPrompt: userPrompt,
|
|
193760
|
-
baseClass: srcPath.baseClass,
|
|
193761
|
-
menuUrl: where.menu.url,
|
|
193762
|
-
package: srcPath.package + ".controller",
|
|
193763
|
-
serviceSource: serviceSrc,
|
|
193764
|
-
});
|
|
193765
|
-
this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
|
|
193766
|
-
|
|
193767
|
-
const jsSrc = await this.#generateTmplFile("/prompts/meta/BuildReactJsx.txt", "react.jsx", {
|
|
193768
|
-
userPrompt: userPrompt,
|
|
193769
|
-
menuUrl: where.menu.url,
|
|
193770
|
-
menuName: where.menu.name,
|
|
193771
|
-
baseClass: srcPath.baseClass,
|
|
193772
|
-
controllerSource: controllerSrc,
|
|
193773
|
-
tableDefinitions: columnInfo,
|
|
193774
|
-
});
|
|
193775
|
-
this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
|
|
193776
|
-
|
|
193777
|
-
return "OKKKK";
|
|
193778
|
-
|
|
193779
|
-
await this.#generateRealFile(where);
|
|
193780
|
-
}
|
|
193781
|
-
catch (error) {
|
|
193782
|
-
throw error;
|
|
193783
|
-
//console.log("========================");
|
|
193784
|
-
}
|
|
193785
|
-
|
|
193786
|
-
|
|
193787
|
-
return "OK";
|
|
193707
|
+
return;
|
|
193788
193708
|
}
|
|
193789
193709
|
}
|
|
193790
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,71 +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
|
-
|
|
332
|
-
console.log(where);
|
|
333
|
-
|
|
334
|
-
const srcPath = this.#getSourcePath(where.menu.url);
|
|
335
|
-
|
|
336
|
-
console.log(srcPath);
|
|
293
|
+
console.log(import.meta.env.VITE_REACT_PROJECT_NAME);
|
|
337
294
|
|
|
295
|
+
return;
|
|
338
296
|
|
|
297
|
+
this.#createModel();
|
|
339
298
|
|
|
340
|
-
|
|
299
|
+
const what = await this.#what(userPrompt);
|
|
300
|
+
this.#parent.addMessage("명령을 이해했습니다.");
|
|
341
301
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
resultType: srcPath.resultType,
|
|
345
|
-
namespace: srcPath.namespace,
|
|
346
|
-
tableDefinitions: columnInfo
|
|
347
|
-
});
|
|
348
|
-
this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
302
|
+
const where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
|
|
303
|
+
this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.")
|
|
349
304
|
|
|
350
|
-
|
|
351
|
-
userPrompt: userPrompt,
|
|
352
|
-
baseClass: srcPath.baseClass,
|
|
353
|
-
myBatisPath: srcPath.mybatis,
|
|
354
|
-
namespace: srcPath.namespace,
|
|
355
|
-
package: srcPath.package + ".service",
|
|
356
|
-
mybatisXmlSource: mybatisXmlSource,
|
|
357
|
-
});
|
|
358
|
-
this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
305
|
+
console.log(where);
|
|
359
306
|
|
|
360
|
-
|
|
361
|
-
userPrompt: userPrompt,
|
|
362
|
-
baseClass: srcPath.baseClass,
|
|
363
|
-
menuUrl: where.menu.url,
|
|
364
|
-
package: srcPath.package + ".controller",
|
|
365
|
-
serviceSource: serviceSrc,
|
|
366
|
-
});
|
|
367
|
-
this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
|
|
307
|
+
const srcPath = this.#getSourcePath(where.menu.url);
|
|
368
308
|
|
|
369
|
-
|
|
370
|
-
userPrompt: userPrompt,
|
|
371
|
-
menuUrl: where.menu.url,
|
|
372
|
-
menuName: where.menu.name,
|
|
373
|
-
baseClass: srcPath.baseClass,
|
|
374
|
-
controllerSource: controllerSrc,
|
|
375
|
-
tableDefinitions: columnInfo,
|
|
376
|
-
});
|
|
377
|
-
this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
|
|
309
|
+
console.log(srcPath);
|
|
378
310
|
|
|
379
|
-
|
|
311
|
+
const columnInfo = await this.#getColumnInfo(where.table);
|
|
380
312
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
}
|
|
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) 소스파일을 생성했습니다.");
|
|
387
349
|
|
|
350
|
+
await this.#generateRealFile(srcPath);
|
|
388
351
|
|
|
389
352
|
return "OK";
|
|
390
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,71 +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
|
-
|
|
332
|
-
console.log(where);
|
|
333
|
-
|
|
334
|
-
const srcPath = this.#getSourcePath(where.menu.url);
|
|
335
|
-
|
|
336
|
-
console.log(srcPath);
|
|
293
|
+
console.log(import.meta.env.VITE_REACT_PROJECT_NAME);
|
|
337
294
|
|
|
295
|
+
return;
|
|
338
296
|
|
|
297
|
+
this.#createModel();
|
|
339
298
|
|
|
340
|
-
|
|
299
|
+
const what = await this.#what(userPrompt);
|
|
300
|
+
this.#parent.addMessage("명령을 이해했습니다.");
|
|
341
301
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
resultType: srcPath.resultType,
|
|
345
|
-
namespace: srcPath.namespace,
|
|
346
|
-
tableDefinitions: columnInfo
|
|
347
|
-
});
|
|
348
|
-
this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
302
|
+
const where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
|
|
303
|
+
this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.")
|
|
349
304
|
|
|
350
|
-
|
|
351
|
-
userPrompt: userPrompt,
|
|
352
|
-
baseClass: srcPath.baseClass,
|
|
353
|
-
myBatisPath: srcPath.mybatis,
|
|
354
|
-
namespace: srcPath.namespace,
|
|
355
|
-
package: srcPath.package + ".service",
|
|
356
|
-
mybatisXmlSource: mybatisXmlSource,
|
|
357
|
-
});
|
|
358
|
-
this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
305
|
+
console.log(where);
|
|
359
306
|
|
|
360
|
-
|
|
361
|
-
userPrompt: userPrompt,
|
|
362
|
-
baseClass: srcPath.baseClass,
|
|
363
|
-
menuUrl: where.menu.url,
|
|
364
|
-
package: srcPath.package + ".controller",
|
|
365
|
-
serviceSource: serviceSrc,
|
|
366
|
-
});
|
|
367
|
-
this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
|
|
307
|
+
const srcPath = this.#getSourcePath(where.menu.url);
|
|
368
308
|
|
|
369
|
-
|
|
370
|
-
userPrompt: userPrompt,
|
|
371
|
-
menuUrl: where.menu.url,
|
|
372
|
-
menuName: where.menu.name,
|
|
373
|
-
baseClass: srcPath.baseClass,
|
|
374
|
-
controllerSource: controllerSrc,
|
|
375
|
-
tableDefinitions: columnInfo,
|
|
376
|
-
});
|
|
377
|
-
this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
|
|
309
|
+
console.log(srcPath);
|
|
378
310
|
|
|
379
|
-
|
|
311
|
+
const columnInfo = await this.#getColumnInfo(where.table);
|
|
380
312
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
}
|
|
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) 소스파일을 생성했습니다.");
|
|
387
349
|
|
|
350
|
+
await this.#generateRealFile(srcPath);
|
|
388
351
|
|
|
389
352
|
return "OK";
|
|
390
353
|
}
|