@comasoft/nestjs 0.1.2 → 0.1.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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.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.js +1 -240
- 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.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.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.js +1 -49
- package/dist/database/entities/logs-audit.entity.js +1 -72
- package/dist/database/entities/logs-event.entity.js +1 -72
- package/dist/database/entities/notification-recipient.entity.js +1 -74
- 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.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.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.js +1 -17
- 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.js +1 -88
- 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 +1 -1
- 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/jwt.guard.js +1 -17
- package/dist/index.d.ts +1 -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.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.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.js +1 -18
- package/dist/notifications/notification.module.js +1 -32
- package/dist/notifications/services/email.service.d.ts +3 -14
- package/dist/notifications/services/email.service.js +1 -69
- package/dist/notifications/services/index.js +1 -23
- package/dist/notifications/services/kakao.service.js +1 -94
- package/dist/notifications/services/message-template.service.js +1 -74
- package/dist/notifications/services/notification-send.service.d.ts +1 -12
- package/dist/notifications/services/notification-send.service.js +1 -146
- package/dist/notifications/services/notification.service.js +1 -125
- package/dist/notifications/services/slack.service.d.ts +1 -6
- package/dist/notifications/services/slack.service.js +1 -53
- package/dist/notifications/services/sms.service.js +1 -62
- 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.js +1 -144
- 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/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 -1
|
@@ -1,146 +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.NotificationSendService = void 0;
|
|
22
|
-
const common_1 = require("@nestjs/common");
|
|
23
|
-
const email_service_1 = require("./email.service");
|
|
24
|
-
const kakao_service_1 = require("./kakao.service");
|
|
25
|
-
const message_template_service_1 = require("./message-template.service");
|
|
26
|
-
const slack_service_1 = require("./slack.service");
|
|
27
|
-
const sms_service_1 = require("./sms.service");
|
|
28
|
-
let NotificationSendService = class NotificationSendService {
|
|
29
|
-
constructor(emailService, smsService, kakaoService, slackService, messageTemplateService) {
|
|
30
|
-
this.emailService = emailService;
|
|
31
|
-
this.smsService = smsService;
|
|
32
|
-
this.kakaoService = kakaoService;
|
|
33
|
-
this.slackService = slackService;
|
|
34
|
-
this.messageTemplateService = messageTemplateService;
|
|
35
|
-
}
|
|
36
|
-
send(payload) {
|
|
37
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
switch (payload.type) {
|
|
39
|
-
case 'email':
|
|
40
|
-
return this.sendEmail(payload);
|
|
41
|
-
case 'sms':
|
|
42
|
-
return this.sendSms(payload);
|
|
43
|
-
case 'kakao':
|
|
44
|
-
return this.sendKakao(payload);
|
|
45
|
-
case 'slack':
|
|
46
|
-
return this.sendSlack(payload);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
sendEmail(payload) {
|
|
51
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
const emailRecipients = [];
|
|
53
|
-
for (const recipient of payload.recipients) {
|
|
54
|
-
let content;
|
|
55
|
-
let subject;
|
|
56
|
-
if (payload.template_key) {
|
|
57
|
-
const template = yield this.messageTemplateService.getTemplate('email', payload.template_key);
|
|
58
|
-
if (!template)
|
|
59
|
-
throw new Error('Template not found');
|
|
60
|
-
const mergedVariables = Object.assign(Object.assign({}, payload.variables), recipient.variables);
|
|
61
|
-
content = this.messageTemplateService.renderTemplate(template, mergedVariables);
|
|
62
|
-
subject = template.subject;
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
if (!payload.subject || !payload.body)
|
|
66
|
-
throw new Error('subject, body is required');
|
|
67
|
-
content = payload.body;
|
|
68
|
-
subject = payload.subject;
|
|
69
|
-
}
|
|
70
|
-
emailRecipients.push({
|
|
71
|
-
recipient: recipient.recipient,
|
|
72
|
-
user_id: recipient.user_id,
|
|
73
|
-
subject,
|
|
74
|
-
text: content,
|
|
75
|
-
variables: recipient.variables
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
return yield this.emailService.send(emailRecipients);
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
sendSms(payload) {
|
|
82
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
const smsRecipients = [];
|
|
84
|
-
for (const recipient of payload.recipients) {
|
|
85
|
-
let content;
|
|
86
|
-
if (payload.template_key) {
|
|
87
|
-
const template = yield this.messageTemplateService.getTemplate('sms', payload.template_key);
|
|
88
|
-
if (!template)
|
|
89
|
-
throw new Error('Template not found');
|
|
90
|
-
const mergedVariables = Object.assign(Object.assign({}, payload.variables), recipient.variables);
|
|
91
|
-
content = this.messageTemplateService.renderTemplate(template, mergedVariables);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
if (!payload.message)
|
|
95
|
-
throw new Error('message is required');
|
|
96
|
-
content = payload.message;
|
|
97
|
-
}
|
|
98
|
-
smsRecipients.push({
|
|
99
|
-
recipient: recipient.recipient,
|
|
100
|
-
user_id: recipient.user_id,
|
|
101
|
-
message: content,
|
|
102
|
-
variables: recipient.variables
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
return yield this.smsService.send(smsRecipients);
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
sendKakao(payload) {
|
|
109
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
110
|
-
const kakaoRecipients = payload.recipients.map(recipient => ({
|
|
111
|
-
recipient: recipient.recipient,
|
|
112
|
-
user_id: recipient.user_id,
|
|
113
|
-
template_code: payload.template_key,
|
|
114
|
-
variables: Object.assign(Object.assign({}, payload.variables), recipient.variables)
|
|
115
|
-
}));
|
|
116
|
-
return yield this.kakaoService.send(kakaoRecipients);
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
sendSlack(payload) {
|
|
120
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
let content;
|
|
122
|
-
if (payload.template_key) {
|
|
123
|
-
const template = yield this.messageTemplateService.getTemplate('slack', payload.template_key);
|
|
124
|
-
if (!template)
|
|
125
|
-
throw new Error('Template not found');
|
|
126
|
-
content = this.messageTemplateService.renderTemplate(template, payload.variables || {});
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
if (!payload.message)
|
|
130
|
-
throw new Error('message is required');
|
|
131
|
-
content = payload.message;
|
|
132
|
-
}
|
|
133
|
-
const result = yield this.slackService.send(payload.channel, content);
|
|
134
|
-
return [result];
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
exports.NotificationSendService = NotificationSendService;
|
|
139
|
-
exports.NotificationSendService = NotificationSendService = __decorate([
|
|
140
|
-
(0, common_1.Injectable)(),
|
|
141
|
-
__metadata("design:paramtypes", [email_service_1.EmailService,
|
|
142
|
-
sms_service_1.SmsService,
|
|
143
|
-
kakao_service_1.KakaoService,
|
|
144
|
-
slack_service_1.SlackService,
|
|
145
|
-
message_template_service_1.MessageTemplateService])
|
|
146
|
-
], NotificationSendService);
|
|
1
|
+
var e=this&&this.__decorate||function(e,t,i,s){var r,a=arguments.length,n=a<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,s);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(n=(a<3?r(n):a>3?r(t,i,n):r(t,i))||n);return a>3&&n&&Object.defineProperty(t,i,n),n},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,s){return new(i||(i=Promise))(function(r,a){function fulfilled(e){try{step(s.next(e))}catch(e){a(e)}}function rejected(e){try{step(s.throw(e))}catch(e){a(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((s=s.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.NotificationSendService=void 0;const s=require("@nestjs/common"),r=require("./email.service"),a=require("./kakao.service"),n=require("./message-template.service"),c=require("./slack.service"),o=require("./sms.service");let l=class NotificationSendService{constructor(e,t,i,s,r){this.emailService=e,this.smsService=t,this.kakaoService=i,this.slackService=s,this.messageTemplateService=r}send(e){return i(this,void 0,void 0,function*(){switch(e.type){case"email":return this.sendEmail(e);case"sms":return this.sendSms(e);case"kakao":return this.sendKakao(e);case"slack":return this.sendSlack(e)}})}sendEmail(e){return i(this,void 0,void 0,function*(){const t=[];for(const i of e.recipients){let s,r;if(e.template_key){const t=yield this.messageTemplateService.getTemplate("email",e.template_key);if(!t)throw new Error("Template not found");const a=Object.assign(Object.assign({},e.variables),i.variables);s=this.messageTemplateService.renderTemplate(t,a),r=t.subject}else{if(!e.subject||!e.body)throw new Error("subject, body is required");s=e.body,r=e.subject}t.push({recipient:i.recipient,user_id:i.user_id,subject:r,text:s,variables:i.variables})}return yield this.emailService.send(t)})}sendSms(e){return i(this,void 0,void 0,function*(){const t=[];for(const i of e.recipients){let s;if(e.template_key){const t=yield this.messageTemplateService.getTemplate("sms",e.template_key);if(!t)throw new Error("Template not found");const r=Object.assign(Object.assign({},e.variables),i.variables);s=this.messageTemplateService.renderTemplate(t,r)}else{if(!e.message)throw new Error("message is required");s=e.message}t.push({recipient:i.recipient,user_id:i.user_id,message:s,variables:i.variables})}return yield this.smsService.send(t)})}sendKakao(e){return i(this,void 0,void 0,function*(){const t=e.recipients.map(t=>({recipient:t.recipient,user_id:t.user_id,template_code:e.template_key,variables:Object.assign(Object.assign({},e.variables),t.variables)}));return yield this.kakaoService.send(t)})}sendSlack(e){return i(this,void 0,void 0,function*(){let t;if(e.template_key){const i=yield this.messageTemplateService.getTemplate("slack",e.template_key);if(!i)throw new Error("Template not found");t=this.messageTemplateService.renderTemplate(i,e.variables||{})}else{if(!e.message)throw new Error("message is required");t=e.message}return[yield this.slackService.send(e.channel,t)]})}};exports.NotificationSendService=l,exports.NotificationSendService=l=e([(0,s.Injectable)(),t("design:paramtypes",[r.EmailService,o.SmsService,a.KakaoService,c.SlackService,n.MessageTemplateService])],l);
|
|
@@ -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/typeorm"),c=require("@nestjs/config"),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}){const c=this.getSenderByType(e),s=yield this.notificationRepository.save({type:e,template_key:t,title:i,content:n,sender:c,status:f.NOTIFICATION_STATUS.PENDING}),a=o.map(e=>this.notificationRecipientRepository.create({notification_id:s.id,user_id:e.user_id,recipient:e.recipient,variables:e.variables,status:f.NOTIFICATION_STATUS.PENDING}));return yield this.notificationRecipientRepository.save(a),{notification:s,recipients:a}})}getSenderByType(e){switch(e){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,r.InjectRepository)(a.Notification)),i(1,(0,r.InjectRepository)(a.NotificationRecipient)),t("design:paramtypes",[s.Repository,s.Repository,c.ConfigService])],u);
|
|
@@ -2,10 +2,5 @@ import { ConfigService } from '@nestjs/config';
|
|
|
2
2
|
export declare class SlackService {
|
|
3
3
|
private readonly configService;
|
|
4
4
|
constructor(configService: ConfigService);
|
|
5
|
-
send(channel: string, message: string): Promise<
|
|
6
|
-
channel: string;
|
|
7
|
-
success: boolean;
|
|
8
|
-
messageId: string;
|
|
9
|
-
status: string;
|
|
10
|
-
}>;
|
|
5
|
+
send(channel: string, message: string): Promise<void>;
|
|
11
6
|
}
|
|
@@ -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 r,o=arguments.length,i=o<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 f=e.length-1;f>=0;f--)(r=e[f])&&(i=(o<3?r(i):o>3?r(t,n,i):r(t,n))||i);return o>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(r,o){function fulfilled(e){try{step(c.next(e))}catch(e){o(e)}}function rejected(e){try{step(c.throw(e))}catch(e){o(e)}}function step(e){e.done?r(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"),r=require("@nestjs/config");let o=class SlackService{constructor(e){this.configService=e}send(e,t){return n(this,void 0,void 0,function*(){})}};exports.SlackService=o,exports.SlackService=o=e([(0,c.Injectable)(),t("design:paramtypes",[r.ConfigService])],o);
|
|
@@ -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,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";
|