create-ssnode-cli 0.2.2 → 0.2.3

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 (203) hide show
  1. package/package.json +1 -1
  2. package/templates/backend/config/config.develop.yaml +6 -4
  3. package/templates/backend/data/template.dev.sqlite-shm +0 -0
  4. package/templates/backend/data/template.dev.sqlite-wal +0 -0
  5. package/templates/backend/dist/app.module.js +85 -1
  6. package/templates/backend/dist/app.module.js.map +1 -1
  7. package/templates/backend/dist/common/all-exceptions.filter.js +47 -1
  8. package/templates/backend/dist/common/all-exceptions.filter.js.map +1 -1
  9. package/templates/backend/dist/common/app-crypto.js +119 -1
  10. package/templates/backend/dist/common/app-crypto.js.map +1 -1
  11. package/templates/backend/dist/common/app-sign.guard.js +72 -1
  12. package/templates/backend/dist/common/app-sign.guard.js.map +1 -1
  13. package/templates/backend/dist/common/app-sign.module.js +20 -1
  14. package/templates/backend/dist/common/app-sign.module.js.map +1 -1
  15. package/templates/backend/dist/common/response.js +23 -1
  16. package/templates/backend/dist/common/response.js.map +1 -1
  17. package/templates/backend/dist/common/throttle.guard.js +42 -1
  18. package/templates/backend/dist/common/throttle.guard.js.map +1 -1
  19. package/templates/backend/dist/common/transform.interceptor.js +28 -1
  20. package/templates/backend/dist/common/transform.interceptor.js.map +1 -1
  21. package/templates/backend/dist/config/config.interface.js +2 -1
  22. package/templates/backend/dist/config/config.interface.js.map +1 -1
  23. package/templates/backend/dist/config/configuration.js +91 -1
  24. package/templates/backend/dist/config/configuration.js.map +1 -1
  25. package/templates/backend/dist/database/migrations/0001-init.migration.js +69 -1
  26. package/templates/backend/dist/database/migrations/0001-init.migration.js.map +1 -1
  27. package/templates/backend/dist/database/sqlite.config.js +32 -1
  28. package/templates/backend/dist/database/sqlite.config.js.map +1 -1
  29. package/templates/backend/dist/entities/audit-log.entity.js +49 -1
  30. package/templates/backend/dist/entities/audit-log.entity.js.map +1 -1
  31. package/templates/backend/dist/entities/image.entity.js +50 -1
  32. package/templates/backend/dist/entities/image.entity.js.map +1 -1
  33. package/templates/backend/dist/entities/page-data.entity.js +60 -1
  34. package/templates/backend/dist/entities/page-data.entity.js.map +1 -1
  35. package/templates/backend/dist/entities/screen-config.entity.js +74 -1
  36. package/templates/backend/dist/entities/screen-config.entity.js.map +1 -1
  37. package/templates/backend/dist/entities/user.entity.js +59 -1
  38. package/templates/backend/dist/entities/user.entity.js.map +1 -1
  39. package/templates/backend/dist/main.js +56 -1
  40. package/templates/backend/dist/main.js.map +1 -1
  41. package/templates/backend/dist/modules/audit/audit.controller.js +51 -1
  42. package/templates/backend/dist/modules/audit/audit.controller.js.map +1 -1
  43. package/templates/backend/dist/modules/audit/audit.module.js +25 -1
  44. package/templates/backend/dist/modules/audit/audit.module.js.map +1 -1
  45. package/templates/backend/dist/modules/audit/audit.service.js +57 -1
  46. package/templates/backend/dist/modules/audit/audit.service.js.map +1 -1
  47. package/templates/backend/dist/modules/auth/auth.controller.js +74 -1
  48. package/templates/backend/dist/modules/auth/auth.controller.js.map +1 -1
  49. package/templates/backend/dist/modules/auth/auth.module.js +45 -1
  50. package/templates/backend/dist/modules/auth/auth.module.js.map +1 -1
  51. package/templates/backend/dist/modules/auth/auth.service.js +151 -1
  52. package/templates/backend/dist/modules/auth/auth.service.js.map +1 -1
  53. package/templates/backend/dist/modules/auth/captcha.service.js +56 -1
  54. package/templates/backend/dist/modules/auth/captcha.service.js.map +1 -1
  55. package/templates/backend/dist/modules/auth/jwt-auth.guard.js +17 -1
  56. package/templates/backend/dist/modules/auth/jwt-auth.guard.js.map +1 -1
  57. package/templates/backend/dist/modules/auth/jwt.strategy.js +37 -1
  58. package/templates/backend/dist/modules/auth/jwt.strategy.js.map +1 -1
  59. package/templates/backend/dist/modules/image/image.controller.js +75 -1
  60. package/templates/backend/dist/modules/image/image.controller.js.map +1 -1
  61. package/templates/backend/dist/modules/image/image.module.js +26 -1
  62. package/templates/backend/dist/modules/image/image.module.js.map +1 -1
  63. package/templates/backend/dist/modules/image/image.service.js +94 -1
  64. package/templates/backend/dist/modules/image/image.service.js.map +1 -1
  65. package/templates/backend/dist/modules/ops/backend-version.probe.js +58 -1
  66. package/templates/backend/dist/modules/ops/backend-version.probe.js.map +1 -1
  67. package/templates/backend/dist/modules/ops/ops-probe.interface.js +4 -1
  68. package/templates/backend/dist/modules/ops/ops-probe.interface.js.map +1 -1
  69. package/templates/backend/dist/modules/ops/ops.controller.js +52 -1
  70. package/templates/backend/dist/modules/ops/ops.controller.js.map +1 -1
  71. package/templates/backend/dist/modules/ops/ops.module.js +39 -1
  72. package/templates/backend/dist/modules/ops/ops.module.js.map +1 -1
  73. package/templates/backend/dist/modules/ops/ops.service.js +72 -1
  74. package/templates/backend/dist/modules/ops/ops.service.js.map +1 -1
  75. package/templates/backend/dist/modules/ops/sqlite-backup-list.probe.js +105 -1
  76. package/templates/backend/dist/modules/ops/sqlite-backup-list.probe.js.map +1 -1
  77. package/templates/backend/dist/modules/ops/sqlite-backup-log.probe.js +67 -1
  78. package/templates/backend/dist/modules/ops/sqlite-backup-log.probe.js.map +1 -1
  79. package/templates/backend/dist/modules/ops/sqlite-backup.probe.js +115 -1
  80. package/templates/backend/dist/modules/ops/sqlite-backup.probe.js.map +1 -1
  81. package/templates/backend/dist/modules/ops/version.controller.js +52 -1
  82. package/templates/backend/dist/modules/ops/version.controller.js.map +1 -1
  83. package/templates/backend/dist/modules/page-data/page-data.controller.js +109 -1
  84. package/templates/backend/dist/modules/page-data/page-data.controller.js.map +1 -1
  85. package/templates/backend/dist/modules/page-data/page-data.module.js +25 -1
  86. package/templates/backend/dist/modules/page-data/page-data.module.js.map +1 -1
  87. package/templates/backend/dist/modules/page-data/page-data.service.js +69 -1
  88. package/templates/backend/dist/modules/page-data/page-data.service.js.map +1 -1
  89. package/templates/backend/dist/modules/screen-config/screen-config.controller.js +61 -1
  90. package/templates/backend/dist/modules/screen-config/screen-config.controller.js.map +1 -1
  91. package/templates/backend/dist/modules/screen-config/screen-config.module.js +25 -1
  92. package/templates/backend/dist/modules/screen-config/screen-config.module.js.map +1 -1
  93. package/templates/backend/dist/modules/screen-config/screen-config.service.js +41 -1
  94. package/templates/backend/dist/modules/screen-config/screen-config.service.js.map +1 -1
  95. package/templates/backend/dist/modules/upload/upload.controller.js +65 -1
  96. package/templates/backend/dist/modules/upload/upload.controller.js.map +1 -1
  97. package/templates/backend/dist/modules/upload/upload.module.js +22 -1
  98. package/templates/backend/dist/modules/upload/upload.module.js.map +1 -1
  99. package/templates/backend/dist/modules/upload/upload.service.js +75 -1
  100. package/templates/backend/dist/modules/upload/upload.service.js.map +1 -1
  101. package/templates/backend/dist/modules/user/user.controller.js +149 -1
  102. package/templates/backend/dist/modules/user/user.controller.js.map +1 -1
  103. package/templates/backend/dist/modules/user/user.module.js +26 -1
  104. package/templates/backend/dist/modules/user/user.module.js.map +1 -1
  105. package/templates/backend/dist/modules/user/user.service.js +249 -1
  106. package/templates/backend/dist/modules/user/user.service.js.map +1 -1
  107. package/templates/backend/dist/modules/websocket/websocket.gateway.js +33 -1
  108. package/templates/backend/dist/modules/websocket/websocket.gateway.js.map +1 -1
  109. package/templates/backend/dist/modules/websocket/websocket.module.js +19 -1
  110. package/templates/backend/dist/modules/websocket/websocket.module.js.map +1 -1
  111. package/templates/backend/dist/tsconfig.build.tsbuildinfo +1 -1
  112. package/templates/backend/package.json +1 -1
  113. package/templates/backend/src/modules/auth/captcha.service.ts +6 -5
  114. package/templates/web/dist/assets/{AuthLayout-bcf98efb.js → AuthLayout-f1e8d110.js} +1 -1
  115. package/templates/web/dist/assets/{AuthLayout-legacy-6e7a8ae1.js → AuthLayout-legacy-f871651c.js} +1 -1
  116. package/templates/web/dist/assets/{Background-eb77ef54.js → Background-955d549f.js} +1 -1
  117. package/templates/web/dist/assets/{Background-legacy-50457007.js → Background-legacy-fbad6e76.js} +1 -1
  118. package/templates/web/dist/assets/{Screen-318c3fc2.js → Screen-b14b0813.js} +1 -1
  119. package/templates/web/dist/assets/{Screen-legacy-af123b0f.js → Screen-legacy-154c8ee6.js} +1 -1
  120. package/templates/web/dist/assets/{api-beff4a3e.js → api-4d80e36e.js} +1 -1
  121. package/templates/web/dist/assets/{api-legacy-9fe41d4b.js → api-legacy-054fd569.js} +1 -1
  122. package/templates/web/dist/assets/{component-89b5253e.js → component-9d9f33fa.js} +1 -1
  123. package/templates/web/dist/assets/{component-legacy-8c5a28ef.js → component-legacy-4445386a.js} +1 -1
  124. package/templates/web/dist/assets/{index-a79e448b.js → index-107a0e80.js} +1 -1
  125. package/templates/web/dist/assets/{index-b60badf7.js → index-5afb70be.js} +1 -1
  126. package/templates/web/dist/assets/{index-cba19800.js → index-7b807c2d.js} +1 -1
  127. package/templates/web/dist/assets/{index-86214b19.js → index-ab64cd34.js} +1 -1
  128. package/templates/web/dist/assets/{index-7277cbfb.js → index-d8bfffb3.js} +1 -1
  129. package/templates/web/dist/assets/{index-d70eb540.js → index-db169639.js} +1 -1
  130. package/templates/web/dist/assets/{index-bd4ed808.js → index-e08dc495.js} +1 -1
  131. package/templates/web/dist/assets/index-e31f4b7c.js +1 -0
  132. package/templates/web/dist/assets/{index-legacy-783129a7.js → index-legacy-5cf7be80.js} +1 -1
  133. package/templates/web/dist/assets/index-legacy-6f112001.js +1 -0
  134. package/templates/web/dist/assets/{index-legacy-b3bd40c1.js → index-legacy-91e012ac.js} +1 -1
  135. package/templates/web/dist/assets/{index-legacy-0da8de82.js → index-legacy-aa61cf72.js} +1 -1
  136. package/templates/web/dist/assets/{index-legacy-06483318.js → index-legacy-afba9135.js} +1 -1
  137. package/templates/web/dist/assets/{index-legacy-d510e318.js → index-legacy-da51c769.js} +1 -1
  138. package/templates/web/dist/assets/{index-legacy-993ef005.js → index-legacy-eec0ca6e.js} +1 -1
  139. package/templates/web/dist/assets/{index-legacy-feb54578.js → index-legacy-f732db29.js} +1 -1
  140. package/templates/web/dist/index.html +2 -2
  141. package/templates/web/node_modules/.vite/deps/@ant-design_icons.js +4 -4
  142. package/templates/web/node_modules/.vite/deps/_metadata.json +57 -57
  143. package/templates/web/node_modules/.vite/deps/antd.js +6 -6
  144. package/templates/web/node_modules/.vite/deps/antd_locale_zh_CN.js +1 -1
  145. package/templates/web/node_modules/.vite/deps/axios.js +2793 -1104
  146. package/templates/web/node_modules/.vite/deps/axios.js.map +4 -4
  147. package/templates/web/node_modules/.vite/deps/{chunk-FADIZLW4.js → chunk-3EE4ABTD.js} +3 -3
  148. package/templates/web/node_modules/.vite/deps/{chunk-5JEEJ3ET.js → chunk-3KXTUEQ5.js} +2 -2
  149. package/templates/web/node_modules/.vite/deps/{chunk-DSEUD2VO.js → chunk-622VOE6C.js} +28 -237
  150. package/templates/web/node_modules/.vite/deps/chunk-622VOE6C.js.map +7 -0
  151. package/templates/web/node_modules/.vite/deps/{chunk-PCLWPLHU.js → chunk-AX2S74EI.js} +4 -4
  152. package/templates/web/node_modules/.vite/deps/{chunk-UX3FVGZU.js → chunk-DXNXWKU4.js} +1670 -1309
  153. package/templates/web/node_modules/.vite/deps/chunk-DXNXWKU4.js.map +7 -0
  154. package/templates/web/node_modules/.vite/deps/{chunk-OTDKR2HU.js → chunk-GT2UP6M4.js} +2 -2
  155. package/templates/web/node_modules/.vite/deps/{chunk-5WWUZCGV.js → chunk-HM4MQYWN.js} +10 -2
  156. package/templates/web/node_modules/.vite/deps/{chunk-Z4XTF2JV.js → chunk-NDUAOA7M.js} +2 -2
  157. package/templates/web/node_modules/.vite/deps/{chunk-PIIG5WB7.js → chunk-OKY2XKJX.js} +14406 -12416
  158. package/templates/web/node_modules/.vite/deps/chunk-OKY2XKJX.js.map +7 -0
  159. package/templates/web/node_modules/.vite/deps/{chunk-UIM57Q7Y.js → chunk-SC6QO7UO.js} +6086 -4354
  160. package/templates/web/node_modules/.vite/deps/chunk-SC6QO7UO.js.map +7 -0
  161. package/templates/web/node_modules/.vite/deps/classnames.js +2 -2
  162. package/templates/web/node_modules/.vite/deps/dayjs.js +2 -2
  163. package/templates/web/node_modules/.vite/deps/dayjs_locale_zh-cn.js +2 -2
  164. package/templates/web/node_modules/.vite/deps/echarts_charts.js +7172 -6102
  165. package/templates/web/node_modules/.vite/deps/echarts_charts.js.map +4 -4
  166. package/templates/web/node_modules/.vite/deps/echarts_components.js +3363 -1326
  167. package/templates/web/node_modules/.vite/deps/echarts_components.js.map +4 -4
  168. package/templates/web/node_modules/.vite/deps/echarts_core.js +57 -42
  169. package/templates/web/node_modules/.vite/deps/echarts_core.js.map +3 -3
  170. package/templates/web/node_modules/.vite/deps/echarts_renderers.js +432 -334
  171. package/templates/web/node_modules/.vite/deps/echarts_renderers.js.map +4 -4
  172. package/templates/web/node_modules/.vite/deps/exceljs.js +25762 -0
  173. package/templates/web/node_modules/.vite/deps/exceljs.js.map +7 -0
  174. package/templates/web/node_modules/.vite/deps/lodash.js +28 -10
  175. package/templates/web/node_modules/.vite/deps/lodash.js.map +3 -3
  176. package/templates/web/node_modules/.vite/deps/path-browserify.js +1 -1
  177. package/templates/web/node_modules/.vite/deps/prop-types.js +1 -1
  178. package/templates/web/node_modules/.vite/deps/qs.js +405 -138
  179. package/templates/web/node_modules/.vite/deps/qs.js.map +4 -4
  180. package/templates/web/node_modules/.vite/deps/react-dom.js +3 -3
  181. package/templates/web/node_modules/.vite/deps/react-dom_client.js +3 -3
  182. package/templates/web/node_modules/.vite/deps/react-router-dom.js +3445 -1283
  183. package/templates/web/node_modules/.vite/deps/react-router-dom.js.map +4 -4
  184. package/templates/web/node_modules/.vite/deps/react.js +2 -2
  185. package/templates/web/node_modules/.vite/deps/react_jsx-dev-runtime.js +2 -2
  186. package/templates/web/node_modules/.vite/deps/recoil.js +3 -3
  187. package/templates/web/src/pages/Login/index.tsx +8 -1
  188. package/templates/web/src/services/api.ts +6 -1
  189. package/templates/web/vite.config.js +5 -5
  190. package/templates/web/dist/assets/index-e6071630.js +0 -1
  191. package/templates/web/dist/assets/index-legacy-028ed5d5.js +0 -1
  192. package/templates/web/node_modules/.vite/deps/chunk-DSEUD2VO.js.map +0 -7
  193. package/templates/web/node_modules/.vite/deps/chunk-PIIG5WB7.js.map +0 -7
  194. package/templates/web/node_modules/.vite/deps/chunk-UIM57Q7Y.js.map +0 -7
  195. package/templates/web/node_modules/.vite/deps/chunk-UX3FVGZU.js.map +0 -7
  196. package/templates/web/node_modules/.vite/deps/xlsx.js +0 -33827
  197. package/templates/web/node_modules/.vite/deps/xlsx.js.map +0 -7
  198. /package/templates/web/node_modules/.vite/deps/{chunk-FADIZLW4.js.map → chunk-3EE4ABTD.js.map} +0 -0
  199. /package/templates/web/node_modules/.vite/deps/{chunk-5JEEJ3ET.js.map → chunk-3KXTUEQ5.js.map} +0 -0
  200. /package/templates/web/node_modules/.vite/deps/{chunk-PCLWPLHU.js.map → chunk-AX2S74EI.js.map} +0 -0
  201. /package/templates/web/node_modules/.vite/deps/{chunk-OTDKR2HU.js.map → chunk-GT2UP6M4.js.map} +0 -0
  202. /package/templates/web/node_modules/.vite/deps/{chunk-5WWUZCGV.js.map → chunk-HM4MQYWN.js.map} +0 -0
  203. /package/templates/web/node_modules/.vite/deps/{chunk-Z4XTF2JV.js.map → chunk-NDUAOA7M.js.map} +0 -0
@@ -1,2 +1,75 @@
1
- "use strict";var __decorate=this&&this.__decorate||function(e,t,o,n){var r,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,o,n);else for(var _=e.length-1;_>=0;_--)(r=e[_])&&(a=(i<3?r(a):i>3?r(t,o,a):r(t,o))||a);return i>3&&a&&Object.defineProperty(t,o,a),a},__metadata=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ScreenConfigEntity=void 0;const typeorm_1=require("typeorm");let ScreenConfigEntity=class{id;key;name;path;component;width;height;enabled;sort;createTime;updateTime};exports.ScreenConfigEntity=ScreenConfigEntity,__decorate([(0,typeorm_1.PrimaryGeneratedColumn)(),__metadata("design:type",Number)],ScreenConfigEntity.prototype,"id",void 0),__decorate([(0,typeorm_1.Column)({unique:!0}),__metadata("design:type",String)],ScreenConfigEntity.prototype,"key",void 0),__decorate([(0,typeorm_1.Column)(),__metadata("design:type",String)],ScreenConfigEntity.prototype,"name",void 0),__decorate([(0,typeorm_1.Column)(),__metadata("design:type",String)],ScreenConfigEntity.prototype,"path",void 0),__decorate([(0,typeorm_1.Column)(),__metadata("design:type",String)],ScreenConfigEntity.prototype,"component",void 0),__decorate([(0,typeorm_1.Column)(),__metadata("design:type",Number)],ScreenConfigEntity.prototype,"width",void 0),__decorate([(0,typeorm_1.Column)(),__metadata("design:type",Number)],ScreenConfigEntity.prototype,"height",void 0),__decorate([(0,typeorm_1.Column)({default:!0}),__metadata("design:type",Boolean)],ScreenConfigEntity.prototype,"enabled",void 0),__decorate([(0,typeorm_1.Column)({default:0}),__metadata("design:type",Number)],ScreenConfigEntity.prototype,"sort",void 0),__decorate([(0,typeorm_1.CreateDateColumn)(),__metadata("design:type",Date)],ScreenConfigEntity.prototype,"createTime",void 0),__decorate([(0,typeorm_1.UpdateDateColumn)(),__metadata("design:type",Date)],ScreenConfigEntity.prototype,"updateTime",void 0),exports.ScreenConfigEntity=ScreenConfigEntity=__decorate([(0,typeorm_1.Entity)("screen_config")],ScreenConfigEntity);
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ScreenConfigEntity = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ let ScreenConfigEntity = class ScreenConfigEntity {
15
+ id;
16
+ key;
17
+ name;
18
+ path;
19
+ component;
20
+ width;
21
+ height;
22
+ enabled;
23
+ sort;
24
+ createTime;
25
+ updateTime;
26
+ };
27
+ exports.ScreenConfigEntity = ScreenConfigEntity;
28
+ __decorate([
29
+ (0, typeorm_1.PrimaryGeneratedColumn)(),
30
+ __metadata("design:type", Number)
31
+ ], ScreenConfigEntity.prototype, "id", void 0);
32
+ __decorate([
33
+ (0, typeorm_1.Column)({ unique: true }),
34
+ __metadata("design:type", String)
35
+ ], ScreenConfigEntity.prototype, "key", void 0);
36
+ __decorate([
37
+ (0, typeorm_1.Column)(),
38
+ __metadata("design:type", String)
39
+ ], ScreenConfigEntity.prototype, "name", void 0);
40
+ __decorate([
41
+ (0, typeorm_1.Column)(),
42
+ __metadata("design:type", String)
43
+ ], ScreenConfigEntity.prototype, "path", void 0);
44
+ __decorate([
45
+ (0, typeorm_1.Column)(),
46
+ __metadata("design:type", String)
47
+ ], ScreenConfigEntity.prototype, "component", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)(),
50
+ __metadata("design:type", Number)
51
+ ], ScreenConfigEntity.prototype, "width", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)(),
54
+ __metadata("design:type", Number)
55
+ ], ScreenConfigEntity.prototype, "height", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ default: true }),
58
+ __metadata("design:type", Boolean)
59
+ ], ScreenConfigEntity.prototype, "enabled", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.Column)({ default: 0 }),
62
+ __metadata("design:type", Number)
63
+ ], ScreenConfigEntity.prototype, "sort", void 0);
64
+ __decorate([
65
+ (0, typeorm_1.CreateDateColumn)(),
66
+ __metadata("design:type", Date)
67
+ ], ScreenConfigEntity.prototype, "createTime", void 0);
68
+ __decorate([
69
+ (0, typeorm_1.UpdateDateColumn)(),
70
+ __metadata("design:type", Date)
71
+ ], ScreenConfigEntity.prototype, "updateTime", void 0);
72
+ exports.ScreenConfigEntity = ScreenConfigEntity = __decorate([
73
+ (0, typeorm_1.Entity)('screen_config')
74
+ ], ScreenConfigEntity);
2
75
  //# sourceMappingURL=screen-config.entity.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"entities/screen-config.entity.js\",\"names\":[\"typeorm_1\",\"require\",\"ScreenConfigEntity\",\"id\",\"key\",\"name\",\"path\",\"component\",\"width\",\"height\",\"enabled\",\"sort\",\"createTime\",\"updateTime\",\"exports\",\"__decorate\",\"PrimaryGeneratedColumn\",\"Column\",\"unique\",\"default\",\"CreateDateColumn\",\"Date\",\"UpdateDateColumn\",\"Entity\"],\"sources\":[\"../../src/entities/screen-config.entity.ts\"],\"mappings\":\"+lBAAA,MAAAA,UAAAC,QAAA,WAcO,IAAMC,mBAAN,MAELC,GAIAC,IAIAC,KAIAC,KAIAC,UAIAC,MAIAC,OAIAC,QAIAC,KAGAC,WAGAC,YAxCWC,QAAAZ,sCAEXa,WAAA,EADC,EAAAf,UAAAgB,0B,4EAKDD,WAAA,EADC,EAAAf,UAAAiB,QAAO,CAAEC,QAAQ,I,6EAKlBH,WAAA,EADC,EAAAf,UAAAiB,U,8EAKDF,WAAA,EADC,EAAAf,UAAAiB,U,8EAKDF,WAAA,EADC,EAAAf,UAAAiB,U,mFAKDF,WAAA,EADC,EAAAf,UAAAiB,U,+EAKDF,WAAA,EADC,EAAAf,UAAAiB,U,gFAKDF,WAAA,EADC,EAAAf,UAAAiB,QAAO,CAAEE,SAAS,I,kFAKnBJ,WAAA,EADC,EAAAf,UAAAiB,QAAO,CAAEE,QAAS,I,8EAInBJ,WAAA,EADC,EAAAf,UAAAoB,oB,yBACWC,O,kDAGZN,WAAA,EADC,EAAAf,UAAAsB,oB,yBACWD,O,6EAxCDnB,mBAAkBa,WAAA,EAD9B,EAAAf,UAAAuB,QAAO,kBACKrB\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"screen-config.entity.js","sourceRoot":"","sources":["../../src/entities/screen-config.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAMiB;AAQV,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAE7B,EAAE,CAAS;IAIX,GAAG,CAAS;IAIZ,IAAI,CAAS;IAIb,IAAI,CAAS;IAIb,SAAS,CAAS;IAIlB,KAAK,CAAS;IAId,MAAM,CAAS;IAIf,OAAO,CAAU;IAIjB,IAAI,CAAS;IAGb,UAAU,CAAO;IAGjB,UAAU,CAAO;CAClB,CAAA;AAzCY,gDAAkB;AAE7B;IADC,IAAA,gCAAsB,GAAE;;8CACd;AAIX;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;+CACb;AAIZ;IADC,IAAA,gBAAM,GAAE;;gDACI;AAIb;IADC,IAAA,gBAAM,GAAE;;gDACI;AAIb;IADC,IAAA,gBAAM,GAAE;;qDACS;AAIlB;IADC,IAAA,gBAAM,GAAE;;iDACK;AAId;IADC,IAAA,gBAAM,GAAE;;kDACM;AAIf;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;mDACT;AAIjB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;gDACV;AAGb;IADC,IAAA,0BAAgB,GAAE;8BACP,IAAI;sDAAC;AAGjB;IADC,IAAA,0BAAgB,GAAE;8BACP,IAAI;sDAAC;6BAxCN,kBAAkB;IAD9B,IAAA,gBAAM,EAAC,eAAe,CAAC;GACX,kBAAkB,CAyC9B"}
@@ -1,2 +1,60 @@
1
- "use strict";var __decorate=this&&this.__decorate||function(e,t,r,o){var a,i=arguments.length,n=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,r,o);else for(var d=e.length-1;d>=0;d--)(a=e[d])&&(n=(i<3?a(n):i>3?a(t,r,n):a(t,r))||n);return i>3&&n&&Object.defineProperty(t,r,n),n},__metadata=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.UserEntity=void 0;const typeorm_1=require("typeorm");let UserEntity=class{id;username;password;nickname;role;status;createTime;updateTime};exports.UserEntity=UserEntity,__decorate([(0,typeorm_1.PrimaryGeneratedColumn)(),__metadata("design:type",Number)],UserEntity.prototype,"id",void 0),__decorate([(0,typeorm_1.Column)({unique:!0}),__metadata("design:type",String)],UserEntity.prototype,"username",void 0),__decorate([(0,typeorm_1.Column)(),__metadata("design:type",String)],UserEntity.prototype,"password",void 0),__decorate([(0,typeorm_1.Column)({default:""}),__metadata("design:type",String)],UserEntity.prototype,"nickname",void 0),__decorate([(0,typeorm_1.Column)({default:"web"}),__metadata("design:type",String)],UserEntity.prototype,"role",void 0),__decorate([(0,typeorm_1.Column)({default:1}),__metadata("design:type",String)],UserEntity.prototype,"status",void 0),__decorate([(0,typeorm_1.CreateDateColumn)(),__metadata("design:type",Date)],UserEntity.prototype,"createTime",void 0),__decorate([(0,typeorm_1.UpdateDateColumn)(),__metadata("design:type",Date)],UserEntity.prototype,"updateTime",void 0),exports.UserEntity=UserEntity=__decorate([(0,typeorm_1.Entity)("user")],UserEntity);
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UserEntity = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ let UserEntity = class UserEntity {
15
+ id;
16
+ username;
17
+ password;
18
+ nickname;
19
+ role;
20
+ status;
21
+ createTime;
22
+ updateTime;
23
+ };
24
+ exports.UserEntity = UserEntity;
25
+ __decorate([
26
+ (0, typeorm_1.PrimaryGeneratedColumn)(),
27
+ __metadata("design:type", Number)
28
+ ], UserEntity.prototype, "id", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ unique: true }),
31
+ __metadata("design:type", String)
32
+ ], UserEntity.prototype, "username", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)(),
35
+ __metadata("design:type", String)
36
+ ], UserEntity.prototype, "password", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ default: '' }),
39
+ __metadata("design:type", String)
40
+ ], UserEntity.prototype, "nickname", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ default: 'web' }),
43
+ __metadata("design:type", String)
44
+ ], UserEntity.prototype, "role", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({ default: 1 }),
47
+ __metadata("design:type", String)
48
+ ], UserEntity.prototype, "status", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.CreateDateColumn)(),
51
+ __metadata("design:type", Date)
52
+ ], UserEntity.prototype, "createTime", void 0);
53
+ __decorate([
54
+ (0, typeorm_1.UpdateDateColumn)(),
55
+ __metadata("design:type", Date)
56
+ ], UserEntity.prototype, "updateTime", void 0);
57
+ exports.UserEntity = UserEntity = __decorate([
58
+ (0, typeorm_1.Entity)('user')
59
+ ], UserEntity);
2
60
  //# sourceMappingURL=user.entity.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"entities/user.entity.js\",\"names\":[\"typeorm_1\",\"require\",\"UserEntity\",\"id\",\"username\",\"password\",\"nickname\",\"role\",\"status\",\"createTime\",\"updateTime\",\"exports\",\"__decorate\",\"PrimaryGeneratedColumn\",\"Column\",\"unique\",\"default\",\"CreateDateColumn\",\"Date\",\"UpdateDateColumn\",\"Entity\"],\"sources\":[\"../../src/entities/user.entity.ts\"],\"mappings\":\"ulBAAA,MAAAA,UAAAC,QAAA,WAaO,IAAMC,WAAN,MAELC,GAIAC,SAIAC,SAIAC,SAIAC,KAIAC,OAGAC,WAGAC,YA5BWC,QAAAT,sBAEXU,WAAA,EADC,EAAAZ,UAAAa,0B,oEAKDD,WAAA,EADC,EAAAZ,UAAAc,QAAO,CAAEC,QAAQ,I,0EAKlBH,WAAA,EADC,EAAAZ,UAAAc,U,0EAKDF,WAAA,EADC,EAAAZ,UAAAc,QAAO,CAAEE,QAAS,K,0EAKnBJ,WAAA,EADC,EAAAZ,UAAAc,QAAO,CAAEE,QAAS,Q,sEAKnBJ,WAAA,EADC,EAAAZ,UAAAc,QAAO,CAAEE,QAAS,I,wEAInBJ,WAAA,EADC,EAAAZ,UAAAiB,oB,yBACWC,O,0CAGZN,WAAA,EADC,EAAAZ,UAAAmB,oB,yBACWD,O,6DA5BDhB,WAAUU,WAAA,EADtB,EAAAZ,UAAAoB,QAAO,SACKlB\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAMiB;AAOV,IAAM,UAAU,GAAhB,MAAM,UAAU;IAErB,EAAE,CAAS;IAIX,QAAQ,CAAS;IAIjB,QAAQ,CAAS;IAIjB,QAAQ,CAAS;IAIjB,IAAI,CAAS;IAIb,MAAM,CAAS;IAGf,UAAU,CAAO;IAGjB,UAAU,CAAO;CAClB,CAAA;AA7BY,gCAAU;AAErB;IADC,IAAA,gCAAsB,GAAE;;sCACd;AAIX;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;4CACR;AAIjB;IADC,IAAA,gBAAM,GAAE;;4CACQ;AAIjB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;4CACP;AAIjB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;wCACd;AAIb;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0CACR;AAGf;IADC,IAAA,0BAAgB,GAAE;8BACP,IAAI;8CAAC;AAGjB;IADC,IAAA,0BAAgB,GAAE;8BACP,IAAI;8CAAC;qBA5BN,UAAU;IADtB,IAAA,gBAAM,EAAC,MAAM,CAAC;GACF,UAAU,CA6BtB"}
@@ -1,2 +1,57 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const core_1=require("@nestjs/core"),common_1=require("@nestjs/common"),config_1=require("@nestjs/config"),swagger_1=require("@nestjs/swagger"),express_1=require("express"),path_1=require("path"),app_module_1=require("./app.module");async function bootstrap(){const e=await core_1.NestFactory.create(app_module_1.AppModule,{bufferLogs:!0}),t=e.get(config_1.ConfigService),o=t.get("log").level,s=new Set(["log","error","warn"]);"debug"===o&&s.add("debug"),e.useLogger(new common_1.Logger),e.setGlobalPrefix(t.get("app").globalPrefix,{exclude:["static"]});const r=t.get("upload"),a=(0,path_1.isAbsolute)(r.storagePath)?r.storagePath:(0,path_1.join)(process.cwd(),r.storagePath);e.useStaticAssets((0,path_1.join)(a),{prefix:"/static/uploads/"}),e.useGlobalPipes(new common_1.ValidationPipe({whitelist:!0,transform:!0,forbidNonWhitelisted:!0})),e.useGlobalInterceptors(new common_1.ClassSerializerInterceptor(e.get(core_1.Reflector))),e.use((0,express_1.json)({limit:"2mb"})),e.use((0,express_1.urlencoded)({extended:!0,limit:"2mb"}));const i=t.get("app").corsOrigins;if(e.enableCors({origin:!i.length||i,credentials:!0}),!process.env.NODE_ENV||"develop"===process.env.NODE_ENV){const t=(new swagger_1.DocumentBuilder).setTitle("fullstack-template 后台服务").setDescription("NestJS + SQLite + TypeORM").setVersion("1.0.0").addBearerAuth().build(),o=swagger_1.SwaggerModule.createDocument(e,t);swagger_1.SwaggerModule.setup("docs",e,o)}const n=t.get("app").port||Number(process.env.PORT)||3001;await e.listen(n),console.log(`[backend] listening on http://localhost:${n}/${t.get("app").globalPrefix} (log=${o})`)}bootstrap();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@nestjs/core");
4
+ const common_1 = require("@nestjs/common");
5
+ const config_1 = require("@nestjs/config");
6
+ const swagger_1 = require("@nestjs/swagger");
7
+ const express_1 = require("express");
8
+ const path_1 = require("path");
9
+ const app_module_1 = require("./app.module");
10
+ async function bootstrap() {
11
+ const app = await core_1.NestFactory.create(app_module_1.AppModule, { bufferLogs: true });
12
+ const cfg = app.get((config_1.ConfigService));
13
+ const logLevel = cfg.get('log').level;
14
+ const loggerLevels = new Set(['log', 'error', 'warn']);
15
+ if (logLevel === 'debug')
16
+ loggerLevels.add('debug');
17
+ app.useLogger(new common_1.Logger());
18
+ app.setGlobalPrefix(cfg.get('app').globalPrefix, {
19
+ exclude: ['static']
20
+ });
21
+ const uploadCfg = cfg.get('upload');
22
+ const storagePath = (0, path_1.isAbsolute)(uploadCfg.storagePath)
23
+ ? uploadCfg.storagePath
24
+ : (0, path_1.join)(process.cwd(), uploadCfg.storagePath);
25
+ app.useStaticAssets((0, path_1.join)(storagePath), {
26
+ prefix: '/static/uploads/'
27
+ });
28
+ app.useGlobalPipes(new common_1.ValidationPipe({
29
+ whitelist: true,
30
+ transform: true,
31
+ forbidNonWhitelisted: true
32
+ }));
33
+ app.useGlobalInterceptors(new common_1.ClassSerializerInterceptor(app.get(core_1.Reflector)));
34
+ app.use((0, express_1.json)({ limit: '2mb' }));
35
+ app.use((0, express_1.urlencoded)({ extended: true, limit: '2mb' }));
36
+ const origins = cfg.get('app').corsOrigins;
37
+ app.enableCors({
38
+ origin: origins.length ? origins : true,
39
+ credentials: true
40
+ });
41
+ if (!process.env.NODE_ENV || process.env.NODE_ENV === 'develop') {
42
+ const swaggerConfig = new swagger_1.DocumentBuilder()
43
+ .setTitle('fullstack-template 后台服务')
44
+ .setDescription('NestJS + SQLite + TypeORM')
45
+ .setVersion('1.0.0')
46
+ .addBearerAuth()
47
+ .build();
48
+ const document = swagger_1.SwaggerModule.createDocument(app, swaggerConfig);
49
+ swagger_1.SwaggerModule.setup('docs', app, document);
50
+ }
51
+ const port = cfg.get('app').port || Number(process.env.PORT) || 3001;
52
+ await app.listen(port);
53
+ console.log(`[backend] listening on http://localhost:${port}/${cfg.get('app').globalPrefix} (log=${logLevel})`);
54
+ void loggerLevels;
55
+ }
56
+ void bootstrap();
2
57
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"main.js\",\"names\":[\"core_1\",\"require\",\"common_1\",\"config_1\",\"swagger_1\",\"express_1\",\"path_1\",\"app_module_1\",\"async\",\"bootstrap\",\"app\",\"NestFactory\",\"create\",\"AppModule\",\"bufferLogs\",\"cfg\",\"get\",\"logLevel\",\"level\",\"loggerLevels\",\"Set\",\"add\",\"useLogger\",\"Logger\",\"setGlobalPrefix\",\"globalPrefix\",\"exclude\",\"uploadCfg\",\"storagePath\",\"isAbsolute\",\"join\",\"process\",\"cwd\",\"useStaticAssets\",\"prefix\",\"useGlobalPipes\",\"ValidationPipe\",\"whitelist\",\"transform\",\"forbidNonWhitelisted\",\"useGlobalInterceptors\",\"ClassSerializerInterceptor\",\"Reflector\",\"use\",\"json\",\"limit\",\"urlencoded\",\"extended\",\"origins\",\"corsOrigins\",\"enableCors\",\"origin\",\"length\",\"credentials\",\"env\",\"NODE_ENV\",\"swaggerConfig\",\"DocumentBuilder\",\"setTitle\",\"setDescription\",\"setVersion\",\"addBearerAuth\",\"build\",\"document\",\"SwaggerModule\",\"createDocument\",\"setup\",\"port\",\"Number\",\"PORT\",\"listen\",\"console\",\"log\"],\"sources\":[\"../src/main.ts\"],\"mappings\":\"oEAAA,MAAAA,OAAAC,QAAA,gBACAC,SAAAD,QAAA,kBACAE,SAAAF,QAAA,kBACAG,UAAAH,QAAA,mBACAI,UAAAJ,QAAA,WAEAK,OAAAL,QAAA,QACAM,aAAAN,QAAA,gBAGAO,eAAeC,YACb,MAAMC,QAAYV,OAAAW,YAAYC,OAA+BL,aAAAM,UAAW,CAAEC,YAAY,IAChFC,EAAML,EAAIM,IAAIb,SAAwB,eACtCc,EAAWF,EAAIC,IAAsB,OAAOE,MAE5CC,EAAe,IAAIC,IAAY,CAAC,MAAO,QAAS,SACrC,UAAbH,GAAsBE,EAAaE,IAAI,SAC3CX,EAAIY,UAAU,IAAIpB,SAAAqB,QAGlBb,EAAIc,gBAAgBT,EAAIC,IAAsB,OAAOS,aAAc,CAEjEC,QAAS,CAAC,YAIZ,MAAMC,EAAYZ,EAAIC,IAAyB,UACzCY,GAAc,EAAAtB,OAAAuB,YAAWF,EAAUC,aACrCD,EAAUC,aACV,EAAAtB,OAAAwB,MAAKC,QAAQC,MAAOL,EAAUC,aAElClB,EAAIuB,iBAAgB,EAAA3B,OAAAwB,MAAKF,GAAc,CACrCM,OAAQ,qBAIVxB,EAAIyB,eACF,IAAIjC,SAAAkC,eAAe,CACjBC,WAAW,EACXC,WAAW,EACXC,sBAAsB,KAG1B7B,EAAI8B,sBAAsB,IAAItC,SAAAuC,2BAA2B/B,EAAIM,IAAIhB,OAAA0C,aAGjEhC,EAAIiC,KAAI,EAAAtC,UAAAuC,MAAK,CAAEC,MAAO,SACtBnC,EAAIiC,KAAI,EAAAtC,UAAAyC,YAAW,CAAEC,UAAU,EAAMF,MAAO,SAG5C,MAAMG,EAAUjC,EAAIC,IAAsB,OAAOiC,YAOjD,GANAvC,EAAIwC,WAAW,CACbC,QAAQH,EAAQI,QAASJ,EACzBK,aAAa,KAIVtB,QAAQuB,IAAIC,UAAqC,YAAzBxB,QAAQuB,IAAIC,SAAwB,CAC/D,MAAMC,GAAgB,IAAIpD,UAAAqD,iBACvBC,SAAS,2BACTC,eAAe,6BACfC,WAAW,SACXC,gBACAC,QACGC,EAAW3D,UAAA4D,cAAcC,eAAevD,EAAK8C,GACnDpD,UAAA4D,cAAcE,MAAM,OAAQxD,EAAKqD,EACnC,CAEA,MAAMI,EAAOpD,EAAIC,IAAsB,OAAOmD,MAAQC,OAAOrC,QAAQuB,IAAIe,OAAS,WAC5E3D,EAAI4D,OAAOH,GAEjBI,QAAQC,IACN,2CAA2CL,KAAQpD,EAAIC,IAAsB,OAAOS,qBAAqBR,KAI7G,CAEKR\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAAsD;AACtD,2CAAoF;AACpF,2CAA+C;AAC/C,6CAAiE;AACjE,qCAA2C;AAE3C,+BAAwC;AACxC,6CAAyC;AAGzC,KAAK,UAAU,SAAS;IACtB,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAyB,sBAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA,sBAAwB,CAAA,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAmB,KAAK,CAAC,CAAC,KAAK,CAAC;IAExD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D,IAAI,QAAQ,KAAK,OAAO;QAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpD,GAAG,CAAC,SAAS,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IAG5B,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAmB,KAAK,CAAC,CAAC,YAAY,EAAE;QAEjE,OAAO,EAAE,CAAC,QAAQ,CAAC;KACpB,CAAC,CAAC;IAGH,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAsB,QAAQ,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,IAAA,iBAAU,EAAC,SAAS,CAAC,WAAW,CAAC;QACnD,CAAC,CAAC,SAAS,CAAC,WAAW;QACvB,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAE/C,GAAG,CAAC,eAAe,CAAC,IAAA,WAAI,EAAC,WAAW,CAAC,EAAE;QACrC,MAAM,EAAE,kBAAkB;KAC3B,CAAC,CAAC;IAGH,GAAG,CAAC,cAAc,CAChB,IAAI,uBAAc,CAAC;QACjB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,oBAAoB,EAAE,IAAI;KAC3B,CAAC,CACH,CAAC;IACF,GAAG,CAAC,qBAAqB,CAAC,IAAI,mCAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAS,CAAC,CAAC,CAAC,CAAC;IAG9E,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAChC,GAAG,CAAC,GAAG,CAAC,IAAA,oBAAU,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAGtD,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAmB,KAAK,CAAC,CAAC,WAAW,CAAC;IAC7D,GAAG,CAAC,UAAU,CAAC;QACb,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACvC,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IAGH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChE,MAAM,aAAa,GAAG,IAAI,yBAAe,EAAE;aACxC,QAAQ,CAAC,yBAAyB,CAAC;aACnC,cAAc,CAAC,2BAA2B,CAAC;aAC3C,UAAU,CAAC,OAAO,CAAC;aACnB,aAAa,EAAE;aACf,KAAK,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAClE,uBAAa,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAmB,KAAK,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACvF,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvB,OAAO,CAAC,GAAG,CACT,2CAA2C,IAAI,IAAI,GAAG,CAAC,GAAG,CAAmB,KAAK,CAAC,CAAC,YAAY,SAAS,QAAQ,GAAG,CACrH,CAAC;IAEF,KAAK,YAAY,CAAC;AACpB,CAAC;AAED,KAAK,SAAS,EAAE,CAAC"}
@@ -1,2 +1,52 @@
1
- "use strict";var __decorate=this&&this.__decorate||function(e,t,r,o){var a,i=arguments.length,n=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,r,o);else for(var u=e.length-1;u>=0;u--)(a=e[u])&&(n=(i<3?a(n):i>3?a(t,r,n):a(t,r))||n);return i>3&&n&&Object.defineProperty(t,r,n),n},__metadata=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__param=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuditController=void 0;const common_1=require("@nestjs/common"),swagger_1=require("@nestjs/swagger"),audit_service_1=require("./audit.service"),jwt_auth_guard_1=require("../auth/jwt-auth.guard");let AuditController=class{auditService;constructor(e){this.auditService=e}list(e,t){if("admin"!==t.user?.role&&"superadmin"!==t.user?.role)throw new common_1.ForbiddenException("仅管理员可查看审计日志");return this.auditService.list({page:Number(e.page)||1,size:Number(e.size)||20,actorName:e.actorName,action:e.action})}};exports.AuditController=AuditController,__decorate([(0,common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),(0,common_1.Get)("list"),__param(0,(0,common_1.Query)()),__param(1,(0,common_1.Request)()),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",void 0)],AuditController.prototype,"list",null),exports.AuditController=AuditController=__decorate([(0,swagger_1.ApiTags)("audit 审计日志"),(0,common_1.Controller)("audit"),__metadata("design:paramtypes",[audit_service_1.AuditService])],AuditController);
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AuditController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const swagger_1 = require("@nestjs/swagger");
18
+ const audit_service_1 = require("./audit.service");
19
+ const jwt_auth_guard_1 = require("../auth/jwt-auth.guard");
20
+ let AuditController = class AuditController {
21
+ auditService;
22
+ constructor(auditService) {
23
+ this.auditService = auditService;
24
+ }
25
+ list(query, req) {
26
+ if (req.user?.role !== 'admin' && req.user?.role !== 'superadmin') {
27
+ throw new common_1.ForbiddenException('仅管理员可查看审计日志');
28
+ }
29
+ return this.auditService.list({
30
+ page: Number(query.page) || 1,
31
+ size: Number(query.size) || 20,
32
+ actorName: query.actorName,
33
+ action: query.action
34
+ });
35
+ }
36
+ };
37
+ exports.AuditController = AuditController;
38
+ __decorate([
39
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),
40
+ (0, common_1.Get)('list'),
41
+ __param(0, (0, common_1.Query)()),
42
+ __param(1, (0, common_1.Request)()),
43
+ __metadata("design:type", Function),
44
+ __metadata("design:paramtypes", [Object, Object]),
45
+ __metadata("design:returntype", void 0)
46
+ ], AuditController.prototype, "list", null);
47
+ exports.AuditController = AuditController = __decorate([
48
+ (0, swagger_1.ApiTags)('audit 审计日志'),
49
+ (0, common_1.Controller)('audit'),
50
+ __metadata("design:paramtypes", [audit_service_1.AuditService])
51
+ ], AuditController);
2
52
  //# sourceMappingURL=audit.controller.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"modules/audit/audit.controller.js\",\"names\":[\"common_1\",\"require\",\"swagger_1\",\"audit_service_1\",\"jwt_auth_guard_1\",\"AuditController\",\"auditService\",\"constructor\",\"this\",\"list\",\"query\",\"req\",\"user\",\"role\",\"ForbiddenException\",\"page\",\"Number\",\"size\",\"actorName\",\"action\",\"exports\",\"__decorate\",\"UseGuards\",\"JwtAuthGuard\",\"Get\",\"__param\",\"Query\",\"Request\",\"ApiTags\",\"Controller\",\"AuditService\"],\"sources\":[\"../../../src/modules/audit/audit.controller.ts\"],\"mappings\":\"sqBAAA,MAAAA,SAAAC,QAAA,kBACAC,UAAAD,QAAA,mBACAE,gBAAAF,QAAA,mBACAG,iBAAAH,QAAA,0BAKO,IAAMI,gBAAN,MACwBC,aAA7B,WAAAC,CAA6BD,GAAAE,KAAAF,cAA6B,CAK1D,IAAAG,CACWC,EACEC,GAEX,GAAuB,UAAnBA,EAAIC,MAAMC,MAAuC,eAAnBF,EAAIC,MAAMC,KAC1C,MAAM,IAAIb,SAAAc,mBAAmB,eAE/B,OAAON,KAAKF,aAAaG,KAAK,CAC5BM,KAAMC,OAAON,EAAMK,OAAS,EAC5BE,KAAMD,OAAON,EAAMO,OAAS,GAC5BC,UAAWR,EAAMQ,UACjBC,OAAQT,EAAMS,QAElB,GAnBWC,QAAAf,gCAMXgB,WAAA,EAFC,EAAArB,SAAAsB,WAAUlB,iBAAAmB,eACV,EAAAvB,SAAAwB,KAAI,QAEFC,QAAA,KAAAzB,SAAA0B,UACAD,QAAA,KAAAzB,SAAA2B,Y,0LARQtB,gBAAegB,WAAA,EAH3B,EAAAnB,UAAA0B,SAAQ,eAER,EAAA5B,SAAA6B,YAAW,S,gCAEiC1B,gBAAA2B,gBADhCzB\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"audit.controller.js","sourceRoot":"","sources":["../../../src/modules/audit/audit.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAgG;AAChG,6CAA0C;AAC1C,mDAA+C;AAC/C,2DAAsD;AAK/C,IAAM,eAAe,GAArB,MAAM,eAAe;IACG;IAA7B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAK3D,IAAI,CACO,KAA4E,EAC1E,GAAQ;QAEnB,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;YAClE,MAAM,IAAI,2BAAkB,CAAC,aAAa,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAC5B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AApBY,0CAAe;AAM1B;IAFC,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,YAAG,EAAC,MAAM,CAAC;IAET,WAAA,IAAA,cAAK,GAAE,CAAA;IACP,WAAA,IAAA,gBAAO,GAAE,CAAA;;;;2CAWX;0BAnBU,eAAe;IAH3B,IAAA,iBAAO,EAAC,YAAY,CACpB;IACA,IAAA,mBAAU,EAAC,OAAO,CAAC;qCAEyB,4BAAY;GAD5C,eAAe,CAoB3B"}
@@ -1,2 +1,26 @@
1
- "use strict";var __decorate=this&&this.__decorate||function(e,t,r,o){var i,u=arguments.length,d=u<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)d=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(d=(u<3?i(d):u>3?i(t,r,d):i(t,r))||d);return u>3&&d&&Object.defineProperty(t,r,d),d};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuditModule=void 0;const common_1=require("@nestjs/common"),typeorm_1=require("@nestjs/typeorm"),audit_log_entity_1=require("../../entities/audit-log.entity"),audit_service_1=require("./audit.service"),audit_controller_1=require("./audit.controller");let AuditModule=class{};exports.AuditModule=AuditModule,exports.AuditModule=AuditModule=__decorate([(0,common_1.Module)({imports:[typeorm_1.TypeOrmModule.forFeature([audit_log_entity_1.AuditLogEntity])],providers:[audit_service_1.AuditService],controllers:[audit_controller_1.AuditController],exports:[audit_service_1.AuditService]})],AuditModule);
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AuditModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const typeorm_1 = require("@nestjs/typeorm");
12
+ const audit_log_entity_1 = require("../../entities/audit-log.entity");
13
+ const audit_service_1 = require("./audit.service");
14
+ const audit_controller_1 = require("./audit.controller");
15
+ let AuditModule = class AuditModule {
16
+ };
17
+ exports.AuditModule = AuditModule;
18
+ exports.AuditModule = AuditModule = __decorate([
19
+ (0, common_1.Module)({
20
+ imports: [typeorm_1.TypeOrmModule.forFeature([audit_log_entity_1.AuditLogEntity])],
21
+ providers: [audit_service_1.AuditService],
22
+ controllers: [audit_controller_1.AuditController],
23
+ exports: [audit_service_1.AuditService]
24
+ })
25
+ ], AuditModule);
2
26
  //# sourceMappingURL=audit.module.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"modules/audit/audit.module.js\",\"names\":[\"common_1\",\"require\",\"typeorm_1\",\"audit_log_entity_1\",\"audit_service_1\",\"audit_controller_1\",\"AuditModule\",\"exports\",\"__decorate\",\"Module\",\"imports\",\"TypeOrmModule\",\"forFeature\",\"AuditLogEntity\",\"providers\",\"AuditService\",\"controllers\",\"AuditController\"],\"sources\":[\"../../../src/modules/audit/audit.module.ts\"],\"mappings\":\"ycAAA,MAAAA,SAAAC,QAAA,kBACAC,UAAAD,QAAA,mBACAE,mBAAAF,QAAA,mCACAG,gBAAAH,QAAA,mBACAI,mBAAAJ,QAAA,sBAQO,IAAMK,YAAN,QAAMC,QAAAD,wB,oBAAAA,YAAWE,WAAA,EANvB,EAAAR,SAAAS,QAAO,CACNC,QAAS,CAACR,UAAAS,cAAcC,WAAW,CAACT,mBAAAU,kBACpCC,UAAW,CAACV,gBAAAW,cACZC,YAAa,CAACX,mBAAAY,iBACdV,QAAS,CAACH,gBAAAW,iBAECT\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"audit.module.js","sourceRoot":"","sources":["../../../src/modules/audit/audit.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,sEAAiE;AACjE,mDAA+C;AAC/C,yDAAqD;AAQ9C,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IANvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,iCAAc,CAAC,CAAC,CAAC;QACrD,SAAS,EAAE,CAAC,4BAAY,CAAC;QACzB,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"}
@@ -1,2 +1,58 @@
1
- "use strict";var __decorate=this&&this.__decorate||function(t,e,i,o){var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(t,e,i,o);else for(var n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c},__metadata=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},__param=this&&this.__param||function(t,e){return function(i,o){e(i,o,t)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuditService=void 0;const common_1=require("@nestjs/common"),typeorm_1=require("@nestjs/typeorm"),typeorm_2=require("typeorm"),audit_log_entity_1=require("../../entities/audit-log.entity");let AuditService=class{auditRepo;constructor(t){this.auditRepo=t}async record(t){try{await this.auditRepo.save({actorName:t.actorName,action:t.action,detail:t.detail?JSON.stringify(t.detail):"",ip:t.ip||""})}catch{}}async list(t){const e={};t.actorName&&(e.actorName=t.actorName),t.action&&(e.action=t.action);const[i,o]=await this.auditRepo.findAndCount({where:e,order:{id:"DESC"},skip:(t.page-1)*t.size,take:t.size});return{list:i,total:o}}};exports.AuditService=AuditService,exports.AuditService=AuditService=__decorate([(0,common_1.Injectable)(),__param(0,(0,typeorm_1.InjectRepository)(audit_log_entity_1.AuditLogEntity)),__metadata("design:paramtypes",[typeorm_2.Repository])],AuditService);
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AuditService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const audit_log_entity_1 = require("../../entities/audit-log.entity");
20
+ let AuditService = class AuditService {
21
+ auditRepo;
22
+ constructor(auditRepo) {
23
+ this.auditRepo = auditRepo;
24
+ }
25
+ async record(entry) {
26
+ try {
27
+ await this.auditRepo.save({
28
+ actorName: entry.actorName,
29
+ action: entry.action,
30
+ detail: entry.detail ? JSON.stringify(entry.detail) : '',
31
+ ip: entry.ip || ''
32
+ });
33
+ }
34
+ catch {
35
+ }
36
+ }
37
+ async list(params) {
38
+ const where = {};
39
+ if (params.actorName)
40
+ where.actorName = params.actorName;
41
+ if (params.action)
42
+ where.action = params.action;
43
+ const [items, total] = await this.auditRepo.findAndCount({
44
+ where,
45
+ order: { id: 'DESC' },
46
+ skip: (params.page - 1) * params.size,
47
+ take: params.size
48
+ });
49
+ return { list: items, total };
50
+ }
51
+ };
52
+ exports.AuditService = AuditService;
53
+ exports.AuditService = AuditService = __decorate([
54
+ (0, common_1.Injectable)(),
55
+ __param(0, (0, typeorm_1.InjectRepository)(audit_log_entity_1.AuditLogEntity)),
56
+ __metadata("design:paramtypes", [typeorm_2.Repository])
57
+ ], AuditService);
2
58
  //# sourceMappingURL=audit.service.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"modules/audit/audit.service.js\",\"names\":[\"common_1\",\"require\",\"typeorm_1\",\"typeorm_2\",\"audit_log_entity_1\",\"AuditService\",\"auditRepo\",\"constructor\",\"this\",\"record\",\"entry\",\"save\",\"actorName\",\"action\",\"detail\",\"JSON\",\"stringify\",\"ip\",\"list\",\"params\",\"where\",\"items\",\"total\",\"findAndCount\",\"order\",\"id\",\"skip\",\"page\",\"size\",\"take\",\"exports\",\"__decorate\",\"Injectable\",\"__param\",\"InjectRepository\",\"AuditLogEntity\",\"Repository\"],\"sources\":[\"../../../src/modules/audit/audit.service.ts\"],\"mappings\":\"mqBAAA,MAAAA,SAAAC,QAAA,kBACAC,UAAAD,QAAA,mBACAE,UAAAF,QAAA,WACAG,mBAAAH,QAAA,mCAMO,IAAMI,aAAN,MAGcC,UAFnB,WAAAC,CAEmBD,GAAAE,KAAAF,WAChB,CAGH,YAAMG,CAAOC,GAMX,UACQF,KAAKF,UAAUK,KAAK,CACxBC,UAAWF,EAAME,UACjBC,OAAQH,EAAMG,OACdC,OAAQJ,EAAMI,OAASC,KAAKC,UAAUN,EAAMI,QAAU,GACtDG,GAAIP,EAAMO,IAAM,IAEpB,CAAE,MAEF,CACF,CAGA,UAAMC,CAAKC,GAMT,MAAMC,EAA0C,GAC5CD,EAAOP,YAAWQ,EAAMR,UAAYO,EAAOP,WAC3CO,EAAON,SAAQO,EAAMP,OAASM,EAAON,QACzC,MAAOQ,EAAOC,SAAed,KAAKF,UAAUiB,aAAa,CACvDH,QACAI,MAAO,CAAEC,GAAI,QACbC,MAAOP,EAAOQ,KAAO,GAAKR,EAAOS,KACjCC,KAAMV,EAAOS,OAEf,MAAO,CAAEV,KAAMG,EAAOC,QACxB,GA1CWQ,QAAAzB,0B,qBAAAA,aAAY0B,WAAA,EADxB,EAAA/B,SAAAgC,cAGIC,QAAA,KAAA/B,UAAAgC,kBAAiB9B,mBAAA+B,iB,gCACUhC,UAAAiC,cAHnB/B\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"audit.service.js","sourceRoot":"","sources":["../../../src/modules/audit/audit.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAuD;AACvD,sEAAiE;AAM1D,IAAM,YAAY,GAAlB,MAAM,YAAY;IAGJ;IAFnB,YAEmB,SAAqC;QAArC,cAAS,GAAT,SAAS,CAA4B;IACrD,CAAC;IAGJ,KAAK,CAAC,MAAM,CAAC,KAKZ;QACC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBACxD,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE;aACnB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAGD,KAAK,CAAC,IAAI,CAAC,MAKV;QACC,MAAM,KAAK,GAAqC,EAAE,CAAC;QACnD,IAAI,MAAM,CAAC,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACzD,IAAI,MAAM,CAAC,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAChD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YACvD,KAAK;YACL,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;YACrB,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;CACF,CAAA;AA3CY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,iCAAc,CAAC,CAAA;qCACL,oBAAU;GAH7B,YAAY,CA2CxB"}
@@ -1,2 +1,75 @@
1
- "use strict";var __decorate=this&&this.__decorate||function(e,t,r,a){var o,c=arguments.length,n=c<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,r,a);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(n=(c<3?o(n):c>3?o(t,r,n):o(t,r))||n);return c>3&&n&&Object.defineProperty(t,r,n),n},__metadata=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__param=this&&this.__param||function(e,t){return function(r,a){t(r,a,e)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuthController=void 0;const common_1=require("@nestjs/common"),swagger_1=require("@nestjs/swagger"),auth_service_1=require("./auth.service"),captcha_service_1=require("./captcha.service");let AuthController=class{authService;captchaService;constructor(e,t){this.authService=e,this.captchaService=t}login(e,t){return this.authService.login(e,this.extractIp(t))}extractIp(e){const t=e.headers?.["x-forwarded-for"];return t?String(t).split(",")[0].trim():e.ip||e.connection?.remoteAddress||""}ssoLogin(e,t){return this.authService.ssoLogin(e,this.extractIp(t))}captcha(){const{captchaId:e,svg:t}=this.captchaService.generate();return{captchaId:e,svg:t}}};exports.AuthController=AuthController,__decorate([(0,common_1.Post)("login"),(0,common_1.Header)("Content-Type","application/json"),__param(0,(0,common_1.Body)()),__param(1,(0,common_1.Req)()),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",void 0)],AuthController.prototype,"login",null),__decorate([(0,common_1.Get)("ssologin"),__param(0,(0,common_1.Query)()),__param(1,(0,common_1.Req)()),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",void 0)],AuthController.prototype,"ssoLogin",null),__decorate([(0,common_1.Get)("user/captcha"),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],AuthController.prototype,"captcha",null),exports.AuthController=AuthController=__decorate([(0,swagger_1.ApiTags)("auth 认证"),(0,common_1.Controller)(),__metadata("design:paramtypes",[auth_service_1.AuthService,captcha_service_1.CaptchaService])],AuthController);
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AuthController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const swagger_1 = require("@nestjs/swagger");
18
+ const auth_service_1 = require("./auth.service");
19
+ const captcha_service_1 = require("./captcha.service");
20
+ let AuthController = class AuthController {
21
+ authService;
22
+ captchaService;
23
+ constructor(authService, captchaService) {
24
+ this.authService = authService;
25
+ this.captchaService = captchaService;
26
+ }
27
+ login(body, req) {
28
+ return this.authService.login(body, this.extractIp(req));
29
+ }
30
+ extractIp(req) {
31
+ const xff = req.headers?.['x-forwarded-for'];
32
+ if (xff) {
33
+ return String(xff).split(',')[0].trim();
34
+ }
35
+ return req.ip || req.connection?.remoteAddress || '';
36
+ }
37
+ ssoLogin(query, req) {
38
+ return this.authService.ssoLogin(query, this.extractIp(req));
39
+ }
40
+ captcha() {
41
+ const { captchaId, svg } = this.captchaService.generate();
42
+ return { captchaId, svg };
43
+ }
44
+ };
45
+ exports.AuthController = AuthController;
46
+ __decorate([
47
+ (0, common_1.Post)('login'),
48
+ (0, common_1.Header)('Content-Type', 'application/json'),
49
+ __param(0, (0, common_1.Body)()),
50
+ __param(1, (0, common_1.Req)()),
51
+ __metadata("design:type", Function),
52
+ __metadata("design:paramtypes", [Object, Object]),
53
+ __metadata("design:returntype", void 0)
54
+ ], AuthController.prototype, "login", null);
55
+ __decorate([
56
+ (0, common_1.Get)('ssologin'),
57
+ __param(0, (0, common_1.Query)()),
58
+ __param(1, (0, common_1.Req)()),
59
+ __metadata("design:type", Function),
60
+ __metadata("design:paramtypes", [Object, Object]),
61
+ __metadata("design:returntype", void 0)
62
+ ], AuthController.prototype, "ssoLogin", null);
63
+ __decorate([
64
+ (0, common_1.Get)('user/captcha'),
65
+ __metadata("design:type", Function),
66
+ __metadata("design:paramtypes", []),
67
+ __metadata("design:returntype", void 0)
68
+ ], AuthController.prototype, "captcha", null);
69
+ exports.AuthController = AuthController = __decorate([
70
+ (0, swagger_1.ApiTags)('auth 认证'),
71
+ (0, common_1.Controller)(),
72
+ __metadata("design:paramtypes", [auth_service_1.AuthService,
73
+ captcha_service_1.CaptchaService])
74
+ ], AuthController);
2
75
  //# sourceMappingURL=auth.controller.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"modules/auth/auth.controller.js\",\"names\":[\"common_1\",\"require\",\"swagger_1\",\"auth_service_1\",\"captcha_service_1\",\"AuthController\",\"authService\",\"captchaService\",\"constructor\",\"this\",\"login\",\"body\",\"req\",\"extractIp\",\"xff\",\"headers\",\"String\",\"split\",\"trim\",\"ip\",\"connection\",\"remoteAddress\",\"ssoLogin\",\"query\",\"captcha\",\"captchaId\",\"svg\",\"generate\",\"exports\",\"__decorate\",\"Post\",\"Header\",\"__param\",\"Body\",\"Req\",\"Get\",\"Query\",\"ApiTags\",\"Controller\",\"AuthService\",\"CaptchaService\"],\"sources\":[\"../../../src/modules/auth/auth.controller.ts\"],\"mappings\":\"qqBAAA,MAAAA,SAAAC,QAAA,kBACAC,UAAAD,QAAA,mBACAE,eAAAF,QAAA,kBACAG,kBAAAH,QAAA,qBAIO,IAAMI,eAAN,MAEcC,YACAC,eAFnB,WAAAC,CACmBF,EACAC,GADAE,KAAAH,cACAG,KAAAF,gBAChB,CAKH,KAAAG,CACUC,EAMDC,GAEP,OAAOH,KAAKH,YAAYI,MAAMC,EAAMF,KAAKI,UAAUD,GACrD,CAGQ,SAAAC,CAAUD,GAChB,MAAME,EAAMF,EAAIG,UAAU,mBAC1B,OAAID,EACKE,OAAOF,GAAKG,MAAM,KAAK,GAAGC,OAE5BN,EAAIO,IAAMP,EAAIQ,YAAYC,eAAiB,EACpD,CAIA,QAAAC,CAAkBC,EAAsCX,GACtD,OAAOH,KAAKH,YAAYgB,SAASC,EAAOd,KAAKI,UAAUD,GACzD,CAQA,OAAAY,GACE,MAAMC,UAAEA,EAASC,IAAEA,GAAQjB,KAAKF,eAAeoB,WAC/C,MAAO,CAAEF,YAAWC,MACtB,GA7CWE,QAAAvB,8BASXwB,WAAA,EAFC,EAAA7B,SAAA8B,MAAK,UACL,EAAA9B,SAAA+B,QAAO,eAAgB,oBAErBC,QAAA,KAAAhC,SAAAiC,SAMAD,QAAA,KAAAhC,SAAAkC,Q,kKAgBHL,WAAA,EADC,EAAA7B,SAAAmC,KAAI,YACKH,QAAA,KAAAhC,SAAAoC,UAAwCJ,QAAA,KAAAhC,SAAAkC,Q,qKAUlDL,WAAA,EADC,EAAA7B,SAAAmC,KAAI,gB,8KAzCM9B,eAAcwB,WAAA,EAF1B,EAAA3B,UAAAmC,SAAQ,YACR,EAAArC,SAAAsC,c,gCAGiCnC,eAAAoC,YACGnC,kBAAAoC,kBAHxBnC\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../src/modules/auth/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAiF;AACjF,6CAA0C;AAC1C,iDAA6C;AAC7C,uDAAmD;AAI5C,IAAM,cAAc,GAApB,MAAM,cAAc;IAEN;IACA;IAFnB,YACmB,WAAwB,EACxB,cAA8B;QAD9B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;IAC9C,CAAC;IAKJ,KAAK,CACK,IAKP,EACM,GAAQ;QAEf,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAGO,SAAS,CAAC,GAAQ;QACxB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAC7C,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,aAAa,IAAI,EAAE,CAAC;IACvD,CAAC;IAID,QAAQ,CAAU,KAA6B,EAAS,GAAQ;QAC9D,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IAQD,OAAO;QACL,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC1D,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IAC5B,CAAC;CACF,CAAA;AA9CY,wCAAc;AASzB;IAFC,IAAA,aAAI,EAAC,OAAO,CAAC;IACb,IAAA,eAAM,EAAC,cAAc,EAAE,kBAAkB,CAAC;IAExC,WAAA,IAAA,aAAI,GAAE,CAAA;IAMN,WAAA,IAAA,YAAG,GAAE,CAAA;;;;2CAGP;AAaD;IADC,IAAA,YAAG,EAAC,UAAU,CAAC;IACN,WAAA,IAAA,cAAK,GAAE,CAAA;IAAiC,WAAA,IAAA,YAAG,GAAE,CAAA;;;;8CAEtD;AAQD;IADC,IAAA,YAAG,EAAC,cAAc,CAAC;;;;6CAInB;yBA7CU,cAAc;IAF1B,IAAA,iBAAO,EAAC,SAAS,CAAC;IAClB,IAAA,mBAAU,GAAE;qCAGqB,0BAAW;QACR,gCAAc;GAHtC,cAAc,CA8C1B"}
@@ -1,2 +1,46 @@
1
- "use strict";var __decorate=this&&this.__decorate||function(e,t,r,o){var u,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(u=e[c])&&(i=(s<3?u(i):s>3?u(t,r,i):u(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuthModule=void 0;const common_1=require("@nestjs/common"),jwt_1=require("@nestjs/jwt"),config_1=require("@nestjs/config"),passport_1=require("@nestjs/passport"),typeorm_1=require("@nestjs/typeorm"),auth_controller_1=require("./auth.controller"),auth_service_1=require("./auth.service"),captcha_service_1=require("./captcha.service"),jwt_strategy_1=require("./jwt.strategy"),jwt_auth_guard_1=require("./jwt-auth.guard"),audit_module_1=require("../audit/audit.module"),user_entity_1=require("../../entities/user.entity");let AuthModule=class{};exports.AuthModule=AuthModule,exports.AuthModule=AuthModule=__decorate([(0,common_1.Module)({imports:[passport_1.PassportModule,typeorm_1.TypeOrmModule.forFeature([user_entity_1.UserEntity]),audit_module_1.AuditModule,jwt_1.JwtModule.registerAsync({global:!0,imports:[config_1.ConfigModule],inject:[config_1.ConfigService],useFactory:e=>({secret:e.get("jwt").secret,signOptions:{expiresIn:e.get("jwt").expiresIn}})})],controllers:[auth_controller_1.AuthController],providers:[auth_service_1.AuthService,captcha_service_1.CaptchaService,jwt_strategy_1.JwtStrategy,jwt_auth_guard_1.JwtAuthGuard],exports:[auth_service_1.AuthService,captcha_service_1.CaptchaService,jwt_auth_guard_1.JwtAuthGuard]})],AuthModule);
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AuthModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const jwt_1 = require("@nestjs/jwt");
12
+ const config_1 = require("@nestjs/config");
13
+ const passport_1 = require("@nestjs/passport");
14
+ const typeorm_1 = require("@nestjs/typeorm");
15
+ const auth_controller_1 = require("./auth.controller");
16
+ const auth_service_1 = require("./auth.service");
17
+ const captcha_service_1 = require("./captcha.service");
18
+ const jwt_strategy_1 = require("./jwt.strategy");
19
+ const jwt_auth_guard_1 = require("./jwt-auth.guard");
20
+ const audit_module_1 = require("../audit/audit.module");
21
+ const user_entity_1 = require("../../entities/user.entity");
22
+ let AuthModule = class AuthModule {
23
+ };
24
+ exports.AuthModule = AuthModule;
25
+ exports.AuthModule = AuthModule = __decorate([
26
+ (0, common_1.Module)({
27
+ imports: [
28
+ passport_1.PassportModule,
29
+ typeorm_1.TypeOrmModule.forFeature([user_entity_1.UserEntity]),
30
+ audit_module_1.AuditModule,
31
+ jwt_1.JwtModule.registerAsync({
32
+ global: true,
33
+ imports: [config_1.ConfigModule],
34
+ inject: [config_1.ConfigService],
35
+ useFactory: (config) => ({
36
+ secret: config.get('jwt').secret,
37
+ signOptions: { expiresIn: config.get('jwt').expiresIn }
38
+ })
39
+ })
40
+ ],
41
+ controllers: [auth_controller_1.AuthController],
42
+ providers: [auth_service_1.AuthService, captcha_service_1.CaptchaService, jwt_strategy_1.JwtStrategy, jwt_auth_guard_1.JwtAuthGuard],
43
+ exports: [auth_service_1.AuthService, captcha_service_1.CaptchaService, jwt_auth_guard_1.JwtAuthGuard]
44
+ })
45
+ ], AuthModule);
2
46
  //# sourceMappingURL=auth.module.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"modules/auth/auth.module.js\",\"names\":[\"common_1\",\"require\",\"jwt_1\",\"config_1\",\"passport_1\",\"typeorm_1\",\"auth_controller_1\",\"auth_service_1\",\"captcha_service_1\",\"jwt_strategy_1\",\"jwt_auth_guard_1\",\"audit_module_1\",\"user_entity_1\",\"AuthModule\",\"exports\",\"__decorate\",\"Module\",\"imports\",\"PassportModule\",\"TypeOrmModule\",\"forFeature\",\"UserEntity\",\"AuditModule\",\"JwtModule\",\"registerAsync\",\"global\",\"ConfigModule\",\"inject\",\"ConfigService\",\"useFactory\",\"config\",\"secret\",\"get\",\"signOptions\",\"expiresIn\",\"controllers\",\"AuthController\",\"providers\",\"AuthService\",\"CaptchaService\",\"JwtStrategy\",\"JwtAuthGuard\"],\"sources\":[\"../../../src/modules/auth/auth.module.ts\"],\"mappings\":\"wcAAA,MAAAA,SAAAC,QAAA,kBACAC,MAAAD,QAAA,eACAE,SAAAF,QAAA,kBACAG,WAAAH,QAAA,oBACAI,UAAAJ,QAAA,mBACAK,kBAAAL,QAAA,qBACAM,eAAAN,QAAA,kBACAO,kBAAAP,QAAA,qBACAQ,eAAAR,QAAA,kBACAS,iBAAAT,QAAA,oBACAU,eAAAV,QAAA,yBACAW,cAAAX,QAAA,8BAsBO,IAAMY,WAAN,QAAMC,QAAAD,sB,mBAAAA,WAAUE,WAAA,EAnBtB,EAAAf,SAAAgB,QAAO,CACNC,QAAS,CACPb,WAAAc,eACAb,UAAAc,cAAcC,WAAW,CAACR,cAAAS,aAC1BV,eAAAW,YACApB,MAAAqB,UAAUC,cAAc,CACtBC,QAAQ,EACRR,QAAS,CAACd,SAAAuB,cACVC,OAAQ,CAACxB,SAAAyB,eACTC,WAAaC,IAAqC,CAChDC,OAAQD,EAAOE,IAAsB,OAAOD,OAC5CE,YAAa,CAAEC,UAAWJ,EAAOE,IAAsB,OAAOE,gBAIpEC,YAAa,CAAC7B,kBAAA8B,gBACdC,UAAW,CAAC9B,eAAA+B,YAAa9B,kBAAA+B,eAAgB9B,eAAA+B,YAAa9B,iBAAA+B,cACtD3B,QAAS,CAACP,eAAA+B,YAAa9B,kBAAA+B,eAAgB7B,iBAAA+B,iBAE5B5B\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../../src/modules/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qCAAwC;AACxC,2CAA6D;AAC7D,+CAAkD;AAClD,6CAAgD;AAChD,uDAAmD;AACnD,iDAA6C;AAC7C,uDAAmD;AACnD,iDAA6C;AAC7C,qDAAgD;AAChD,wDAAoD;AACpD,4DAAwD;AAsBjD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAnBtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,yBAAc;YACd,uBAAa,CAAC,UAAU,CAAC,CAAC,wBAAU,CAAC,CAAC;YACtC,0BAAW;YACX,eAAS,CAAC,aAAa,CAAC;gBACtB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,CAAC,qBAAY,CAAC;gBACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;gBACvB,UAAU,EAAE,CAAC,MAAgC,EAAE,EAAE,CAAC,CAAC;oBACjD,MAAM,EAAE,MAAM,CAAC,GAAG,CAAmB,KAAK,CAAC,CAAC,MAAM;oBAClD,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAmB,KAAK,CAAC,CAAC,SAAgB,EAAE;iBACjF,CAAC;aACH,CAAC;SACH;QACD,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,EAAE,gCAAc,EAAE,0BAAW,EAAE,6BAAY,CAAC;QACnE,OAAO,EAAE,CAAC,0BAAW,EAAE,gCAAc,EAAE,6BAAY,CAAC;KACrD,CAAC;GACW,UAAU,CAAG"}