@fecommunity/reactpress-server 1.0.0-beta.1

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 (235) hide show
  1. package/README.md +395 -0
  2. package/bin/reactpress-server.js +302 -0
  3. package/dist/app.module.d.ts +2 -0
  4. package/dist/app.module.js +80 -0
  5. package/dist/app.module.js.map +1 -0
  6. package/dist/bootstrap.d.ts +10 -0
  7. package/dist/bootstrap.js +57 -0
  8. package/dist/bootstrap.js.map +1 -0
  9. package/dist/filters/http-exception.filter.d.ts +4 -0
  10. package/dist/filters/http-exception.filter.js +36 -0
  11. package/dist/filters/http-exception.filter.js.map +1 -0
  12. package/dist/interceptors/transform.interceptor.d.ts +9 -0
  13. package/dist/interceptors/transform.interceptor.js +36 -0
  14. package/dist/interceptors/transform.interceptor.js.map +1 -0
  15. package/dist/logger/index.d.ts +4 -0
  16. package/dist/logger/index.js +33 -0
  17. package/dist/logger/index.js.map +1 -0
  18. package/dist/main.d.ts +1 -0
  19. package/dist/main.js +44 -0
  20. package/dist/main.js.map +1 -0
  21. package/dist/modules/article/article.controller.d.ts +27 -0
  22. package/dist/modules/article/article.controller.js +198 -0
  23. package/dist/modules/article/article.controller.js.map +1 -0
  24. package/dist/modules/article/article.entity.d.ts +23 -0
  25. package/dist/modules/article/article.entity.js +128 -0
  26. package/dist/modules/article/article.entity.js.map +1 -0
  27. package/dist/modules/article/article.module.d.ts +2 -0
  28. package/dist/modules/article/article.module.js +30 -0
  29. package/dist/modules/article/article.module.js.map +1 -0
  30. package/dist/modules/article/article.service.d.ts +30 -0
  31. package/dist/modules/article/article.service.js +303 -0
  32. package/dist/modules/article/article.service.js.map +1 -0
  33. package/dist/modules/article/article.util.d.ts +1 -0
  34. package/dist/modules/article/article.util.js +9 -0
  35. package/dist/modules/article/article.util.js.map +1 -0
  36. package/dist/modules/auth/auth.controller.d.ts +12 -0
  37. package/dist/modules/auth/auth.controller.js +66 -0
  38. package/dist/modules/auth/auth.controller.js.map +1 -0
  39. package/dist/modules/auth/auth.module.d.ts +2 -0
  40. package/dist/modules/auth/auth.module.js +41 -0
  41. package/dist/modules/auth/auth.module.js.map +1 -0
  42. package/dist/modules/auth/auth.service.d.ts +26 -0
  43. package/dist/modules/auth/auth.service.js +127 -0
  44. package/dist/modules/auth/auth.service.js.map +1 -0
  45. package/dist/modules/auth/jwt-auth.guard.d.ts +7 -0
  46. package/dist/modules/auth/jwt-auth.guard.js +29 -0
  47. package/dist/modules/auth/jwt-auth.guard.js.map +1 -0
  48. package/dist/modules/auth/jwt.strategy.d.ts +9 -0
  49. package/dist/modules/auth/jwt.strategy.js +38 -0
  50. package/dist/modules/auth/jwt.strategy.js.map +1 -0
  51. package/dist/modules/auth/roles.guard.d.ts +10 -0
  52. package/dist/modules/auth/roles.guard.js +46 -0
  53. package/dist/modules/auth/roles.guard.js.map +1 -0
  54. package/dist/modules/category/category.controller.d.ts +11 -0
  55. package/dist/modules/category/category.controller.js +91 -0
  56. package/dist/modules/category/category.controller.js.map +1 -0
  57. package/dist/modules/category/category.entity.d.ts +9 -0
  58. package/dist/modules/category/category.entity.js +60 -0
  59. package/dist/modules/category/category.entity.js.map +1 -0
  60. package/dist/modules/category/category.module.d.ts +2 -0
  61. package/dist/modules/category/category.module.js +27 -0
  62. package/dist/modules/category/category.module.js.map +1 -0
  63. package/dist/modules/category/category.service.d.ts +12 -0
  64. package/dist/modules/category/category.service.js +89 -0
  65. package/dist/modules/category/category.service.js.map +1 -0
  66. package/dist/modules/comment/comment.controller.d.ts +12 -0
  67. package/dist/modules/comment/comment.controller.js +100 -0
  68. package/dist/modules/comment/comment.controller.js.map +1 -0
  69. package/dist/modules/comment/comment.entity.d.ts +17 -0
  70. package/dist/modules/comment/comment.entity.js +104 -0
  71. package/dist/modules/comment/comment.entity.js.map +1 -0
  72. package/dist/modules/comment/comment.module.d.ts +2 -0
  73. package/dist/modules/comment/comment.module.js +30 -0
  74. package/dist/modules/comment/comment.module.js.map +1 -0
  75. package/dist/modules/comment/comment.service.d.ts +24 -0
  76. package/dist/modules/comment/comment.service.js +172 -0
  77. package/dist/modules/comment/comment.service.js.map +1 -0
  78. package/dist/modules/comment/html.d.ts +15 -0
  79. package/dist/modules/comment/html.js +632 -0
  80. package/dist/modules/comment/html.js.map +1 -0
  81. package/dist/modules/file/file.controller.d.ts +10 -0
  82. package/dist/modules/file/file.controller.js +84 -0
  83. package/dist/modules/file/file.controller.js.map +1 -0
  84. package/dist/modules/file/file.entity.d.ts +9 -0
  85. package/dist/modules/file/file.entity.js +60 -0
  86. package/dist/modules/file/file.entity.js.map +1 -0
  87. package/dist/modules/file/file.module.d.ts +2 -0
  88. package/dist/modules/file/file.module.js +27 -0
  89. package/dist/modules/file/file.module.js.map +1 -0
  90. package/dist/modules/file/file.service.d.ts +17 -0
  91. package/dist/modules/file/file.service.js +111 -0
  92. package/dist/modules/file/file.service.js.map +1 -0
  93. package/dist/modules/install/install.controller.d.ts +11 -0
  94. package/dist/modules/install/install.controller.js +49 -0
  95. package/dist/modules/install/install.controller.js.map +1 -0
  96. package/dist/modules/install/install.module.d.ts +2 -0
  97. package/dist/modules/install/install.module.js +26 -0
  98. package/dist/modules/install/install.module.js.map +1 -0
  99. package/dist/modules/install/install.service.d.ts +12 -0
  100. package/dist/modules/install/install.service.js +63 -0
  101. package/dist/modules/install/install.service.js.map +1 -0
  102. package/dist/modules/knowledge/knowledge.controller.d.ts +14 -0
  103. package/dist/modules/knowledge/knowledge.controller.js +128 -0
  104. package/dist/modules/knowledge/knowledge.controller.js.map +1 -0
  105. package/dist/modules/knowledge/knowledge.entity.d.ts +18 -0
  106. package/dist/modules/knowledge/knowledge.entity.js +109 -0
  107. package/dist/modules/knowledge/knowledge.entity.js.map +1 -0
  108. package/dist/modules/knowledge/knowledge.module.d.ts +2 -0
  109. package/dist/modules/knowledge/knowledge.module.js +27 -0
  110. package/dist/modules/knowledge/knowledge.module.js.map +1 -0
  111. package/dist/modules/knowledge/knowledge.service.d.ts +14 -0
  112. package/dist/modules/knowledge/knowledge.service.js +143 -0
  113. package/dist/modules/knowledge/knowledge.service.js.map +1 -0
  114. package/dist/modules/page/page.controller.d.ts +12 -0
  115. package/dist/modules/page/page.controller.js +102 -0
  116. package/dist/modules/page/page.controller.js.map +1 -0
  117. package/dist/modules/page/page.entity.d.ts +15 -0
  118. package/dist/modules/page/page.entity.js +94 -0
  119. package/dist/modules/page/page.entity.js.map +1 -0
  120. package/dist/modules/page/page.module.d.ts +2 -0
  121. package/dist/modules/page/page.module.js +27 -0
  122. package/dist/modules/page/page.module.js.map +1 -0
  123. package/dist/modules/page/page.service.d.ts +12 -0
  124. package/dist/modules/page/page.service.js +97 -0
  125. package/dist/modules/page/page.service.js.map +1 -0
  126. package/dist/modules/search/search.controller.d.ts +8 -0
  127. package/dist/modules/search/search.controller.js +67 -0
  128. package/dist/modules/search/search.controller.js.map +1 -0
  129. package/dist/modules/search/search.entity.d.ts +8 -0
  130. package/dist/modules/search/search.entity.js +59 -0
  131. package/dist/modules/search/search.entity.js.map +1 -0
  132. package/dist/modules/search/search.module.d.ts +2 -0
  133. package/dist/modules/search/search.module.js +27 -0
  134. package/dist/modules/search/search.module.js.map +1 -0
  135. package/dist/modules/search/search.service.d.ts +12 -0
  136. package/dist/modules/search/search.service.js +84 -0
  137. package/dist/modules/search/search.service.js.map +1 -0
  138. package/dist/modules/setting/setting.constant.d.ts +4 -0
  139. package/dist/modules/setting/setting.constant.js +24 -0
  140. package/dist/modules/setting/setting.constant.js.map +1 -0
  141. package/dist/modules/setting/setting.controller.d.ts +12 -0
  142. package/dist/modules/setting/setting.controller.js +77 -0
  143. package/dist/modules/setting/setting.controller.js.map +1 -0
  144. package/dist/modules/setting/setting.entity.d.ts +26 -0
  145. package/dist/modules/setting/setting.entity.js +149 -0
  146. package/dist/modules/setting/setting.entity.js.map +1 -0
  147. package/dist/modules/setting/setting.module.d.ts +2 -0
  148. package/dist/modules/setting/setting.module.js +28 -0
  149. package/dist/modules/setting/setting.module.js.map +1 -0
  150. package/dist/modules/setting/setting.service.d.ts +10 -0
  151. package/dist/modules/setting/setting.service.js +83 -0
  152. package/dist/modules/setting/setting.service.js.map +1 -0
  153. package/dist/modules/smtp/mail.util.d.ts +6 -0
  154. package/dist/modules/smtp/mail.util.js +33 -0
  155. package/dist/modules/smtp/mail.util.js.map +1 -0
  156. package/dist/modules/smtp/smtp.controller.d.ts +9 -0
  157. package/dist/modules/smtp/smtp.controller.js +69 -0
  158. package/dist/modules/smtp/smtp.controller.js.map +1 -0
  159. package/dist/modules/smtp/smtp.entity.d.ts +9 -0
  160. package/dist/modules/smtp/smtp.entity.js +60 -0
  161. package/dist/modules/smtp/smtp.entity.js.map +1 -0
  162. package/dist/modules/smtp/smtp.module.d.ts +2 -0
  163. package/dist/modules/smtp/smtp.module.js +28 -0
  164. package/dist/modules/smtp/smtp.module.js.map +1 -0
  165. package/dist/modules/smtp/smtp.service.d.ts +11 -0
  166. package/dist/modules/smtp/smtp.service.js +82 -0
  167. package/dist/modules/smtp/smtp.service.js.map +1 -0
  168. package/dist/modules/tag/tag.controller.d.ts +12 -0
  169. package/dist/modules/tag/tag.controller.js +101 -0
  170. package/dist/modules/tag/tag.controller.js.map +1 -0
  171. package/dist/modules/tag/tag.entity.d.ts +9 -0
  172. package/dist/modules/tag/tag.entity.js +59 -0
  173. package/dist/modules/tag/tag.entity.js.map +1 -0
  174. package/dist/modules/tag/tag.module.d.ts +2 -0
  175. package/dist/modules/tag/tag.module.js +27 -0
  176. package/dist/modules/tag/tag.module.js.map +1 -0
  177. package/dist/modules/tag/tag.service.d.ts +13 -0
  178. package/dist/modules/tag/tag.service.js +103 -0
  179. package/dist/modules/tag/tag.service.js.map +1 -0
  180. package/dist/modules/user/user.controller.d.ts +13 -0
  181. package/dist/modules/user/user.controller.js +114 -0
  182. package/dist/modules/user/user.controller.js.map +1 -0
  183. package/dist/modules/user/user.entity.d.ts +15 -0
  184. package/dist/modules/user/user.entity.js +96 -0
  185. package/dist/modules/user/user.entity.js.map +1 -0
  186. package/dist/modules/user/user.module.d.ts +2 -0
  187. package/dist/modules/user/user.module.js +28 -0
  188. package/dist/modules/user/user.module.js.map +1 -0
  189. package/dist/modules/user/user.service.d.ts +16 -0
  190. package/dist/modules/user/user.service.js +151 -0
  191. package/dist/modules/user/user.service.js.map +1 -0
  192. package/dist/modules/view/view.controller.d.ts +11 -0
  193. package/dist/modules/view/view.controller.js +92 -0
  194. package/dist/modules/view/view.controller.js.map +1 -0
  195. package/dist/modules/view/view.entity.d.ts +14 -0
  196. package/dist/modules/view/view.entity.js +88 -0
  197. package/dist/modules/view/view.entity.js.map +1 -0
  198. package/dist/modules/view/view.module.d.ts +2 -0
  199. package/dist/modules/view/view.module.js +27 -0
  200. package/dist/modules/view/view.module.js.map +1 -0
  201. package/dist/modules/view/view.service.d.ts +11 -0
  202. package/dist/modules/view/view.service.js +89 -0
  203. package/dist/modules/view/view.service.js.map +1 -0
  204. package/dist/tsconfig.build.tsbuildinfo +15722 -0
  205. package/dist/utils/date.util.d.ts +1 -0
  206. package/dist/utils/date.util.js +13 -0
  207. package/dist/utils/date.util.js.map +1 -0
  208. package/dist/utils/ip.util.d.ts +2 -0
  209. package/dist/utils/ip.util.js +27 -0
  210. package/dist/utils/ip.util.js.map +1 -0
  211. package/dist/utils/markdown.util.d.ts +4 -0
  212. package/dist/utils/markdown.util.js +42 -0
  213. package/dist/utils/markdown.util.js.map +1 -0
  214. package/dist/utils/oss/aliyun-oss-client.d.ts +6 -0
  215. package/dist/utils/oss/aliyun-oss-client.js +28 -0
  216. package/dist/utils/oss/aliyun-oss-client.js.map +1 -0
  217. package/dist/utils/oss/oss-client.d.ts +6 -0
  218. package/dist/utils/oss/oss-client.js +10 -0
  219. package/dist/utils/oss/oss-client.js.map +1 -0
  220. package/dist/utils/oss.util.d.ts +13 -0
  221. package/dist/utils/oss.util.js +48 -0
  222. package/dist/utils/oss.util.js.map +1 -0
  223. package/dist/utils/ua.util.d.ts +9 -0
  224. package/dist/utils/ua.util.js +36 -0
  225. package/dist/utils/ua.util.js.map +1 -0
  226. package/dist/utils/uniqueid.util.d.ts +1 -0
  227. package/dist/utils/uniqueid.util.js +9 -0
  228. package/dist/utils/uniqueid.util.js.map +1 -0
  229. package/dist/utils/upload.util.d.ts +5 -0
  230. package/dist/utils/upload.util.js +34 -0
  231. package/dist/utils/upload.util.js.map +1 -0
  232. package/dist/utils/user.util.d.ts +1 -0
  233. package/dist/utils/user.util.js +18 -0
  234. package/dist/utils/user.util.js.map +1 -0
  235. package/package.json +140 -0
@@ -0,0 +1,96 @@
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.User = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const bcrypt = require("bcryptjs");
15
+ const class_transformer_1 = require("class-transformer");
16
+ const typeorm_1 = require("typeorm");
17
+ let User = class User {
18
+ static comparePassword(password0, password1) {
19
+ return bcrypt.compareSync(password0, password1);
20
+ }
21
+ static encryptPassword(password) {
22
+ return bcrypt.hashSync(password, 10);
23
+ }
24
+ encrypt() {
25
+ this.password = bcrypt.hashSync(this.password, 10);
26
+ }
27
+ };
28
+ __decorate([
29
+ typeorm_1.PrimaryGeneratedColumn('uuid'),
30
+ __metadata("design:type", Number)
31
+ ], User.prototype, "id", void 0);
32
+ __decorate([
33
+ swagger_1.ApiProperty(),
34
+ typeorm_1.Column({ length: 500 }),
35
+ __metadata("design:type", String)
36
+ ], User.prototype, "name", void 0);
37
+ __decorate([
38
+ swagger_1.ApiProperty(),
39
+ class_transformer_1.Exclude(),
40
+ typeorm_1.Column({ length: 500 }),
41
+ __metadata("design:type", String)
42
+ ], User.prototype, "password", void 0);
43
+ __decorate([
44
+ swagger_1.ApiProperty(),
45
+ typeorm_1.Column({ length: 500, default: null }),
46
+ __metadata("design:type", String)
47
+ ], User.prototype, "avatar", void 0);
48
+ __decorate([
49
+ swagger_1.ApiProperty(),
50
+ typeorm_1.Column({ length: 500, default: null }),
51
+ __metadata("design:type", String)
52
+ ], User.prototype, "email", void 0);
53
+ __decorate([
54
+ swagger_1.ApiProperty(),
55
+ typeorm_1.Column('simple-enum', { enum: ['admin', 'visitor'], default: 'visitor' }),
56
+ __metadata("design:type", String)
57
+ ], User.prototype, "role", void 0);
58
+ __decorate([
59
+ swagger_1.ApiProperty(),
60
+ typeorm_1.Column('simple-enum', { enum: ['locked', 'active'], default: 'active' }),
61
+ __metadata("design:type", String)
62
+ ], User.prototype, "status", void 0);
63
+ __decorate([
64
+ swagger_1.ApiProperty(),
65
+ typeorm_1.Column({ default: 'normal' }),
66
+ __metadata("design:type", String)
67
+ ], User.prototype, "type", void 0);
68
+ __decorate([
69
+ swagger_1.ApiProperty(),
70
+ typeorm_1.CreateDateColumn({
71
+ type: 'datetime',
72
+ comment: '创建时间',
73
+ name: 'create_at',
74
+ }),
75
+ __metadata("design:type", Date)
76
+ ], User.prototype, "createAt", void 0);
77
+ __decorate([
78
+ swagger_1.ApiProperty(),
79
+ typeorm_1.UpdateDateColumn({
80
+ type: 'datetime',
81
+ comment: '更新时间',
82
+ name: 'update_at',
83
+ }),
84
+ __metadata("design:type", Date)
85
+ ], User.prototype, "updateAt", void 0);
86
+ __decorate([
87
+ typeorm_1.BeforeInsert(),
88
+ __metadata("design:type", Function),
89
+ __metadata("design:paramtypes", []),
90
+ __metadata("design:returntype", void 0)
91
+ ], User.prototype, "encrypt", null);
92
+ User = __decorate([
93
+ typeorm_1.Entity()
94
+ ], User);
95
+ exports.User = User;
96
+ //# sourceMappingURL=user.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/modules/user/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,mCAAmC;AACnC,yDAA4C;AAC5C,qCAAmH;AAGnH,IAAa,IAAI,GAAjB,MAAa,IAAI;IAMf,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS;QACzC,OAAO,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,QAAQ;QAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAsDD,OAAO;QACL,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AAtDC;IADC,gCAAsB,CAAC,MAAM,CAAC;;gCACpB;AAIX;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;kCACX;AAKb;IAHC,qBAAW,EAAE;IACb,2BAAO,EAAE;IACT,gBAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;sCACP;AAIjB;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oCACxB;AAIf;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;mCACzB;AAId;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;;kCAC7D;AAIb;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;;oCAC1D;AAIf;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;;kCACjB;AAQb;IANC,qBAAW,EAAE;IACb,0BAAgB,CAAC;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,WAAW;KAClB,CAAC;8BACQ,IAAI;sCAAC;AAQf;IANC,qBAAW,EAAE;IACb,0BAAgB,CAAC;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,WAAW;KAClB,CAAC;8BACQ,IAAI;sCAAC;AAMf;IADC,sBAAY,EAAE;;;;mCAGd;AApEU,IAAI;IADhB,gBAAM,EAAE;GACI,IAAI,CAqEhB;AArEY,oBAAI"}
@@ -0,0 +1,2 @@
1
+ export declare class UserModule {
2
+ }
@@ -0,0 +1,28 @@
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.UserModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const config_1 = require("@nestjs/config");
12
+ const typeorm_1 = require("@nestjs/typeorm");
13
+ const auth_module_1 = require("../auth/auth.module");
14
+ const user_controller_1 = require("./user.controller");
15
+ const user_entity_1 = require("./user.entity");
16
+ const user_service_1 = require("./user.service");
17
+ let UserModule = class UserModule {
18
+ };
19
+ UserModule = __decorate([
20
+ common_1.Module({
21
+ imports: [typeorm_1.TypeOrmModule.forFeature([user_entity_1.User]), config_1.ConfigModule, common_1.forwardRef(() => auth_module_1.AuthModule)],
22
+ providers: [user_service_1.UserService],
23
+ exports: [user_service_1.UserService],
24
+ controllers: [user_controller_1.UserController],
25
+ })
26
+ ], UserModule);
27
+ exports.UserModule = UserModule;
28
+ //# sourceMappingURL=user.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../../src/modules/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,2CAA8C;AAC9C,6CAAgD;AAEhD,qDAAiD;AACjD,uDAAmD;AACnD,+CAAqC;AACrC,iDAA6C;AAQ7C,IAAa,UAAU,GAAvB,MAAa,UAAU;CAAG,CAAA;AAAb,UAAU;IANtB,eAAM,CAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,kBAAI,CAAC,CAAC,EAAE,qBAAY,EAAE,mBAAU,CAAC,GAAG,EAAE,CAAC,wBAAU,CAAC,CAAC;QACvF,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,OAAO,EAAE,CAAC,0BAAW,CAAC;QACtB,WAAW,EAAE,CAAC,gCAAc,CAAC;KAC9B,CAAC;GACW,UAAU,CAAG;AAAb,gCAAU"}
@@ -0,0 +1,16 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ import { Repository } from 'typeorm';
3
+ import { User } from './user.entity';
4
+ export declare class UserService {
5
+ private readonly userRepository;
6
+ private readonly configService;
7
+ constructor(userRepository: Repository<User>, configService: ConfigService);
8
+ findByConditions(conditions: Partial<User>): Promise<User>;
9
+ findAll(queryParams: any): Promise<[User[], number]>;
10
+ createUser(user: Partial<User>, ignoreValidator?: boolean): Promise<User>;
11
+ login(user: Partial<User>): Promise<User>;
12
+ loginWithoutPasswd(user: Partial<User>): Promise<User>;
13
+ findById(id: any): Promise<User>;
14
+ updateById(currentUser: any, id: any, user: any): Promise<User>;
15
+ updatePassword(id: any, user: any): Promise<User>;
16
+ }
@@ -0,0 +1,151 @@
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
+ var __rest = (this && this.__rest) || function (s, e) {
15
+ var t = {};
16
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
17
+ t[p] = s[p];
18
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
19
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
20
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
21
+ t[p[i]] = s[p[i]];
22
+ }
23
+ return t;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.UserService = void 0;
27
+ const common_1 = require("@nestjs/common");
28
+ const config_1 = require("@nestjs/config");
29
+ const typeorm_1 = require("@nestjs/typeorm");
30
+ const typeorm_2 = require("typeorm");
31
+ const user_util_1 = require("../../utils/user.util");
32
+ const user_entity_1 = require("./user.entity");
33
+ let UserService = class UserService {
34
+ constructor(userRepository, configService) {
35
+ this.userRepository = userRepository;
36
+ this.configService = configService;
37
+ const name = this.configService.get('ADMIN_USER', 'admin');
38
+ const password = this.configService.get('ADMIN_PASSWD', 'admin');
39
+ this.createUser({ name, password, role: 'admin' }, true)
40
+ .then(() => {
41
+ console.log(`[reactpress] 管理员账户创建成功,用户名:${name},密码:${password},请及时登录系统修改默认密码`);
42
+ })
43
+ .catch(async (e) => {
44
+ const existAdminUser = await this.userRepository.findOne({ where: { name } });
45
+ const isDefaultPasswd = user_entity_1.User.comparePassword(password, existAdminUser.password);
46
+ if (isDefaultPasswd) {
47
+ console.log(`[reactpress] 管理员账户已经存在,用户名:${name},密码:${password},请及时登录系统修改默认密码`);
48
+ }
49
+ });
50
+ }
51
+ async findByConditions(conditions) {
52
+ return await this.userRepository.findOne(conditions);
53
+ }
54
+ async findAll(queryParams) {
55
+ const query = this.userRepository.createQueryBuilder('user').orderBy('user.createAt', 'DESC');
56
+ if (typeof queryParams === 'object') {
57
+ const { page = 1, pageSize = 12, status } = queryParams, otherParams = __rest(queryParams, ["page", "pageSize", "status"]);
58
+ query.skip((+page - 1) * +pageSize);
59
+ query.take(+pageSize);
60
+ if (status) {
61
+ query.andWhere('user.status=:status').setParameter('status', status);
62
+ }
63
+ if (otherParams) {
64
+ Object.keys(otherParams).forEach((key) => {
65
+ query.andWhere(`user.${key} LIKE :${key}`).setParameter(`${key}`, `%${otherParams[key]}%`);
66
+ });
67
+ }
68
+ }
69
+ return query.getManyAndCount();
70
+ }
71
+ async createUser(user, ignoreValidator) {
72
+ const { name, password } = user;
73
+ if (!ignoreValidator) {
74
+ if (!name || !password) {
75
+ throw new common_1.HttpException('请输入用户名和密码', common_1.HttpStatus.BAD_REQUEST);
76
+ }
77
+ if (!user_util_1.isValidUsername(name)) {
78
+ throw new common_1.HttpException('用户名不能包含空格和非法字符', common_1.HttpStatus.BAD_REQUEST);
79
+ }
80
+ }
81
+ const existUser = await this.userRepository.findOne({ where: { name } });
82
+ if (existUser) {
83
+ throw new common_1.HttpException('用户已存在', common_1.HttpStatus.BAD_REQUEST);
84
+ }
85
+ const newUser = await this.userRepository.create(user);
86
+ await this.userRepository.save(newUser);
87
+ return newUser;
88
+ }
89
+ async login(user) {
90
+ const { name, password } = user;
91
+ const existUser = await this.userRepository.findOne({ where: { name } });
92
+ if (!existUser || !(await user_entity_1.User.comparePassword(password, existUser.password))) {
93
+ throw new common_1.HttpException('用户名或密码错误', common_1.HttpStatus.BAD_REQUEST);
94
+ }
95
+ if (existUser.status === 'locked') {
96
+ throw new common_1.HttpException('用户已锁定,无法登录', common_1.HttpStatus.BAD_REQUEST);
97
+ }
98
+ delete existUser.password;
99
+ return existUser;
100
+ }
101
+ async loginWithoutPasswd(user) {
102
+ const { name } = user;
103
+ const existUser = await this.userRepository.findOne({ where: { name } });
104
+ if (existUser.status === 'locked') {
105
+ throw new common_1.HttpException('用户已锁定,无法登录', common_1.HttpStatus.BAD_REQUEST);
106
+ }
107
+ delete existUser.password;
108
+ return existUser;
109
+ }
110
+ async findById(id) {
111
+ return this.userRepository.findOne(id);
112
+ }
113
+ async updateById(currentUser, id, user) {
114
+ if (user.role === 'admin') {
115
+ if (!currentUser || currentUser.role !== 'admin') {
116
+ throw new common_1.HttpException('您无权操作', common_1.HttpStatus.FORBIDDEN);
117
+ }
118
+ }
119
+ const oldUser = await this.userRepository.findOne(id);
120
+ delete user.password;
121
+ if (user.name && user.name !== oldUser.name) {
122
+ const existUser = await this.userRepository.findOne({ where: { name: user.name } });
123
+ if (existUser) {
124
+ throw new common_1.HttpException('用户已存在', common_1.HttpStatus.BAD_REQUEST);
125
+ }
126
+ }
127
+ const newUser = await this.userRepository.merge(oldUser, user);
128
+ return this.userRepository.save(newUser);
129
+ }
130
+ async updatePassword(id, user) {
131
+ const existUser = await this.userRepository.findOne(id);
132
+ const { oldPassword, newPassword } = user;
133
+ if (!existUser || !(await user_entity_1.User.comparePassword(oldPassword, existUser.password))) {
134
+ throw new common_1.HttpException('用户名或密码错误', common_1.HttpStatus.BAD_REQUEST);
135
+ }
136
+ const hashNewPassword = user_entity_1.User.encryptPassword(newPassword);
137
+ const newUser = await this.userRepository.merge(existUser, {
138
+ password: hashNewPassword,
139
+ });
140
+ const d = await this.userRepository.save(newUser);
141
+ return d;
142
+ }
143
+ };
144
+ UserService = __decorate([
145
+ common_1.Injectable(),
146
+ __param(0, typeorm_1.InjectRepository(user_entity_1.User)),
147
+ __metadata("design:paramtypes", [typeorm_2.Repository,
148
+ config_1.ConfigService])
149
+ ], UserService);
150
+ exports.UserService = UserService;
151
+ //# sourceMappingURL=user.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../../src/modules/user/user.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { View } from './view.entity';
2
+ import { ViewService } from './view.service';
3
+ export declare class ViewController {
4
+ private readonly viewService;
5
+ constructor(viewService: ViewService);
6
+ create(req: any, data: any): Promise<View>;
7
+ findAll(queryParam: any): Promise<[View[], number]>;
8
+ findByUrl(url: any): Promise<View[]>;
9
+ findById(id: any): Promise<View>;
10
+ deleteById(id: any): Promise<View>;
11
+ }
@@ -0,0 +1,92 @@
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.ViewController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const swagger_1 = require("@nestjs/swagger");
18
+ const ip_util_1 = require("../../utils/ip.util");
19
+ const jwt_auth_guard_1 = require("../auth/jwt-auth.guard");
20
+ const roles_guard_1 = require("../auth/roles.guard");
21
+ const view_entity_1 = require("./view.entity");
22
+ const view_service_1 = require("./view.service");
23
+ let ViewController = class ViewController {
24
+ constructor(viewService) {
25
+ this.viewService = viewService;
26
+ }
27
+ create(req, data) {
28
+ const userAgent = req.headers['user-agent'];
29
+ const url = data.url;
30
+ return this.viewService.create(ip_util_1.getClientIP(req), userAgent, url);
31
+ }
32
+ findAll(queryParam) {
33
+ return this.viewService.findAll(queryParam);
34
+ }
35
+ findByUrl(url) {
36
+ return this.viewService.findByUrl(url);
37
+ }
38
+ findById(id) {
39
+ return this.viewService.findById(id);
40
+ }
41
+ deleteById(id) {
42
+ return this.viewService.deleteById(id);
43
+ }
44
+ };
45
+ __decorate([
46
+ swagger_1.ApiResponse({ status: 200, description: '访问记录添加成功', type: [view_entity_1.View] }),
47
+ common_1.Post(),
48
+ __param(0, common_1.Request()), __param(1, common_1.Body()),
49
+ __metadata("design:type", Function),
50
+ __metadata("design:paramtypes", [Object, Object]),
51
+ __metadata("design:returntype", void 0)
52
+ ], ViewController.prototype, "create", null);
53
+ __decorate([
54
+ common_1.Get(),
55
+ common_1.UseGuards(jwt_auth_guard_1.JwtAuthGuard),
56
+ __param(0, common_1.Query()),
57
+ __metadata("design:type", Function),
58
+ __metadata("design:paramtypes", [Object]),
59
+ __metadata("design:returntype", void 0)
60
+ ], ViewController.prototype, "findAll", null);
61
+ __decorate([
62
+ common_1.Get('/url'),
63
+ __param(0, common_1.Query('url')),
64
+ __metadata("design:type", Function),
65
+ __metadata("design:paramtypes", [Object]),
66
+ __metadata("design:returntype", void 0)
67
+ ], ViewController.prototype, "findByUrl", null);
68
+ __decorate([
69
+ common_1.Get(':id'),
70
+ common_1.UseGuards(jwt_auth_guard_1.JwtAuthGuard),
71
+ __param(0, common_1.Param('id')),
72
+ __metadata("design:type", Function),
73
+ __metadata("design:paramtypes", [Object]),
74
+ __metadata("design:returntype", void 0)
75
+ ], ViewController.prototype, "findById", null);
76
+ __decorate([
77
+ common_1.Delete(':id'),
78
+ roles_guard_1.Roles('admin'),
79
+ common_1.UseGuards(jwt_auth_guard_1.JwtAuthGuard),
80
+ __param(0, common_1.Param('id')),
81
+ __metadata("design:type", Function),
82
+ __metadata("design:paramtypes", [Object]),
83
+ __metadata("design:returntype", void 0)
84
+ ], ViewController.prototype, "deleteById", null);
85
+ ViewController = __decorate([
86
+ swagger_1.ApiTags('View'),
87
+ common_1.Controller('view'),
88
+ common_1.UseGuards(roles_guard_1.RolesGuard),
89
+ __metadata("design:paramtypes", [view_service_1.ViewService])
90
+ ], ViewController);
91
+ exports.ViewController = ViewController;
92
+ //# sourceMappingURL=view.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.controller.js","sourceRoot":"","sources":["../../../src/modules/view/view.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAuG;AACvG,6CAAuD;AAEvD,iDAAkD;AAClD,2DAAsD;AACtD,qDAAwD;AACxD,+CAAqC;AACrC,iDAA6C;AAK7C,IAAa,cAAc,GAA3B,MAAa,cAAc;IACzB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAQzD,MAAM,CAAY,GAAG,EAAU,IAAI;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,qBAAW,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IAOD,OAAO,CAAU,UAAU;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAOD,SAAS,CAAe,GAAG;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAQD,QAAQ,CAAc,EAAE;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IASD,UAAU,CAAc,EAAE;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AA5CC;IAFC,qBAAW,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,kBAAI,CAAC,EAAE,CAAC;IACnE,aAAI,EAAE;IACC,WAAA,gBAAO,EAAE,CAAA,EAAO,WAAA,aAAI,EAAE,CAAA;;;;4CAI7B;AAOD;IAFC,YAAG,EAAE;IACL,kBAAS,CAAC,6BAAY,CAAC;IACf,WAAA,cAAK,EAAE,CAAA;;;;6CAEf;AAOD;IADC,YAAG,CAAC,MAAM,CAAC;IACD,WAAA,cAAK,CAAC,KAAK,CAAC,CAAA;;;;+CAEtB;AAQD;IAFC,YAAG,CAAC,KAAK,CAAC;IACV,kBAAS,CAAC,6BAAY,CAAC;IACd,WAAA,cAAK,CAAC,IAAI,CAAC,CAAA;;;;8CAEpB;AASD;IAHC,eAAM,CAAC,KAAK,CAAC;IACb,mBAAK,CAAC,OAAO,CAAC;IACd,kBAAS,CAAC,6BAAY,CAAC;IACZ,WAAA,cAAK,CAAC,IAAI,CAAC,CAAA;;;;gDAEtB;AApDU,cAAc;IAH1B,iBAAO,CAAC,MAAM,CAAC;IACf,mBAAU,CAAC,MAAM,CAAC;IAClB,kBAAS,CAAC,wBAAU,CAAC;qCAEsB,0BAAW;GAD1C,cAAc,CAqD1B;AArDY,wCAAc"}
@@ -0,0 +1,14 @@
1
+ export declare class View {
2
+ id: string;
3
+ ip: string;
4
+ userAgent: string;
5
+ url: string;
6
+ count: number;
7
+ address: string;
8
+ browser: string;
9
+ engine: string;
10
+ os: string;
11
+ device: string;
12
+ createAt: Date;
13
+ updateAt: Date;
14
+ }
@@ -0,0 +1,88 @@
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.View = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const typeorm_1 = require("typeorm");
15
+ let View = class View {
16
+ };
17
+ __decorate([
18
+ typeorm_1.PrimaryGeneratedColumn('uuid'),
19
+ __metadata("design:type", String)
20
+ ], View.prototype, "id", void 0);
21
+ __decorate([
22
+ swagger_1.ApiProperty(),
23
+ typeorm_1.Column(),
24
+ __metadata("design:type", String)
25
+ ], View.prototype, "ip", void 0);
26
+ __decorate([
27
+ swagger_1.ApiProperty(),
28
+ typeorm_1.Column({ type: 'text', default: null }),
29
+ __metadata("design:type", String)
30
+ ], View.prototype, "userAgent", void 0);
31
+ __decorate([
32
+ swagger_1.ApiProperty(),
33
+ typeorm_1.Column({ type: 'text', default: null }),
34
+ __metadata("design:type", String)
35
+ ], View.prototype, "url", void 0);
36
+ __decorate([
37
+ swagger_1.ApiProperty(),
38
+ typeorm_1.Column({ default: 1 }),
39
+ __metadata("design:type", Number)
40
+ ], View.prototype, "count", void 0);
41
+ __decorate([
42
+ swagger_1.ApiProperty(),
43
+ typeorm_1.Column({ type: 'text', default: null }),
44
+ __metadata("design:type", String)
45
+ ], View.prototype, "address", void 0);
46
+ __decorate([
47
+ swagger_1.ApiProperty(),
48
+ typeorm_1.Column({ type: 'text', default: null }),
49
+ __metadata("design:type", String)
50
+ ], View.prototype, "browser", void 0);
51
+ __decorate([
52
+ swagger_1.ApiProperty(),
53
+ typeorm_1.Column({ type: 'text', default: null }),
54
+ __metadata("design:type", String)
55
+ ], View.prototype, "engine", void 0);
56
+ __decorate([
57
+ swagger_1.ApiProperty(),
58
+ typeorm_1.Column({ type: 'text', default: null }),
59
+ __metadata("design:type", String)
60
+ ], View.prototype, "os", void 0);
61
+ __decorate([
62
+ swagger_1.ApiProperty(),
63
+ typeorm_1.Column({ type: 'text', default: null }),
64
+ __metadata("design:type", String)
65
+ ], View.prototype, "device", void 0);
66
+ __decorate([
67
+ swagger_1.ApiProperty(),
68
+ typeorm_1.CreateDateColumn({
69
+ type: 'datetime',
70
+ comment: '创建时间',
71
+ name: 'create_at',
72
+ }),
73
+ __metadata("design:type", Date)
74
+ ], View.prototype, "createAt", void 0);
75
+ __decorate([
76
+ swagger_1.ApiProperty(),
77
+ typeorm_1.UpdateDateColumn({
78
+ type: 'datetime',
79
+ comment: '更新时间',
80
+ name: 'update_at',
81
+ }),
82
+ __metadata("design:type", Date)
83
+ ], View.prototype, "updateAt", void 0);
84
+ View = __decorate([
85
+ typeorm_1.Entity()
86
+ ], View);
87
+ exports.View = View;
88
+ //# sourceMappingURL=view.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.entity.js","sourceRoot":"","sources":["../../../src/modules/view/view.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qCAAqG;AAGrG,IAAa,IAAI,GAAjB,MAAa,IAAI;CAuDhB,CAAA;AArDC;IADC,gCAAsB,CAAC,MAAM,CAAC;;gCACpB;AAIX;IAFC,qBAAW,EAAE;IACb,gBAAM,EAAE;;gCACE;AAIX;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;uCACtB;AAIlB;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;iCAC5B;AAIZ;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;mCACT;AAId;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;qCACxB;AAIhB;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;qCACxB;AAIhB;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oCACzB;AAIf;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;gCAC7B;AAIX;IAFC,qBAAW,EAAE;IACb,gBAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oCACzB;AAQf;IANC,qBAAW,EAAE;IACb,0BAAgB,CAAC;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,WAAW;KAClB,CAAC;8BACQ,IAAI;sCAAC;AAQf;IANC,qBAAW,EAAE;IACb,0BAAgB,CAAC;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,WAAW;KAClB,CAAC;8BACQ,IAAI;sCAAC;AAtDJ,IAAI;IADhB,gBAAM,EAAE;GACI,IAAI,CAuDhB;AAvDY,oBAAI"}
@@ -0,0 +1,2 @@
1
+ export declare class ViewModule {
2
+ }
@@ -0,0 +1,27 @@
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.ViewModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const typeorm_1 = require("@nestjs/typeorm");
12
+ const auth_module_1 = require("../auth/auth.module");
13
+ const view_controller_1 = require("./view.controller");
14
+ const view_entity_1 = require("./view.entity");
15
+ const view_service_1 = require("./view.service");
16
+ let ViewModule = class ViewModule {
17
+ };
18
+ ViewModule = __decorate([
19
+ common_1.Module({
20
+ imports: [typeorm_1.TypeOrmModule.forFeature([view_entity_1.View]), auth_module_1.AuthModule],
21
+ exports: [view_service_1.ViewService],
22
+ providers: [view_service_1.ViewService],
23
+ controllers: [view_controller_1.ViewController],
24
+ })
25
+ ], ViewModule);
26
+ exports.ViewModule = ViewModule;
27
+ //# sourceMappingURL=view.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.module.js","sourceRoot":"","sources":["../../../src/modules/view/view.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAEhD,qDAAiD;AACjD,uDAAmD;AACnD,+CAAqC;AACrC,iDAA6C;AAQ7C,IAAa,UAAU,GAAvB,MAAa,UAAU;CAAG,CAAA;AAAb,UAAU;IANtB,eAAM,CAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,kBAAI,CAAC,CAAC,EAAE,wBAAU,CAAC;QACvD,OAAO,EAAE,CAAC,0BAAW,CAAC;QACtB,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,WAAW,EAAE,CAAC,gCAAc,CAAC;KAC9B,CAAC;GACW,UAAU,CAAG;AAAb,gCAAU"}
@@ -0,0 +1,11 @@
1
+ import { Repository } from 'typeorm';
2
+ import { View } from './view.entity';
3
+ export declare class ViewService {
4
+ private readonly viewRepository;
5
+ constructor(viewRepository: Repository<View>);
6
+ create(ip: string, userAgent: string, url: string): Promise<View>;
7
+ findAll(queryParams: any): Promise<[View[], number]>;
8
+ findByUrl(url: any): Promise<View[]>;
9
+ findById(id: any): Promise<View>;
10
+ deleteById(id: any): Promise<View>;
11
+ }