@servicelabsco/slabs-access-manager 0.1.300 → 0.1.301
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/access/controllers/business.email.controller.d.ts +26 -0
- package/dist/access/controllers/business.email.controller.js +157 -0
- package/dist/access/controllers/business.email.controller.js.map +1 -0
- package/dist/access/controllers/common.webhook.controller.d.ts +4 -1
- package/dist/access/controllers/common.webhook.controller.js +23 -3
- package/dist/access/controllers/common.webhook.controller.js.map +1 -1
- package/dist/access/controllers/index.d.ts +1 -0
- package/dist/access/controllers/index.js +1 -0
- package/dist/access/controllers/index.js.map +1 -1
- package/dist/access/dtos/business.email.list.filter.dto.d.ts +4 -0
- package/dist/access/dtos/business.email.list.filter.dto.js +25 -0
- package/dist/access/dtos/business.email.list.filter.dto.js.map +1 -0
- package/dist/access/dtos/gmail.integration.oauth.dto.d.ts +4 -0
- package/dist/access/dtos/gmail.integration.oauth.dto.js +30 -0
- package/dist/access/dtos/gmail.integration.oauth.dto.js.map +1 -0
- package/dist/access/dtos/index.d.ts +2 -0
- package/dist/access/dtos/index.js +2 -0
- package/dist/access/dtos/index.js.map +1 -1
- package/dist/access/entities/business.email.entity.d.ts +8 -1
- package/dist/access/entities/business.email.entity.js +28 -1
- package/dist/access/entities/business.email.entity.js.map +1 -1
- package/dist/access/es6.classes.d.ts +13 -6
- package/dist/access/es6.classes.js +17 -1
- package/dist/access/es6.classes.js.map +1 -1
- package/dist/access/jobs/gmail.integration.fetch.messages.job.d.ts +12 -0
- package/dist/access/jobs/gmail.integration.fetch.messages.job.js +39 -0
- package/dist/access/jobs/gmail.integration.fetch.messages.job.js.map +1 -0
- package/dist/access/jobs/index.d.ts +1 -0
- package/dist/access/jobs/index.js +1 -0
- package/dist/access/jobs/index.js.map +1 -1
- package/dist/access/libraries/index.d.ts +2 -0
- package/dist/access/libraries/index.js +2 -0
- package/dist/access/libraries/index.js.map +1 -1
- package/dist/access/libraries/process.business.email.list.d.ts +20 -0
- package/dist/access/libraries/process.business.email.list.js +39 -0
- package/dist/access/libraries/process.business.email.list.js.map +1 -0
- package/dist/access/libraries/process.gmail.message.d.ts +22 -0
- package/dist/access/libraries/process.gmail.message.js +226 -0
- package/dist/access/libraries/process.gmail.message.js.map +1 -0
- package/dist/access/services/business.email.service.d.ts +17 -0
- package/dist/access/services/business.email.service.js +73 -0
- package/dist/access/services/business.email.service.js.map +1 -0
- package/dist/access/services/es6.jobs.service.d.ts +3 -1
- package/dist/access/services/es6.jobs.service.js +5 -1
- package/dist/access/services/es6.jobs.service.js.map +1 -1
- package/dist/access/services/gmail.integration.service.d.ts +29 -0
- package/dist/access/services/gmail.integration.service.js +195 -0
- package/dist/access/services/gmail.integration.service.js.map +1 -0
- package/dist/access/services/index.d.ts +2 -0
- package/dist/access/services/index.js +2 -0
- package/dist/access/services/index.js.map +1 -1
- package/dist/app.controller.d.ts +3 -7
- package/dist/app.controller.js +3 -13
- package/dist/app.controller.js.map +1 -1
- package/dist/migrations/1764667452853-AddAccessTokenColumnBzBusinessEmailsTable.d.ts +5 -0
- package/dist/migrations/1764667452853-AddAccessTokenColumnBzBusinessEmailsTable.js +18 -0
- package/dist/migrations/1764667452853-AddAccessTokenColumnBzBusinessEmailsTable.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.GmailIntegrationService = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
|
|
15
|
+
const date_fns_1 = require("date-fns");
|
|
16
|
+
const jwt = require("jsonwebtoken");
|
|
17
|
+
const access_employee_entity_1 = require("../entities/access.employee.entity");
|
|
18
|
+
const business_email_entity_1 = require("../entities/business.email.entity");
|
|
19
|
+
let GmailIntegrationService = class GmailIntegrationService {
|
|
20
|
+
constructor(propertyService, remoteRequestService, cacheService) {
|
|
21
|
+
this.propertyService = propertyService;
|
|
22
|
+
this.remoteRequestService = remoteRequestService;
|
|
23
|
+
this.cacheService = cacheService;
|
|
24
|
+
this.redirectUri = `${process.env.SERVER_URL}/webhook/google-mail`;
|
|
25
|
+
}
|
|
26
|
+
async getEmailsList(email_id, maxResults = 10) {
|
|
27
|
+
const credential = await this.getCredential(email_id);
|
|
28
|
+
if (!credential || !credential.access_token)
|
|
29
|
+
throw new nestjs_utility_services_1.OperationException('No access token found for user and business.');
|
|
30
|
+
const options = {
|
|
31
|
+
method: 'get',
|
|
32
|
+
url: 'https://gmail.googleapis.com/gmail/v1/users/me/messages',
|
|
33
|
+
headers: {
|
|
34
|
+
Authorization: `Bearer ${credential.access_token}`,
|
|
35
|
+
},
|
|
36
|
+
params: {
|
|
37
|
+
maxResults,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
const response = await this.remoteRequestService.getRawResponse(options);
|
|
41
|
+
if (!response.success)
|
|
42
|
+
throw new nestjs_utility_services_1.OperationException('Failed to fetch emails from Gmail API');
|
|
43
|
+
return response.data;
|
|
44
|
+
}
|
|
45
|
+
async getEmailMessageDetails(email_id, message_id) {
|
|
46
|
+
const credential = await this.getCredential(email_id);
|
|
47
|
+
if (!credential || !credential.access_token)
|
|
48
|
+
throw new nestjs_utility_services_1.OperationException('No access token found for user and business.');
|
|
49
|
+
const options = {
|
|
50
|
+
method: 'get',
|
|
51
|
+
url: `https://gmail.googleapis.com/gmail/v1/users/me/messages/${message_id}?format=full`,
|
|
52
|
+
headers: {
|
|
53
|
+
Authorization: `Bearer ${credential.access_token}`,
|
|
54
|
+
},
|
|
55
|
+
params: {
|
|
56
|
+
format: 'full',
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
const response = await this.remoteRequestService.getRawResponse(options);
|
|
60
|
+
if (!response.success)
|
|
61
|
+
throw new nestjs_utility_services_1.OperationException('Failed to fetch email message details from Gmail API');
|
|
62
|
+
return response.data;
|
|
63
|
+
}
|
|
64
|
+
async getEmailAttachment(email_id, message_id, attachment_id) {
|
|
65
|
+
const credential = await this.getCredential(email_id);
|
|
66
|
+
if (!credential || !credential.access_token)
|
|
67
|
+
throw new nestjs_utility_services_1.OperationException('No access token found for user and business.');
|
|
68
|
+
const options = {
|
|
69
|
+
method: 'get',
|
|
70
|
+
url: `https://gmail.googleapis.com/gmail/v1/users/me/messages/${message_id}/attachments/${attachment_id}`,
|
|
71
|
+
headers: {
|
|
72
|
+
Authorization: `Bearer ${credential.access_token}`,
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
const response = await this.remoteRequestService.getRawResponse(options);
|
|
76
|
+
if (!response.success)
|
|
77
|
+
throw new nestjs_utility_services_1.OperationException('Failed to fetch email attachment from Gmail API');
|
|
78
|
+
return response.data;
|
|
79
|
+
}
|
|
80
|
+
async getCredential(email_id) {
|
|
81
|
+
const key = `email.${email_id}.credential`;
|
|
82
|
+
const data = await this.cacheService.get(key);
|
|
83
|
+
if (data)
|
|
84
|
+
return data;
|
|
85
|
+
const credential = await this.refreshOauthToken(email_id);
|
|
86
|
+
await this.cacheService.set(key, credential, (0, date_fns_1.addMinutes)(new Date(), 30));
|
|
87
|
+
return credential;
|
|
88
|
+
}
|
|
89
|
+
async refreshOauthToken(email_id) {
|
|
90
|
+
await this.setProperties();
|
|
91
|
+
const credential = await business_email_entity_1.BusinessEmailEntity.first(email_id);
|
|
92
|
+
if (!credential || !credential.access_token)
|
|
93
|
+
throw new nestjs_utility_services_1.OperationException('No access token found for user and business.');
|
|
94
|
+
const options = {
|
|
95
|
+
method: 'post',
|
|
96
|
+
url: 'https://oauth2.googleapis.com/token',
|
|
97
|
+
headers: { 'Content-Type': 'application/json' },
|
|
98
|
+
data: {
|
|
99
|
+
client_id: this.client_id,
|
|
100
|
+
client_secret: this.client_secret,
|
|
101
|
+
refresh_token: credential.access_token,
|
|
102
|
+
grant_type: 'refresh_token',
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
const response = await this.remoteRequestService.getRawResponse(options);
|
|
106
|
+
if (!response.success || !response.data.access_token)
|
|
107
|
+
throw new nestjs_utility_services_1.OperationException('Failed to refresh OAuth token');
|
|
108
|
+
credential.access_token = response.data.access_token;
|
|
109
|
+
if (response.data.expires_in)
|
|
110
|
+
credential.expiry_at = new Date(Date.now() + response.data.expires_in * 1000);
|
|
111
|
+
return credential.save();
|
|
112
|
+
}
|
|
113
|
+
async getOauthToken(code, body) {
|
|
114
|
+
await this.setProperties();
|
|
115
|
+
const options = {
|
|
116
|
+
method: 'post',
|
|
117
|
+
url: 'https://oauth2.googleapis.com/token',
|
|
118
|
+
data: {
|
|
119
|
+
code,
|
|
120
|
+
grant_type: 'authorization_code',
|
|
121
|
+
client_id: this.client_id,
|
|
122
|
+
client_secret: this.client_secret,
|
|
123
|
+
redirect_uri: this.redirectUri,
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
const response = await this.remoteRequestService.getRawResponse(options);
|
|
127
|
+
if (!response.success)
|
|
128
|
+
throw new nestjs_utility_services_1.OperationException('Failed to get OAuth token');
|
|
129
|
+
return this.setOauthToken(response.data, body);
|
|
130
|
+
}
|
|
131
|
+
async setOauthToken(data, body) {
|
|
132
|
+
const decoded = jwt.decode(data.id_token);
|
|
133
|
+
const userEmail = decoded?.email;
|
|
134
|
+
if (!userEmail)
|
|
135
|
+
throw new nestjs_utility_services_1.OperationException('Failed to get user email from Google API');
|
|
136
|
+
const credential = await business_email_entity_1.BusinessEmailEntity.firstOrNew({
|
|
137
|
+
email: userEmail,
|
|
138
|
+
business_id: body.business_id,
|
|
139
|
+
});
|
|
140
|
+
const employee = await access_employee_entity_1.AccessEmployeeEntity.findOne({ where: { user_id: body.user_id, business_id: body.business_id } });
|
|
141
|
+
credential.employee_id = employee?.id;
|
|
142
|
+
credential.user_id = body.user_id;
|
|
143
|
+
credential.access_token = data.access_token;
|
|
144
|
+
credential.refresh_token = data.refresh_token;
|
|
145
|
+
credential.created_by = body.user_id;
|
|
146
|
+
credential.updated_by = body.user_id;
|
|
147
|
+
credential.product_id = body.product_id;
|
|
148
|
+
credential.active = true;
|
|
149
|
+
credential.expiry_at = new Date(Date.now() + data.expires_in * 1000);
|
|
150
|
+
credential.active = true;
|
|
151
|
+
return credential.save();
|
|
152
|
+
}
|
|
153
|
+
async getOAuthUrl(user_id, business_id, body) {
|
|
154
|
+
await this.setProperties();
|
|
155
|
+
const state = encodeURIComponent(JSON.stringify({ business_id, user_id, ...body }));
|
|
156
|
+
const oauthUrl = `https://accounts.google.com/o/oauth2/v2/auth`;
|
|
157
|
+
return `${oauthUrl}?client_id=${this.client_id}&redirect_uri=${this.redirectUri}&access_type=offline&response_type=code&scope=${this.oauthScope}&state=${state}`;
|
|
158
|
+
}
|
|
159
|
+
async setProperties() {
|
|
160
|
+
this.client_id = await this.getClientId();
|
|
161
|
+
this.client_secret = await this.getClientSecret();
|
|
162
|
+
this.oauthScope = await this.getOauthScope();
|
|
163
|
+
}
|
|
164
|
+
async getClientId() {
|
|
165
|
+
if (this.client_id)
|
|
166
|
+
return this.client_id;
|
|
167
|
+
const clientId = await this.propertyService.get('google.client.id');
|
|
168
|
+
if (!clientId)
|
|
169
|
+
throw new nestjs_utility_services_1.OperationException('Google client ID not found');
|
|
170
|
+
return clientId;
|
|
171
|
+
}
|
|
172
|
+
async getClientSecret() {
|
|
173
|
+
if (this.client_secret)
|
|
174
|
+
return this.client_secret;
|
|
175
|
+
const clientSecret = await this.propertyService.get('google.client.secret');
|
|
176
|
+
if (!clientSecret)
|
|
177
|
+
throw new nestjs_utility_services_1.OperationException('Google client secret not found');
|
|
178
|
+
return clientSecret;
|
|
179
|
+
}
|
|
180
|
+
async getOauthScope() {
|
|
181
|
+
if (this.oauthScope)
|
|
182
|
+
return this.oauthScope;
|
|
183
|
+
const defaultScope = 'openid%20email%20profile%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.send+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.readonly+';
|
|
184
|
+
const oauthScope = await this.propertyService.get('google.oauth.scope', defaultScope);
|
|
185
|
+
return oauthScope;
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
exports.GmailIntegrationService = GmailIntegrationService;
|
|
189
|
+
exports.GmailIntegrationService = GmailIntegrationService = __decorate([
|
|
190
|
+
(0, common_1.Injectable)(),
|
|
191
|
+
__metadata("design:paramtypes", [nestjs_utility_services_1.PropertyService,
|
|
192
|
+
nestjs_utility_services_1.RemoteRequestService,
|
|
193
|
+
nestjs_utility_services_1.CacheService])
|
|
194
|
+
], GmailIntegrationService);
|
|
195
|
+
//# sourceMappingURL=gmail.integration.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmail.integration.service.js","sourceRoot":"","sources":["../../../src/access/services/gmail.integration.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,14 @@ export * from './access.report.service';
|
|
|
3
3
|
export * from './api.account.service';
|
|
4
4
|
export * from './app.integration.service';
|
|
5
5
|
export * from './audit.log.service';
|
|
6
|
+
export * from './business.email.service';
|
|
6
7
|
export * from './business.preference.service';
|
|
7
8
|
export * from './business.property.service';
|
|
8
9
|
export * from './business.script.service';
|
|
9
10
|
export * from './business.user.role.service';
|
|
10
11
|
export * from './custom.field.service';
|
|
11
12
|
export * from './gchat.service';
|
|
13
|
+
export * from './gmail.integration.service';
|
|
12
14
|
export * from './gpt.service';
|
|
13
15
|
export * from './listing.preference.service';
|
|
14
16
|
export * from './listing.service';
|
|
@@ -19,12 +19,14 @@ __exportStar(require("./access.report.service"), exports);
|
|
|
19
19
|
__exportStar(require("./api.account.service"), exports);
|
|
20
20
|
__exportStar(require("./app.integration.service"), exports);
|
|
21
21
|
__exportStar(require("./audit.log.service"), exports);
|
|
22
|
+
__exportStar(require("./business.email.service"), exports);
|
|
22
23
|
__exportStar(require("./business.preference.service"), exports);
|
|
23
24
|
__exportStar(require("./business.property.service"), exports);
|
|
24
25
|
__exportStar(require("./business.script.service"), exports);
|
|
25
26
|
__exportStar(require("./business.user.role.service"), exports);
|
|
26
27
|
__exportStar(require("./custom.field.service"), exports);
|
|
27
28
|
__exportStar(require("./gchat.service"), exports);
|
|
29
|
+
__exportStar(require("./gmail.integration.service"), exports);
|
|
28
30
|
__exportStar(require("./gpt.service"), exports);
|
|
29
31
|
__exportStar(require("./listing.preference.service"), exports);
|
|
30
32
|
__exportStar(require("./listing.service"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/access/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAAA,0DAAwC;AAAA,wDAAsC;AAAA,4DAA0C;AAAA,sDAAoC;AAAA,gEAA8C;AAAA,8DAA4C;AAAA,4DAA0C;AAAA,+DAA6C;AAAA,yDAAuC;AAAA,kDAAgC;AAAA,gDAA8B;AAAA,+DAA6C;AAAA,oDAAkC;AAAA,wDAAsC;AAAA,yDAAuC;AAAA,qDAAmC;AAAA,wDAAsC;AAAA,6DAA2C;AAAA,uDAAqC;AAAA,kDAAgC;AAAA,kDAAgC;AAAA,iEAA+C;AAAA,8DAA4C;AAAA,4DAA0C;AAAA,oDAAkC;AAAA,oDAAkC;AAAA,qDAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/access/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAAA,0DAAwC;AAAA,wDAAsC;AAAA,4DAA0C;AAAA,sDAAoC;AAAA,2DAAyC;AAAA,gEAA8C;AAAA,8DAA4C;AAAA,4DAA0C;AAAA,+DAA6C;AAAA,yDAAuC;AAAA,kDAAgC;AAAA,8DAA4C;AAAA,gDAA8B;AAAA,+DAA6C;AAAA,oDAAkC;AAAA,wDAAsC;AAAA,yDAAuC;AAAA,qDAAmC;AAAA,wDAAsC;AAAA,6DAA2C;AAAA,uDAAqC;AAAA,kDAAgC;AAAA,kDAAgC;AAAA,iEAA+C;AAAA,8DAA4C;AAAA,4DAA0C;AAAA,oDAAkC;AAAA,oDAAkC;AAAA,qDAAkC"}
|
package/dist/app.controller.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropertyService, QueueService,
|
|
1
|
+
import { PropertyService, QueueService, RefreshPropertyCacheJob } from '@servicelabsco/nestjs-utility-services';
|
|
2
2
|
import { EvaluateEmailRuleJob } from './access/jobs/evaluate.email.rule.job';
|
|
3
3
|
import { NotificationService } from './access/services/notification.service';
|
|
4
4
|
import { SlabsService } from './access/services/slabs.service';
|
|
@@ -7,17 +7,13 @@ import { AppService } from './app.service';
|
|
|
7
7
|
export declare class AppController {
|
|
8
8
|
private readonly appService;
|
|
9
9
|
private readonly queueService;
|
|
10
|
-
private readonly sqlService;
|
|
11
|
-
private readonly uploadService;
|
|
12
10
|
protected readonly propertyService: PropertyService;
|
|
13
11
|
private readonly refreshPropertyCacheJob;
|
|
14
12
|
protected readonly analyseBulkUploadJob: AnalyseBulkUploadJob;
|
|
15
13
|
protected readonly notificationService: NotificationService;
|
|
16
14
|
protected readonly slabsService: SlabsService;
|
|
17
15
|
protected readonly evaluateEmailRuleJob: EvaluateEmailRuleJob;
|
|
18
|
-
|
|
19
|
-
private readonly syncAllCodeJob;
|
|
20
|
-
constructor(appService: AppService, queueService: QueueService, sqlService: SqlService, uploadService: UploadService, propertyService: PropertyService, refreshPropertyCacheJob: RefreshPropertyCacheJob, analyseBulkUploadJob: AnalyseBulkUploadJob, notificationService: NotificationService, slabsService: SlabsService, evaluateEmailRuleJob: EvaluateEmailRuleJob, redisService: RedisService, syncAllCodeJob: SyncAllCodeJob);
|
|
16
|
+
constructor(appService: AppService, queueService: QueueService, propertyService: PropertyService, refreshPropertyCacheJob: RefreshPropertyCacheJob, analyseBulkUploadJob: AnalyseBulkUploadJob, notificationService: NotificationService, slabsService: SlabsService, evaluateEmailRuleJob: EvaluateEmailRuleJob);
|
|
21
17
|
getHello(): {
|
|
22
18
|
hello: string;
|
|
23
19
|
};
|
|
@@ -34,5 +30,5 @@ export declare class AppController {
|
|
|
34
30
|
};
|
|
35
31
|
}>;
|
|
36
32
|
set(): Promise<void>;
|
|
37
|
-
sets(): Promise<
|
|
33
|
+
sets(): Promise<void>;
|
|
38
34
|
}
|
package/dist/app.controller.js
CHANGED
|
@@ -21,19 +21,15 @@ const slabs_service_1 = require("./access/services/slabs.service");
|
|
|
21
21
|
const analyse_bulk_upload_job_1 = require("./accessUtility/jobs/analyse.bulk.upload.job");
|
|
22
22
|
const app_service_1 = require("./app.service");
|
|
23
23
|
let AppController = class AppController {
|
|
24
|
-
constructor(appService, queueService,
|
|
24
|
+
constructor(appService, queueService, propertyService, refreshPropertyCacheJob, analyseBulkUploadJob, notificationService, slabsService, evaluateEmailRuleJob) {
|
|
25
25
|
this.appService = appService;
|
|
26
26
|
this.queueService = queueService;
|
|
27
|
-
this.sqlService = sqlService;
|
|
28
|
-
this.uploadService = uploadService;
|
|
29
27
|
this.propertyService = propertyService;
|
|
30
28
|
this.refreshPropertyCacheJob = refreshPropertyCacheJob;
|
|
31
29
|
this.analyseBulkUploadJob = analyseBulkUploadJob;
|
|
32
30
|
this.notificationService = notificationService;
|
|
33
31
|
this.slabsService = slabsService;
|
|
34
32
|
this.evaluateEmailRuleJob = evaluateEmailRuleJob;
|
|
35
|
-
this.redisService = redisService;
|
|
36
|
-
this.syncAllCodeJob = syncAllCodeJob;
|
|
37
33
|
}
|
|
38
34
|
getHello() {
|
|
39
35
|
return this.appService.getHello();
|
|
@@ -67,9 +63,7 @@ let AppController = class AppController {
|
|
|
67
63
|
return { runningStats, jobStats };
|
|
68
64
|
}
|
|
69
65
|
async set() { }
|
|
70
|
-
async sets() {
|
|
71
|
-
return this.queueService.addJob('3b2dd9651e0cf0d1968bad1fd35c2aec', 21);
|
|
72
|
-
}
|
|
66
|
+
async sets() { }
|
|
73
67
|
};
|
|
74
68
|
exports.AppController = AppController;
|
|
75
69
|
__decorate([
|
|
@@ -137,15 +131,11 @@ exports.AppController = AppController = __decorate([
|
|
|
137
131
|
(0, common_1.Controller)(),
|
|
138
132
|
__metadata("design:paramtypes", [app_service_1.AppService,
|
|
139
133
|
nestjs_utility_services_1.QueueService,
|
|
140
|
-
nestjs_utility_services_1.SqlService,
|
|
141
|
-
nestjs_utility_services_1.UploadService,
|
|
142
134
|
nestjs_utility_services_1.PropertyService,
|
|
143
135
|
nestjs_utility_services_1.RefreshPropertyCacheJob,
|
|
144
136
|
analyse_bulk_upload_job_1.AnalyseBulkUploadJob,
|
|
145
137
|
notification_service_1.NotificationService,
|
|
146
138
|
slabs_service_1.SlabsService,
|
|
147
|
-
evaluate_email_rule_job_1.EvaluateEmailRuleJob
|
|
148
|
-
nestjs_utility_services_1.RedisService,
|
|
149
|
-
nestjs_utility_services_1.SyncAllCodeJob])
|
|
139
|
+
evaluate_email_rule_job_1.EvaluateEmailRuleJob])
|
|
150
140
|
], AppController);
|
|
151
141
|
//# sourceMappingURL=app.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.controller.js","sourceRoot":"","sources":["../src/app.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"app.controller.js","sourceRoot":"","sources":["../src/app.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddAccessTokenColumnBzBusinessEmailsTable1764667452853 = void 0;
|
|
4
|
+
const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
|
|
5
|
+
class AddAccessTokenColumnBzBusinessEmailsTable1764667452853 extends nestjs_utility_services_1.MigrationUtility {
|
|
6
|
+
constructor() {
|
|
7
|
+
super('bz_business_emails');
|
|
8
|
+
this.process();
|
|
9
|
+
}
|
|
10
|
+
process() {
|
|
11
|
+
this.text('access_token');
|
|
12
|
+
this.text('refresh_token');
|
|
13
|
+
this.foreign({ name: 'employee_id', foreignTable: 'emp_employee_details' });
|
|
14
|
+
this.dateTime('expiry_at');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.AddAccessTokenColumnBzBusinessEmailsTable1764667452853 = AddAccessTokenColumnBzBusinessEmailsTable1764667452853;
|
|
18
|
+
//# sourceMappingURL=1764667452853-AddAccessTokenColumnBzBusinessEmailsTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1764667452853-AddAccessTokenColumnBzBusinessEmailsTable.js","sourceRoot":"","sources":["../../src/migrations/1764667452853-AddAccessTokenColumnBzBusinessEmailsTable.ts"],"names":[],"mappings":";;;AAAA,oFAA0E;AAE1E,MAAa,sDAAuD,SAAQ,0CAAgB;IACxF;QACI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE3B,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAE5E,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;CACJ;AAdD,wHAcC"}
|
package/package.json
CHANGED