@aldb2b/common 1.0.1076 → 1.0.1079

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/build/decorators/get-localized-company-ids-decorator.d.ts +1 -0
  2. package/build/decorators/get-localized-company-ids-decorator.js +12 -0
  3. package/build/decorators/get-localized-company-ids-decorator.js.map +1 -0
  4. package/build/decorators/get-localized-contact-ids-decorator.d.ts +1 -0
  5. package/build/decorators/get-localized-contact-ids-decorator.js +12 -0
  6. package/build/decorators/get-localized-contact-ids-decorator.js.map +1 -0
  7. package/build/decorators/get-user-decorator.js +6 -6
  8. package/build/decorators/get-user-decorator.js.map +1 -1
  9. package/build/enums/data-source.enum.d.ts +4 -0
  10. package/build/enums/data-source.enum.js +9 -0
  11. package/build/enums/data-source.enum.js.map +1 -0
  12. package/build/events/get-external-contact-info.interface.d.ts +12 -0
  13. package/build/events/get-external-contact-info.interface.js +3 -0
  14. package/build/events/get-external-contact-info.interface.js.map +1 -0
  15. package/build/events/localize-contact.interface.d.ts +15 -0
  16. package/build/events/{badge-send-email.interface.js → localize-contact.interface.js} +1 -1
  17. package/build/events/localize-contact.interface.js.map +1 -0
  18. package/build/events/queues.d.ts +2 -1
  19. package/build/events/queues.js +2 -1
  20. package/build/events/queues.js.map +1 -1
  21. package/build/events/subjects.d.ts +2 -1
  22. package/build/events/subjects.js +2 -1
  23. package/build/events/subjects.js.map +1 -1
  24. package/build/index.d.ts +15 -9
  25. package/build/index.js +15 -9
  26. package/build/index.js.map +1 -1
  27. package/build/middlewares/get-external-contacts.middleware.d.ts +21 -0
  28. package/build/middlewares/get-external-contacts.middleware.js +69 -0
  29. package/build/middlewares/get-external-contacts.middleware.js.map +1 -0
  30. package/build/middlewares/inject-subscription.middleware.js +1 -1
  31. package/build/middlewares/inject-subscription.middleware.js.map +1 -1
  32. package/build/middlewares/localize-contact.middleware.d.ts +21 -0
  33. package/build/middlewares/localize-contact.middleware.js +114 -0
  34. package/build/middlewares/localize-contact.middleware.js.map +1 -0
  35. package/build/tsconfig.tsbuildinfo +1 -1
  36. package/build/types/notification-event.enum.d.ts +1 -2
  37. package/build/types/notification-event.enum.js +0 -1
  38. package/build/types/notification-event.enum.js.map +1 -1
  39. package/package.json +1 -1
  40. package/build/events/badge-send-email.interface.d.ts +0 -22
  41. package/build/events/badge-send-email.interface.js.map +0 -1
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.createLocalizeContactMiddleware = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const getHeaderParam_1 = require("../utils/getHeaderParam");
18
+ const subjects_1 = require("../events/subjects");
19
+ const microservices_1 = require("@nestjs/microservices");
20
+ const rxjs_1 = require("rxjs");
21
+ const defaultSelector = (req) => {
22
+ return (req.body.externalContacts?.map((externalContact) => ({
23
+ id: externalContact.id,
24
+ dataSource: externalContact.dataSource,
25
+ })) || []);
26
+ };
27
+ const defaultOption = {
28
+ selector: defaultSelector,
29
+ optional: false,
30
+ };
31
+ function createLocalizeContactMiddleware(option = defaultOption) {
32
+ var LocalizeContactMiddleware_1;
33
+ const { selector, optional } = { ...defaultOption, ...option };
34
+ let LocalizeContactMiddleware = LocalizeContactMiddleware_1 = class LocalizeContactMiddleware {
35
+ constructor(client) {
36
+ this.client = client;
37
+ this.logger = new common_1.Logger(LocalizeContactMiddleware_1.name);
38
+ }
39
+ async use(req, res, next) {
40
+ try {
41
+ const eventId = (0, getHeaderParam_1.getHeaderParam)(req.headers, "event-id");
42
+ const user = getUser(req);
43
+ const externalContacts = selector(req).filter((eContact) => eContact.id && eContact.dataSource);
44
+ if (!optional && !externalContacts.length)
45
+ throw new common_1.BadRequestException("External contacts are required!");
46
+ for (const eContact of externalContacts) {
47
+ this.logger.log(`Localizing contact '${eContact.id}' from ${eContact.dataSource}`);
48
+ const contact = await (0, rxjs_1.firstValueFrom)(this.client.send(subjects_1.Subjects.LocalizeContact, {
49
+ eventId,
50
+ externalId: eContact.id,
51
+ dataSource: eContact.dataSource,
52
+ user,
53
+ }));
54
+ if (Array.isArray(req["localized.contact.ids"]))
55
+ req["localized.contact.ids"].push(contact._id);
56
+ else
57
+ req["localized.contact.ids"] = [contact._id];
58
+ const companyId = contact.company?._id || contact.company;
59
+ if (Array.isArray(req["localized.company.ids"]))
60
+ req["localized.company.ids"].push(companyId);
61
+ else
62
+ req["localized.company.ids"] = [companyId];
63
+ }
64
+ next();
65
+ }
66
+ catch (error) {
67
+ next(error);
68
+ }
69
+ }
70
+ };
71
+ LocalizeContactMiddleware = LocalizeContactMiddleware_1 = __decorate([
72
+ (0, common_1.Injectable)(),
73
+ __param(0, (0, common_1.Inject)("LOCALIZE_CONTACT")),
74
+ __metadata("design:paramtypes", [microservices_1.ClientProxy])
75
+ ], LocalizeContactMiddleware);
76
+ function getUser(req) {
77
+ const id = (0, getHeaderParam_1.getHeaderParam)(req.headers, "id");
78
+ const email = (0, getHeaderParam_1.getHeaderParam)(req.headers, "email");
79
+ const role = (0, getHeaderParam_1.getHeaderParam)(req.headers, "role");
80
+ const type = (0, getHeaderParam_1.getHeaderParam)(req.headers, "type");
81
+ const company = (0, getHeaderParam_1.getHeaderParam)(req.headers, "company");
82
+ const contactId = (0, getHeaderParam_1.getHeaderParam)(req.headers, "contactId");
83
+ const language = (0, getHeaderParam_1.getHeaderParam)(req.headers, "language");
84
+ const meetingHubEvent = (0, getHeaderParam_1.getHeaderParam)(req.headers, "meetingHubEvent");
85
+ const firstname = (0, getHeaderParam_1.getHeaderParam)(req.headers, "firstname");
86
+ const lastname = (0, getHeaderParam_1.getHeaderParam)(req.headers, "lastname");
87
+ const eventStatus = (0, getHeaderParam_1.getHeaderParam)(req.headers, "eventStatus");
88
+ const moduleType = (0, getHeaderParam_1.getHeaderParam)(req.headers, "moduleType");
89
+ const typeId = (0, getHeaderParam_1.getHeaderParam)(req.headers, "typeId");
90
+ const eventId = (0, getHeaderParam_1.getHeaderParam)(req.headers, "event-id");
91
+ if (!email || !role || !type) {
92
+ throw new common_1.BadRequestException("Invalid header");
93
+ }
94
+ return {
95
+ id,
96
+ email,
97
+ role,
98
+ type,
99
+ company,
100
+ contactId,
101
+ language,
102
+ meetingHubEvent: meetingHubEvent === "true",
103
+ firstname,
104
+ lastname,
105
+ eventstatus: eventStatus,
106
+ moduleType,
107
+ typeId,
108
+ eventId,
109
+ };
110
+ }
111
+ return LocalizeContactMiddleware;
112
+ }
113
+ exports.createLocalizeContactMiddleware = createLocalizeContactMiddleware;
114
+ //# sourceMappingURL=localize-contact.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localize-contact.middleware.js","sourceRoot":"","sources":["../../src/middlewares/localize-contact.middleware.ts"],"names":[],"mappings":"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"}