@fecommunity/reactpress-server 1.0.3-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.module.d.ts +2 -0
- package/dist/app.module.js +80 -0
- package/dist/app.module.js.map +1 -0
- package/dist/bootstrap.d.ts +10 -0
- package/dist/bootstrap.js +57 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/filters/http-exception.filter.d.ts +4 -0
- package/dist/filters/http-exception.filter.js +36 -0
- package/dist/filters/http-exception.filter.js.map +1 -0
- package/dist/interceptors/transform.interceptor.d.ts +9 -0
- package/dist/interceptors/transform.interceptor.js +36 -0
- package/dist/interceptors/transform.interceptor.js.map +1 -0
- package/dist/logger/index.d.ts +4 -0
- package/dist/logger/index.js +33 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.js +44 -0
- package/dist/main.js.map +1 -0
- package/dist/modules/article/article.controller.d.ts +27 -0
- package/dist/modules/article/article.controller.js +198 -0
- package/dist/modules/article/article.controller.js.map +1 -0
- package/dist/modules/article/article.entity.d.ts +23 -0
- package/dist/modules/article/article.entity.js +128 -0
- package/dist/modules/article/article.entity.js.map +1 -0
- package/dist/modules/article/article.module.d.ts +2 -0
- package/dist/modules/article/article.module.js +30 -0
- package/dist/modules/article/article.module.js.map +1 -0
- package/dist/modules/article/article.service.d.ts +30 -0
- package/dist/modules/article/article.service.js +303 -0
- package/dist/modules/article/article.service.js.map +1 -0
- package/dist/modules/article/article.util.d.ts +1 -0
- package/dist/modules/article/article.util.js +9 -0
- package/dist/modules/article/article.util.js.map +1 -0
- package/dist/modules/auth/auth.controller.d.ts +12 -0
- package/dist/modules/auth/auth.controller.js +66 -0
- package/dist/modules/auth/auth.controller.js.map +1 -0
- package/dist/modules/auth/auth.module.d.ts +2 -0
- package/dist/modules/auth/auth.module.js +41 -0
- package/dist/modules/auth/auth.module.js.map +1 -0
- package/dist/modules/auth/auth.service.d.ts +26 -0
- package/dist/modules/auth/auth.service.js +127 -0
- package/dist/modules/auth/auth.service.js.map +1 -0
- package/dist/modules/auth/jwt-auth.guard.d.ts +7 -0
- package/dist/modules/auth/jwt-auth.guard.js +29 -0
- package/dist/modules/auth/jwt-auth.guard.js.map +1 -0
- package/dist/modules/auth/jwt.strategy.d.ts +9 -0
- package/dist/modules/auth/jwt.strategy.js +38 -0
- package/dist/modules/auth/jwt.strategy.js.map +1 -0
- package/dist/modules/auth/roles.guard.d.ts +10 -0
- package/dist/modules/auth/roles.guard.js +46 -0
- package/dist/modules/auth/roles.guard.js.map +1 -0
- package/dist/modules/category/category.controller.d.ts +11 -0
- package/dist/modules/category/category.controller.js +91 -0
- package/dist/modules/category/category.controller.js.map +1 -0
- package/dist/modules/category/category.entity.d.ts +9 -0
- package/dist/modules/category/category.entity.js +60 -0
- package/dist/modules/category/category.entity.js.map +1 -0
- package/dist/modules/category/category.module.d.ts +2 -0
- package/dist/modules/category/category.module.js +27 -0
- package/dist/modules/category/category.module.js.map +1 -0
- package/dist/modules/category/category.service.d.ts +12 -0
- package/dist/modules/category/category.service.js +89 -0
- package/dist/modules/category/category.service.js.map +1 -0
- package/dist/modules/comment/comment.controller.d.ts +12 -0
- package/dist/modules/comment/comment.controller.js +100 -0
- package/dist/modules/comment/comment.controller.js.map +1 -0
- package/dist/modules/comment/comment.entity.d.ts +17 -0
- package/dist/modules/comment/comment.entity.js +104 -0
- package/dist/modules/comment/comment.entity.js.map +1 -0
- package/dist/modules/comment/comment.module.d.ts +2 -0
- package/dist/modules/comment/comment.module.js +30 -0
- package/dist/modules/comment/comment.module.js.map +1 -0
- package/dist/modules/comment/comment.service.d.ts +24 -0
- package/dist/modules/comment/comment.service.js +172 -0
- package/dist/modules/comment/comment.service.js.map +1 -0
- package/dist/modules/comment/html.d.ts +15 -0
- package/dist/modules/comment/html.js +632 -0
- package/dist/modules/comment/html.js.map +1 -0
- package/dist/modules/file/file.controller.d.ts +10 -0
- package/dist/modules/file/file.controller.js +84 -0
- package/dist/modules/file/file.controller.js.map +1 -0
- package/dist/modules/file/file.entity.d.ts +9 -0
- package/dist/modules/file/file.entity.js +60 -0
- package/dist/modules/file/file.entity.js.map +1 -0
- package/dist/modules/file/file.module.d.ts +2 -0
- package/dist/modules/file/file.module.js +27 -0
- package/dist/modules/file/file.module.js.map +1 -0
- package/dist/modules/file/file.service.d.ts +17 -0
- package/dist/modules/file/file.service.js +111 -0
- package/dist/modules/file/file.service.js.map +1 -0
- package/dist/modules/install/install.controller.d.ts +11 -0
- package/dist/modules/install/install.controller.js +49 -0
- package/dist/modules/install/install.controller.js.map +1 -0
- package/dist/modules/install/install.module.d.ts +2 -0
- package/dist/modules/install/install.module.js +26 -0
- package/dist/modules/install/install.module.js.map +1 -0
- package/dist/modules/install/install.service.d.ts +12 -0
- package/dist/modules/install/install.service.js +63 -0
- package/dist/modules/install/install.service.js.map +1 -0
- package/dist/modules/knowledge/knowledge.controller.d.ts +14 -0
- package/dist/modules/knowledge/knowledge.controller.js +128 -0
- package/dist/modules/knowledge/knowledge.controller.js.map +1 -0
- package/dist/modules/knowledge/knowledge.entity.d.ts +18 -0
- package/dist/modules/knowledge/knowledge.entity.js +109 -0
- package/dist/modules/knowledge/knowledge.entity.js.map +1 -0
- package/dist/modules/knowledge/knowledge.module.d.ts +2 -0
- package/dist/modules/knowledge/knowledge.module.js +27 -0
- package/dist/modules/knowledge/knowledge.module.js.map +1 -0
- package/dist/modules/knowledge/knowledge.service.d.ts +14 -0
- package/dist/modules/knowledge/knowledge.service.js +143 -0
- package/dist/modules/knowledge/knowledge.service.js.map +1 -0
- package/dist/modules/page/page.controller.d.ts +12 -0
- package/dist/modules/page/page.controller.js +102 -0
- package/dist/modules/page/page.controller.js.map +1 -0
- package/dist/modules/page/page.entity.d.ts +15 -0
- package/dist/modules/page/page.entity.js +94 -0
- package/dist/modules/page/page.entity.js.map +1 -0
- package/dist/modules/page/page.module.d.ts +2 -0
- package/dist/modules/page/page.module.js +27 -0
- package/dist/modules/page/page.module.js.map +1 -0
- package/dist/modules/page/page.service.d.ts +12 -0
- package/dist/modules/page/page.service.js +97 -0
- package/dist/modules/page/page.service.js.map +1 -0
- package/dist/modules/search/search.controller.d.ts +8 -0
- package/dist/modules/search/search.controller.js +67 -0
- package/dist/modules/search/search.controller.js.map +1 -0
- package/dist/modules/search/search.entity.d.ts +8 -0
- package/dist/modules/search/search.entity.js +59 -0
- package/dist/modules/search/search.entity.js.map +1 -0
- package/dist/modules/search/search.module.d.ts +2 -0
- package/dist/modules/search/search.module.js +27 -0
- package/dist/modules/search/search.module.js.map +1 -0
- package/dist/modules/search/search.service.d.ts +12 -0
- package/dist/modules/search/search.service.js +84 -0
- package/dist/modules/search/search.service.js.map +1 -0
- package/dist/modules/setting/setting.constant.d.ts +4 -0
- package/dist/modules/setting/setting.constant.js +24 -0
- package/dist/modules/setting/setting.constant.js.map +1 -0
- package/dist/modules/setting/setting.controller.d.ts +12 -0
- package/dist/modules/setting/setting.controller.js +77 -0
- package/dist/modules/setting/setting.controller.js.map +1 -0
- package/dist/modules/setting/setting.entity.d.ts +26 -0
- package/dist/modules/setting/setting.entity.js +149 -0
- package/dist/modules/setting/setting.entity.js.map +1 -0
- package/dist/modules/setting/setting.module.d.ts +2 -0
- package/dist/modules/setting/setting.module.js +28 -0
- package/dist/modules/setting/setting.module.js.map +1 -0
- package/dist/modules/setting/setting.service.d.ts +10 -0
- package/dist/modules/setting/setting.service.js +83 -0
- package/dist/modules/setting/setting.service.js.map +1 -0
- package/dist/modules/smtp/mail.util.d.ts +6 -0
- package/dist/modules/smtp/mail.util.js +33 -0
- package/dist/modules/smtp/mail.util.js.map +1 -0
- package/dist/modules/smtp/smtp.controller.d.ts +9 -0
- package/dist/modules/smtp/smtp.controller.js +69 -0
- package/dist/modules/smtp/smtp.controller.js.map +1 -0
- package/dist/modules/smtp/smtp.entity.d.ts +9 -0
- package/dist/modules/smtp/smtp.entity.js +60 -0
- package/dist/modules/smtp/smtp.entity.js.map +1 -0
- package/dist/modules/smtp/smtp.module.d.ts +2 -0
- package/dist/modules/smtp/smtp.module.js +28 -0
- package/dist/modules/smtp/smtp.module.js.map +1 -0
- package/dist/modules/smtp/smtp.service.d.ts +11 -0
- package/dist/modules/smtp/smtp.service.js +82 -0
- package/dist/modules/smtp/smtp.service.js.map +1 -0
- package/dist/modules/tag/tag.controller.d.ts +12 -0
- package/dist/modules/tag/tag.controller.js +101 -0
- package/dist/modules/tag/tag.controller.js.map +1 -0
- package/dist/modules/tag/tag.entity.d.ts +9 -0
- package/dist/modules/tag/tag.entity.js +59 -0
- package/dist/modules/tag/tag.entity.js.map +1 -0
- package/dist/modules/tag/tag.module.d.ts +2 -0
- package/dist/modules/tag/tag.module.js +27 -0
- package/dist/modules/tag/tag.module.js.map +1 -0
- package/dist/modules/tag/tag.service.d.ts +13 -0
- package/dist/modules/tag/tag.service.js +103 -0
- package/dist/modules/tag/tag.service.js.map +1 -0
- package/dist/modules/user/user.controller.d.ts +13 -0
- package/dist/modules/user/user.controller.js +114 -0
- package/dist/modules/user/user.controller.js.map +1 -0
- package/dist/modules/user/user.entity.d.ts +15 -0
- package/dist/modules/user/user.entity.js +96 -0
- package/dist/modules/user/user.entity.js.map +1 -0
- package/dist/modules/user/user.module.d.ts +2 -0
- package/dist/modules/user/user.module.js +28 -0
- package/dist/modules/user/user.module.js.map +1 -0
- package/dist/modules/user/user.service.d.ts +16 -0
- package/dist/modules/user/user.service.js +151 -0
- package/dist/modules/user/user.service.js.map +1 -0
- package/dist/modules/view/view.controller.d.ts +11 -0
- package/dist/modules/view/view.controller.js +92 -0
- package/dist/modules/view/view.controller.js.map +1 -0
- package/dist/modules/view/view.entity.d.ts +14 -0
- package/dist/modules/view/view.entity.js +88 -0
- package/dist/modules/view/view.entity.js.map +1 -0
- package/dist/modules/view/view.module.d.ts +2 -0
- package/dist/modules/view/view.module.js +27 -0
- package/dist/modules/view/view.module.js.map +1 -0
- package/dist/modules/view/view.service.d.ts +11 -0
- package/dist/modules/view/view.service.js +89 -0
- package/dist/modules/view/view.service.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +15722 -0
- package/dist/utils/date.util.d.ts +1 -0
- package/dist/utils/date.util.js +13 -0
- package/dist/utils/date.util.js.map +1 -0
- package/dist/utils/ip.util.d.ts +2 -0
- package/dist/utils/ip.util.js +27 -0
- package/dist/utils/ip.util.js.map +1 -0
- package/dist/utils/markdown.util.d.ts +4 -0
- package/dist/utils/markdown.util.js +42 -0
- package/dist/utils/markdown.util.js.map +1 -0
- package/dist/utils/oss/aliyun-oss-client.d.ts +6 -0
- package/dist/utils/oss/aliyun-oss-client.js +28 -0
- package/dist/utils/oss/aliyun-oss-client.js.map +1 -0
- package/dist/utils/oss/oss-client.d.ts +6 -0
- package/dist/utils/oss/oss-client.js +10 -0
- package/dist/utils/oss/oss-client.js.map +1 -0
- package/dist/utils/oss.util.d.ts +13 -0
- package/dist/utils/oss.util.js +48 -0
- package/dist/utils/oss.util.js.map +1 -0
- package/dist/utils/ua.util.d.ts +9 -0
- package/dist/utils/ua.util.js +36 -0
- package/dist/utils/ua.util.js.map +1 -0
- package/dist/utils/uniqueid.util.d.ts +1 -0
- package/dist/utils/uniqueid.util.js +9 -0
- package/dist/utils/uniqueid.util.js.map +1 -0
- package/dist/utils/upload.util.d.ts +5 -0
- package/dist/utils/upload.util.js +34 -0
- package/dist/utils/upload.util.js.map +1 -0
- package/dist/utils/user.util.d.ts +1 -0
- package/dist/utils/user.util.js +18 -0
- package/dist/utils/user.util.js.map +1 -0
- package/package.json +139 -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,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,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,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
|
+
}
|