cam-fe-code-generator 0.0.2 → 1.1.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.
Files changed (132) hide show
  1. package/README.md +275 -0
  2. package/dist/api/index.d.ts +11 -0
  3. package/dist/api/index.d.ts.map +1 -0
  4. package/dist/api/index.js +95 -0
  5. package/dist/api/index.js.map +1 -0
  6. package/dist/cli/add-service.d.ts +3 -0
  7. package/dist/cli/add-service.d.ts.map +1 -0
  8. package/dist/cli/add-service.js +41 -0
  9. package/dist/cli/add-service.js.map +1 -0
  10. package/dist/cli/config.d.ts +3 -0
  11. package/dist/cli/config.d.ts.map +1 -0
  12. package/dist/cli/config.js +29 -0
  13. package/dist/cli/config.js.map +1 -0
  14. package/dist/cli/index.d.ts +3 -0
  15. package/dist/cli/index.d.ts.map +1 -0
  16. package/dist/cli/index.js +23 -0
  17. package/dist/cli/index.js.map +1 -0
  18. package/dist/cli/init.d.ts +3 -0
  19. package/dist/cli/init.d.ts.map +1 -0
  20. package/dist/cli/init.js +64 -0
  21. package/dist/cli/init.js.map +1 -0
  22. package/dist/cli/login.d.ts +6 -0
  23. package/dist/cli/login.d.ts.map +1 -0
  24. package/dist/cli/login.js +132 -0
  25. package/dist/cli/login.js.map +1 -0
  26. package/dist/cli/service.d.ts +4 -0
  27. package/dist/cli/service.d.ts.map +1 -0
  28. package/dist/cli/service.js +46 -0
  29. package/dist/cli/service.js.map +1 -0
  30. package/dist/cli/update.d.ts +3 -0
  31. package/dist/cli/update.d.ts.map +1 -0
  32. package/dist/cli/update.js +13 -0
  33. package/dist/cli/update.js.map +1 -0
  34. package/dist/cli/user.d.ts +6 -0
  35. package/dist/cli/user.d.ts.map +1 -0
  36. package/dist/cli/user.js +138 -0
  37. package/dist/cli/user.js.map +1 -0
  38. package/dist/cli.js +5 -4
  39. package/dist/cli.js.map +1 -1
  40. package/dist/index.d.ts +1 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +0 -5
  43. package/dist/index.js.map +1 -1
  44. package/dist/request/index.d.ts +11 -0
  45. package/dist/request/index.d.ts.map +1 -0
  46. package/dist/request/index.js +96 -0
  47. package/dist/request/index.js.map +1 -0
  48. package/dist/services/apis/api/index.d.ts +12 -0
  49. package/dist/services/apis/api/index.d.ts.map +1 -0
  50. package/dist/services/apis/api/index.js +67 -0
  51. package/dist/services/apis/api/index.js.map +1 -0
  52. package/dist/services/apis/api/types.d.ts +215 -0
  53. package/dist/services/apis/api/types.d.ts.map +1 -0
  54. package/dist/services/apis/api/types.js +4 -0
  55. package/dist/services/apis/api/types.js.map +1 -0
  56. package/dist/services/apis/service/index.d.ts +17 -0
  57. package/dist/services/apis/service/index.d.ts.map +1 -0
  58. package/dist/services/apis/service/index.js +85 -0
  59. package/dist/services/apis/service/index.js.map +1 -0
  60. package/dist/services/apis/service/types.d.ts +136 -0
  61. package/dist/services/apis/service/types.d.ts.map +1 -0
  62. package/dist/services/apis/service/types.js +3 -0
  63. package/dist/services/apis/service/types.js.map +1 -0
  64. package/dist/services/apis/user/index.d.ts +8 -0
  65. package/dist/services/apis/user/index.d.ts.map +1 -0
  66. package/dist/services/apis/user/index.js +37 -0
  67. package/dist/services/apis/user/index.js.map +1 -0
  68. package/dist/services/apis/user/types.d.ts +48 -0
  69. package/dist/services/apis/user/types.d.ts.map +1 -0
  70. package/dist/services/apis/user/types.js +3 -0
  71. package/dist/services/apis/user/types.js.map +1 -0
  72. package/dist/services/code-generate/config.d.ts +14 -0
  73. package/dist/services/code-generate/config.d.ts.map +1 -0
  74. package/dist/services/code-generate/config.js +61 -0
  75. package/dist/services/code-generate/config.js.map +1 -0
  76. package/dist/services/code-generate/generator.d.ts +9 -0
  77. package/dist/services/code-generate/generator.d.ts.map +1 -0
  78. package/dist/services/code-generate/generator.js +151 -0
  79. package/dist/services/code-generate/generator.js.map +1 -0
  80. package/dist/services/code-generate/index.d.ts +4 -0
  81. package/dist/services/code-generate/index.d.ts.map +1 -0
  82. package/dist/services/code-generate/index.js +199 -0
  83. package/dist/services/code-generate/index.js.map +1 -0
  84. package/dist/services/index.d.ts +4 -0
  85. package/dist/services/index.d.ts.map +1 -0
  86. package/dist/services/index.js +16 -0
  87. package/dist/services/index.js.map +1 -0
  88. package/dist/services/types.d.ts +24 -0
  89. package/dist/services/types.d.ts.map +1 -0
  90. package/dist/services/types.js +3 -0
  91. package/dist/services/types.js.map +1 -0
  92. package/dist/templates/functions.d.ts +2 -0
  93. package/dist/templates/functions.d.ts.map +1 -0
  94. package/dist/templates/functions.js +10 -0
  95. package/dist/templates/functions.js.map +1 -0
  96. package/dist/templates/init.d.ts +3 -0
  97. package/dist/templates/init.d.ts.map +1 -0
  98. package/dist/templates/init.js +12 -0
  99. package/dist/templates/init.js.map +1 -0
  100. package/dist/templates/request-demo.d.ts +2 -0
  101. package/dist/templates/request-demo.d.ts.map +1 -0
  102. package/dist/templates/request-demo.js +26 -0
  103. package/dist/templates/request-demo.js.map +1 -0
  104. package/dist/templates/service-class.d.ts +19 -0
  105. package/dist/templates/service-class.d.ts.map +1 -0
  106. package/dist/templates/service-class.js +107 -0
  107. package/dist/templates/service-class.js.map +1 -0
  108. package/dist/templates/serviceClass.d.ts +19 -0
  109. package/dist/templates/serviceClass.d.ts.map +1 -0
  110. package/dist/templates/serviceClass.js +107 -0
  111. package/dist/templates/serviceClass.js.map +1 -0
  112. package/dist/templates/types.d.ts +2 -0
  113. package/dist/templates/types.d.ts.map +1 -0
  114. package/dist/templates/types.js +10 -0
  115. package/dist/templates/types.js.map +1 -0
  116. package/dist/utils/data-manager.d.ts +14 -0
  117. package/dist/utils/data-manager.d.ts.map +1 -0
  118. package/dist/utils/data-manager.js +93 -0
  119. package/dist/utils/data-manager.js.map +1 -0
  120. package/dist/utils/token-manager.d.ts +14 -0
  121. package/dist/utils/token-manager.d.ts.map +1 -0
  122. package/dist/utils/token-manager.js +93 -0
  123. package/dist/utils/token-manager.js.map +1 -0
  124. package/dist/utils/utils.d.ts +6 -0
  125. package/dist/utils/utils.d.ts.map +1 -0
  126. package/dist/utils/utils.js +79 -0
  127. package/dist/utils/utils.js.map +1 -0
  128. package/dist/version.d.ts +2 -0
  129. package/dist/version.d.ts.map +1 -0
  130. package/dist/version.js +5 -0
  131. package/dist/version.js.map +1 -0
  132. package/package.json +10 -4
@@ -0,0 +1,48 @@
1
+ export interface LoginRequest {
2
+ username: string;
3
+ password: string;
4
+ }
5
+ export interface LoginResponse {
6
+ status: number;
7
+ message: string;
8
+ access_token: string;
9
+ }
10
+ export interface RegisterRequest {
11
+ username: string;
12
+ password: string;
13
+ nickname: string;
14
+ email: string;
15
+ role: string;
16
+ }
17
+ export interface RegisterResponse {
18
+ status: number;
19
+ message: string;
20
+ }
21
+ export interface ModifyPasswordRequest {
22
+ old_password: string;
23
+ new_password: string;
24
+ }
25
+ export interface ModifyPasswordResponse {
26
+ status: number;
27
+ message: string;
28
+ }
29
+ export interface UserResponse {
30
+ status: number;
31
+ message: string;
32
+ user: UserProfile;
33
+ }
34
+ export interface UserProfile {
35
+ id: number;
36
+ username: string;
37
+ nickname: string;
38
+ email: string;
39
+ role: string;
40
+ level: number;
41
+ created_at: string;
42
+ }
43
+ export interface GetUserByUsernameOrNicknameOrEmailResponse {
44
+ status: number;
45
+ message: string;
46
+ users: UserProfile[];
47
+ }
48
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/apis/user/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0CAA0C;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,WAAW,EAAE,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/services/apis/user/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ export interface CamConfig {
2
+ services: Record<string, any>;
3
+ outDir: string;
4
+ generateConfig: {
5
+ [key: string]: any;
6
+ };
7
+ }
8
+ export declare const getConfig: () => CamConfig;
9
+ export declare const getServices: () => Record<string, any>;
10
+ export declare const getOutDir: () => string;
11
+ export declare const getGenerateConfig: () => {
12
+ [key: string]: any;
13
+ };
14
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/services/code-generate/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACtB,CAAC;CACL;AAID,eAAO,MAAM,SAAS,QAAO,SAa5B,CAAC;AAEF,eAAO,MAAM,WAAW,2BAA6B,CAAC;AACtD,eAAO,MAAM,SAAS,cAA2B,CAAC;AAClD,eAAO,MAAM,iBAAiB;;CAAmC,CAAC"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getGenerateConfig = exports.getOutDir = exports.getServices = exports.getConfig = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const init_1 = require("../../templates/init");
40
+ const getConfigPath = () => path.join(process.cwd(), init_1.CONFIG_FILE_NAME);
41
+ const getConfig = () => {
42
+ const configPath = getConfigPath();
43
+ if (!fs.existsSync(configPath)) {
44
+ throw new Error(`${init_1.CONFIG_FILE_NAME} not found in current directory. Please run 'cam init' first.`);
45
+ }
46
+ try {
47
+ const content = fs.readFileSync(configPath, 'utf-8');
48
+ return JSON.parse(content);
49
+ }
50
+ catch (error) {
51
+ throw new Error(`Failed to parse ${init_1.CONFIG_FILE_NAME}: ${error}`);
52
+ }
53
+ };
54
+ exports.getConfig = getConfig;
55
+ const getServices = () => (0, exports.getConfig)().services;
56
+ exports.getServices = getServices;
57
+ const getOutDir = () => (0, exports.getConfig)().outDir;
58
+ exports.getOutDir = getOutDir;
59
+ const getGenerateConfig = () => (0, exports.getConfig)().generateConfig;
60
+ exports.getGenerateConfig = getGenerateConfig;
61
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/services/code-generate/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAwD;AAUxD,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,uBAAgB,CAAC,CAAC;AAEhE,MAAM,SAAS,GAAG,GAAc,EAAE;IACrC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,uBAAgB,+DAA+D,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,uBAAgB,KAAK,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;AACL,CAAC,CAAC;AAbW,QAAA,SAAS,aAapB;AAEK,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,IAAA,iBAAS,GAAE,CAAC,QAAQ,CAAC;AAAzC,QAAA,WAAW,eAA8B;AAC/C,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAA,iBAAS,GAAE,CAAC,MAAM,CAAC;AAArC,QAAA,SAAS,aAA4B;AAC3C,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,IAAA,iBAAS,GAAE,CAAC,cAAc,CAAC;AAArD,QAAA,iBAAiB,qBAAoC"}
@@ -0,0 +1,9 @@
1
+ import { ApiOption } from "../../templates/service-class";
2
+ import { ApiDetail, ApiDraftDetail } from "../apis/api/types";
3
+ interface GeneratedCode {
4
+ namespaces: string[];
5
+ apiOption: ApiOption;
6
+ }
7
+ export declare const generateTSCode: (api: ApiDetail | ApiDraftDetail) => GeneratedCode;
8
+ export {};
9
+ //# sourceMappingURL=generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/services/code-generate/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EACH,SAAS,EACT,cAAc,EAMjB,MAAM,mBAAmB,CAAC;AAE3B,UAAU,aAAa;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;CACxB;AA+FD,eAAO,MAAM,cAAc,GACvB,KAAK,SAAS,GAAG,cAAc,KAChC,aA6GF,CAAC"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateTSCode = void 0;
4
+ const utils_1 = require("../../utils/utils");
5
+ const tsTypeMap = (type, arrayChildType) => {
6
+ switch (type) {
7
+ case "int":
8
+ case "float":
9
+ case "double":
10
+ case "long":
11
+ return "number";
12
+ case "string":
13
+ case "text":
14
+ return "string";
15
+ case "boolean":
16
+ case "bool":
17
+ return "boolean";
18
+ case "array":
19
+ case "list":
20
+ if (arrayChildType) {
21
+ return `${tsTypeMap(arrayChildType)}[]`;
22
+ }
23
+ return "any[]";
24
+ case "object":
25
+ case "map":
26
+ return "any"; // Complex objects are handled by creating new interfaces
27
+ default:
28
+ return "any";
29
+ }
30
+ };
31
+ const generateInterface = (name, params, _parentName = "") => {
32
+ const interfaces = [];
33
+ const fields = [];
34
+ const interfaceName = `${(0, utils_1.capitalizeFirstLetter)(name)}`;
35
+ params.forEach((param) => {
36
+ let type = tsTypeMap(param.type, param.array_child_type);
37
+ const fieldName = param.name;
38
+ const isOptional = !param.required;
39
+ const comment = param.description
40
+ ? ` /* ${param.description} */\n`
41
+ : "";
42
+ if (param.type === "object" &&
43
+ param.children_params &&
44
+ param.children_params.length > 0) {
45
+ // 添加interfaceName前缀防止命名冲突
46
+ const childInterfaceName = `${interfaceName}${(0, utils_1.capitalizeFirstLetter)(fieldName)}`;
47
+ const childInterfaces = generateInterface(childInterfaceName, param.children_params, interfaceName);
48
+ interfaces.push(...childInterfaces);
49
+ type = childInterfaceName; // Use the generated interface name
50
+ }
51
+ else if (param.type === "array" &&
52
+ param.array_child_type === "object" &&
53
+ param.children_params &&
54
+ param.children_params.length > 0) {
55
+ // Handle array of objects if needed
56
+ // 添加interfaceName前缀防止命名冲突
57
+ const childInterfaceName = `${interfaceName}${(0, utils_1.capitalizeFirstLetter)(fieldName)}Item`;
58
+ const childInterfaces = generateInterface(childInterfaceName, param.children_params, interfaceName);
59
+ interfaces.push(...childInterfaces);
60
+ type = `${childInterfaceName}[]`;
61
+ }
62
+ fields.push(`${comment} ${fieldName}${isOptional ? "?" : ""}: ${type};`);
63
+ });
64
+ const currentInterface = `export interface ${interfaceName} {\n${fields.join("\n")}\n}`;
65
+ interfaces.push(currentInterface);
66
+ return interfaces;
67
+ };
68
+ const generateTSCode = (api) => {
69
+ var _a, _b, _c, _d, _e;
70
+ const namespaces = [];
71
+ let requestInterfaceName = "";
72
+ let responseInterfaceName = "";
73
+ // 5类请求参数分别生成的interface名和所有类别响应参数生成的interface名
74
+ let reqBodyInterfaceName = "";
75
+ let reqQueryInterfaceName = "";
76
+ let reqPathInterfaceName = "";
77
+ let reqHeaderInterfaceName = "";
78
+ let reqCookieInterfaceName = "";
79
+ let respInterfaceNames = [];
80
+ // 1. Generate Request Interface (Query, Body, etc.)
81
+ const requestParams = api.request_params_by_location ||
82
+ {};
83
+ for (const location of Object.keys(requestParams)) {
84
+ const params = requestParams[location];
85
+ if (params.length > 0) {
86
+ requestInterfaceName = `${(0, utils_1.capitalizeFirstLetter)(api.name)}${(0, utils_1.capitalizeFirstLetter)(location)}Request`;
87
+ const reqInterfaces = generateInterface(requestInterfaceName, params);
88
+ switch (location) {
89
+ case "body":
90
+ reqBodyInterfaceName = requestInterfaceName;
91
+ break;
92
+ case "query":
93
+ reqQueryInterfaceName = requestInterfaceName;
94
+ break;
95
+ case "path":
96
+ reqPathInterfaceName = requestInterfaceName;
97
+ break;
98
+ case "header":
99
+ reqHeaderInterfaceName = requestInterfaceName;
100
+ break;
101
+ case "cookie":
102
+ reqCookieInterfaceName = requestInterfaceName;
103
+ break;
104
+ }
105
+ namespaces.push(...reqInterfaces);
106
+ }
107
+ }
108
+ // 2. Generate Response Interface
109
+ const responseParams = api.response_params_by_status_code ||
110
+ {};
111
+ for (const statusCode of Object.keys(responseParams)) {
112
+ const params = responseParams[Number(statusCode)];
113
+ if (!params) {
114
+ continue;
115
+ }
116
+ if (params.length > 0) {
117
+ responseInterfaceName = `${(0, utils_1.capitalizeFirstLetter)(api.name)}${statusCode}Response`;
118
+ const resInterfaces = generateInterface(responseInterfaceName, params);
119
+ respInterfaceNames.push(responseInterfaceName);
120
+ namespaces.push(...resInterfaces);
121
+ }
122
+ }
123
+ // 3. Generate Index Preparation
124
+ const apiOption = {
125
+ functionName: `${(0, utils_1.capitalizeFirstLetter)(api.name)}${api.method}`,
126
+ apiMethod: api.method,
127
+ apiPath: api.path,
128
+ reqBodyInterfaceName,
129
+ reqQueryInterfaceName,
130
+ reqPathInterfaceName,
131
+ reqHeaderInterfaceName,
132
+ reqCookieInterfaceName,
133
+ respInterfaceNames,
134
+ reqBodyFields: ((_a = api.request_params_by_location) === null || _a === void 0 ? void 0 : _a.body.map((param) => param.name)) ||
135
+ [],
136
+ reqQueryFields: ((_b = api.request_params_by_location) === null || _b === void 0 ? void 0 : _b.query.map((param) => param.name)) ||
137
+ [],
138
+ reqPathFields: ((_c = api.request_params_by_location) === null || _c === void 0 ? void 0 : _c.path.map((param) => param.name)) ||
139
+ [],
140
+ reqHeaderFields: ((_d = api.request_params_by_location) === null || _d === void 0 ? void 0 : _d.header.map((param) => param.name)) ||
141
+ [],
142
+ reqCookieFields: ((_e = api.request_params_by_location) === null || _e === void 0 ? void 0 : _e.cookie.map((param) => param.name)) ||
143
+ [],
144
+ };
145
+ return {
146
+ namespaces,
147
+ apiOption,
148
+ };
149
+ };
150
+ exports.generateTSCode = generateTSCode;
151
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/services/code-generate/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const storeServiceInfo: (name: string, service_uuid: string, version: string) => Promise<void>;
2
+ export declare const removeService: (serviceName: string) => Promise<void>;
3
+ export declare const pullAllApisInAllServices: () => Promise<void>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/code-generate/index.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,gBAAgB,GACzB,MAAM,MAAM,EACZ,cAAc,MAAM,EACpB,SAAS,MAAM,kBA0ClB,CAAC;AAGF,eAAO,MAAM,aAAa,GAAU,aAAa,MAAM,kBAgBtD,CAAC;AAGF,eAAO,MAAM,wBAAwB,qBA4FpC,CAAC"}
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.pullAllApisInAllServices = exports.removeService = exports.storeServiceInfo = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const init_1 = require("../../templates/init");
40
+ const service_1 = require("../apis/service");
41
+ const api_1 = require("../apis/api");
42
+ const generator_1 = require("./generator");
43
+ const service_class_1 = require("../../templates/service-class");
44
+ const utils_1 = require("../../utils/utils");
45
+ const request_demo_1 = require("../../templates/request-demo");
46
+ const autoGeneratePrefix = `
47
+ // THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
48
+ /* eslint-disable */
49
+ /* tslint:disable */
50
+ // @ts-nocheck\n
51
+ `;
52
+ const readConfig = () => {
53
+ if (!fs.existsSync(init_1.CONFIG_FILE_NAME)) {
54
+ return {};
55
+ }
56
+ try {
57
+ const content = fs.readFileSync(init_1.CONFIG_FILE_NAME, "utf-8");
58
+ return JSON.parse(content);
59
+ }
60
+ catch (error) {
61
+ return {};
62
+ }
63
+ };
64
+ // 拉取service信息并存储到cam.config.json
65
+ const storeServiceInfo = async (name, service_uuid, version) => {
66
+ const config = readConfig();
67
+ // 检查name是否已存在
68
+ if (config.services && config.services[name]) {
69
+ console.warn(`Service name ${name} already exists`);
70
+ process.exit(1);
71
+ }
72
+ // 检查service_uuid是否已存在
73
+ if (Object.values(config.services || {}).some((v) => {
74
+ const [existingUuid] = v.split("@");
75
+ return existingUuid === service_uuid;
76
+ })) {
77
+ console.warn(`Service ${service_uuid} already exists. If you want to update the version, please remove this service first.`);
78
+ process.exit(1);
79
+ }
80
+ try {
81
+ const res = await (0, service_1.GetServiceByUuidAndVersion)(service_uuid, version);
82
+ if (res.status !== 200) {
83
+ console.warn(res.message || "Failed to get service info");
84
+ process.exit(1);
85
+ }
86
+ if (!config.services) {
87
+ config.services = {};
88
+ }
89
+ config.services[name] = `${service_uuid}@${version}`;
90
+ fs.writeFileSync(init_1.CONFIG_FILE_NAME, JSON.stringify(config, null, 2) + "\n");
91
+ console.log(`Service ${name} added successfully`);
92
+ // 拉取api(初次通过cli添加服务时进行拉取)
93
+ await (0, exports.pullAllApisInAllServices)();
94
+ }
95
+ catch (error) {
96
+ console.error(error);
97
+ process.exit(1);
98
+ }
99
+ };
100
+ exports.storeServiceInfo = storeServiceInfo;
101
+ // 从cam.config.json中删除service
102
+ const removeService = async (serviceName) => {
103
+ const config = readConfig();
104
+ if (!config.services || !config.services[serviceName]) {
105
+ console.warn(`Service name ${serviceName} does not exist`);
106
+ process.exit(1);
107
+ }
108
+ delete config.services[serviceName];
109
+ try {
110
+ fs.writeFileSync(init_1.CONFIG_FILE_NAME, JSON.stringify(config, null, 2));
111
+ console.log(`Successfully removed service ${serviceName}`);
112
+ // 拉取api(删除服务时,更新api)
113
+ await (0, exports.pullAllApisInAllServices)();
114
+ }
115
+ catch (error) {
116
+ console.error(`Failed to remove service ${serviceName}:`, error);
117
+ process.exit(1);
118
+ }
119
+ };
120
+ exports.removeService = removeService;
121
+ // 基于cam.config.json中存储的service信息,拉取全部service的全部api
122
+ const pullAllApisInAllServices = async () => {
123
+ const config = readConfig();
124
+ if (!config.services || Object.keys(config.services).length === 0) {
125
+ console.warn("No service has been added yet. Please use 'cam add <name:uuid@version>' to add a service first.");
126
+ process.exit(1);
127
+ }
128
+ // 清空cam-auto-generate目录下的所有文件
129
+ const outDir = config.outDir || ".";
130
+ if (fs.existsSync(outDir)) {
131
+ // 递归删除整个目录及其内容
132
+ fs.rmSync(outDir, { recursive: true, force: true });
133
+ }
134
+ // 重新创建一个干净的目录
135
+ fs.mkdirSync(outDir, { recursive: true });
136
+ // 遍历cam.config.json中存储的service信息,拉取全部service的全部api
137
+ for (const [name, UuidAndVersion] of Object.entries(config.services)) {
138
+ const [service_uuid, version] = UuidAndVersion.split("@");
139
+ if (!service_uuid || !version) {
140
+ console.warn(`Invalid service info ${UuidAndVersion} for service ${name}. Please use 'cam add <name:uuid@version>' to add instead.`);
141
+ continue;
142
+ }
143
+ let apiOptions = [];
144
+ // 拉取service信息
145
+ try {
146
+ const serviceRes = await (0, service_1.GetServiceByUuidAndVersion)(service_uuid, version);
147
+ if (serviceRes.status !== 200) {
148
+ console.warn(`Failed to get service info for service ${name}: ${serviceRes.message}`);
149
+ continue;
150
+ }
151
+ const apis = "apis" in serviceRes.service
152
+ ? serviceRes.service.apis
153
+ : "api_drafts" in serviceRes.service
154
+ ? serviceRes.service.api_drafts || []
155
+ : [];
156
+ const isLatest = serviceRes.is_latest;
157
+ console.log(`Service ${name} has ${apis.length} apis`);
158
+ // 获取api的参数信息
159
+ for (const api of apis) {
160
+ const apiRes = await (0, api_1.GetApiById)(api.id, isLatest);
161
+ if (apiRes.status !== 200) {
162
+ console.warn(`Failed to get api info for api ${api.name} in service ${name}: ${apiRes.message}`);
163
+ continue;
164
+ }
165
+ const apiDetail = apiRes.api;
166
+ // 生成ts代码
167
+ const apiOption = await generateTSCodeByApiDetailAndWriteToFiles(apiDetail, name, outDir);
168
+ apiOptions.push(apiOption);
169
+ }
170
+ }
171
+ catch (error) {
172
+ console.error(`Failed to get service info for service ${name}: ${error}`);
173
+ continue;
174
+ }
175
+ // 一个service统一生成index.ts
176
+ const outputDir = path.join(outDir || ".", name);
177
+ const code = await (0, utils_1.formatCodeByPrettier)((0, service_class_1.serviceClassCode)(name, apiOptions));
178
+ fs.appendFileSync(path.join(outputDir, "index.ts"), code);
179
+ }
180
+ // 生成request-demo.ts
181
+ const demoServiceName = (0, utils_1.capitalizeFirstLetter)(Object.keys(config.services)[0] || "Demo");
182
+ const code = await (0, utils_1.formatCodeByPrettier)((0, request_demo_1.requestDemoCode)(demoServiceName));
183
+ fs.appendFileSync(path.join(outDir || ".", "request-demo.ts"), code);
184
+ console.log(`All services' apis have been generated in ${outDir || "."}.`);
185
+ };
186
+ exports.pullAllApisInAllServices = pullAllApisInAllServices;
187
+ const generateTSCodeByApiDetailAndWriteToFiles = async (api, serviceName, outDir) => {
188
+ const { namespaces, apiOption } = (0, generator_1.generateTSCode)(api);
189
+ const outputDir = path.join(outDir || ".", serviceName);
190
+ if (!fs.existsSync(outputDir)) {
191
+ fs.mkdirSync(outputDir, { recursive: true });
192
+ fs.writeFileSync(path.join(outputDir, "index.ts"), autoGeneratePrefix);
193
+ fs.writeFileSync(path.join(outputDir, "namespaces.ts"), autoGeneratePrefix);
194
+ }
195
+ const code = await (0, utils_1.formatCodeByPrettier)(namespaces.join("\n\n") + "\n\n");
196
+ fs.appendFileSync(path.join(outputDir, "namespaces.ts"), code);
197
+ return apiOption;
198
+ };
199
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/code-generate/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { LoginRequest, LoginResponse, UserResponse } from "./types";
2
+ export declare const UserLogin: (data: LoginRequest) => Promise<LoginResponse>;
3
+ export declare const GetMyInfo: () => Promise<UserResponse>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKzE,eAAO,MAAM,SAAS,GAAU,MAAM,YAAY,2BAEjD,CAAC;AAGF,eAAO,MAAM,SAAS,6BAErB,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetMyInfo = exports.UserLogin = void 0;
4
+ const api_1 = require("../api");
5
+ const prefix = "/v1/user";
6
+ // 用户登录
7
+ const UserLogin = async (data) => {
8
+ return api_1.api.post(`${prefix}/login`, data);
9
+ };
10
+ exports.UserLogin = UserLogin;
11
+ // 获取当前登录用户信息
12
+ const GetMyInfo = async () => {
13
+ return api_1.api.get(`${prefix}/getMyInfo`);
14
+ };
15
+ exports.GetMyInfo = GetMyInfo;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;AAAA,gCAA6B;AAG7B,MAAM,MAAM,GAAG,UAAU,CAAC;AAE1B,OAAO;AACA,MAAM,SAAS,GAAG,KAAK,EAAE,IAAkB,EAAE,EAAE;IAClD,OAAO,SAAG,CAAC,IAAI,CAAgB,GAAG,MAAM,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEF,aAAa;AACN,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;IAChC,OAAO,SAAG,CAAC,GAAG,CAAe,GAAG,MAAM,YAAY,CAAC,CAAC;AACxD,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB"}
@@ -0,0 +1,24 @@
1
+ export interface LoginRequest {
2
+ username: string;
3
+ password: string;
4
+ }
5
+ export interface LoginResponse {
6
+ status: number;
7
+ message: string;
8
+ access_token: string;
9
+ }
10
+ export interface UserResponse {
11
+ status: number;
12
+ message: string;
13
+ user: UserProfile;
14
+ }
15
+ export interface UserProfile {
16
+ id: number;
17
+ username: string;
18
+ nickname: string;
19
+ email: string;
20
+ role: string;
21
+ level: number;
22
+ created_at: string;
23
+ }
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const PREFIX = "\n// THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n/* eslint-disable */\n/* tslint:disable */\n// @ts-nocheck\n";
2
+ //# sourceMappingURL=functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/templates/functions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,sIAKlB,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PREFIX = void 0;
4
+ exports.PREFIX = `
5
+ // THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
6
+ /* eslint-disable */
7
+ /* tslint:disable */
8
+ // @ts-nocheck
9
+ `;
10
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/templates/functions.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;;;;;CAKrB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const CONFIG_FILE_NAME = "cam.config.json";
2
+ export declare const CONFIG_FILE_CONTENT = "\n{\n \"services\": {},\n \"outDir\": \"cam-auto-generate\",\n \"generateConfig\": {}\n}\n";
3
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/templates/init.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAElD,eAAO,MAAM,mBAAmB,kGAM/B,CAAC"}