@comasoft/nestjs 0.1.2 → 0.1.7
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/README.md +2 -0
- package/dist/aws/aws-s3.service.js +1 -158
- package/dist/aws/aws.module.js +1 -25
- package/dist/aws/aws.service.js +1 -21
- package/dist/aws/constants/storage.constant.js +1 -25
- package/dist/aws/dto/create-s3-presigned.dto.js +1 -78
- package/dist/aws/dto/index.js +1 -18
- package/dist/aws/dto/response-s3-presigned.dto.js +1 -110
- package/dist/aws/index.js +1 -20
- package/dist/aws/types/s3.interface.js +1 -2
- package/dist/aws/types/storage.interface.js +1 -2
- package/dist/category/category.module.js +1 -23
- package/dist/category/category.service.d.ts +20 -8
- package/dist/category/category.service.js +1 -124
- package/dist/category/dto/create-category.dto.js +1 -34
- package/dist/category/dto/delete-category.dto.js +1 -6
- package/dist/category/dto/index.js +1 -21
- package/dist/category/dto/response-categories.dto.js +1 -52
- package/dist/category/dto/update-category-sort.dto.js +1 -33
- package/dist/category/dto/update-category.dto.js +1 -9
- package/dist/category/index.js +1 -19
- package/dist/comment/comment.module.js +1 -23
- package/dist/comment/comment.service.d.ts +12 -3
- package/dist/comment/comment.service.js +1 -240
- package/dist/comment/dto/create-comment.dto.d.ts +1 -0
- package/dist/comment/dto/create-comment.dto.js +1 -41
- package/dist/comment/dto/index.js +1 -19
- package/dist/comment/dto/response-comment.dto.d.ts +5 -2
- package/dist/comment/dto/response-comment.dto.js +1 -97
- package/dist/comment/dto/update-comment.dto.js +1 -22
- package/dist/comment/index.js +1 -19
- package/dist/database/entities/category.entity.js +1 -70
- package/dist/database/entities/comment.entity.d.ts +2 -0
- package/dist/database/entities/comment.entity.js +1 -77
- package/dist/database/entities/config.entity.js +1 -44
- package/dist/database/entities/file.entity.js +1 -91
- package/dist/database/entities/index.js +1 -26
- package/dist/database/entities/like.entity.d.ts +1 -0
- package/dist/database/entities/like.entity.js +1 -49
- package/dist/database/entities/logs-audit.entity.d.ts +3 -0
- package/dist/database/entities/logs-audit.entity.js +1 -72
- package/dist/database/entities/logs-event.entity.d.ts +2 -0
- package/dist/database/entities/logs-event.entity.js +1 -72
- package/dist/database/entities/notification-recipient.entity.d.ts +4 -0
- package/dist/database/entities/notification-recipient.entity.js +1 -74
- package/dist/database/entities/notification.entity.d.ts +4 -0
- package/dist/database/entities/notification.entity.js +1 -69
- package/dist/database/entities/role.entity.js +1 -54
- package/dist/decorators/api-custom-params.decorator.js +1 -35
- package/dist/decorators/auth.decorator.factory.js +1 -33
- package/dist/decorators/cookies.decorator.js +1 -9
- package/dist/decorators/custom-params.decorator.js +1 -16
- package/dist/decorators/index.d.ts +0 -2
- package/dist/decorators/index.js +1 -24
- package/dist/decorators/patch-body.decorator.js +1 -38
- package/dist/decorators/soft-delete.decorator.js +1 -10
- package/dist/decorators/timestamps.decorator.js +1 -23
- package/dist/decorators/user.decorator.js +1 -8
- package/dist/dto/auth-user-local.dto.js +1 -26
- package/dist/dto/auth-user-sso.dto.js +1 -21
- package/dist/dto/custom-params.dto.js +1 -46
- package/dist/dto/file.dto.js +1 -70
- package/dist/dto/index.js +1 -26
- package/dist/dto/jwt-user.dto.js +1 -6
- package/dist/dto/pagination.dto.js +1 -36
- package/dist/dto/remove-ids.dto.js +1 -23
- package/dist/dto/response-access-token.dto.js +1 -24
- package/dist/dto/response-id.dto.js +1 -35
- package/dist/dto/response-uid.dto.js +1 -35
- package/dist/dto/update-ids.dto.js +1 -45
- package/dist/dto/update-sort.dto.js +1 -50
- package/dist/enums.common.d.ts +2 -1
- package/dist/enums.common.js +1 -62
- package/dist/events/event-bus.module.js +1 -44
- package/dist/events/index.js +1 -20
- package/dist/events/listeners/audit-event.listener.js +1 -58
- package/dist/events/listeners/index.d.ts +1 -0
- package/dist/events/listeners/index.js +1 -17
- package/dist/events/listeners/notification-event.listener.d.ts +7 -0
- package/dist/events/listeners/notification-event.listener.js +1 -0
- package/dist/events/listeners/system-event.listener.js +1 -58
- package/dist/events/services/event-logger.service.js +1 -34
- package/dist/events/services/event-notification.service.js +1 -104
- package/dist/events/services/event-storage.service.js +1 -79
- package/dist/events/services/index.js +1 -20
- package/dist/events/services/token.service.d.ts +2 -4
- package/dist/events/services/token.service.js +1 -88
- package/dist/events/types/audit-events.type.d.ts +4 -1
- package/dist/events/types/audit-events.type.js +1 -2
- package/dist/events/types/index.js +1 -17
- package/dist/filters/http-exception.filter.d.ts +2 -2
- package/dist/filters/http-exception.filter.js +1 -75
- package/dist/filters/index.js +1 -17
- package/dist/guards/auth.guard.js +1 -60
- package/dist/guards/index.d.ts +3 -0
- package/dist/guards/index.js +1 -0
- package/dist/guards/jwt.guard.js +1 -17
- package/dist/guards/permission.guard.d.ts +10 -0
- package/dist/guards/permission.guard.js +1 -0
- package/dist/guards/role.guard.d.ts +8 -0
- package/dist/guards/role.guard.js +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -36
- package/dist/interceptors/error.interceptor.js +1 -26
- package/dist/interceptors/index.js +1 -18
- package/dist/interceptors/success.interceptor.d.ts +1 -1
- package/dist/interceptors/success.interceptor.js +1 -30
- package/dist/library.module.js +1 -20
- package/dist/like/dto/create-like.dto.js +1 -47
- package/dist/like/dto/index.js +1 -18
- package/dist/like/dto/response-like.dto.js +1 -79
- package/dist/like/index.js +1 -19
- package/dist/like/like.module.js +1 -23
- package/dist/like/like.service.d.ts +2 -2
- package/dist/like/like.service.js +1 -155
- package/dist/logger/index.js +1 -18
- package/dist/logger/pino-options.js +1 -77
- package/dist/logger/pino-pretty-transport.js +1 -164
- package/dist/notifications/index.d.ts +27 -4
- package/dist/notifications/index.js +1 -18
- package/dist/notifications/notification.module.js +1 -32
- package/dist/notifications/services/email.service.d.ts +5 -4
- package/dist/notifications/services/email.service.js +1 -69
- package/dist/notifications/services/index.d.ts +1 -0
- package/dist/notifications/services/index.js +1 -23
- package/dist/notifications/services/kakao.service.d.ts +17 -17
- package/dist/notifications/services/kakao.service.js +1 -94
- package/dist/notifications/services/message-template.service.d.ts +6 -2
- package/dist/notifications/services/message-template.service.js +1 -74
- package/dist/notifications/services/notification-send.service.d.ts +8 -12
- package/dist/notifications/services/notification-send.service.js +1 -146
- package/dist/notifications/services/notification.service.d.ts +3 -1
- package/dist/notifications/services/notification.service.js +1 -125
- package/dist/notifications/services/slack.service.d.ts +6 -1
- package/dist/notifications/services/slack.service.js +1 -53
- package/dist/notifications/services/sms.service.js +1 -62
- package/dist/notifications/services/web.service.d.ts +15 -0
- package/dist/notifications/services/web.service.js +1 -0
- package/dist/passport/google.strategy.d.ts +13 -0
- package/dist/passport/google.strategy.js +1 -0
- package/dist/passport/index.d.ts +4 -0
- package/dist/passport/index.js +1 -0
- package/dist/passport/jwt.strategy.js +1 -55
- package/dist/passport/kakao.strategy.d.ts +2 -1
- package/dist/passport/kakao.strategy.js +1 -36
- package/dist/passport/local.strategy.js +1 -41
- package/dist/redis/index.js +1 -18
- package/dist/redis/redis-constraint.js +1 -4
- package/dist/redis/redis.module.js +1 -62
- package/dist/redis/redis.service.js +1 -76
- package/dist/role/dto/create-role.dto.js +1 -41
- package/dist/role/dto/index.js +1 -19
- package/dist/role/dto/response-roles.dto.js +1 -62
- package/dist/role/dto/update-role.dto.js +1 -9
- package/dist/role/index.js +1 -19
- package/dist/role/role.module.js +1 -23
- package/dist/role/role.service.d.ts +20 -6
- package/dist/role/role.service.js +1 -144
- package/dist/services/file.service.d.ts +4 -4
- package/dist/services/file.service.js +1 -82
- package/dist/services/index.js +1 -18
- package/dist/services/permission-checker.service.js +1 -65
- package/dist/setup-swagger.js +1 -32
- package/dist/shared/error-codes.js +1 -9
- package/dist/utils/common.utils.js +1 -42
- package/dist/utils/enum.utils.js +1 -8
- package/dist/utils/file.utils.d.ts +6 -0
- package/dist/utils/file.utils.js +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -21
- package/dist/utils/object-diff.js +1 -33
- package/dist/utils/pagination-qb.utils.js +1 -154
- package/dist/utils/pagination.utils.js +1 -32
- package/package.json +3 -2
|
@@ -1,76 +1 @@
|
|
|
1
|
-
"
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.RedisService = void 0;
|
|
25
|
-
const common_1 = require("@nestjs/common");
|
|
26
|
-
const ioredis_1 = require("ioredis");
|
|
27
|
-
const redis_constraint_1 = require("./redis-constraint");
|
|
28
|
-
let RedisService = class RedisService {
|
|
29
|
-
constructor(redisClient) {
|
|
30
|
-
this.redisClient = redisClient;
|
|
31
|
-
}
|
|
32
|
-
set(key, value, expireSeconds) {
|
|
33
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
if (expireSeconds) {
|
|
35
|
-
return this.redisClient.set(key, value, 'EX', expireSeconds);
|
|
36
|
-
}
|
|
37
|
-
return this.redisClient.set(key, value);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
get(key) {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
return this.redisClient.get(key);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
del(key) {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
return this.redisClient.del(key);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
hset(key, field, value) {
|
|
51
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
return this.redisClient.hset(key, field, value);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
hget(key, field) {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
return this.redisClient.hget(key, field);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
hgetall(key) {
|
|
61
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
return this.redisClient.hgetall(key);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
hdel(key, field) {
|
|
66
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
-
return this.redisClient.hdel(key, field);
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
exports.RedisService = RedisService;
|
|
72
|
-
exports.RedisService = RedisService = __decorate([
|
|
73
|
-
(0, common_1.Injectable)(),
|
|
74
|
-
__param(0, (0, common_1.Inject)(redis_constraint_1.REDIS_CLIENT)),
|
|
75
|
-
__metadata("design:paramtypes", [ioredis_1.default])
|
|
76
|
-
], RedisService);
|
|
1
|
+
var e=this&&this.__decorate||function(e,t,i,n){var r,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s},t=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=this&&this.__param||function(e,t){return function(i,n){t(i,n,e)}},n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n.throw(e))}catch(e){o(e)}}function step(e){e.done?r(e.value):function adopt(e){return e instanceof i?e:new i(function(t){t(e)})}(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RedisService=void 0;const r=require("@nestjs/common"),o=require("ioredis"),s=require("./redis-constraint");let c=class RedisService{constructor(e){this.redisClient=e}set(e,t,i){return n(this,void 0,void 0,function*(){return i?this.redisClient.set(e,t,"EX",i):this.redisClient.set(e,t)})}get(e){return n(this,void 0,void 0,function*(){return this.redisClient.get(e)})}del(e){return n(this,void 0,void 0,function*(){return this.redisClient.del(e)})}hset(e,t,i){return n(this,void 0,void 0,function*(){return this.redisClient.hset(e,t,i)})}hget(e,t){return n(this,void 0,void 0,function*(){return this.redisClient.hget(e,t)})}hgetall(e){return n(this,void 0,void 0,function*(){return this.redisClient.hgetall(e)})}hdel(e,t){return n(this,void 0,void 0,function*(){return this.redisClient.hdel(e,t)})}};exports.RedisService=c,exports.RedisService=c=e([(0,r.Injectable)(),i(0,(0,r.Inject)(s.REDIS_CLIENT)),t("design:paramtypes",[o.default])],c);
|
|
@@ -1,41 +1 @@
|
|
|
1
|
-
"
|
|
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.CreateRoleBaseDto = void 0;
|
|
13
|
-
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
-
const class_validator_1 = require("class-validator");
|
|
15
|
-
class CreateRoleBaseDto {
|
|
16
|
-
}
|
|
17
|
-
exports.CreateRoleBaseDto = CreateRoleBaseDto;
|
|
18
|
-
__decorate([
|
|
19
|
-
(0, swagger_1.ApiProperty)({
|
|
20
|
-
example: 'Manager',
|
|
21
|
-
}),
|
|
22
|
-
(0, class_validator_1.IsString)(),
|
|
23
|
-
__metadata("design:type", String)
|
|
24
|
-
], CreateRoleBaseDto.prototype, "name", void 0);
|
|
25
|
-
__decorate([
|
|
26
|
-
(0, swagger_1.ApiProperty)({
|
|
27
|
-
example: 'Manager permissions',
|
|
28
|
-
}),
|
|
29
|
-
(0, class_validator_1.IsString)(),
|
|
30
|
-
(0, class_validator_1.IsOptional)(),
|
|
31
|
-
__metadata("design:type", String)
|
|
32
|
-
], CreateRoleBaseDto.prototype, "description", void 0);
|
|
33
|
-
__decorate([
|
|
34
|
-
(0, swagger_1.ApiProperty)({
|
|
35
|
-
example: ['user:list', 'user:read', 'blog:*'],
|
|
36
|
-
}),
|
|
37
|
-
(0, class_validator_1.IsArray)(),
|
|
38
|
-
(0, class_validator_1.IsString)({ each: true }),
|
|
39
|
-
(0, class_validator_1.IsOptional)(),
|
|
40
|
-
__metadata("design:type", Array)
|
|
41
|
-
], CreateRoleBaseDto.prototype, "permissions", void 0);
|
|
1
|
+
var e=this&&this.__decorate||function(e,t,r,o){var a,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var n=e.length-1;n>=0;n--)(a=e[n])&&(i=(s<3?a(i):s>3?a(t,r,i):a(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i},t=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.CreateRoleBaseDto=void 0;const r=require("@nestjs/swagger"),o=require("class-validator");class CreateRoleBaseDto{}exports.CreateRoleBaseDto=CreateRoleBaseDto,e([(0,r.ApiProperty)({example:"Manager"}),(0,o.IsString)(),t("design:type",String)],CreateRoleBaseDto.prototype,"name",void 0),e([(0,r.ApiProperty)({example:"Manager permissions"}),(0,o.IsString)(),(0,o.IsOptional)(),t("design:type",String)],CreateRoleBaseDto.prototype,"description",void 0),e([(0,r.ApiProperty)({example:["user:list","user:read","blog:*"]}),(0,o.IsArray)(),(0,o.IsString)({each:!0}),(0,o.IsOptional)(),t("design:type",Array)],CreateRoleBaseDto.prototype,"permissions",void 0);
|
package/dist/role/dto/index.js
CHANGED
|
@@ -1,19 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./create-role.dto"), exports);
|
|
18
|
-
__exportStar(require("./update-role.dto"), exports);
|
|
19
|
-
__exportStar(require("./response-roles.dto"), exports);
|
|
1
|
+
var e=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var i=Object.getOwnPropertyDescriptor(r,t);i&&!("get"in i?!r.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,i)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),r=this&&this.__exportStar||function(r,t){for(var o in r)"default"===o||Object.prototype.hasOwnProperty.call(t,o)||e(t,r,o)};Object.defineProperty(exports,"__esModule",{value:!0}),r(require("./create-role.dto"),exports),r(require("./update-role.dto"),exports),r(require("./response-roles.dto"),exports);
|
|
@@ -1,62 +1 @@
|
|
|
1
|
-
"
|
|
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.ResponseRolesBaseDto = exports.ResponseRoleBaseDto = void 0;
|
|
13
|
-
const class_transformer_1 = require("class-transformer");
|
|
14
|
-
const dto_1 = require("../../dto");
|
|
15
|
-
class ResponseRoleBaseDto {
|
|
16
|
-
}
|
|
17
|
-
exports.ResponseRoleBaseDto = ResponseRoleBaseDto;
|
|
18
|
-
__decorate([
|
|
19
|
-
(0, class_transformer_1.Expose)(),
|
|
20
|
-
__metadata("design:type", Number)
|
|
21
|
-
], ResponseRoleBaseDto.prototype, "id", void 0);
|
|
22
|
-
__decorate([
|
|
23
|
-
(0, class_transformer_1.Expose)(),
|
|
24
|
-
__metadata("design:type", String)
|
|
25
|
-
], ResponseRoleBaseDto.prototype, "name", void 0);
|
|
26
|
-
__decorate([
|
|
27
|
-
(0, class_transformer_1.Expose)(),
|
|
28
|
-
__metadata("design:type", String)
|
|
29
|
-
], ResponseRoleBaseDto.prototype, "description", void 0);
|
|
30
|
-
__decorate([
|
|
31
|
-
(0, class_transformer_1.Expose)(),
|
|
32
|
-
__metadata("design:type", Array)
|
|
33
|
-
], ResponseRoleBaseDto.prototype, "permissions", void 0);
|
|
34
|
-
__decorate([
|
|
35
|
-
(0, class_transformer_1.Expose)(),
|
|
36
|
-
__metadata("design:type", Boolean)
|
|
37
|
-
], ResponseRoleBaseDto.prototype, "is_default", void 0);
|
|
38
|
-
__decorate([
|
|
39
|
-
(0, class_transformer_1.Expose)(),
|
|
40
|
-
__metadata("design:type", Boolean)
|
|
41
|
-
], ResponseRoleBaseDto.prototype, "is_system", void 0);
|
|
42
|
-
__decorate([
|
|
43
|
-
(0, class_transformer_1.Expose)(),
|
|
44
|
-
__metadata("design:type", Number)
|
|
45
|
-
], ResponseRoleBaseDto.prototype, "sort", void 0);
|
|
46
|
-
__decorate([
|
|
47
|
-
(0, class_transformer_1.Expose)(),
|
|
48
|
-
__metadata("design:type", Date)
|
|
49
|
-
], ResponseRoleBaseDto.prototype, "created_at", void 0);
|
|
50
|
-
class ResponseRolesBaseDto {
|
|
51
|
-
}
|
|
52
|
-
exports.ResponseRolesBaseDto = ResponseRolesBaseDto;
|
|
53
|
-
__decorate([
|
|
54
|
-
(0, class_transformer_1.Expose)(),
|
|
55
|
-
(0, class_transformer_1.Type)(() => ResponseRoleBaseDto),
|
|
56
|
-
__metadata("design:type", Array)
|
|
57
|
-
], ResponseRolesBaseDto.prototype, "items", void 0);
|
|
58
|
-
__decorate([
|
|
59
|
-
(0, class_transformer_1.Expose)(),
|
|
60
|
-
(0, class_transformer_1.Type)(() => dto_1.PaginationDto),
|
|
61
|
-
__metadata("design:type", dto_1.PaginationDto)
|
|
62
|
-
], ResponseRolesBaseDto.prototype, "pagination", void 0);
|
|
1
|
+
var e=this&&this.__decorate||function(e,o,s,t){var p,n=arguments.length,a=n<3?o:null===t?t=Object.getOwnPropertyDescriptor(o,s):t;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,o,s,t);else for(var r=e.length-1;r>=0;r--)(p=e[r])&&(a=(n<3?p(a):n>3?p(o,s,a):p(o,s))||a);return n>3&&a&&Object.defineProperty(o,s,a),a},o=this&&this.__metadata||function(e,o){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,o)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseRolesBaseDto=exports.ResponseRoleBaseDto=void 0;const s=require("class-transformer"),t=require("../../dto");class ResponseRoleBaseDto{}exports.ResponseRoleBaseDto=ResponseRoleBaseDto,e([(0,s.Expose)(),o("design:type",Number)],ResponseRoleBaseDto.prototype,"id",void 0),e([(0,s.Expose)(),o("design:type",String)],ResponseRoleBaseDto.prototype,"name",void 0),e([(0,s.Expose)(),o("design:type",String)],ResponseRoleBaseDto.prototype,"description",void 0),e([(0,s.Expose)(),o("design:type",Array)],ResponseRoleBaseDto.prototype,"permissions",void 0),e([(0,s.Expose)(),o("design:type",Boolean)],ResponseRoleBaseDto.prototype,"is_default",void 0),e([(0,s.Expose)(),o("design:type",Boolean)],ResponseRoleBaseDto.prototype,"is_system",void 0),e([(0,s.Expose)(),o("design:type",Number)],ResponseRoleBaseDto.prototype,"sort",void 0),e([(0,s.Expose)(),o("design:type",Date)],ResponseRoleBaseDto.prototype,"created_at",void 0);class ResponseRolesBaseDto{}exports.ResponseRolesBaseDto=ResponseRolesBaseDto,e([(0,s.Expose)(),(0,s.Type)(()=>ResponseRoleBaseDto),o("design:type",Array)],ResponseRolesBaseDto.prototype,"items",void 0),e([(0,s.Expose)(),(0,s.Type)(()=>t.PaginationDto),o("design:type",t.PaginationDto)],ResponseRolesBaseDto.prototype,"pagination",void 0);
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UpdateRoleBaseDto = void 0;
|
|
4
|
-
const swagger_1 = require("@nestjs/swagger");
|
|
5
|
-
const create_role_dto_1 = require("./create-role.dto");
|
|
6
|
-
class UpdateRoleBaseDto extends (0, swagger_1.PartialType)(create_role_dto_1.CreateRoleBaseDto) {
|
|
7
|
-
}
|
|
8
|
-
exports.UpdateRoleBaseDto = UpdateRoleBaseDto;
|
|
9
|
-
UpdateRoleBaseDto.keys = ['name', 'description', 'permissions'];
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.UpdateRoleBaseDto=void 0;const e=require("@nestjs/swagger"),t=require("./create-role.dto");class UpdateRoleBaseDto extends((0,e.PartialType)(t.CreateRoleBaseDto)){}exports.UpdateRoleBaseDto=UpdateRoleBaseDto,UpdateRoleBaseDto.keys=["name","description","permissions"];
|
package/dist/role/index.js
CHANGED
|
@@ -1,19 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./role.module"), exports);
|
|
18
|
-
__exportStar(require("./role.service"), exports);
|
|
19
|
-
__exportStar(require("./dto"), exports);
|
|
1
|
+
var e=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var i=Object.getOwnPropertyDescriptor(r,t);i&&!("get"in i?!r.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,i)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),r=this&&this.__exportStar||function(r,t){for(var o in r)"default"===o||Object.prototype.hasOwnProperty.call(t,o)||e(t,r,o)};Object.defineProperty(exports,"__esModule",{value:!0}),r(require("./role.module"),exports),r(require("./role.service"),exports),r(require("./dto"),exports);
|
package/dist/role/role.module.js
CHANGED
|
@@ -1,23 +1 @@
|
|
|
1
|
-
"
|
|
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.RoleModule = void 0;
|
|
10
|
-
const common_1 = require("@nestjs/common");
|
|
11
|
-
const typeorm_1 = require("@nestjs/typeorm");
|
|
12
|
-
const entities_1 = require("../database/entities");
|
|
13
|
-
const role_service_1 = require("./role.service");
|
|
14
|
-
let RoleModule = class RoleModule {
|
|
15
|
-
};
|
|
16
|
-
exports.RoleModule = RoleModule;
|
|
17
|
-
exports.RoleModule = RoleModule = __decorate([
|
|
18
|
-
(0, common_1.Module)({
|
|
19
|
-
imports: [typeorm_1.TypeOrmModule.forFeature([entities_1.Role])],
|
|
20
|
-
providers: [role_service_1.RoleService],
|
|
21
|
-
exports: [role_service_1.RoleService],
|
|
22
|
-
})
|
|
23
|
-
], RoleModule);
|
|
1
|
+
var e=this&&this.__decorate||function(e,o,r,t){var l,s=arguments.length,i=s<3?o:null===t?t=Object.getOwnPropertyDescriptor(o,r):t;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,o,r,t);else for(var c=e.length-1;c>=0;c--)(l=e[c])&&(i=(s<3?l(i):s>3?l(o,r,i):l(o,r))||i);return s>3&&i&&Object.defineProperty(o,r,i),i};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RoleModule=void 0;const o=require("@nestjs/common"),r=require("@nestjs/typeorm"),t=require("../database/entities"),l=require("./role.service");let s=class RoleModule{};exports.RoleModule=s,exports.RoleModule=s=e([(0,o.Module)({imports:[r.TypeOrmModule.forFeature([t.Role])],providers:[l.RoleService],exports:[l.RoleService]})],s);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DataSource, Repository } from 'typeorm';
|
|
2
2
|
import { Role } from '../database/entities';
|
|
3
3
|
import { CustomParamsDto } from '../dto';
|
|
4
|
-
import { CreateRoleBaseDto,
|
|
4
|
+
import { CreateRoleBaseDto, UpdateRoleBaseDto } from './dto';
|
|
5
5
|
export declare class RoleService {
|
|
6
6
|
protected readonly repository: Repository<Role>;
|
|
7
7
|
protected readonly dataSource: DataSource;
|
|
@@ -9,9 +9,23 @@ export declare class RoleService {
|
|
|
9
9
|
protected validatePermissions(permissions: string[]): void;
|
|
10
10
|
protected validateRoleLimit(): Promise<void>;
|
|
11
11
|
protected checkRoleUsage(id: number): Promise<void>;
|
|
12
|
-
create(body: CreateRoleBaseDto): Promise<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
create(body: CreateRoleBaseDto): Promise<{
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
permissions: string[];
|
|
16
|
+
sort: number;
|
|
17
|
+
} & Role>;
|
|
18
|
+
findAll(c_params: CustomParamsDto): Promise<{
|
|
19
|
+
items: Role[];
|
|
20
|
+
pagination: {
|
|
21
|
+
page: number;
|
|
22
|
+
limit: number;
|
|
23
|
+
count: number;
|
|
24
|
+
count_total: number;
|
|
25
|
+
count_page: number;
|
|
26
|
+
};
|
|
27
|
+
}>;
|
|
28
|
+
findOne(id: number): Promise<Role>;
|
|
29
|
+
update(id: number, body: UpdateRoleBaseDto): Promise<Role>;
|
|
30
|
+
remove(id: number): Promise<Role>;
|
|
17
31
|
}
|
|
@@ -1,144 +1 @@
|
|
|
1
|
-
"
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.RoleService = void 0;
|
|
25
|
-
const common_1 = require("@nestjs/common");
|
|
26
|
-
const typeorm_1 = require("@nestjs/typeorm");
|
|
27
|
-
const class_transformer_1 = require("class-transformer");
|
|
28
|
-
const typeorm_2 = require("typeorm");
|
|
29
|
-
const entities_1 = require("../database/entities");
|
|
30
|
-
const utils_1 = require("../utils");
|
|
31
|
-
const dto_1 = require("./dto");
|
|
32
|
-
let RoleService = class RoleService {
|
|
33
|
-
constructor(repository, dataSource) {
|
|
34
|
-
this.repository = repository;
|
|
35
|
-
this.dataSource = dataSource;
|
|
36
|
-
}
|
|
37
|
-
validatePermissions(permissions) {
|
|
38
|
-
throw new common_1.BadRequestException('validatePermissions must be implemented in app service');
|
|
39
|
-
}
|
|
40
|
-
validateRoleLimit() {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
throw new common_1.BadRequestException('validateRoleLimit must be implemented in app service');
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
checkRoleUsage(id) {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
throw new common_1.BadRequestException('checkRoleUsage must be implemented in app service');
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
create(body) {
|
|
51
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
if (!body.permissions || body.permissions.length === 0) {
|
|
53
|
-
throw new common_1.BadRequestException('Permissions are required');
|
|
54
|
-
}
|
|
55
|
-
yield this.validateRoleLimit();
|
|
56
|
-
const existRole = yield this.repository.findOne({
|
|
57
|
-
where: { name: body.name },
|
|
58
|
-
});
|
|
59
|
-
if (existRole)
|
|
60
|
-
throw new common_1.ConflictException('Role name already exists');
|
|
61
|
-
this.validatePermissions(body.permissions);
|
|
62
|
-
const next_sort = (yield this.repository.count()) + 1;
|
|
63
|
-
const role = yield this.repository.save({
|
|
64
|
-
name: body.name,
|
|
65
|
-
description: body.description,
|
|
66
|
-
permissions: body.permissions,
|
|
67
|
-
sort: next_sort,
|
|
68
|
-
});
|
|
69
|
-
return (0, class_transformer_1.plainToClass)(dto_1.ResponseRoleBaseDto, role);
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
findAll(c_params) {
|
|
73
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
-
const { _page, _limit, _keyword, _group, _sort } = c_params;
|
|
75
|
-
let queryBuilder = this.repository
|
|
76
|
-
.createQueryBuilder('roles')
|
|
77
|
-
.select(['roles'])
|
|
78
|
-
.orderBy('roles.sort', 'ASC');
|
|
79
|
-
queryBuilder = (0, utils_1.applyFiltersAndSorting)(queryBuilder, {
|
|
80
|
-
_keyword,
|
|
81
|
-
_group,
|
|
82
|
-
_sort,
|
|
83
|
-
keywordFields: ['name'],
|
|
84
|
-
aliasName: 'roles',
|
|
85
|
-
});
|
|
86
|
-
const res = yield (0, utils_1.paginate)(queryBuilder, {
|
|
87
|
-
page: _page,
|
|
88
|
-
limit: _limit,
|
|
89
|
-
});
|
|
90
|
-
return (0, class_transformer_1.plainToClass)(dto_1.ResponseRolesBaseDto, res);
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
findOne(id) {
|
|
94
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
const role = yield this.repository.findOne({
|
|
96
|
-
where: { id },
|
|
97
|
-
});
|
|
98
|
-
if (!role) {
|
|
99
|
-
throw new common_1.NotFoundException(`Role with ID ${id} not found`);
|
|
100
|
-
}
|
|
101
|
-
return (0, class_transformer_1.plainToClass)(dto_1.ResponseRoleBaseDto, role);
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
update(id, body) {
|
|
105
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
106
|
-
const role = yield this.repository.findOne({ where: { id } });
|
|
107
|
-
if (!role)
|
|
108
|
-
throw new common_1.NotFoundException(`Role with ID ${id} not found`);
|
|
109
|
-
if (role.is_system) {
|
|
110
|
-
throw new common_1.BadRequestException('Cannot update system role');
|
|
111
|
-
}
|
|
112
|
-
if (body.permissions) {
|
|
113
|
-
this.validatePermissions(body.permissions);
|
|
114
|
-
}
|
|
115
|
-
yield this.repository.update(id, {
|
|
116
|
-
name: body.name,
|
|
117
|
-
description: body.description,
|
|
118
|
-
permissions: body.permissions || undefined,
|
|
119
|
-
});
|
|
120
|
-
const res = yield this.repository.findOne({ where: { id } });
|
|
121
|
-
return (0, class_transformer_1.plainToClass)(dto_1.ResponseRoleBaseDto, res);
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
remove(id) {
|
|
125
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
-
const role = yield this.repository.findOne({ where: { id } });
|
|
127
|
-
if (!role)
|
|
128
|
-
throw new common_1.NotFoundException(`Role with ID ${id} not found`);
|
|
129
|
-
if (role.is_system || role.is_default) {
|
|
130
|
-
throw new common_1.BadRequestException('Cannot delete system or default role');
|
|
131
|
-
}
|
|
132
|
-
yield this.checkRoleUsage(id);
|
|
133
|
-
yield this.repository.delete(id);
|
|
134
|
-
return;
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
exports.RoleService = RoleService;
|
|
139
|
-
exports.RoleService = RoleService = __decorate([
|
|
140
|
-
(0, common_1.Injectable)(),
|
|
141
|
-
__param(0, (0, typeorm_1.InjectRepository)(entities_1.Role)),
|
|
142
|
-
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
143
|
-
typeorm_2.DataSource])
|
|
144
|
-
], RoleService);
|
|
1
|
+
var e=this&&this.__decorate||function(e,t,i,o){var r,n=arguments.length,s=n<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var d=e.length-1;d>=0;d--)(r=e[d])&&(s=(n<3?r(s):n>3?r(t,i,s):r(t,i))||s);return n>3&&s&&Object.defineProperty(t,i,s),s},t=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=this&&this.__param||function(e,t){return function(i,o){t(i,o,e)}},o=this&&this.__awaiter||function(e,t,i,o){return new(i||(i=Promise))(function(r,n){function fulfilled(e){try{step(o.next(e))}catch(e){n(e)}}function rejected(e){try{step(o.throw(e))}catch(e){n(e)}}function step(e){e.done?r(e.value):function adopt(e){return e instanceof i?e:new i(function(t){t(e)})}(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RoleService=void 0;const r=require("@nestjs/common"),n=require("@nestjs/typeorm"),s=require("typeorm"),d=require("../database/entities"),a=require("../utils");let c=class RoleService{constructor(e,t){this.repository=e,this.dataSource=t}validatePermissions(e){throw new r.BadRequestException("validatePermissions must be implemented in app service")}validateRoleLimit(){return o(this,void 0,void 0,function*(){throw new r.BadRequestException("validateRoleLimit must be implemented in app service")})}checkRoleUsage(e){return o(this,void 0,void 0,function*(){throw new r.BadRequestException("checkRoleUsage must be implemented in app service")})}create(e){return o(this,void 0,void 0,function*(){if(!e.permissions||0===e.permissions.length)throw new r.BadRequestException("Permissions are required");yield this.validateRoleLimit();if(yield this.repository.findOne({where:{name:e.name}}))throw new r.ConflictException("Role name already exists");this.validatePermissions(e.permissions);const t=(yield this.repository.count())+1;return yield this.repository.save({name:e.name,description:e.description,permissions:e.permissions,sort:t})})}findAll(e){return o(this,void 0,void 0,function*(){const{_page:t,_limit:i,_keyword:o,_group:r,_sort:n}=e;let s=this.repository.createQueryBuilder("roles").select(["roles"]).orderBy("roles.sort","ASC");s=(0,a.applyFiltersAndSorting)(s,{_keyword:o,_group:r,_sort:n,keywordFields:["name"],aliasName:"roles"});return yield(0,a.paginate)(s,{page:t,limit:i})})}findOne(e){return o(this,void 0,void 0,function*(){const t=yield this.repository.findOne({where:{id:e}});if(!t)throw new r.NotFoundException(`Role with ID ${e} not found`);return t})}update(e,t){return o(this,void 0,void 0,function*(){const i=yield this.repository.findOne({where:{id:e}});if(!i)throw new r.NotFoundException(`Role with ID ${e} not found`);if(i.is_system)throw new r.BadRequestException("Cannot update system role");t.permissions&&this.validatePermissions(t.permissions),yield this.repository.update(e,{name:t.name,description:t.description,permissions:t.permissions||void 0});return yield this.repository.findOne({where:{id:e}})})}remove(e){return o(this,void 0,void 0,function*(){const t=yield this.repository.findOne({where:{id:e}});if(!t)throw new r.NotFoundException(`Role with ID ${e} not found`);if(t.is_system||t.is_default)throw new r.BadRequestException("Cannot delete system or default role");return yield this.checkRoleUsage(e),yield this.repository.delete(e),t})}};exports.RoleService=c,exports.RoleService=c=e([(0,r.Injectable)(),i(0,(0,n.InjectRepository)(d.Role)),t("design:paramtypes",[s.Repository,s.DataSource])],c);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DataSource, EntityManager } from 'typeorm';
|
|
2
2
|
import { S3Service } from '../aws/aws-s3.service';
|
|
3
|
-
import { FILE_STATUS } from '../enums.common';
|
|
4
3
|
import { File } from '../database/entities';
|
|
4
|
+
import { FILE_STATUS } from '../enums.common';
|
|
5
5
|
interface FileInput {
|
|
6
6
|
original_name: string;
|
|
7
7
|
file_name: string;
|
|
@@ -35,7 +35,7 @@ export declare class FileService {
|
|
|
35
35
|
target_id: number;
|
|
36
36
|
group_number?: number;
|
|
37
37
|
}): Promise<File[]>;
|
|
38
|
-
createPending({ target, user_id, files, manager, group_number
|
|
38
|
+
createPending({ target, user_id, files, manager, group_number }: CreateFileInput): Promise<({
|
|
39
39
|
sort: number;
|
|
40
40
|
group_number: number;
|
|
41
41
|
original_name: string;
|
|
@@ -49,7 +49,7 @@ export declare class FileService {
|
|
|
49
49
|
target_id: number;
|
|
50
50
|
user_id: number;
|
|
51
51
|
} & File)[]>;
|
|
52
|
-
statusCompleted({ target, target_id, user_id, file_ids, manager
|
|
53
|
-
softDelete({ target, target_id, user_id, delete_file_ids, manager
|
|
52
|
+
statusCompleted({ target, target_id, user_id, file_ids, manager }: StatusCompletedInput): Promise<void>;
|
|
53
|
+
softDelete({ target, target_id, user_id, delete_file_ids, manager }: SoftDeleteInput): Promise<void>;
|
|
54
54
|
}
|
|
55
55
|
export {};
|
|
@@ -1,82 +1 @@
|
|
|
1
|
-
"
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.FileService = void 0;
|
|
25
|
-
const common_1 = require("@nestjs/common");
|
|
26
|
-
const typeorm_1 = require("typeorm");
|
|
27
|
-
const aws_s3_service_1 = require("../aws/aws-s3.service");
|
|
28
|
-
const enums_common_1 = require("../enums.common");
|
|
29
|
-
const entities_1 = require("../database/entities");
|
|
30
|
-
let FileService = class FileService {
|
|
31
|
-
constructor(dataSource, s3Service) {
|
|
32
|
-
this.dataSource = dataSource;
|
|
33
|
-
this.s3Service = s3Service;
|
|
34
|
-
}
|
|
35
|
-
findAll(_a) {
|
|
36
|
-
return __awaiter(this, arguments, void 0, function* ({ target, target_id, group_number, }) {
|
|
37
|
-
const repo = this.dataSource.getRepository(entities_1.File);
|
|
38
|
-
return repo.find({ where: { target, target_id, group_number } });
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
createPending(_a) {
|
|
42
|
-
return __awaiter(this, arguments, void 0, function* ({ target, user_id, files, manager, group_number, }) {
|
|
43
|
-
const repo = manager
|
|
44
|
-
? manager.getRepository(entities_1.File)
|
|
45
|
-
: this.dataSource.getRepository(entities_1.File);
|
|
46
|
-
const createdFiles = yield repo.save(files.map((file, index) => {
|
|
47
|
-
var _a;
|
|
48
|
-
return (Object.assign(Object.assign({ status: enums_common_1.FILE_STATUS.PENDING, target, target_id: 0, user_id }, file), { sort: (_a = file.sort) !== null && _a !== void 0 ? _a : index + 1, group_number }));
|
|
49
|
-
}));
|
|
50
|
-
return createdFiles;
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
statusCompleted(_a) {
|
|
54
|
-
return __awaiter(this, arguments, void 0, function* ({ target, target_id, user_id, file_ids, manager, }) {
|
|
55
|
-
const repo = manager
|
|
56
|
-
? manager.getRepository(entities_1.File)
|
|
57
|
-
: this.dataSource.getRepository(entities_1.File);
|
|
58
|
-
yield repo.update({ target, user_id, id: (0, typeorm_1.In)(file_ids) }, { status: enums_common_1.FILE_STATUS.COMPLETED, target_id });
|
|
59
|
-
return;
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
softDelete(_a) {
|
|
63
|
-
return __awaiter(this, arguments, void 0, function* ({ target, target_id, user_id, delete_file_ids, manager, }) {
|
|
64
|
-
const repo = manager
|
|
65
|
-
? manager.getRepository(entities_1.File)
|
|
66
|
-
: this.dataSource.getRepository(entities_1.File);
|
|
67
|
-
const files = yield repo.find({
|
|
68
|
-
where: { target, user_id, target_id, id: (0, typeorm_1.In)(delete_file_ids) },
|
|
69
|
-
});
|
|
70
|
-
yield this.s3Service.deleteObjectsByKeys(files.map((file) => this.s3Service.getFileKey(file)));
|
|
71
|
-
yield repo.update({ id: (0, typeorm_1.In)(files.map((file) => file.id)) }, { status: enums_common_1.FILE_STATUS.DELETED, deleted_at: new Date(), is_active: false });
|
|
72
|
-
return;
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
exports.FileService = FileService;
|
|
77
|
-
exports.FileService = FileService = __decorate([
|
|
78
|
-
(0, common_1.Injectable)(),
|
|
79
|
-
__param(1, (0, common_1.Inject)((0, common_1.forwardRef)(() => aws_s3_service_1.S3Service))),
|
|
80
|
-
__metadata("design:paramtypes", [typeorm_1.DataSource,
|
|
81
|
-
aws_s3_service_1.S3Service])
|
|
82
|
-
], FileService);
|
|
1
|
+
var e=this&&this.__decorate||function(e,t,r,i){var n,s=arguments.length,a=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;o>=0;o--)(n=e[o])&&(a=(s<3?n(a):s>3?n(t,r,a):n(t,r))||a);return s>3&&a&&Object.defineProperty(t,r,a),a},t=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}},i=this&&this.__awaiter||function(e,t,r,i){return new(r||(r=Promise))(function(n,s){function fulfilled(e){try{step(i.next(e))}catch(e){s(e)}}function rejected(e){try{step(i.throw(e))}catch(e){s(e)}}function step(e){e.done?n(e.value):function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FileService=void 0;const n=require("@nestjs/common"),s=require("typeorm"),a=require("../aws/aws-s3.service"),o=require("../database/entities"),c=require("../enums.common");let u=class FileService{constructor(e,t){this.dataSource=e,this.s3Service=t}findAll(e){return i(this,arguments,void 0,function*({target:e,target_id:t,group_number:r}){return this.dataSource.getRepository(o.File).find({where:{target:e,target_id:t,group_number:r}})})}createPending(e){return i(this,arguments,void 0,function*({target:e,user_id:t,files:r,manager:i,group_number:n}){const s=i?i.getRepository(o.File):this.dataSource.getRepository(o.File),a=yield s.save(r.map((r,i)=>{var s;return Object.assign(Object.assign({status:c.FILE_STATUS.PENDING,target:e,target_id:0,user_id:t},r),{sort:null!==(s=r.sort)&&void 0!==s?s:i+1,group_number:n})}));return a})}statusCompleted(e){return i(this,arguments,void 0,function*({target:e,target_id:t,user_id:r,file_ids:i,manager:n}){const a=n?n.getRepository(o.File):this.dataSource.getRepository(o.File);yield a.update({target:e,id:(0,s.In)(i)},{status:c.FILE_STATUS.COMPLETED,target_id:t})})}softDelete(e){return i(this,arguments,void 0,function*({target:e,target_id:t,user_id:r,delete_file_ids:i,manager:n}){const a=n?n.getRepository(o.File):this.dataSource.getRepository(o.File),u=yield a.find({where:{target:e,user_id:r,target_id:t,id:(0,s.In)(i)}});yield this.s3Service.deleteObjectsByKeys(u.map(e=>this.s3Service.getFileKey(e))),yield a.update({id:(0,s.In)(u.map(e=>e.id))},{status:c.FILE_STATUS.DELETED,deleted_at:new Date,is_active:!1})})}};exports.FileService=u,exports.FileService=u=e([(0,n.Injectable)(),r(1,(0,n.Inject)((0,n.forwardRef)(()=>a.S3Service))),t("design:paramtypes",[s.DataSource,a.S3Service])],u);
|
package/dist/services/index.js
CHANGED
|
@@ -1,18 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./permission-checker.service"), exports);
|
|
18
|
-
__exportStar(require("./file.service"), exports);
|
|
1
|
+
var e=this&&this.__createBinding||(Object.create?function(e,r,t,i){void 0===i&&(i=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,i,o)}:function(e,r,t,i){void 0===i&&(i=t),e[i]=r[t]}),r=this&&this.__exportStar||function(r,t){for(var i in r)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||e(t,r,i)};Object.defineProperty(exports,"__esModule",{value:!0}),r(require("./permission-checker.service"),exports),r(require("./file.service"),exports);
|