@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
|
@@ -7,7 +7,7 @@ export declare class NotificationService {
|
|
|
7
7
|
private readonly notificationRecipientRepository;
|
|
8
8
|
private readonly configService;
|
|
9
9
|
constructor(notificationRepository: Repository<Notification>, notificationRecipientRepository: Repository<NotificationRecipient>, configService: ConfigService);
|
|
10
|
-
create({ type, template_key, title, content, recipients, variables, }: {
|
|
10
|
+
create({ type, template_key, title, content, recipients, variables, meta, }: {
|
|
11
11
|
type: string;
|
|
12
12
|
template_key: string;
|
|
13
13
|
title?: string;
|
|
@@ -18,6 +18,7 @@ export declare class NotificationService {
|
|
|
18
18
|
variables?: Record<string, any>;
|
|
19
19
|
}>;
|
|
20
20
|
variables?: Record<string, any>;
|
|
21
|
+
meta?: Record<string, any>;
|
|
21
22
|
}): Promise<{
|
|
22
23
|
notification: {
|
|
23
24
|
type: string;
|
|
@@ -25,6 +26,7 @@ export declare class NotificationService {
|
|
|
25
26
|
title: string;
|
|
26
27
|
content: string;
|
|
27
28
|
sender: string;
|
|
29
|
+
meta: Record<string, any>;
|
|
28
30
|
status: NOTIFICATION_STATUS.PENDING;
|
|
29
31
|
} & Notification;
|
|
30
32
|
recipients: NotificationRecipient[];
|
|
@@ -1,125 +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.NotificationService = void 0;
|
|
25
|
-
const common_1 = require("@nestjs/common");
|
|
26
|
-
const typeorm_1 = require("@nestjs/typeorm");
|
|
27
|
-
const config_1 = require("@nestjs/config");
|
|
28
|
-
const typeorm_2 = require("typeorm");
|
|
29
|
-
const entities_1 = require("../../database/entities");
|
|
30
|
-
const enums_common_1 = require("../../enums.common");
|
|
31
|
-
let NotificationService = class NotificationService {
|
|
32
|
-
constructor(notificationRepository, notificationRecipientRepository, configService) {
|
|
33
|
-
this.notificationRepository = notificationRepository;
|
|
34
|
-
this.notificationRecipientRepository = notificationRecipientRepository;
|
|
35
|
-
this.configService = configService;
|
|
36
|
-
}
|
|
37
|
-
create(_a) {
|
|
38
|
-
return __awaiter(this, arguments, void 0, function* ({ type, template_key, title, content, recipients, variables, }) {
|
|
39
|
-
const sender = this.getSenderByType(type);
|
|
40
|
-
const notification = yield this.notificationRepository.save({
|
|
41
|
-
type,
|
|
42
|
-
template_key,
|
|
43
|
-
title,
|
|
44
|
-
content,
|
|
45
|
-
sender,
|
|
46
|
-
status: enums_common_1.NOTIFICATION_STATUS.PENDING,
|
|
47
|
-
});
|
|
48
|
-
const notificationRecipients = recipients.map((recipient) => this.notificationRecipientRepository.create({
|
|
49
|
-
notification_id: notification.id,
|
|
50
|
-
user_id: recipient.user_id,
|
|
51
|
-
recipient: recipient.recipient,
|
|
52
|
-
variables: recipient.variables,
|
|
53
|
-
status: enums_common_1.NOTIFICATION_STATUS.PENDING,
|
|
54
|
-
}));
|
|
55
|
-
yield this.notificationRecipientRepository.save(notificationRecipients);
|
|
56
|
-
return { notification, recipients: notificationRecipients };
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
getSenderByType(type) {
|
|
60
|
-
switch (type) {
|
|
61
|
-
case 'email':
|
|
62
|
-
return this.configService.get('EMAIL_FROM') || 'noreply@example.com';
|
|
63
|
-
case 'sms':
|
|
64
|
-
return this.configService.get('SMS_FROM') || '';
|
|
65
|
-
case 'kakao':
|
|
66
|
-
return this.configService.get('KAKAO_FROM') || '';
|
|
67
|
-
case 'slack':
|
|
68
|
-
return this.configService.get('SLACK_CHANNEL') || '';
|
|
69
|
-
default:
|
|
70
|
-
return '';
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
findAll() {
|
|
74
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
-
return this.notificationRepository.find({
|
|
76
|
-
relations: ['recipients'],
|
|
77
|
-
order: { created_at: 'DESC' },
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
find(id) {
|
|
82
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
return this.notificationRepository.findOne({
|
|
84
|
-
where: { id },
|
|
85
|
-
relations: ['recipients'],
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
resend(notification_id, user_id) {
|
|
90
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
-
const recipients = yield this.notificationRecipientRepository.find({
|
|
92
|
-
where: user_id ? { notification_id, user_id } : { notification_id },
|
|
93
|
-
});
|
|
94
|
-
for (const recipient of recipients) {
|
|
95
|
-
recipient.status = enums_common_1.NOTIFICATION_STATUS.PENDING;
|
|
96
|
-
recipient.failed_at = null;
|
|
97
|
-
recipient.reason_failed = null;
|
|
98
|
-
yield this.notificationRecipientRepository.save(recipient);
|
|
99
|
-
}
|
|
100
|
-
return recipients;
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
markAsRead(notification_id, user_id) {
|
|
104
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
105
|
-
const recipient = yield this.notificationRecipientRepository.findOne({
|
|
106
|
-
where: { notification_id, user_id },
|
|
107
|
-
});
|
|
108
|
-
if (recipient) {
|
|
109
|
-
recipient.status = enums_common_1.NOTIFICATION_STATUS.READ;
|
|
110
|
-
recipient.read_at = new Date();
|
|
111
|
-
yield this.notificationRecipientRepository.save(recipient);
|
|
112
|
-
}
|
|
113
|
-
return recipient;
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
exports.NotificationService = NotificationService;
|
|
118
|
-
exports.NotificationService = NotificationService = __decorate([
|
|
119
|
-
(0, common_1.Injectable)(),
|
|
120
|
-
__param(0, (0, typeorm_1.InjectRepository)(entities_1.Notification)),
|
|
121
|
-
__param(1, (0, typeorm_1.InjectRepository)(entities_1.NotificationRecipient)),
|
|
122
|
-
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
123
|
-
typeorm_2.Repository,
|
|
124
|
-
config_1.ConfigService])
|
|
125
|
-
], NotificationService);
|
|
1
|
+
var e=this&&this.__decorate||function(e,t,i,n){var o,r=arguments.length,c=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,i,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(c=(r<3?o(c):r>3?o(t,i,c):o(t,i))||c);return r>3&&c&&Object.defineProperty(t,i,c),c},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(o,r){function fulfilled(e){try{step(n.next(e))}catch(e){r(e)}}function rejected(e){try{step(n.throw(e))}catch(e){r(e)}}function step(e){e.done?o(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.NotificationService=void 0;const o=require("@nestjs/common"),r=require("@nestjs/config"),c=require("@nestjs/typeorm"),s=require("typeorm"),a=require("../../database/entities"),f=require("../../enums.common");let u=class NotificationService{constructor(e,t,i){this.notificationRepository=e,this.notificationRecipientRepository=t,this.configService=i}create(e){return n(this,arguments,void 0,function*({type:e,template_key:t,title:i,content:n,recipients:o,variables:r,meta:c}){const s=this.getSenderByType(e),a=yield this.notificationRepository.save({type:e,template_key:t,title:i,content:n,sender:s,meta:c,status:f.NOTIFICATION_STATUS.PENDING}),u=o.map(t=>this.notificationRecipientRepository.create({notification_id:a.id,type:e,user_id:t.user_id,recipient:t.recipient,title:i,content:n,meta:c,variables:t.variables,status:f.NOTIFICATION_STATUS.PENDING}));return yield this.notificationRecipientRepository.save(u),{notification:a,recipients:u}})}getSenderByType(e){switch(e){case"web":return"system";case"email":return this.configService.get("EMAIL_FROM")||"noreply@example.com";case"sms":return this.configService.get("SMS_FROM")||"";case"kakao":return this.configService.get("KAKAO_FROM")||"";case"slack":return this.configService.get("SLACK_CHANNEL")||"";default:return""}}findAll(){return n(this,void 0,void 0,function*(){return this.notificationRepository.find({relations:["recipients"],order:{created_at:"DESC"}})})}find(e){return n(this,void 0,void 0,function*(){return this.notificationRepository.findOne({where:{id:e},relations:["recipients"]})})}resend(e,t){return n(this,void 0,void 0,function*(){const i=yield this.notificationRecipientRepository.find({where:t?{notification_id:e,user_id:t}:{notification_id:e}});for(const e of i)e.status=f.NOTIFICATION_STATUS.PENDING,e.failed_at=null,e.reason_failed=null,yield this.notificationRecipientRepository.save(e);return i})}markAsRead(e,t){return n(this,void 0,void 0,function*(){const i=yield this.notificationRecipientRepository.findOne({where:{notification_id:e,user_id:t}});return i&&(i.status=f.NOTIFICATION_STATUS.READ,i.read_at=new Date,yield this.notificationRecipientRepository.save(i)),i})}};exports.NotificationService=u,exports.NotificationService=u=e([(0,o.Injectable)(),i(0,(0,c.InjectRepository)(a.Notification)),i(1,(0,c.InjectRepository)(a.NotificationRecipient)),t("design:paramtypes",[s.Repository,s.Repository,r.ConfigService])],u);
|
|
@@ -5,7 +5,12 @@ export declare class SlackService {
|
|
|
5
5
|
send(channel: string, message: string): Promise<{
|
|
6
6
|
channel: string;
|
|
7
7
|
success: boolean;
|
|
8
|
-
|
|
8
|
+
message: string;
|
|
9
9
|
status: string;
|
|
10
|
+
} | {
|
|
11
|
+
channel: string;
|
|
12
|
+
success: boolean;
|
|
13
|
+
status: string;
|
|
14
|
+
message?: undefined;
|
|
10
15
|
}>;
|
|
11
16
|
}
|
|
@@ -1,53 +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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.SlackService = void 0;
|
|
22
|
-
const common_1 = require("@nestjs/common");
|
|
23
|
-
const config_1 = require("@nestjs/config");
|
|
24
|
-
let SlackService = class SlackService {
|
|
25
|
-
constructor(configService) {
|
|
26
|
-
this.configService = configService;
|
|
27
|
-
}
|
|
28
|
-
send(channel, message) {
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
if (!this.configService.get('SLACK_CHANNEL') || !this.configService.get('SLACK_WEBHOOK_URL')) {
|
|
31
|
-
throw new Error('SLACK_CHANNEL or SLACK_WEBHOOK_URL is not set');
|
|
32
|
-
}
|
|
33
|
-
console.log('📢 [SLACK] 발송:', {
|
|
34
|
-
channel,
|
|
35
|
-
message,
|
|
36
|
-
webhook_url: this.configService.get('SLACK_WEBHOOK_URL'),
|
|
37
|
-
default_channel: this.configService.get('SLACK_CHANNEL'),
|
|
38
|
-
timestamp: new Date().toISOString()
|
|
39
|
-
});
|
|
40
|
-
return {
|
|
41
|
-
channel,
|
|
42
|
-
success: true,
|
|
43
|
-
messageId: `slack-${Date.now()}`,
|
|
44
|
-
status: 'sent'
|
|
45
|
-
};
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
exports.SlackService = SlackService;
|
|
50
|
-
exports.SlackService = SlackService = __decorate([
|
|
51
|
-
(0, common_1.Injectable)(),
|
|
52
|
-
__metadata("design:paramtypes", [config_1.ConfigService])
|
|
53
|
-
], SlackService);
|
|
1
|
+
var e=this&&this.__decorate||function(e,t,n,c){var o,r=arguments.length,i=r<3?t:null===c?c=Object.getOwnPropertyDescriptor(t,n):c;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,c);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(r<3?o(i):r>3?o(t,n,i):o(t,n))||i);return r>3&&i&&Object.defineProperty(t,n,i),i},t=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},n=this&&this.__awaiter||function(e,t,n,c){return new(n||(n=Promise))(function(o,r){function fulfilled(e){try{step(c.next(e))}catch(e){r(e)}}function rejected(e){try{step(c.throw(e))}catch(e){r(e)}}function step(e){e.done?o(e.value):function adopt(e){return e instanceof n?e:new n(function(t){t(e)})}(e.value).then(fulfilled,rejected)}step((c=c.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SlackService=void 0;const c=require("@nestjs/common"),o=require("@nestjs/config");let r=class SlackService{constructor(e){this.configService=e}send(e,t){return n(this,void 0,void 0,function*(){if(!this.configService.get("SLACK_WEBHOOK_URL"))throw new Error("SLACK_CHANNEL or SLACK_WEBHOOK_URL is not set");const n=yield fetch(this.configService.get("SLACK_WEBHOOK_URL"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:t})});return n.ok?{channel:e,success:!0,status:"sent"}:{channel:e,success:!1,message:n.statusText,status:"sent"}})}};exports.SlackService=r,exports.SlackService=r=e([(0,c.Injectable)(),t("design:paramtypes",[o.ConfigService])],r);
|
|
@@ -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
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.SmsService = void 0;
|
|
22
|
-
const common_1 = require("@nestjs/common");
|
|
23
|
-
const config_1 = require("@nestjs/config");
|
|
24
|
-
const notification_service_1 = require("./notification.service");
|
|
25
|
-
let SmsService = class SmsService {
|
|
26
|
-
constructor(configService, notificationService) {
|
|
27
|
-
this.configService = configService;
|
|
28
|
-
this.notificationService = notificationService;
|
|
29
|
-
}
|
|
30
|
-
send(recipients) {
|
|
31
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
if (!this.configService.get('SMS_FROM')) {
|
|
33
|
-
throw new Error('SMS_FROM is not set');
|
|
34
|
-
}
|
|
35
|
-
console.log('📱 [SMS] 배열 발송:', {
|
|
36
|
-
count: recipients.length,
|
|
37
|
-
from: this.configService.get('SMS_FROM'),
|
|
38
|
-
provider: this.configService.get('SMS_PROVIDER') || 'default',
|
|
39
|
-
recipients: recipients.map((r) => ({
|
|
40
|
-
user_id: r.user_id,
|
|
41
|
-
recipient: r.recipient,
|
|
42
|
-
message: r.message,
|
|
43
|
-
variables: r.variables,
|
|
44
|
-
})),
|
|
45
|
-
timestamp: new Date().toISOString(),
|
|
46
|
-
});
|
|
47
|
-
return recipients.map((r) => ({
|
|
48
|
-
user_id: r.user_id,
|
|
49
|
-
recipient: r.recipient,
|
|
50
|
-
success: true,
|
|
51
|
-
messageId: `sms-${Date.now()}-${r.user_id}`,
|
|
52
|
-
status: 'sent',
|
|
53
|
-
}));
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
exports.SmsService = SmsService;
|
|
58
|
-
exports.SmsService = SmsService = __decorate([
|
|
59
|
-
(0, common_1.Injectable)(),
|
|
60
|
-
__metadata("design:paramtypes", [config_1.ConfigService,
|
|
61
|
-
notification_service_1.NotificationService])
|
|
62
|
-
], SmsService);
|
|
1
|
+
var e=this&&this.__decorate||function(e,t,i,r){var n,c=arguments.length,o=c<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(o=(c<3?n(o):c>3?n(t,i,o):n(t,i))||o);return c>3&&o&&Object.defineProperty(t,i,o),o},t=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,c){function fulfilled(e){try{step(r.next(e))}catch(e){c(e)}}function rejected(e){try{step(r.throw(e))}catch(e){c(e)}}function step(e){e.done?n(e.value):function adopt(e){return e instanceof i?e:new i(function(t){t(e)})}(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SmsService=void 0;const r=require("@nestjs/common"),n=require("@nestjs/config"),c=require("./notification.service");let o=class SmsService{constructor(e,t){this.configService=e,this.notificationService=t}send(e){return i(this,void 0,void 0,function*(){if(!this.configService.get("SMS_FROM"))throw new Error("SMS_FROM is not set");return console.log("📱 [SMS] 배열 발송:",{count:e.length,from:this.configService.get("SMS_FROM"),provider:this.configService.get("SMS_PROVIDER")||"default",recipients:e.map(e=>({user_id:e.user_id,recipient:e.recipient,message:e.message,variables:e.variables})),timestamp:(new Date).toISOString()}),e.map(e=>({user_id:e.user_id,recipient:e.recipient,success:!0,messageId:`sms-${Date.now()}-${e.user_id}`,status:"sent"}))})}};exports.SmsService=o,exports.SmsService=o=e([(0,r.Injectable)(),t("design:paramtypes",[n.ConfigService,c.NotificationService])],o);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ConfigService } from '@nestjs/config';
|
|
2
|
+
import { DataSource } from 'typeorm';
|
|
3
|
+
import { NotificationPayload } from '../index';
|
|
4
|
+
export declare class WebNotificationService {
|
|
5
|
+
private readonly configService;
|
|
6
|
+
private readonly dataSource;
|
|
7
|
+
private readonly logger;
|
|
8
|
+
constructor(configService: ConfigService, dataSource: DataSource);
|
|
9
|
+
send(payload: NotificationPayload & {
|
|
10
|
+
type: 'web';
|
|
11
|
+
}): Promise<{
|
|
12
|
+
success: boolean;
|
|
13
|
+
}>;
|
|
14
|
+
private sendToUser;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e,t=this&&this.__decorate||function(e,t,i,n){var o,r=arguments.length,c=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(c=(r<3?o(c):r>3?o(t,i,c):o(t,i))||c);return r>3&&c&&Object.defineProperty(t,i,c),c},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(o,r){function fulfilled(e){try{step(n.next(e))}catch(e){r(e)}}function rejected(e){try{step(n.throw(e))}catch(e){r(e)}}function step(e){e.done?o(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.WebNotificationService=void 0;const o=require("@nestjs/common"),r=require("@nestjs/config"),c=require("typeorm"),a=require("../../database/entities"),s=require("../../enums.common");let l=e=class WebNotificationService{constructor(t,i){this.configService=t,this.dataSource=i,this.logger=new o.Logger(e.name)}send(e){return n(this,void 0,void 0,function*(){const{recipients:t,title:i,content:n,template_key:o,variables:r}=e,c=yield this.dataSource.getRepository(a.Notification).save({type:"web",template_key:o,status:s.NOTIFICATION_STATUS.SENT});try{for(const e of t)yield this.sendToUser({notification_id:c.id,user_id:e.user_id,recipient:e.recipient,title:e.title||i||"",content:e.content||n||"",meta:e.meta,template_key:o,variables:Object.assign(Object.assign({},r),e.variables)});return{success:!0}}catch(e){throw this.logger.error("웹 알림 발송 실패:",e),e}})}sendToUser(e){return n(this,arguments,void 0,function*({notification_id:e,user_id:t,recipient:i,title:n,content:o,meta:r,template_key:c,variables:l}){yield this.dataSource.getRepository(a.NotificationRecipient).save({notification_id:e,user_id:t,recipient:i,title:n,content:o,meta:r,template_key:c,variables:l,status:s.NOTIFICATION_STATUS.SENT,type:"web"});const f={user_id:t,title:n,content:o,timestamp:(new Date).toISOString(),meta:r,variables:l};return this.logger.log(`웹 알림 발송: 사용자 ${t}에게 "${n}" 전송`),f})}};exports.WebNotificationService=l,exports.WebNotificationService=l=e=t([(0,o.Injectable)(),i("design:paramtypes",[r.ConfigService,c.DataSource])],l);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare const GoogleStrategy_base: new (...args: any[]) => any;
|
|
2
|
+
export declare class GoogleStrategy extends GoogleStrategy_base {
|
|
3
|
+
constructor();
|
|
4
|
+
validate(accessToken: string, refreshToken: string, profile: any): Promise<{
|
|
5
|
+
vendor_uid: any;
|
|
6
|
+
name: any;
|
|
7
|
+
nickname: any;
|
|
8
|
+
email: any;
|
|
9
|
+
profile_image: any;
|
|
10
|
+
refresh_token: string;
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=this&&this.__awaiter||function(e,t,o,n){return new(o||(o=Promise))(function(r,s){function fulfilled(e){try{step(n.next(e))}catch(e){s(e)}}function rejected(e){try{step(n.throw(e))}catch(e){s(e)}}function step(e){e.done?r(e.value):function adopt(e){return e instanceof o?e:new o(function(t){t(e)})}(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.GoogleStrategy=void 0;const t=require("@nestjs/passport"),o=require("passport-google-oauth20");class GoogleStrategy extends((0,t.PassportStrategy)(o.Strategy,"google")){constructor(){const e=process.env.GOOGLE_CLIENT_ID,t=process.env.GOOGLE_CLIENT_SECRET,o=process.env.GOOGLE_CALLBACK_URL;if(!e||!t||!o)throw new Error("Google OAuth Environment Variables are not set");super({clientID:e,clientSecret:t,callbackURL:o})}validate(t,o,n){return e(this,void 0,void 0,function*(){const e=n._json;return{vendor_uid:e.sub,name:e.name,nickname:e.given_name,email:null==e?void 0:e.email,profile_image:null==e?void 0:e.picture,refresh_token:o}})}}exports.GoogleStrategy=GoogleStrategy;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,i)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),t=this&&this.__exportStar||function(t,r){for(var o in t)"default"===o||Object.prototype.hasOwnProperty.call(r,o)||e(r,t,o)};Object.defineProperty(exports,"__esModule",{value:!0}),t(require("./google.strategy"),exports),t(require("./jwt.strategy"),exports),t(require("./kakao.strategy"),exports),t(require("./local.strategy"),exports);
|
|
@@ -1,55 +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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
21
|
-
var t = {};
|
|
22
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
23
|
-
t[p] = s[p];
|
|
24
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
25
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
26
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
27
|
-
t[p[i]] = s[p[i]];
|
|
28
|
-
}
|
|
29
|
-
return t;
|
|
30
|
-
};
|
|
31
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
-
exports.JwtStrategy = void 0;
|
|
33
|
-
const passport_jwt_1 = require("passport-jwt");
|
|
34
|
-
const passport_1 = require("@nestjs/passport");
|
|
35
|
-
const common_1 = require("@nestjs/common");
|
|
36
|
-
let JwtStrategy = class JwtStrategy extends (0, passport_1.PassportStrategy)(passport_jwt_1.Strategy) {
|
|
37
|
-
constructor(secretKey) {
|
|
38
|
-
super({
|
|
39
|
-
jwtFromRequest: passport_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken(),
|
|
40
|
-
ignoreExpiration: false,
|
|
41
|
-
secretOrKey: secretKey,
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
validate(payload) {
|
|
45
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
const { sub } = payload, rest = __rest(payload, ["sub"]);
|
|
47
|
-
return Object.assign({ sub }, rest);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
exports.JwtStrategy = JwtStrategy;
|
|
52
|
-
exports.JwtStrategy = JwtStrategy = __decorate([
|
|
53
|
-
(0, common_1.Injectable)(),
|
|
54
|
-
__metadata("design:paramtypes", [String])
|
|
55
|
-
], JwtStrategy);
|
|
1
|
+
var t=this&&this.__decorate||function(t,e,r,n){var o,s=arguments.length,a=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,r,n);else for(var c=t.length-1;c>=0;c--)(o=t[c])&&(a=(s<3?o(a):s>3?o(e,r,a):o(e,r))||a);return s>3&&a&&Object.defineProperty(e,r,a),a},e=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},r=this&&this.__awaiter||function(t,e,r,n){return new(r||(r=Promise))(function(o,s){function fulfilled(t){try{step(n.next(t))}catch(t){s(t)}}function rejected(t){try{step(n.throw(t))}catch(t){s(t)}}function step(t){t.done?o(t.value):function adopt(t){return t instanceof r?t:new r(function(e){e(t)})}(t.value).then(fulfilled,rejected)}step((n=n.apply(t,e||[])).next())})},n=this&&this.__rest||function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(r[n[o]]=t[n[o]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.JwtStrategy=void 0;const o=require("passport-jwt"),s=require("@nestjs/passport"),a=require("@nestjs/common");let c=class JwtStrategy extends((0,s.PassportStrategy)(o.Strategy)){constructor(t){super({jwtFromRequest:o.ExtractJwt.fromAuthHeaderAsBearerToken(),ignoreExpiration:!1,secretOrKey:t})}validate(t){return r(this,void 0,void 0,function*(){const{sub:e}=t,r=n(t,["sub"]);return Object.assign({sub:e},r)})}};exports.JwtStrategy=c,exports.JwtStrategy=c=t([(0,a.Injectable)(),e("design:paramtypes",[String])],c);
|
|
@@ -2,11 +2,12 @@ declare const KakaoStrategy_base: new (...args: any[]) => any;
|
|
|
2
2
|
export declare class KakaoStrategy extends KakaoStrategy_base {
|
|
3
3
|
constructor();
|
|
4
4
|
validate(accessToken: string, refreshToken: string, profile: any): Promise<{
|
|
5
|
-
|
|
5
|
+
vendor_uid: any;
|
|
6
6
|
name: any;
|
|
7
7
|
nickname: any;
|
|
8
8
|
email: any;
|
|
9
9
|
profile_image: any;
|
|
10
|
+
refresh_token: string;
|
|
10
11
|
}>;
|
|
11
12
|
}
|
|
12
13
|
export {};
|
|
@@ -1,36 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.KakaoStrategy = void 0;
|
|
13
|
-
const passport_1 = require("@nestjs/passport");
|
|
14
|
-
const passport_kakao_1 = require("passport-kakao");
|
|
15
|
-
class KakaoStrategy extends (0, passport_1.PassportStrategy)(passport_kakao_1.Strategy, "kakao") {
|
|
16
|
-
constructor() {
|
|
17
|
-
super({
|
|
18
|
-
clientID: process.env.KAKAO_CLIENT_ID,
|
|
19
|
-
clientSecret: process.env.KAKAO_CLIENT_SECRET,
|
|
20
|
-
callbackURL: process.env.KAKAO_CALLBACK_URL,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
validate(accessToken, refreshToken, profile) {
|
|
24
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
const { properties, kakao_account } = profile._json;
|
|
26
|
-
return {
|
|
27
|
-
vendor_id: profile.id,
|
|
28
|
-
name: profile.displayName,
|
|
29
|
-
nickname: properties === null || properties === void 0 ? void 0 : properties.nickname,
|
|
30
|
-
email: kakao_account === null || kakao_account === void 0 ? void 0 : kakao_account.email,
|
|
31
|
-
profile_image: properties === null || properties === void 0 ? void 0 : properties.profile_image,
|
|
32
|
-
};
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.KakaoStrategy = KakaoStrategy;
|
|
1
|
+
var e=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(a,o){function fulfilled(e){try{step(r.next(e))}catch(e){o(e)}}function rejected(e){try{step(r.throw(e))}catch(e){o(e)}}function step(e){e.done?a(e.value):function adopt(e){return e instanceof n?e:new n(function(t){t(e)})}(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.KakaoStrategy=void 0;const t=require("@nestjs/passport"),n=require("passport-kakao");class KakaoStrategy extends((0,t.PassportStrategy)(n.Strategy,"kakao")){constructor(){const e=process.env.KAKAO_CLIENT_ID,t=process.env.KAKAO_CLIENT_SECRET,n=process.env.KAKAO_CALLBACK_URL;if(!e||!n)throw new Error("Kakao OAuth Environment Variables are not set");super({clientID:e,clientSecret:t,callbackURL:n})}validate(t,n,r){return e(this,void 0,void 0,function*(){const{properties:e,kakao_account:t}=r._json;return{vendor_uid:r.id,name:r.displayName,nickname:null==e?void 0:e.nickname,email:null==t?void 0:t.email,profile_image:null==e?void 0:e.profile_image,refresh_token:n}})}}exports.KakaoStrategy=KakaoStrategy;
|
|
@@ -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
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.LocalStrategy = void 0;
|
|
22
|
-
const passport_local_1 = require("passport-local");
|
|
23
|
-
const passport_1 = require("@nestjs/passport");
|
|
24
|
-
const common_1 = require("@nestjs/common");
|
|
25
|
-
let LocalStrategy = class LocalStrategy extends (0, passport_1.PassportStrategy)(passport_local_1.Strategy) {
|
|
26
|
-
constructor() {
|
|
27
|
-
super({
|
|
28
|
-
usernameField: 'userid',
|
|
29
|
-
passwordField: 'password',
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
validate(userid, password) {
|
|
33
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
exports.LocalStrategy = LocalStrategy;
|
|
38
|
-
exports.LocalStrategy = LocalStrategy = __decorate([
|
|
39
|
-
(0, common_1.Injectable)(),
|
|
40
|
-
__metadata("design:paramtypes", [])
|
|
41
|
-
], LocalStrategy);
|
|
1
|
+
var e=this&&this.__decorate||function(e,t,r,o){var n,a=arguments.length,c=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(c=(a<3?n(c):a>3?n(t,r,c):n(t,r))||c);return a>3&&c&&Object.defineProperty(t,r,c),c},t=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))(function(n,a){function fulfilled(e){try{step(o.next(e))}catch(e){a(e)}}function rejected(e){try{step(o.throw(e))}catch(e){a(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((o=o.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LocalStrategy=void 0;const o=require("passport-local"),n=require("@nestjs/passport"),a=require("@nestjs/common");let c=class LocalStrategy extends((0,n.PassportStrategy)(o.Strategy)){constructor(){super({usernameField:"userid",passwordField:"password"})}validate(e,t){return r(this,void 0,void 0,function*(){})}};exports.LocalStrategy=c,exports.LocalStrategy=c=e([(0,a.Injectable)(),t("design:paramtypes",[])],c);
|
package/dist/redis/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("./redis.module"), exports);
|
|
18
|
-
__exportStar(require("./redis.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("./redis.module"),exports),r(require("./redis.service"),exports);
|
|
@@ -1,4 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.REDIS_CLIENT = void 0;
|
|
4
|
-
exports.REDIS_CLIENT = 'REDIS_CLIENT';
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.REDIS_CLIENT=void 0,exports.REDIS_CLIENT="REDIS_CLIENT";
|
|
@@ -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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
var RedisModule_1;
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.RedisModule = void 0;
|
|
20
|
-
const common_1 = require("@nestjs/common");
|
|
21
|
-
const config_1 = require("@nestjs/config");
|
|
22
|
-
const ioredis_1 = require("ioredis");
|
|
23
|
-
const redis_service_1 = require("./redis.service");
|
|
24
|
-
const redis_constraint_1 = require("./redis-constraint");
|
|
25
|
-
let RedisModule = RedisModule_1 = class RedisModule {
|
|
26
|
-
static forRootAsync(options) {
|
|
27
|
-
return {
|
|
28
|
-
module: RedisModule_1,
|
|
29
|
-
imports: [config_1.ConfigModule],
|
|
30
|
-
providers: [
|
|
31
|
-
{
|
|
32
|
-
provide: redis_constraint_1.REDIS_CLIENT,
|
|
33
|
-
useFactory: (...args) => __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
const config = options.useFactory(...args);
|
|
35
|
-
config.retryStrategy = (times) => {
|
|
36
|
-
const logger = new common_1.Logger('Redis');
|
|
37
|
-
if (times > 5) {
|
|
38
|
-
logger.error('Redis Reconnect Max Times, Stop Reconnect');
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
return 2000;
|
|
42
|
-
};
|
|
43
|
-
const redis = new ioredis_1.default(config);
|
|
44
|
-
const logger = new common_1.Logger('Redis');
|
|
45
|
-
redis.on('ready', () => logger.log('Redis Ready'));
|
|
46
|
-
redis.on('error', (err) => logger.error('Redis Error: ' + err));
|
|
47
|
-
redis.on('reconnecting', () => logger.warn('Redis Reconnecting'));
|
|
48
|
-
return redis;
|
|
49
|
-
}),
|
|
50
|
-
inject: options.inject || [],
|
|
51
|
-
},
|
|
52
|
-
redis_service_1.RedisService,
|
|
53
|
-
],
|
|
54
|
-
exports: [redis_constraint_1.REDIS_CLIENT, redis_service_1.RedisService],
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
exports.RedisModule = RedisModule;
|
|
59
|
-
exports.RedisModule = RedisModule = RedisModule_1 = __decorate([
|
|
60
|
-
(0, common_1.Global)(),
|
|
61
|
-
(0, common_1.Module)({})
|
|
62
|
-
], RedisModule);
|
|
1
|
+
var e,t=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,c=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(c=(i<3?n(c):i>3?n(t,r,c):n(t,r))||c);return i>3&&c&&Object.defineProperty(t,r,c),c},r=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))(function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o.throw(e))}catch(e){i(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((o=o.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RedisModule=void 0;const o=require("@nestjs/common"),n=require("@nestjs/config"),i=require("ioredis"),c=require("./redis.service"),s=require("./redis-constraint");let d=e=class RedisModule{static forRootAsync(t){return{module:e,imports:[n.ConfigModule],providers:[{provide:s.REDIS_CLIENT,useFactory:(...e)=>r(this,void 0,void 0,function*(){const r=t.useFactory(...e);r.retryStrategy=e=>{const t=new o.Logger("Redis");return e>5?(t.error("Redis Reconnect Max Times, Stop Reconnect"),null):2e3};const n=new i.default(r),c=new o.Logger("Redis");return n.on("ready",()=>c.log("Redis Ready")),n.on("error",e=>c.error("Redis Error: "+e)),n.on("reconnecting",()=>c.warn("Redis Reconnecting")),n}),inject:t.inject||[]},c.RedisService],exports:[s.REDIS_CLIENT,c.RedisService]}}};exports.RedisModule=d,exports.RedisModule=d=e=t([(0,o.Global)(),(0,o.Module)({})],d);
|