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,116 @@
1
- "use strict";var SqliteBackupProbe_1,__decorate=this&&this.__decorate||function(e,t,a,r){var o,n=arguments.length,s=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,a):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,a,r);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(s=(n<3?o(s):n>3?o(t,a,s):o(t,a))||s);return n>3&&s&&Object.defineProperty(t,a,s),s},__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.SqliteBackupProbe=void 0;const common_1=require("@nestjs/common"),config_1=require("@nestjs/config"),fs=require("fs"),path=require("path");let SqliteBackupProbe=SqliteBackupProbe_1=class{config;logger=new common_1.Logger(SqliteBackupProbe_1.name);key="sqlite-backup";name="SQLite 备份";kind="status";constructor(e){this.config=e}resolveDataDir(){const e=this.config.get("database").dir;return path.isAbsolute(e)?e:path.resolve(process.cwd(),e)}async collect(){const e="prod"===process.env.NODE_ENV?"prod":"develop",t=this.resolveDataDir(),a=path.join(t,"backup"),r=(new Date).toISOString(),statusResult=(e,t,a)=>({key:this.key,name:this.name,kind:"status",healthy:e,summary:t,detail:{kind:"status",items:a},collectedAt:r});if(!fs.existsSync(a))return statusResult("unknown","备份目录不存在(未配 cron 或首次部署)",[{label:"备份目录",value:a}]);let o=[];try{o=fs.readdirSync(a,{withFileTypes:!0}).filter(t=>t.isDirectory()&&t.name.startsWith(`template.${e}.`)).map(e=>e.name).sort().reverse()}catch(e){return statusResult("unknown",`读取备份目录失败: ${e.message}`,[{label:"备份目录",value:a}])}if(0===o.length)return statusResult("unknown","暂无备份(未配 cron 或首次部署)",[{label:"备份目录",value:a},{label:"备份数",value:"0"}]);const n=o[0],s=path.join(a,n),i=fs.statSync(s),l=(Date.now()-i.mtimeMs)/36e5,c=l<=25,u=this.readTriplet(s);return statusResult(c,c?`最近备份 ${this.formatAge(l)}前 · 共 ${o.length} 份`:`最近备份已是 ${this.formatAge(l)}前(超 25h,cron 可能漏跑)`,[{label:"最近备份",value:`${this.formatTs(n)}(${this.formatAge(l)}前)`},{label:"备份数",value:String(o.length)},{label:"新鲜度阈值",value:"25h"},{label:"最近三件套",value:u||"仅主库(无 WAL 旁文件)"},{label:"备份目录",value:a}])}readTriplet(e){const t=`template.${"prod"===process.env.NODE_ENV?"prod":"develop"}.sqlite`,a=[t];return fs.existsSync(path.join(e,`${t}-wal`))&&a.push(`${t}-wal`),fs.existsSync(path.join(e,`${t}-shm`))&&a.push(`${t}-shm`),a.join(" + ")}formatAge(e){return e<1?`${Math.round(60*e)} 分钟`:e<24?`${Math.round(e)} 小时`:`${Math.round(e/24)} 天`}formatTs(e){const t=e.match(/(\d{4})(\d{2})(\d{2})-(\d{2})(\d{2})(\d{2})$/);return t?`${t[1]}-${t[2]}-${t[3]} ${t[4]}:${t[5]}:${t[6]}`:e}};exports.SqliteBackupProbe=SqliteBackupProbe,exports.SqliteBackupProbe=SqliteBackupProbe=SqliteBackupProbe_1=__decorate([(0,common_1.Injectable)(),__metadata("design:paramtypes",[config_1.ConfigService])],SqliteBackupProbe);
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 SqliteBackupProbe_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.SqliteBackupProbe = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const config_1 = require("@nestjs/config");
16
+ const fs = require("fs");
17
+ const path = require("path");
18
+ let SqliteBackupProbe = SqliteBackupProbe_1 = class SqliteBackupProbe {
19
+ config;
20
+ logger = new common_1.Logger(SqliteBackupProbe_1.name);
21
+ key = 'sqlite-backup';
22
+ name = 'SQLite 备份';
23
+ kind = 'status';
24
+ constructor(config) {
25
+ this.config = config;
26
+ }
27
+ resolveDataDir() {
28
+ const dir = this.config.get('database').dir;
29
+ return path.isAbsolute(dir) ? dir : path.resolve(process.cwd(), dir);
30
+ }
31
+ async collect() {
32
+ const env = process.env.NODE_ENV === 'prod' ? 'prod' : 'develop';
33
+ const dataDir = this.resolveDataDir();
34
+ const backupDir = path.join(dataDir, 'backup');
35
+ const thresholdHours = 25;
36
+ const collectedAt = new Date().toISOString();
37
+ const statusResult = (healthy, summary, items) => ({
38
+ key: this.key,
39
+ name: this.name,
40
+ kind: 'status',
41
+ healthy,
42
+ summary,
43
+ detail: { kind: 'status', items },
44
+ collectedAt
45
+ });
46
+ if (!fs.existsSync(backupDir)) {
47
+ return statusResult('unknown', '备份目录不存在(未配 cron 或首次部署)', [
48
+ { label: '备份目录', value: backupDir }
49
+ ]);
50
+ }
51
+ let entries = [];
52
+ try {
53
+ entries = fs
54
+ .readdirSync(backupDir, { withFileTypes: true })
55
+ .filter((d) => d.isDirectory() && d.name.startsWith(`template.${env}.`))
56
+ .map((d) => d.name)
57
+ .sort()
58
+ .reverse();
59
+ }
60
+ catch (e) {
61
+ return statusResult('unknown', `读取备份目录失败: ${e.message}`, [
62
+ { label: '备份目录', value: backupDir }
63
+ ]);
64
+ }
65
+ if (entries.length === 0) {
66
+ return statusResult('unknown', '暂无备份(未配 cron 或首次部署)', [
67
+ { label: '备份目录', value: backupDir },
68
+ { label: '备份数', value: '0' }
69
+ ]);
70
+ }
71
+ const latestDir = entries[0];
72
+ const latestPath = path.join(backupDir, latestDir);
73
+ const stat = fs.statSync(latestPath);
74
+ const ageHours = (Date.now() - stat.mtimeMs) / 3_600_000;
75
+ const healthy = ageHours <= thresholdHours;
76
+ const triplet = this.readTriplet(latestPath);
77
+ return statusResult(healthy, healthy
78
+ ? `最近备份 ${this.formatAge(ageHours)}前 · 共 ${entries.length} 份`
79
+ : `最近备份已是 ${this.formatAge(ageHours)}前(超 ${thresholdHours}h,cron 可能漏跑)`, [
80
+ { label: '最近备份', value: `${this.formatTs(latestDir)}(${this.formatAge(ageHours)}前)` },
81
+ { label: '备份数', value: String(entries.length) },
82
+ { label: '新鲜度阈值', value: `${thresholdHours}h` },
83
+ { label: '最近三件套', value: triplet || '仅主库(无 WAL 旁文件)' },
84
+ { label: '备份目录', value: backupDir }
85
+ ]);
86
+ }
87
+ readTriplet(dir) {
88
+ const env = process.env.NODE_ENV === 'prod' ? 'prod' : 'develop';
89
+ const base = `template.${env}.sqlite`;
90
+ const parts = [base];
91
+ if (fs.existsSync(path.join(dir, `${base}-wal`)))
92
+ parts.push(`${base}-wal`);
93
+ if (fs.existsSync(path.join(dir, `${base}-shm`)))
94
+ parts.push(`${base}-shm`);
95
+ return parts.join(' + ');
96
+ }
97
+ formatAge(hours) {
98
+ if (hours < 1)
99
+ return `${Math.round(hours * 60)} 分钟`;
100
+ if (hours < 24)
101
+ return `${Math.round(hours)} 小时`;
102
+ return `${Math.round(hours / 24)} 天`;
103
+ }
104
+ formatTs(dirName) {
105
+ const m = dirName.match(/(\d{4})(\d{2})(\d{2})-(\d{2})(\d{2})(\d{2})$/);
106
+ if (!m)
107
+ return dirName;
108
+ return `${m[1]}-${m[2]}-${m[3]} ${m[4]}:${m[5]}:${m[6]}`;
109
+ }
110
+ };
111
+ exports.SqliteBackupProbe = SqliteBackupProbe;
112
+ exports.SqliteBackupProbe = SqliteBackupProbe = SqliteBackupProbe_1 = __decorate([
113
+ (0, common_1.Injectable)(),
114
+ __metadata("design:paramtypes", [config_1.ConfigService])
115
+ ], SqliteBackupProbe);
2
116
  //# sourceMappingURL=sqlite-backup.probe.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"modules/ops/sqlite-backup.probe.js\",\"names\":[\"common_1\",\"require\",\"config_1\",\"fs\",\"path\",\"SqliteBackupProbe\",\"SqliteBackupProbe_1\",\"config\",\"logger\",\"Logger\",\"name\",\"key\",\"kind\",\"constructor\",\"this\",\"resolveDataDir\",\"dir\",\"get\",\"isAbsolute\",\"resolve\",\"process\",\"cwd\",\"collect\",\"env\",\"NODE_ENV\",\"dataDir\",\"backupDir\",\"join\",\"collectedAt\",\"Date\",\"toISOString\",\"statusResult\",\"healthy\",\"summary\",\"items\",\"detail\",\"existsSync\",\"label\",\"value\",\"entries\",\"readdirSync\",\"withFileTypes\",\"filter\",\"d\",\"isDirectory\",\"startsWith\",\"map\",\"sort\",\"reverse\",\"e\",\"message\",\"length\",\"latestDir\",\"latestPath\",\"stat\",\"statSync\",\"ageHours\",\"now\",\"mtimeMs\",\"triplet\",\"readTriplet\",\"formatAge\",\"formatTs\",\"String\",\"base\",\"parts\",\"push\",\"hours\",\"Math\",\"round\",\"dirName\",\"m\",\"match\",\"exports\",\"__decorate\",\"Injectable\",\"ConfigService\"],\"sources\":[\"../../../src/modules/ops/sqlite-backup.probe.ts\"],\"mappings\":\"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\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"sqlite-backup.probe.js","sourceRoot":"","sources":["../../../src/modules/ops/sqlite-backup.probe.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,53 @@
1
- "use strict";var VersionController_1,__decorate=this&&this.__decorate||function(e,r,o,t){var n,s=arguments.length,a=s<3?r:null===t?t=Object.getOwnPropertyDescriptor(r,o):t;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,r,o,t);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(s<3?n(a):s>3?n(r,o,a):n(r,o))||a);return s>3&&a&&Object.defineProperty(r,o,a),a},__metadata=this&&this.__metadata||function(e,r){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,r)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.VersionController=void 0;const common_1=require("@nestjs/common"),swagger_1=require("@nestjs/swagger"),fs=require("fs"),path=require("path");let VersionController=VersionController_1=class{logger=new common_1.Logger(VersionController_1.name);version(){const e=path.join(process.cwd(),"package.json");let r="unknown",o="backend";try{if(fs.existsSync(e)){const t=JSON.parse(fs.readFileSync(e,"utf8"));"string"==typeof t.version&&t.version&&(r=t.version),"string"==typeof t.name&&t.name&&(o=t.name)}else this.logger.warn(`version 接口: 未找到 ${e}`)}catch(e){this.logger.warn(`version 接口读取失败: ${e.message}`)}return{name:o,version:r}}};exports.VersionController=VersionController,__decorate([(0,common_1.Get)(),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],VersionController.prototype,"version",null),exports.VersionController=VersionController=VersionController_1=__decorate([(0,swagger_1.ApiTags)("version 版本号"),(0,common_1.Controller)("version")],VersionController);
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 VersionController_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.VersionController = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const swagger_1 = require("@nestjs/swagger");
16
+ const fs = require("fs");
17
+ const path = require("path");
18
+ let VersionController = VersionController_1 = class VersionController {
19
+ logger = new common_1.Logger(VersionController_1.name);
20
+ version() {
21
+ const pkgPath = path.join(process.cwd(), 'package.json');
22
+ let version = 'unknown';
23
+ let name = 'backend';
24
+ try {
25
+ if (fs.existsSync(pkgPath)) {
26
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
27
+ if (typeof pkg.version === 'string' && pkg.version)
28
+ version = pkg.version;
29
+ if (typeof pkg.name === 'string' && pkg.name)
30
+ name = pkg.name;
31
+ }
32
+ else {
33
+ this.logger.warn(`version 接口: 未找到 ${pkgPath}`);
34
+ }
35
+ }
36
+ catch (e) {
37
+ this.logger.warn(`version 接口读取失败: ${e.message}`);
38
+ }
39
+ return { name, version };
40
+ }
41
+ };
42
+ exports.VersionController = VersionController;
43
+ __decorate([
44
+ (0, common_1.Get)(),
45
+ __metadata("design:type", Function),
46
+ __metadata("design:paramtypes", []),
47
+ __metadata("design:returntype", void 0)
48
+ ], VersionController.prototype, "version", null);
49
+ exports.VersionController = VersionController = VersionController_1 = __decorate([
50
+ (0, swagger_1.ApiTags)('version 版本号'),
51
+ (0, common_1.Controller)('version')
52
+ ], VersionController);
2
53
  //# sourceMappingURL=version.controller.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"modules/ops/version.controller.js\",\"names\":[\"common_1\",\"require\",\"swagger_1\",\"fs\",\"path\",\"VersionController\",\"VersionController_1\",\"logger\",\"Logger\",\"name\",\"version\",\"pkgPath\",\"join\",\"process\",\"cwd\",\"existsSync\",\"pkg\",\"JSON\",\"parse\",\"readFileSync\",\"this\",\"warn\",\"e\",\"message\",\"exports\",\"__decorate\",\"Get\",\"ApiTags\",\"Controller\"],\"sources\":[\"../../../src/modules/ops/version.controller.ts\"],\"mappings\":\"knBAAA,MAAAA,SAAAC,QAAA,kBACAC,UAAAD,QAAA,mBACAE,GAAAF,QAAA,MACAG,KAAAH,QAAA,QAiBO,IAAMI,kBAAiBC,oBAAvB,MACYC,OAAS,IAAIP,SAAAQ,OAAOF,oBAAkBG,MAGvD,OAAAC,GACE,MAAMC,EAAUP,KAAKQ,KAAKC,QAAQC,MAAO,gBACzC,IAAIJ,EAAU,UACVD,EAAO,UACX,IACE,GAAIN,GAAGY,WAAWJ,GAAU,CAC1B,MAAMK,EAAMC,KAAKC,MAAMf,GAAGgB,aAAaR,EAAS,SACrB,iBAAhBK,EAAIN,SAAwBM,EAAIN,UAASA,EAAUM,EAAIN,SAC1C,iBAAbM,EAAIP,MAAqBO,EAAIP,OAAMA,EAAOO,EAAIP,KAC3D,MACEW,KAAKb,OAAOc,KAAK,mBAAmBV,IAExC,CAAE,MAAOW,GACPF,KAAKb,OAAOc,KAAK,mBAAoBC,EAAYC,UACnD,CACA,MAAO,CAAEd,OAAMC,UACjB,GApBWc,QAAAnB,oCAIXoB,WAAA,EADC,EAAAzB,SAAA0B,O,oLAHUrB,kBAAiBC,oBAAAmB,WAAA,EAF7B,EAAAvB,UAAAyB,SAAQ,gBACR,EAAA3B,SAAA4B,YAAW,YACCvB\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"version.controller.js","sourceRoot":"","sources":["../../../src/modules/ops/version.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAyD;AACzD,6CAA0C;AAC1C,yBAAyB;AACzB,6BAA6B;AAiBtB,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IACX,MAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IAG7D,OAAO;QACL,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QACzD,IAAI,OAAO,GAAG,SAAS,CAAC;QACxB,IAAI,IAAI,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBACzD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO;oBAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC1E,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI;oBAAE,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAoB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA;AArBY,8CAAiB;AAI5B;IADC,IAAA,YAAG,GAAE;;;;gDAiBL;4BApBU,iBAAiB;IAF7B,IAAA,iBAAO,EAAC,aAAa,CAAC;IACtB,IAAA,mBAAU,EAAC,SAAS,CAAC;GACT,iBAAiB,CAqB7B"}
@@ -1,2 +1,110 @@
1
- "use strict";var __decorate=this&&this.__decorate||function(e,t,a,r){var o,n=arguments.length,_=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,a):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)_=Reflect.decorate(e,t,a,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(_=(n<3?o(_):n>3?o(t,a,_):o(t,a))||_);return n>3&&_&&Object.defineProperty(t,a,_),_},__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(a,r){t(a,r,e)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PageDataController=void 0;const common_1=require("@nestjs/common"),platform_express_1=require("@nestjs/platform-express"),swagger_1=require("@nestjs/swagger"),page_data_service_1=require("./page-data.service"),jwt_auth_guard_1=require("../auth/jwt-auth.guard");let PageDataController=class{service;constructor(e){this.service=e}ensureAdmin(e){if("admin"!==e.user?.role&&"superadmin"!==e.user?.role)throw new common_1.ForbiddenException("仅管理员可操作大屏页面数据");return{id:e.user.id,username:e.user.username}}getList(e){return this.service.getList(e)}add(e,t){return this.ensureAdmin(t),this.service.add(e,t.user)}edit(e,t){return this.ensureAdmin(t),this.service.update(e)}deleteById(e,t){return this.ensureAdmin(t),this.service.deleteById(Number(e))}import(e,t){if(this.ensureAdmin(t),!e)throw new Error("缺少 file");return{filename:e.originalname}}};exports.PageDataController=PageDataController,__decorate([(0,common_1.Get)("getList"),__param(0,(0,common_1.Query)()),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],PageDataController.prototype,"getList",null),__decorate([(0,common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),(0,common_1.Post)("add"),__param(0,(0,common_1.Body)()),__param(1,(0,common_1.Request)()),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",void 0)],PageDataController.prototype,"add",null),__decorate([(0,common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),(0,common_1.Put)("edit"),__param(0,(0,common_1.Body)()),__param(1,(0,common_1.Request)()),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",void 0)],PageDataController.prototype,"edit",null),__decorate([(0,common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),(0,common_1.Delete)("deleteById"),__param(0,(0,common_1.Query)("id")),__param(1,(0,common_1.Request)()),__metadata("design:type",Function),__metadata("design:paramtypes",[String,Object]),__metadata("design:returntype",void 0)],PageDataController.prototype,"deleteById",null),__decorate([(0,common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),(0,common_1.Post)("v1/import"),(0,common_1.UseInterceptors)((0,platform_express_1.FileInterceptor)("file")),(0,swagger_1.ApiConsumes)("multipart/form-data"),(0,swagger_1.ApiBearerAuth)(),(0,swagger_1.ApiBody)({schema:{type:"object",properties:{file:{type:"string",format:"binary"}}}}),__param(0,(0,common_1.UploadedFile)()),__param(1,(0,common_1.Request)()),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",void 0)],PageDataController.prototype,"import",null),exports.PageDataController=PageDataController=__decorate([(0,swagger_1.ApiTags)("page-data 大屏页面数据"),(0,common_1.Controller)(),__metadata("design:paramtypes",[page_data_service_1.PageDataService])],PageDataController);
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.PageDataController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const platform_express_1 = require("@nestjs/platform-express");
18
+ const swagger_1 = require("@nestjs/swagger");
19
+ const page_data_service_1 = require("./page-data.service");
20
+ const jwt_auth_guard_1 = require("../auth/jwt-auth.guard");
21
+ let PageDataController = class PageDataController {
22
+ service;
23
+ constructor(service) {
24
+ this.service = service;
25
+ }
26
+ ensureAdmin(req) {
27
+ if (req.user?.role !== 'admin' && req.user?.role !== 'superadmin') {
28
+ throw new common_1.ForbiddenException('仅管理员可操作大屏页面数据');
29
+ }
30
+ return { id: req.user.id, username: req.user.username };
31
+ }
32
+ getList(query) {
33
+ return this.service.getList(query);
34
+ }
35
+ add(body, req) {
36
+ this.ensureAdmin(req);
37
+ return this.service.add(body, req.user);
38
+ }
39
+ edit(body, req) {
40
+ this.ensureAdmin(req);
41
+ return this.service.update(body);
42
+ }
43
+ deleteById(id, req) {
44
+ this.ensureAdmin(req);
45
+ return this.service.deleteById(Number(id));
46
+ }
47
+ import(file, req) {
48
+ this.ensureAdmin(req);
49
+ if (!file) {
50
+ throw new Error('缺少 file');
51
+ }
52
+ return { filename: file.originalname };
53
+ }
54
+ };
55
+ exports.PageDataController = PageDataController;
56
+ __decorate([
57
+ (0, common_1.Get)('getList'),
58
+ __param(0, (0, common_1.Query)()),
59
+ __metadata("design:type", Function),
60
+ __metadata("design:paramtypes", [Object]),
61
+ __metadata("design:returntype", void 0)
62
+ ], PageDataController.prototype, "getList", null);
63
+ __decorate([
64
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),
65
+ (0, common_1.Post)('add'),
66
+ __param(0, (0, common_1.Body)()),
67
+ __param(1, (0, common_1.Request)()),
68
+ __metadata("design:type", Function),
69
+ __metadata("design:paramtypes", [Object, Object]),
70
+ __metadata("design:returntype", void 0)
71
+ ], PageDataController.prototype, "add", null);
72
+ __decorate([
73
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),
74
+ (0, common_1.Put)('edit'),
75
+ __param(0, (0, common_1.Body)()),
76
+ __param(1, (0, common_1.Request)()),
77
+ __metadata("design:type", Function),
78
+ __metadata("design:paramtypes", [Object, Object]),
79
+ __metadata("design:returntype", void 0)
80
+ ], PageDataController.prototype, "edit", null);
81
+ __decorate([
82
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),
83
+ (0, common_1.Delete)('deleteById'),
84
+ __param(0, (0, common_1.Query)('id')),
85
+ __param(1, (0, common_1.Request)()),
86
+ __metadata("design:type", Function),
87
+ __metadata("design:paramtypes", [String, Object]),
88
+ __metadata("design:returntype", void 0)
89
+ ], PageDataController.prototype, "deleteById", null);
90
+ __decorate([
91
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),
92
+ (0, common_1.Post)('v1/import'),
93
+ (0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file')),
94
+ (0, swagger_1.ApiConsumes)('multipart/form-data'),
95
+ (0, swagger_1.ApiBearerAuth)(),
96
+ (0, swagger_1.ApiBody)({
97
+ schema: { type: 'object', properties: { file: { type: 'string', format: 'binary' } } }
98
+ }),
99
+ __param(0, (0, common_1.UploadedFile)()),
100
+ __param(1, (0, common_1.Request)()),
101
+ __metadata("design:type", Function),
102
+ __metadata("design:paramtypes", [Object, Object]),
103
+ __metadata("design:returntype", void 0)
104
+ ], PageDataController.prototype, "import", null);
105
+ exports.PageDataController = PageDataController = __decorate([
106
+ (0, swagger_1.ApiTags)('page-data 大屏页面数据'),
107
+ (0, common_1.Controller)(),
108
+ __metadata("design:paramtypes", [page_data_service_1.PageDataService])
109
+ ], PageDataController);
2
110
  //# sourceMappingURL=page-data.controller.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"modules/page-data/page-data.controller.js\",\"names\":[\"common_1\",\"require\",\"platform_express_1\",\"swagger_1\",\"page_data_service_1\",\"jwt_auth_guard_1\",\"PageDataController\",\"service\",\"constructor\",\"this\",\"ensureAdmin\",\"req\",\"user\",\"role\",\"ForbiddenException\",\"id\",\"username\",\"getList\",\"query\",\"add\",\"body\",\"edit\",\"update\",\"deleteById\",\"Number\",\"import\",\"file\",\"Error\",\"filename\",\"originalname\",\"exports\",\"__decorate\",\"Get\",\"__param\",\"Query\",\"UseGuards\",\"JwtAuthGuard\",\"Post\",\"Body\",\"Request\",\"Put\",\"Delete\",\"UseInterceptors\",\"FileInterceptor\",\"ApiConsumes\",\"ApiBearerAuth\",\"ApiBody\",\"schema\",\"type\",\"properties\",\"format\",\"UploadedFile\",\"ApiTags\",\"Controller\",\"PageDataService\"],\"sources\":[\"../../../src/modules/page-data/page-data.controller.ts\"],\"mappings\":\"yqBAAA,MAAAA,SAAAC,QAAA,kBAcAC,mBAAAD,QAAA,4BACAE,UAAAF,QAAA,mBACAG,oBAAAH,QAAA,uBACAI,iBAAAJ,QAAA,0BAIO,IAAMK,mBAAN,MACwBC,QAA7B,WAAAC,CAA6BD,GAAAE,KAAAF,SAA2B,CAGhD,WAAAG,CAAYC,GAClB,GAAuB,UAAnBA,EAAIC,MAAMC,MAAuC,eAAnBF,EAAIC,MAAMC,KAC1C,MAAM,IAAIb,SAAAc,mBAAmB,iBAE/B,MAAO,CAAEC,GAAIJ,EAAIC,KAAKG,GAAIC,SAAUL,EAAIC,KAAKI,SAC/C,CAOA,OAAAC,CAAiBC,GACf,OAAOT,KAAKF,QAAQU,QAAQC,EAC9B,CAKA,GAAAC,CAAYC,EAAsBT,GAEhC,OADAF,KAAKC,YAAYC,GACVF,KAAKF,QAAQY,IAAIC,EAAMT,EAAIC,KACpC,CAKA,IAAAS,CAAaD,EAAsBT,GAEjC,OADAF,KAAKC,YAAYC,GACVF,KAAKF,QAAQe,OAAOF,EAC7B,CAKA,UAAAG,CAAwBR,EAAuBJ,GAE7C,OADAF,KAAKC,YAAYC,GACVF,KAAKF,QAAQgB,WAAWC,OAAOT,GACxC,CAWA,MAAAU,CAAuBC,EAAsBf,GAE3C,GADAF,KAAKC,YAAYC,IACZe,EACH,MAAM,IAAIC,MAAM,WAElB,MAAO,CAAEC,SAAUF,EAAKG,aAC1B,GA3DWC,QAAAxB,sCAgBXyB,WAAA,EADC,EAAA/B,SAAAgC,KAAI,WACIC,QAAA,KAAAjC,SAAAkC,U,iKAOTH,WAAA,EAFC,EAAA/B,SAAAmC,WAAU9B,iBAAA+B,eACV,EAAApC,SAAAqC,MAAK,OACDJ,QAAA,KAAAjC,SAAAsC,SAAmBL,QAAA,KAAAjC,SAAAuC,Y,oKAQxBR,WAAA,EAFC,EAAA/B,SAAAmC,WAAU9B,iBAAA+B,eACV,EAAApC,SAAAwC,KAAI,QACCP,QAAA,KAAAjC,SAAAsC,SAAmBL,QAAA,KAAAjC,SAAAuC,Y,qKAQzBR,WAAA,EAFC,EAAA/B,SAAAmC,WAAU9B,iBAAA+B,eACV,EAAApC,SAAAyC,QAAO,cACIR,QAAA,KAAAjC,SAAAkC,OAAM,OAAmBD,QAAA,KAAAjC,SAAAuC,Y,2KAcrCR,WAAA,EARC,EAAA/B,SAAAmC,WAAU9B,iBAAA+B,eACV,EAAApC,SAAAqC,MAAK,cACL,EAAArC,SAAA0C,kBAAgB,EAAAxC,mBAAAyC,iBAAgB,UAChC,EAAAxC,UAAAyC,aAAY,wBACZ,EAAAzC,UAAA0C,kBACA,EAAA1C,UAAA2C,SAAQ,CACPC,OAAQ,CAAEC,KAAM,SAAUC,WAAY,CAAEvB,KAAM,CAAEsB,KAAM,SAAUE,OAAQ,cAElEjB,QAAA,KAAAjC,SAAAmD,iBAA2BlB,QAAA,KAAAjC,SAAAuC,Y,kMArDxBjC,mBAAkByB,WAAA,EAF9B,EAAA5B,UAAAiD,SAAQ,qBACR,EAAApD,SAAAqD,c,gCAEuCjD,oBAAAkD,mBAD3BhD\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"page-data.controller.js","sourceRoot":"","sources":["../../../src/modules/page-data/page-data.controller.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,26 @@
1
- "use strict";var __decorate=this&&this.__decorate||function(e,t,a,r){var o,_=arguments.length,c=_<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,a):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,a,r);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(c=(_<3?o(c):_>3?o(t,a,c):o(t,a))||c);return _>3&&c&&Object.defineProperty(t,a,c),c};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PageDataModule=void 0;const common_1=require("@nestjs/common"),typeorm_1=require("@nestjs/typeorm"),page_data_entity_1=require("../../entities/page-data.entity"),page_data_service_1=require("./page-data.service"),page_data_controller_1=require("./page-data.controller");let PageDataModule=class{};exports.PageDataModule=PageDataModule,exports.PageDataModule=PageDataModule=__decorate([(0,common_1.Module)({imports:[typeorm_1.TypeOrmModule.forFeature([page_data_entity_1.PageDataEntity])],providers:[page_data_service_1.PageDataService],controllers:[page_data_controller_1.PageDataController],exports:[page_data_service_1.PageDataService]})],PageDataModule);
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.PageDataModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const typeorm_1 = require("@nestjs/typeorm");
12
+ const page_data_entity_1 = require("../../entities/page-data.entity");
13
+ const page_data_service_1 = require("./page-data.service");
14
+ const page_data_controller_1 = require("./page-data.controller");
15
+ let PageDataModule = class PageDataModule {
16
+ };
17
+ exports.PageDataModule = PageDataModule;
18
+ exports.PageDataModule = PageDataModule = __decorate([
19
+ (0, common_1.Module)({
20
+ imports: [typeorm_1.TypeOrmModule.forFeature([page_data_entity_1.PageDataEntity])],
21
+ providers: [page_data_service_1.PageDataService],
22
+ controllers: [page_data_controller_1.PageDataController],
23
+ exports: [page_data_service_1.PageDataService]
24
+ })
25
+ ], PageDataModule);
2
26
  //# sourceMappingURL=page-data.module.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"modules/page-data/page-data.module.js\",\"names\":[\"common_1\",\"require\",\"typeorm_1\",\"page_data_entity_1\",\"page_data_service_1\",\"page_data_controller_1\",\"PageDataModule\",\"exports\",\"__decorate\",\"Module\",\"imports\",\"TypeOrmModule\",\"forFeature\",\"PageDataEntity\",\"providers\",\"PageDataService\",\"controllers\",\"PageDataController\"],\"sources\":[\"../../../src/modules/page-data/page-data.module.ts\"],\"mappings\":\"4cAAA,MAAAA,SAAAC,QAAA,kBACAC,UAAAD,QAAA,mBACAE,mBAAAF,QAAA,mCACAG,oBAAAH,QAAA,uBACAI,uBAAAJ,QAAA,0BAQO,IAAMK,eAAN,QAAMC,QAAAD,8B,uBAAAA,eAAcE,WAAA,EAN1B,EAAAR,SAAAS,QAAO,CACNC,QAAS,CAACR,UAAAS,cAAcC,WAAW,CAACT,mBAAAU,kBACpCC,UAAW,CAACV,oBAAAW,iBACZC,YAAa,CAACX,uBAAAY,oBACdV,QAAS,CAACH,oBAAAW,oBAECT\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"page-data.module.js","sourceRoot":"","sources":["../../../src/modules/page-data/page-data.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,sEAAiE;AACjE,2DAAsD;AACtD,iEAA4D;AAQrD,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,wCAAc;yBAAd,cAAc;IAN1B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,iCAAc,CAAC,CAAC,CAAC;QACrD,SAAS,EAAE,CAAC,mCAAe,CAAC;QAC5B,WAAW,EAAE,CAAC,yCAAkB,CAAC;QACjC,OAAO,EAAE,CAAC,mCAAe,CAAC;KAC3B,CAAC;GACW,cAAc,CAAG"}
@@ -1,2 +1,70 @@
1
- "use strict";var __decorate=this&&this.__decorate||function(e,t,r,a){var n,o=arguments.length,i=o<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(o<3?n(i):o>3?n(t,r,i):n(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i},__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.PageDataService=void 0;const common_1=require("@nestjs/common"),typeorm_1=require("@nestjs/typeorm"),typeorm_2=require("typeorm"),page_data_entity_1=require("../../entities/page-data.entity");let PageDataService=class{repo;constructor(e){this.repo=e}async getList(e){const t=Number(e.page)||1,r=Number(e.pageSize)||10,a={};e.screenKey&&(a.screenKey=e.screenKey);const[n,o]=await this.repo.findAndCount({where:a,order:{updateTime:"DESC"},skip:(t-1)*r,take:r});return{list:n,total:o}}async add(e,t){const r=this.repo.create({screenKey:e.screenKey,section:e.section||"",content:"string"==typeof e.content?e.content:JSON.stringify(e.content||{}),updatedBy:t?.username||""});return this.repo.save(r)}async update(e){if(!e.id)throw new Error("缺少 id");return await this.repo.update(e.id,{screenKey:e.screenKey,section:e.section,content:"string"==typeof e.content?e.content:JSON.stringify(e.content||{})}),!0}async deleteById(e){return await this.repo.delete(e),!0}};exports.PageDataService=PageDataService,exports.PageDataService=PageDataService=__decorate([(0,common_1.Injectable)(),__param(0,(0,typeorm_1.InjectRepository)(page_data_entity_1.PageDataEntity)),__metadata("design:paramtypes",[typeorm_2.Repository])],PageDataService);
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.PageDataService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const page_data_entity_1 = require("../../entities/page-data.entity");
20
+ let PageDataService = class PageDataService {
21
+ repo;
22
+ constructor(repo) {
23
+ this.repo = repo;
24
+ }
25
+ async getList(params) {
26
+ const page = Number(params.page) || 1;
27
+ const pageSize = Number(params.pageSize) || 10;
28
+ const where = {};
29
+ if (params.screenKey)
30
+ where.screenKey = params.screenKey;
31
+ const [list, total] = await this.repo.findAndCount({
32
+ where,
33
+ order: { updateTime: 'DESC' },
34
+ skip: (page - 1) * pageSize,
35
+ take: pageSize
36
+ });
37
+ return { list, total };
38
+ }
39
+ async add(params, user) {
40
+ const entity = this.repo.create({
41
+ screenKey: params.screenKey,
42
+ section: params.section || '',
43
+ content: typeof params.content === 'string' ? params.content : JSON.stringify(params.content || {}),
44
+ updatedBy: user?.username || ''
45
+ });
46
+ return this.repo.save(entity);
47
+ }
48
+ async update(params) {
49
+ if (!params.id) {
50
+ throw new Error('缺少 id');
51
+ }
52
+ await this.repo.update(params.id, {
53
+ screenKey: params.screenKey,
54
+ section: params.section,
55
+ content: typeof params.content === 'string' ? params.content : JSON.stringify(params.content || {})
56
+ });
57
+ return true;
58
+ }
59
+ async deleteById(id) {
60
+ await this.repo.delete(id);
61
+ return true;
62
+ }
63
+ };
64
+ exports.PageDataService = PageDataService;
65
+ exports.PageDataService = PageDataService = __decorate([
66
+ (0, common_1.Injectable)(),
67
+ __param(0, (0, typeorm_1.InjectRepository)(page_data_entity_1.PageDataEntity)),
68
+ __metadata("design:paramtypes", [typeorm_2.Repository])
69
+ ], PageDataService);
2
70
  //# sourceMappingURL=page-data.service.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"modules/page-data/page-data.service.js\",\"names\":[\"common_1\",\"require\",\"typeorm_1\",\"typeorm_2\",\"page_data_entity_1\",\"PageDataService\",\"repo\",\"constructor\",\"this\",\"getList\",\"params\",\"page\",\"Number\",\"pageSize\",\"where\",\"screenKey\",\"list\",\"total\",\"findAndCount\",\"order\",\"updateTime\",\"skip\",\"take\",\"add\",\"user\",\"entity\",\"create\",\"section\",\"content\",\"JSON\",\"stringify\",\"updatedBy\",\"username\",\"save\",\"update\",\"id\",\"Error\",\"deleteById\",\"delete\",\"exports\",\"__decorate\",\"Injectable\",\"__param\",\"InjectRepository\",\"PageDataEntity\",\"Repository\"],\"sources\":[\"../../../src/modules/page-data/page-data.service.ts\"],\"mappings\":\"sqBAAA,MAAAA,SAAAC,QAAA,kBACAC,UAAAD,QAAA,mBACAE,UAAAF,QAAA,WACAG,mBAAAH,QAAA,mCAOO,IAAMI,gBAAN,MAGcC,KAFnB,WAAAC,CAEmBD,GAAAE,KAAAF,MAChB,CAGH,aAAMG,CAAQC,GACZ,MAAMC,EAAOC,OAAOF,EAAOC,OAAS,EAC9BE,EAAWD,OAAOF,EAAOG,WAAa,GACtCC,EAAa,GACfJ,EAAOK,YAAWD,EAAMC,UAAYL,EAAOK,WAC/C,MAAOC,EAAMC,SAAeT,KAAKF,KAAKY,aAAa,CACjDJ,QACAK,MAAO,CAAEC,WAAY,QACrBC,MAAOV,EAAO,GAAKE,EACnBS,KAAMT,IAER,MAAO,CAAEG,OAAMC,QACjB,CAGA,SAAMM,CAAIb,EAAac,GACrB,MAAMC,EAASjB,KAAKF,KAAKoB,OAAO,CAC9BX,UAAWL,EAAOK,UAClBY,QAASjB,EAAOiB,SAAW,GAC3BC,QAAmC,iBAAnBlB,EAAOkB,QAAuBlB,EAAOkB,QAAUC,KAAKC,UAAUpB,EAAOkB,SAAW,IAChGG,UAAWP,GAAMQ,UAAY,KAE/B,OAAOxB,KAAKF,KAAK2B,KAAKR,EACxB,CAGA,YAAMS,CAAOxB,GACX,IAAKA,EAAOyB,GACV,MAAM,IAAIC,MAAM,SAOlB,aALM5B,KAAKF,KAAK4B,OAAOxB,EAAOyB,GAAI,CAChCpB,UAAWL,EAAOK,UAClBY,QAASjB,EAAOiB,QAChBC,QAAmC,iBAAnBlB,EAAOkB,QAAuBlB,EAAOkB,QAAUC,KAAKC,UAAUpB,EAAOkB,SAAW,OAE3F,CACT,CAGA,gBAAMS,CAAWF,GAEf,aADM3B,KAAKF,KAAKgC,OAAOH,IAChB,CACT,GAjDWI,QAAAlC,gC,wBAAAA,gBAAemC,WAAA,EAD3B,EAAAxC,SAAAyC,cAGIC,QAAA,KAAAxC,UAAAyC,kBAAiBvC,mBAAAwC,iB,gCACKzC,UAAA0C,cAHdxC\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"page-data.service.js","sourceRoot":"","sources":["../../../src/modules/page-data/page-data.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAqC;AACrC,sEAAiE;AAO1D,IAAM,eAAe,GAArB,MAAM,eAAe;IAGP;IAFnB,YAEmB,IAAgC;QAAhC,SAAI,GAAJ,IAAI,CAA4B;IAChD,CAAC;IAGJ,KAAK,CAAC,OAAO,CAAC,MAAgE;QAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACzD,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YACjD,KAAK;YACL,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;YAC7B,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ;YAC3B,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAGD,KAAK,CAAC,GAAG,CAAC,MAAW,EAAE,IAA4B;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;YAC7B,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACnG,SAAS,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;SAChC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAGD,KAAK,CAAC,MAAM,CAAC,MAAW;QACtB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;YAChC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SACpG,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAlDY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,iCAAc,CAAC,CAAA;qCACV,oBAAU;GAHxB,eAAe,CAkD3B"}
@@ -1,2 +1,62 @@
1
- "use strict";var __decorate=this&&this.__decorate||function(e,t,r,n){var o,a=arguments.length,i=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(i=(a<3?o(i):a>3?o(t,r,i):o(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i},__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,n){t(r,n,e)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ScreenConfigController=void 0;const common_1=require("@nestjs/common"),swagger_1=require("@nestjs/swagger"),screen_config_service_1=require("./screen-config.service"),jwt_auth_guard_1=require("../auth/jwt-auth.guard");let ScreenConfigController=class{service;constructor(e){this.service=e}ensureAdmin(e){if("admin"!==e.user?.role&&"superadmin"!==e.user?.role)throw new common_1.ForbiddenException("仅管理员可操作大屏配置");return{id:e.user.id,username:e.user.username}}list(){return this.service.list()}update(e,t,r){return this.ensureAdmin(r),this.service.update(e,t)}};exports.ScreenConfigController=ScreenConfigController,__decorate([(0,common_1.Get)("list"),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],ScreenConfigController.prototype,"list",null),__decorate([(0,common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),(0,swagger_1.ApiBearerAuth)(),(0,common_1.Put)(":key"),__param(0,(0,common_1.Param)("key")),__param(1,(0,common_1.Body)()),__param(2,(0,common_1.Request)()),__metadata("design:type",Function),__metadata("design:paramtypes",[String,Object,Object]),__metadata("design:returntype",void 0)],ScreenConfigController.prototype,"update",null),exports.ScreenConfigController=ScreenConfigController=__decorate([(0,swagger_1.ApiTags)("screen 大屏配置"),(0,common_1.Controller)("screen"),__metadata("design:paramtypes",[screen_config_service_1.ScreenConfigService])],ScreenConfigController);
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.ScreenConfigController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const swagger_1 = require("@nestjs/swagger");
18
+ const screen_config_service_1 = require("./screen-config.service");
19
+ const jwt_auth_guard_1 = require("../auth/jwt-auth.guard");
20
+ let ScreenConfigController = class ScreenConfigController {
21
+ service;
22
+ constructor(service) {
23
+ this.service = service;
24
+ }
25
+ ensureAdmin(req) {
26
+ if (req.user?.role !== 'admin' && req.user?.role !== 'superadmin') {
27
+ throw new common_1.ForbiddenException('仅管理员可操作大屏配置');
28
+ }
29
+ return { id: req.user.id, username: req.user.username };
30
+ }
31
+ list() {
32
+ return this.service.list();
33
+ }
34
+ update(key, dto, req) {
35
+ this.ensureAdmin(req);
36
+ return this.service.update(key, dto);
37
+ }
38
+ };
39
+ exports.ScreenConfigController = ScreenConfigController;
40
+ __decorate([
41
+ (0, common_1.Get)('list'),
42
+ __metadata("design:type", Function),
43
+ __metadata("design:paramtypes", []),
44
+ __metadata("design:returntype", void 0)
45
+ ], ScreenConfigController.prototype, "list", null);
46
+ __decorate([
47
+ (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),
48
+ (0, swagger_1.ApiBearerAuth)(),
49
+ (0, common_1.Put)(':key'),
50
+ __param(0, (0, common_1.Param)('key')),
51
+ __param(1, (0, common_1.Body)()),
52
+ __param(2, (0, common_1.Request)()),
53
+ __metadata("design:type", Function),
54
+ __metadata("design:paramtypes", [String, Object, Object]),
55
+ __metadata("design:returntype", void 0)
56
+ ], ScreenConfigController.prototype, "update", null);
57
+ exports.ScreenConfigController = ScreenConfigController = __decorate([
58
+ (0, swagger_1.ApiTags)('screen 大屏配置'),
59
+ (0, common_1.Controller)('screen'),
60
+ __metadata("design:paramtypes", [screen_config_service_1.ScreenConfigService])
61
+ ], ScreenConfigController);
2
62
  //# sourceMappingURL=screen-config.controller.js.map
@@ -1 +1 @@
1
- "{\"version\":3,\"file\":\"modules/screen-config/screen-config.controller.js\",\"names\":[\"common_1\",\"require\",\"swagger_1\",\"screen_config_service_1\",\"jwt_auth_guard_1\",\"ScreenConfigController\",\"service\",\"constructor\",\"this\",\"ensureAdmin\",\"req\",\"user\",\"role\",\"ForbiddenException\",\"id\",\"username\",\"list\",\"update\",\"key\",\"dto\",\"exports\",\"__decorate\",\"Get\",\"UseGuards\",\"JwtAuthGuard\",\"ApiBearerAuth\",\"Put\",\"__param\",\"Param\",\"Body\",\"Request\",\"ApiTags\",\"Controller\",\"ScreenConfigService\"],\"sources\":[\"../../../src/modules/screen-config/screen-config.controller.ts\"],\"mappings\":\"6qBAAA,MAAAA,SAAAC,QAAA,kBAUAC,UAAAD,QAAA,mBACAE,wBAAAF,QAAA,2BAEAG,iBAAAH,QAAA,0BAIO,IAAMI,uBAAN,MACwBC,QAA7B,WAAAC,CAA6BD,GAAAE,KAAAF,SAA+B,CAGpD,WAAAG,CAAYC,GAClB,GAAuB,UAAnBA,EAAIC,MAAMC,MAAuC,eAAnBF,EAAIC,MAAMC,KAC1C,MAAM,IAAIZ,SAAAa,mBAAmB,eAE/B,MAAO,CAAEC,GAAIJ,EAAIC,KAAKG,GAAIC,SAAUL,EAAIC,KAAKI,SAC/C,CAOA,IAAAC,GACE,OAAOR,KAAKF,QAAQU,MACtB,CAMA,MAAAC,CACgBC,EACNC,EACGT,GAGX,OADAF,KAAKC,YAAYC,GACVF,KAAKF,QAAQW,OAAOC,EAAKC,EAClC,GA/BWC,QAAAf,8CAgBXgB,WAAA,EADC,EAAArB,SAAAsB,KAAI,Q,4JASLD,WAAA,EAHC,EAAArB,SAAAuB,WAAUnB,iBAAAoB,eACV,EAAAtB,UAAAuB,kBACA,EAAAzB,SAAA0B,KAAI,QAEFC,QAAA,KAAA3B,SAAA4B,OAAM,QACND,QAAA,KAAA3B,SAAA6B,SACAF,QAAA,KAAA3B,SAAA8B,Y,iNA3BQzB,uBAAsBgB,WAAA,EAFlC,EAAAnB,UAAA6B,SAAQ,gBACR,EAAA/B,SAAAgC,YAAW,U,gCAE4B7B,wBAAA8B,uBAD3B5B\",\"ignoreList\":[]}"
1
+ {"version":3,"file":"screen-config.controller.js","sourceRoot":"","sources":["../../../src/modules/screen-config/screen-config.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CASwB;AACxB,6CAAyD;AACzD,mEAA8D;AAE9D,2DAAsD;AAI/C,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACJ;IAA7B,YAA6B,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;IAAG,CAAC;IAGrD,WAAW,CAAC,GAAQ;QAC1B,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,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAOD,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAMD,MAAM,CACU,GAAW,EACjB,GAAgC,EAC7B,GAAQ;QAEnB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;CACF,CAAA;AAhCY,wDAAsB;AAgBjC;IADC,IAAA,YAAG,EAAC,MAAM,CAAC;;;;kDAGX;AAMD;IAHC,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,uBAAa,GAAE;IACf,IAAA,YAAG,EAAC,MAAM,CAAC;IAET,WAAA,IAAA,cAAK,EAAC,KAAK,CAAC,CAAA;IACZ,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,gBAAO,GAAE,CAAA;;;;oDAIX;iCA/BU,sBAAsB;IAFlC,IAAA,iBAAO,EAAC,aAAa,CAAC;IACtB,IAAA,mBAAU,EAAC,QAAQ,CAAC;qCAEmB,2CAAmB;GAD9C,sBAAsB,CAgClC"}