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.
@@ -193642,24 +193642,18 @@ class IdeAi
193642
193642
  return o;
193643
193643
  };
193644
193644
 
193645
- #generateRealFile = async (where) => {
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", where.mybatis, "service.java", where.service, "controller.java", where.controller, "react.jsx", where.javascript),
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
- await fetch(`/api/source/generateRealFile`, {
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
- try {
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
- //const namespace = where.package;
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
 
@@ -193638,24 +193638,18 @@ class IdeAi
193638
193638
  return o;
193639
193639
  };
193640
193640
 
193641
- #generateRealFile = async (where) => {
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", where.mybatis, "service.java", where.service, "controller.java", where.controller, "react.jsx", where.javascript),
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
- await fetch(`/api/source/generateRealFile`, {
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
- try {
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
- //const namespace = where.package;
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
 
@@ -226,38 +226,18 @@ export class IdeAi
226
226
  return o;
227
227
  };
228
228
 
229
- #generateRealFile = async (where) => {
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", where.mybatis, "service.java", where.service, "controller.java", where.controller, "react.jsx", where.javascript),
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
- await fetch(`/api/source/generateRealFile`, {
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
- try {
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
- console.log(where);
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
- console.log(srcPath);
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
- const columnInfo = await this.#getColumnInfo(where.table);
305
+ console.log(where);
344
306
 
345
- //const namespace = where.package;
346
- const classPackage = "ide.assi.be." + where.package.split(".").slice(0, -1).join(".");
307
+ const srcPath = this.#getSourcePath(where.menu.url);
347
308
 
348
- //const mybatisXmlSource = await this.#generateMyBatis(userPrompt, where.package, columnInfo);
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
- const serviceSrc = await this.#generateTmplFile("/prompts/meta/BuildService.txt", "service.java", {
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
- const controllerSrc = await this.#generateTmplFile("/prompts/meta/BuildController.txt", "controller.java", {
368
- userPrompt: userPrompt,
369
- baseClass: srcPath.baseClass,
370
- menuUrl: where.menu.url,
371
- package: srcPath.package + ".controller",
372
- serviceSource: serviceSrc,
373
- });
374
- this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
375
-
376
- return "OKKKK";
377
-
378
- const jsSrc = await this.#generateTmplFile("/prompts/meta/BuildReactJsx.txt", "react.jsx", {
379
- userPrompt: userPrompt,
380
- menuUrl: where.menu.url,
381
- menuName: where.menu.name,
382
- controllerSource: controllerSrc,
383
- tableDefinitions: columnInfo,
384
- });
385
- this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
386
-
387
- await this.#generateRealFile(where);
388
- }
389
- catch (error) {
390
- throw error;
391
- //console.log("========================");
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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ide-assi",
3
3
  "type": "module",
4
- "version": "0.204.0",
4
+ "version": "0.206.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
@@ -226,38 +226,18 @@ export class IdeAi
226
226
  return o;
227
227
  };
228
228
 
229
- #generateRealFile = async (where) => {
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", where.mybatis, "service.java", where.service, "controller.java", where.controller, "react.jsx", where.javascript),
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
- await fetch(`/api/source/generateRealFile`, {
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
- try {
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
- console.log(where);
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
- console.log(srcPath);
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
- const columnInfo = await this.#getColumnInfo(where.table);
305
+ console.log(where);
344
306
 
345
- //const namespace = where.package;
346
- const classPackage = "ide.assi.be." + where.package.split(".").slice(0, -1).join(".");
307
+ const srcPath = this.#getSourcePath(where.menu.url);
347
308
 
348
- //const mybatisXmlSource = await this.#generateMyBatis(userPrompt, where.package, columnInfo);
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
- const serviceSrc = await this.#generateTmplFile("/prompts/meta/BuildService.txt", "service.java", {
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
- const controllerSrc = await this.#generateTmplFile("/prompts/meta/BuildController.txt", "controller.java", {
368
- userPrompt: userPrompt,
369
- baseClass: srcPath.baseClass,
370
- menuUrl: where.menu.url,
371
- package: srcPath.package + ".controller",
372
- serviceSource: serviceSrc,
373
- });
374
- this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
375
-
376
- return "OKKKK";
377
-
378
- const jsSrc = await this.#generateTmplFile("/prompts/meta/BuildReactJsx.txt", "react.jsx", {
379
- userPrompt: userPrompt,
380
- menuUrl: where.menu.url,
381
- menuName: where.menu.name,
382
- controllerSource: controllerSrc,
383
- tableDefinitions: columnInfo,
384
- });
385
- this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
386
-
387
- await this.#generateRealFile(where);
388
- }
389
- catch (error) {
390
- throw error;
391
- //console.log("========================");
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
  }