@oneuptime/common 9.3.22 → 9.4.0
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/Models/DatabaseModels/IncomingCallLog.ts +521 -0
- package/Models/DatabaseModels/IncomingCallLogItem.ts +463 -0
- package/Models/DatabaseModels/IncomingCallPolicy.ts +811 -0
- package/Models/DatabaseModels/IncomingCallPolicyEscalationRule.ts +597 -0
- package/Models/DatabaseModels/Index.ts +18 -0
- package/Models/DatabaseModels/ProjectSCIMLog.ts +422 -0
- package/Models/DatabaseModels/StatusPageSCIMLog.ts +455 -0
- package/Models/DatabaseModels/User.ts +0 -15
- package/Models/DatabaseModels/UserIncomingCallNumber.ts +296 -0
- package/Server/API/UserIncomingCallNumberAPI.ts +128 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1768583966447-MigrationName.ts +121 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1768647802022-RemoveAlertPhoneNumberFromUser.ts +22 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1768649699509-MigrationName.ts +787 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1768682071562-MigrationName.ts +29 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
- package/Server/Services/IncomingCallLogItemService.ts +10 -0
- package/Server/Services/IncomingCallLogService.ts +10 -0
- package/Server/Services/IncomingCallPolicyEscalationRuleService.ts +267 -0
- package/Server/Services/IncomingCallPolicyService.ts +10 -0
- package/Server/Services/Index.ts +7 -0
- package/Server/Services/ProjectSCIMLogService.ts +11 -0
- package/Server/Services/StatusPageSCIMLogService.ts +11 -0
- package/Server/Services/UserCallService.ts +31 -0
- package/Server/Services/UserIncomingCallNumberService.ts +258 -0
- package/Server/Services/UserSmsService.ts +31 -0
- package/Server/Utils/StartServer.ts +5 -0
- package/Types/Call/CallProvider.ts +99 -0
- package/Types/Call/CallProviderType.ts +6 -0
- package/Types/Icon/IconProp.ts +1 -0
- package/Types/IncomingCall/IncomingCallStatus.ts +13 -0
- package/Types/Permission.ts +126 -0
- package/Types/Phone.ts +53 -4
- package/Types/SCIM/SCIMLogStatus.ts +7 -0
- package/UI/Components/Diagram/ConceptCards.tsx +74 -0
- package/UI/Components/Diagram/HorizontalStepChain.tsx +92 -0
- package/UI/Components/Diagram/Index.ts +11 -0
- package/UI/Components/Diagram/NumberedSteps.tsx +77 -0
- package/UI/Components/Diagram/VerticalFlowSteps.tsx +59 -0
- package/UI/Components/Icon/Icon.tsx +10 -0
- package/UI/Components/SimpleLogViewer/SimpleLogViewer.tsx +86 -2
- package/build/dist/Models/DatabaseModels/IncomingCallLog.js +565 -0
- package/build/dist/Models/DatabaseModels/IncomingCallLog.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IncomingCallLogItem.js +497 -0
- package/build/dist/Models/DatabaseModels/IncomingCallLogItem.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IncomingCallPolicy.js +840 -0
- package/build/dist/Models/DatabaseModels/IncomingCallPolicy.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IncomingCallPolicyEscalationRule.js +619 -0
- package/build/dist/Models/DatabaseModels/IncomingCallPolicyEscalationRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Index.js +16 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectSCIMLog.js +455 -0
- package/build/dist/Models/DatabaseModels/ProjectSCIMLog.js.map +1 -0
- package/build/dist/Models/DatabaseModels/StatusPageSCIMLog.js +486 -0
- package/build/dist/Models/DatabaseModels/StatusPageSCIMLog.js.map +1 -0
- package/build/dist/Models/DatabaseModels/User.js +0 -16
- package/build/dist/Models/DatabaseModels/User.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserIncomingCallNumber.js +315 -0
- package/build/dist/Models/DatabaseModels/UserIncomingCallNumber.js.map +1 -0
- package/build/dist/Server/API/UserIncomingCallNumberAPI.js +72 -0
- package/build/dist/Server/API/UserIncomingCallNumberAPI.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768583966447-MigrationName.js +48 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768583966447-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768647802022-RemoveAlertPhoneNumberFromUser.js +34 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768647802022-RemoveAlertPhoneNumberFromUser.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768649699509-MigrationName.js +270 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768649699509-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768682071562-MigrationName.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768682071562-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/IncomingCallLogItemService.js +9 -0
- package/build/dist/Server/Services/IncomingCallLogItemService.js.map +1 -0
- package/build/dist/Server/Services/IncomingCallLogService.js +9 -0
- package/build/dist/Server/Services/IncomingCallLogService.js.map +1 -0
- package/build/dist/Server/Services/IncomingCallPolicyEscalationRuleService.js +197 -0
- package/build/dist/Server/Services/IncomingCallPolicyEscalationRuleService.js.map +1 -0
- package/build/dist/Server/Services/IncomingCallPolicyService.js +9 -0
- package/build/dist/Server/Services/IncomingCallPolicyService.js.map +1 -0
- package/build/dist/Server/Services/Index.js +6 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/ProjectSCIMLogService.js +10 -0
- package/build/dist/Server/Services/ProjectSCIMLogService.js.map +1 -0
- package/build/dist/Server/Services/StatusPageSCIMLogService.js +10 -0
- package/build/dist/Server/Services/StatusPageSCIMLogService.js.map +1 -0
- package/build/dist/Server/Services/UserCallService.js +21 -0
- package/build/dist/Server/Services/UserCallService.js.map +1 -1
- package/build/dist/Server/Services/UserIncomingCallNumberService.js +225 -0
- package/build/dist/Server/Services/UserIncomingCallNumberService.js.map +1 -0
- package/build/dist/Server/Services/UserSmsService.js +21 -0
- package/build/dist/Server/Services/UserSmsService.js.map +1 -1
- package/build/dist/Server/Utils/StartServer.js +5 -0
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Types/Call/CallProvider.js +2 -0
- package/build/dist/Types/Call/CallProvider.js.map +1 -0
- package/build/dist/Types/Call/CallProviderType.js +7 -0
- package/build/dist/Types/Call/CallProviderType.js.map +1 -0
- package/build/dist/Types/Icon/IconProp.js +1 -0
- package/build/dist/Types/Icon/IconProp.js.map +1 -1
- package/build/dist/Types/IncomingCall/IncomingCallStatus.js +14 -0
- package/build/dist/Types/IncomingCall/IncomingCallStatus.js.map +1 -0
- package/build/dist/Types/Permission.js +104 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Phone.js +47 -3
- package/build/dist/Types/Phone.js.map +1 -1
- package/build/dist/Types/SCIM/SCIMLogStatus.js +8 -0
- package/build/dist/Types/SCIM/SCIMLogStatus.js.map +1 -0
- package/build/dist/UI/Components/Diagram/ConceptCards.js +30 -0
- package/build/dist/UI/Components/Diagram/ConceptCards.js.map +1 -0
- package/build/dist/UI/Components/Diagram/HorizontalStepChain.js +30 -0
- package/build/dist/UI/Components/Diagram/HorizontalStepChain.js.map +1 -0
- package/build/dist/UI/Components/Diagram/Index.js +5 -0
- package/build/dist/UI/Components/Diagram/Index.js.map +1 -0
- package/build/dist/UI/Components/Diagram/NumberedSteps.js +18 -0
- package/build/dist/UI/Components/Diagram/NumberedSteps.js.map +1 -0
- package/build/dist/UI/Components/Diagram/VerticalFlowSteps.js +16 -0
- package/build/dist/UI/Components/Diagram/VerticalFlowSteps.js.map +1 -0
- package/build/dist/UI/Components/Icon/Icon.js +4 -0
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/SimpleLogViewer/SimpleLogViewer.js +30 -1
- package/build/dist/UI/Components/SimpleLogViewer/SimpleLogViewer.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import DatabaseService from "./DatabaseService";
|
|
2
|
+
import QueryHelper from "../Types/Database/QueryHelper";
|
|
3
|
+
import BadDataException from "../../Types/Exception/BadDataException";
|
|
4
|
+
import SortOrder from "../../Types/BaseDatabase/SortOrder";
|
|
5
|
+
import LIMIT_MAX from "../../Types/Database/LimitMax";
|
|
6
|
+
import IncomingCallPolicyEscalationRule from "../../Models/DatabaseModels/IncomingCallPolicyEscalationRule";
|
|
7
|
+
export class Service extends DatabaseService {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(IncomingCallPolicyEscalationRule);
|
|
10
|
+
}
|
|
11
|
+
async onBeforeCreate(createBy) {
|
|
12
|
+
// Validate mutual exclusivity: either userId OR onCallDutyPolicyScheduleId must be set
|
|
13
|
+
const hasUser = Boolean(createBy.data.userId);
|
|
14
|
+
const hasSchedule = Boolean(createBy.data.onCallDutyPolicyScheduleId);
|
|
15
|
+
if (!hasUser && !hasSchedule) {
|
|
16
|
+
throw new BadDataException("Either a User or an On-Call Schedule must be specified for the escalation rule");
|
|
17
|
+
}
|
|
18
|
+
if (hasUser && hasSchedule) {
|
|
19
|
+
throw new BadDataException("Only one of User or On-Call Schedule can be specified, not both");
|
|
20
|
+
}
|
|
21
|
+
if (!createBy.data.incomingCallPolicyId) {
|
|
22
|
+
throw new BadDataException("incomingCallPolicyId is required");
|
|
23
|
+
}
|
|
24
|
+
// Auto-generate order if not provided
|
|
25
|
+
if (!createBy.data.order) {
|
|
26
|
+
const query = {
|
|
27
|
+
incomingCallPolicyId: createBy.data.incomingCallPolicyId,
|
|
28
|
+
};
|
|
29
|
+
const count = await this.countBy({
|
|
30
|
+
query: query,
|
|
31
|
+
props: {
|
|
32
|
+
isRoot: true,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
createBy.data.order = count.toNumber() + 1;
|
|
36
|
+
}
|
|
37
|
+
await this.rearrangeOrder(createBy.data.order, createBy.data.incomingCallPolicyId, true);
|
|
38
|
+
return {
|
|
39
|
+
createBy,
|
|
40
|
+
carryForward: null,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
async onBeforeDelete(deleteBy) {
|
|
44
|
+
if (!deleteBy.query._id && !deleteBy.props.isRoot) {
|
|
45
|
+
throw new BadDataException("_id should be present when deleting escalation rule. Please try the delete with objectId");
|
|
46
|
+
}
|
|
47
|
+
let resource = null;
|
|
48
|
+
if (!deleteBy.props.isRoot) {
|
|
49
|
+
resource = await this.findOneBy({
|
|
50
|
+
query: deleteBy.query,
|
|
51
|
+
props: {
|
|
52
|
+
isRoot: true,
|
|
53
|
+
},
|
|
54
|
+
select: {
|
|
55
|
+
order: true,
|
|
56
|
+
incomingCallPolicyId: true,
|
|
57
|
+
projectId: true,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
if (!resource) {
|
|
61
|
+
throw new BadDataException("IncomingCallPolicyEscalationRule with this id not found");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
deleteBy,
|
|
66
|
+
carryForward: resource,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
async onDeleteSuccess(onDelete, _itemIdsBeforeDelete) {
|
|
70
|
+
const deleteBy = onDelete.deleteBy;
|
|
71
|
+
const resource = onDelete.carryForward;
|
|
72
|
+
if (!deleteBy.props.isRoot && resource) {
|
|
73
|
+
if (resource && resource.order && resource.incomingCallPolicyId) {
|
|
74
|
+
await this.rearrangeOrder(resource.order, resource.incomingCallPolicyId, false);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
deleteBy: deleteBy,
|
|
79
|
+
carryForward: null,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
async onBeforeUpdate(updateBy) {
|
|
83
|
+
if (updateBy.data.order && !updateBy.props.isRoot && updateBy.query._id) {
|
|
84
|
+
const resource = await this.findOneBy({
|
|
85
|
+
query: {
|
|
86
|
+
_id: updateBy.query._id,
|
|
87
|
+
},
|
|
88
|
+
props: {
|
|
89
|
+
isRoot: true,
|
|
90
|
+
},
|
|
91
|
+
select: {
|
|
92
|
+
order: true,
|
|
93
|
+
incomingCallPolicyId: true,
|
|
94
|
+
_id: true,
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
const currentOrder = resource === null || resource === void 0 ? void 0 : resource.order;
|
|
98
|
+
const newOrder = updateBy.data.order;
|
|
99
|
+
const resources = await this.findBy({
|
|
100
|
+
query: {
|
|
101
|
+
incomingCallPolicyId: resource === null || resource === void 0 ? void 0 : resource.incomingCallPolicyId,
|
|
102
|
+
},
|
|
103
|
+
limit: LIMIT_MAX,
|
|
104
|
+
skip: 0,
|
|
105
|
+
props: {
|
|
106
|
+
isRoot: true,
|
|
107
|
+
},
|
|
108
|
+
select: {
|
|
109
|
+
order: true,
|
|
110
|
+
incomingCallPolicyId: true,
|
|
111
|
+
_id: true,
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
if (currentOrder > newOrder) {
|
|
115
|
+
// moving up.
|
|
116
|
+
for (const resource of resources) {
|
|
117
|
+
if (resource.order >= newOrder && resource.order < currentOrder) {
|
|
118
|
+
// increment order.
|
|
119
|
+
await this.updateOneBy({
|
|
120
|
+
query: {
|
|
121
|
+
_id: resource._id,
|
|
122
|
+
},
|
|
123
|
+
data: {
|
|
124
|
+
order: resource.order + 1,
|
|
125
|
+
},
|
|
126
|
+
props: {
|
|
127
|
+
isRoot: true,
|
|
128
|
+
},
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (newOrder > currentOrder) {
|
|
134
|
+
// moving down.
|
|
135
|
+
for (const resource of resources) {
|
|
136
|
+
if (resource.order <= newOrder) {
|
|
137
|
+
// increment order.
|
|
138
|
+
await this.updateOneBy({
|
|
139
|
+
query: {
|
|
140
|
+
_id: resource._id,
|
|
141
|
+
},
|
|
142
|
+
data: {
|
|
143
|
+
order: resource.order - 1,
|
|
144
|
+
},
|
|
145
|
+
props: {
|
|
146
|
+
isRoot: true,
|
|
147
|
+
},
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return { updateBy, carryForward: null };
|
|
154
|
+
}
|
|
155
|
+
async rearrangeOrder(currentOrder, incomingCallPolicyId, increaseOrder = true) {
|
|
156
|
+
const resources = await this.findBy({
|
|
157
|
+
query: {
|
|
158
|
+
order: QueryHelper.greaterThanEqualTo(currentOrder),
|
|
159
|
+
incomingCallPolicyId: incomingCallPolicyId,
|
|
160
|
+
},
|
|
161
|
+
limit: LIMIT_MAX,
|
|
162
|
+
skip: 0,
|
|
163
|
+
props: {
|
|
164
|
+
isRoot: true,
|
|
165
|
+
},
|
|
166
|
+
select: {
|
|
167
|
+
_id: true,
|
|
168
|
+
order: true,
|
|
169
|
+
},
|
|
170
|
+
sort: {
|
|
171
|
+
order: SortOrder.Ascending,
|
|
172
|
+
},
|
|
173
|
+
});
|
|
174
|
+
let newOrder = currentOrder;
|
|
175
|
+
for (const resource of resources) {
|
|
176
|
+
if (increaseOrder) {
|
|
177
|
+
newOrder = resource.order + 1;
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
newOrder = resource.order - 1;
|
|
181
|
+
}
|
|
182
|
+
await this.updateOneBy({
|
|
183
|
+
query: {
|
|
184
|
+
_id: resource._id,
|
|
185
|
+
},
|
|
186
|
+
data: {
|
|
187
|
+
order: newOrder,
|
|
188
|
+
},
|
|
189
|
+
props: {
|
|
190
|
+
isRoot: true,
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
export default new Service();
|
|
197
|
+
//# sourceMappingURL=IncomingCallPolicyEscalationRuleService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IncomingCallPolicyEscalationRuleService.js","sourceRoot":"","sources":["../../../../Server/Services/IncomingCallPolicyEscalationRuleService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import DatabaseService from "./DatabaseService";
|
|
2
|
+
import IncomingCallPolicy from "../../Models/DatabaseModels/IncomingCallPolicy";
|
|
3
|
+
export class Service extends DatabaseService {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(IncomingCallPolicy);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export default new Service();
|
|
9
|
+
//# sourceMappingURL=IncomingCallPolicyService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IncomingCallPolicyService.js","sourceRoot":"","sources":["../../../../Server/Services/IncomingCallPolicyService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,kBAAkB,MAAM,gDAAgD,CAAC;AAEhF,MAAM,OAAO,OAAQ,SAAQ,eAAmC;IAC9D;QACE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -130,6 +130,7 @@ import UserSessionService from "./UserSessionService";
|
|
|
130
130
|
import UserTotpAuthService from "./UserTotpAuthService";
|
|
131
131
|
import UserWebAuthnService from "./UserWebAuthnService";
|
|
132
132
|
import UserSmsService from "./UserSmsService";
|
|
133
|
+
import UserIncomingCallNumberService from "./UserIncomingCallNumberService";
|
|
133
134
|
import UserWhatsAppService from "./UserWhatsAppService";
|
|
134
135
|
import WorkflowLogService from "./WorkflowLogService";
|
|
135
136
|
// Workflows.
|
|
@@ -164,6 +165,8 @@ import WorkspaceNotificationLogService from "./WorkspaceNotificationLogService";
|
|
|
164
165
|
import OnCallDutyPolicyUserOverrideService from "./OnCallDutyPolicyUserOverrideService";
|
|
165
166
|
import MonitorLogService from "./MonitorLogService";
|
|
166
167
|
import OnCallDutyPolicyTimeLogService from "./OnCallDutyPolicyTimeLogService";
|
|
168
|
+
import ProjectSCIMLogService from "./ProjectSCIMLogService";
|
|
169
|
+
import StatusPageSCIMLogService from "./StatusPageSCIMLogService";
|
|
167
170
|
const services = [
|
|
168
171
|
OnCallDutyPolicyTimeLogService,
|
|
169
172
|
AcmeCertificateService,
|
|
@@ -271,6 +274,7 @@ const services = [
|
|
|
271
274
|
UserOnCallLogService,
|
|
272
275
|
UserOnCallLogTimelineService,
|
|
273
276
|
UserSmsService,
|
|
277
|
+
UserIncomingCallNumberService,
|
|
274
278
|
UserWhatsAppService,
|
|
275
279
|
UserTotpAuthService,
|
|
276
280
|
UserWebAuthnService,
|
|
@@ -317,6 +321,8 @@ const services = [
|
|
|
317
321
|
WorkspaceSettingService,
|
|
318
322
|
WorkspaceNotificationRuleService,
|
|
319
323
|
WorkspaceNotificationLogService,
|
|
324
|
+
ProjectSCIMLogService,
|
|
325
|
+
StatusPageSCIMLogService,
|
|
320
326
|
];
|
|
321
327
|
export const AnalyticsServices = [
|
|
322
328
|
LogService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../../Server/Services/Index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../../Server/Services/Index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAG9D,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,WAAW;AACX,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,4BAA4B,MAAM,+BAA+B,CAAC;AACzE,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,6BAA6B,MAAM,iCAAiC,CAAC;AAC5E,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,YAAY;AACZ,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;AACtE,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,YAAY;AACZ,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,SAAS;AACT,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,WAAW;AACX,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,kCAAkC,MAAM,sCAAsC,CAAC;AACtF,OAAO,6CAA6C,MAAM,iDAAiD,CAAC;AAC5G,OAAO,qCAAqC,MAAM,yCAAyC,CAAC;AAC5F,OAAO,yCAAyC,MAAM,6CAA6C,CAAC;AACpG,OAAO,yCAAyC,MAAM,6CAA6C,CAAC;AACpG,OAAO,mCAAmC,MAAM,uCAAuC,CAAC;AACxF,OAAO,2CAA2C,MAAM,+CAA+C,CAAC;AACxG,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAC1F,OAAO,wCAAwC,MAAM,4CAA4C,CAAC;AAClG,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAChF,eAAe;AACf,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,6BAA6B,MAAM,iCAAiC,CAAC;AAC5E,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,uBAAuB;AACvB,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,sCAAsC,MAAM,0CAA0C,CAAC;AAC9F,OAAO,uCAAuC,MAAM,2CAA2C,CAAC;AAChG,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAC1F,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAC1F,OAAO,qCAAqC,MAAM,yCAAyC,CAAC;AAC5F,wBAAwB;AACxB,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAClF,OAAO,wCAAwC,MAAM,4CAA4C,CAAC;AAClG,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,kBAAkB;AAClB,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,6BAA6B,MAAM,iCAAiC,CAAC;AAC5E,OAAO,qCAAqC,MAAM,yCAAyC,CAAC;AAC5F,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,yCAAyC,MAAM,6CAA6C,CAAC;AACpG,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;AACtE,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;AACtE,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,mCAAmC,MAAM,uCAAuC,CAAC;AACxF,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,cAAc;AACd,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,+CAA+C,MAAM,mDAAmD,CAAC;AAChH,OAAO,yDAAyD,MAAM,6DAA6D,CAAC;AACpI,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO;AACP,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,6BAA6B,MAAM,iCAAiC,CAAC;AAC5E,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,aAAa;AACb,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,wBAAwB,MAAM,2BAA2B,CAAC;AAEjE,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,mCAAmC,MAAM,uCAAuC,CAAC;AACxF,OAAO,4CAA4C,MAAM,gDAAgD,CAAC;AAC1G,OAAO,4CAA4C,MAAM,gDAAgD,CAAC;AAE1G,iBAAiB;AACjB,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAChF,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAClF,OAAO,6BAA6B,MAAM,iCAAiC,CAAC;AAC5E,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAClF,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAChF,OAAO,mCAAmC,MAAM,uCAAuC,CAAC;AAExF,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,MAAM,QAAQ,GAAuB;IACnC,8BAA8B;IAC9B,sBAAsB;IACtB,gBAAgB;IAChB,wBAAwB;IAExB,eAAe;IACf,mBAAmB;IACnB,8CAA8C;IAC9C,kBAAkB;IAClB,uBAAuB;IACvB,aAAa;IAEb,qBAAqB;IACrB,4BAA4B;IAC5B,cAAc;IAEd,cAAc;IACd,WAAW;IAEX,oBAAoB;IACpB,aAAa;IAEb,eAAe;IACf,6BAA6B;IAE7B,WAAW;IAEX,2BAA2B;IAC3B,yBAAyB;IAEzB,0BAA0B;IAC1B,2BAA2B;IAC3B,wBAAwB;IACxB,wBAAwB;IACxB,yBAAyB;IACzB,eAAe;IACf,uBAAuB;IACvB,oBAAoB;IACpB,4BAA4B;IAC5B,mBAAmB;IAEnB,YAAY;IACZ,kBAAkB;IAElB,WAAW;IACX,yBAAyB;IACzB,uBAAuB;IACvB,uBAAuB;IACvB,mBAAmB;IACnB,cAAc;IACd,oBAAoB;IACpB,4BAA4B;IAC5B,oBAAoB;IACpB,kBAAkB;IAElB,mBAAmB;IAEnB,kCAAkC;IAClC,qCAAqC;IACrC,yCAAyC;IACzC,yCAAyC;IACzC,mCAAmC;IACnC,2CAA2C;IAC3C,uBAAuB;IACvB,mCAAmC;IAEnC,cAAc;IACd,wBAAwB;IACxB,YAAY;IACZ,cAAc;IACd,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,6BAA6B;IAC7B,iBAAiB;IAEjB,sCAAsC;IACtC,uCAAuC;IACvC,oCAAoC;IACpC,oCAAoC;IACpC,qCAAqC;IACrC,2BAA2B;IAC3B,gCAAgC;IAChC,wCAAwC;IACxC,+BAA+B;IAE/B,gBAAgB;IAChB,aAAa;IACb,kBAAkB;IAClB,UAAU;IAEV,6BAA6B;IAC7B,qCAAqC;IACrC,4BAA4B;IAC5B,uBAAuB;IACvB,2BAA2B;IAC3B,sBAAsB;IACtB,2BAA2B;IAC3B,0BAA0B;IAC1B,0BAA0B;IAC1B,4BAA4B;IAC5B,mCAAmC;IACnC,yBAAyB;IACzB,iBAAiB;IACjB,oBAAoB;IACpB,2BAA2B;IAC3B,+CAA+C;IAC/C,yDAAyD;IACzD,yCAAyC;IAEzC,iBAAiB;IACjB,qBAAqB;IACrB,4BAA4B;IAC5B,WAAW;IAEX,WAAW;IACX,kBAAkB;IAClB,eAAe;IACf,gBAAgB;IAChB,2BAA2B;IAC3B,8BAA8B;IAC9B,oBAAoB;IACpB,4BAA4B;IAC5B,cAAc;IACd,6BAA6B;IAC7B,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;IAEnB,kBAAkB;IAClB,eAAe;IACf,wBAAwB;IAExB,wBAAwB;IACxB,mBAAmB;IACnB,2BAA2B;IAC3B,4BAA4B;IAC5B,4BAA4B;IAE5B,+BAA+B;IAC/B,+BAA+B;IAC/B,wCAAwC;IACxC,oCAAoC;IACpC,6CAA6C;IAE7C,mBAAmB;IACnB,2BAA2B;IAE3B,cAAc;IACd,uBAAuB;IACvB,uBAAuB;IACvB,wBAAwB;IACxB,qBAAqB;IACrB,4BAA4B;IAE5B,yBAAyB;IAEzB,kCAAkC;IAClC,mCAAmC;IACnC,4CAA4C;IAC5C,4CAA4C;IAE5C,iBAAiB;IACjB,YAAY;IACZ,uBAAuB;IACvB,yBAAyB;IACzB,wBAAwB;IACxB,qBAAqB;IACrB,qBAAqB;IACrB,oBAAoB;IACpB,wBAAwB;IACxB,gBAAgB;IAEhB,gBAAgB;IAChB,kBAAkB;IAElB,gCAAgC;IAChC,6BAA6B;IAC7B,uBAAuB;IACvB,gCAAgC;IAChC,+BAA+B;IAE/B,qBAAqB;IACrB,wBAAwB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAE1B;IACF,UAAU;IACV,WAAW;IACX,aAAa;IACb,wBAAwB;IACxB,iBAAiB;CAClB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import DatabaseService from "./DatabaseService";
|
|
2
|
+
import Model from "../../Models/DatabaseModels/ProjectSCIMLog";
|
|
3
|
+
export class Service extends DatabaseService {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(Model);
|
|
6
|
+
this.hardDeleteItemsOlderThanInDays("createdAt", 3);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export default new Service();
|
|
10
|
+
//# sourceMappingURL=ProjectSCIMLogService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectSCIMLogService.js","sourceRoot":"","sources":["../../../../Server/Services/ProjectSCIMLogService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,4CAA4C,CAAC;AAE/D,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import DatabaseService from "./DatabaseService";
|
|
2
|
+
import Model from "../../Models/DatabaseModels/StatusPageSCIMLog";
|
|
3
|
+
export class Service extends DatabaseService {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(Model);
|
|
6
|
+
this.hardDeleteItemsOlderThanInDays("createdAt", 3);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export default new Service();
|
|
10
|
+
//# sourceMappingURL=StatusPageSCIMLogService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusPageSCIMLogService.js","sourceRoot":"","sources":["../../../../Server/Services/StatusPageSCIMLogService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,+CAA+C,CAAC;AAElE,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -106,6 +106,27 @@ export class Service extends DatabaseService {
|
|
|
106
106
|
if (item.isVerified) {
|
|
107
107
|
throw new BadDataException("Phone Number already verified");
|
|
108
108
|
}
|
|
109
|
+
// Check if Call notifications are enabled for this project
|
|
110
|
+
const project = await ProjectService.findOneById({
|
|
111
|
+
id: item.projectId,
|
|
112
|
+
props: {
|
|
113
|
+
isRoot: true,
|
|
114
|
+
},
|
|
115
|
+
select: {
|
|
116
|
+
enableCallNotifications: true,
|
|
117
|
+
smsOrCallCurrentBalanceInUSDCents: true,
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
if (!project) {
|
|
121
|
+
throw new BadDataException("Project not found");
|
|
122
|
+
}
|
|
123
|
+
if (!project.enableCallNotifications) {
|
|
124
|
+
throw new BadDataException("Call notifications are disabled for this project. Please enable them in Project Settings > Notification Settings.");
|
|
125
|
+
}
|
|
126
|
+
if (project.smsOrCallCurrentBalanceInUSDCents <= 100 &&
|
|
127
|
+
IsBillingEnabled) {
|
|
128
|
+
throw new BadDataException("Your SMS balance is low. Please recharge your SMS balance in Project Settings > Notification Settings.");
|
|
129
|
+
}
|
|
109
130
|
// generate new verification code
|
|
110
131
|
item.verificationCode = Text.generateRandomNumber(6);
|
|
111
132
|
await this.updateOneById({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserCallService.js","sourceRoot":"","sources":["../../../../Server/Services/UserCallService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UserCallService.js","sourceRoot":"","sources":["../../../../Server/Services/UserCallService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { IsBillingEnabled } from "../EnvironmentConfig";
|
|
11
|
+
import logger from "../Utils/Logger";
|
|
12
|
+
import DatabaseService from "./DatabaseService";
|
|
13
|
+
import ProjectService from "./ProjectService";
|
|
14
|
+
import SmsService from "./SmsService";
|
|
15
|
+
import BadDataException from "../../Types/Exception/BadDataException";
|
|
16
|
+
import ObjectID from "../../Types/ObjectID";
|
|
17
|
+
import Text from "../../Types/Text";
|
|
18
|
+
import Model from "../../Models/DatabaseModels/UserIncomingCallNumber";
|
|
19
|
+
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
20
|
+
export class Service extends DatabaseService {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(Model);
|
|
23
|
+
}
|
|
24
|
+
async onBeforeCreate(createBy) {
|
|
25
|
+
// Check if user is trying to set isVerified to true
|
|
26
|
+
if (!createBy.props.isRoot && createBy.data.isVerified) {
|
|
27
|
+
throw new BadDataException("isVerified cannot be set to true");
|
|
28
|
+
}
|
|
29
|
+
// Check if SMS notifications are enabled for this project
|
|
30
|
+
const project = await ProjectService.findOneById({
|
|
31
|
+
id: createBy.data.projectId,
|
|
32
|
+
props: {
|
|
33
|
+
isRoot: true,
|
|
34
|
+
},
|
|
35
|
+
select: {
|
|
36
|
+
enableSmsNotifications: true,
|
|
37
|
+
smsOrCallCurrentBalanceInUSDCents: true,
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
if (!project) {
|
|
41
|
+
throw new BadDataException("Project not found");
|
|
42
|
+
}
|
|
43
|
+
if (!project.enableSmsNotifications) {
|
|
44
|
+
throw new BadDataException("SMS notifications are disabled for this project. Please enable them in Project Settings > Notification Settings.");
|
|
45
|
+
}
|
|
46
|
+
if (project.smsOrCallCurrentBalanceInUSDCents <= 100 &&
|
|
47
|
+
IsBillingEnabled) {
|
|
48
|
+
throw new BadDataException("Your SMS balance is low. Please recharge your SMS balance in Project Settings > Notification Settings.");
|
|
49
|
+
}
|
|
50
|
+
// Check if user already has a verified phone number for this project
|
|
51
|
+
const existingVerifiedNumber = await this.findOneBy({
|
|
52
|
+
query: {
|
|
53
|
+
userId: createBy.data.userId,
|
|
54
|
+
projectId: createBy.data.projectId,
|
|
55
|
+
isVerified: true,
|
|
56
|
+
},
|
|
57
|
+
select: {
|
|
58
|
+
_id: true,
|
|
59
|
+
},
|
|
60
|
+
props: {
|
|
61
|
+
isRoot: true,
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
if (existingVerifiedNumber) {
|
|
65
|
+
throw new BadDataException("You already have a verified phone number for this project. Please delete the existing one before adding a new one.");
|
|
66
|
+
}
|
|
67
|
+
return { carryForward: null, createBy };
|
|
68
|
+
}
|
|
69
|
+
async onCreateSuccess(_onCreate, createdItem) {
|
|
70
|
+
if (!createdItem.isVerified) {
|
|
71
|
+
this.sendVerificationCode(createdItem);
|
|
72
|
+
}
|
|
73
|
+
return createdItem;
|
|
74
|
+
}
|
|
75
|
+
async resendVerificationCode(itemId) {
|
|
76
|
+
const item = await this.findOneById({
|
|
77
|
+
id: itemId,
|
|
78
|
+
props: {
|
|
79
|
+
isRoot: true,
|
|
80
|
+
},
|
|
81
|
+
select: {
|
|
82
|
+
phone: true,
|
|
83
|
+
verificationCode: true,
|
|
84
|
+
isVerified: true,
|
|
85
|
+
projectId: true,
|
|
86
|
+
userId: true,
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
if (!item) {
|
|
90
|
+
throw new BadDataException("Item with ID " + itemId.toString() + " not found");
|
|
91
|
+
}
|
|
92
|
+
if (item.isVerified) {
|
|
93
|
+
throw new BadDataException("Phone Number already verified");
|
|
94
|
+
}
|
|
95
|
+
// Check if SMS notifications are enabled for this project
|
|
96
|
+
const project = await ProjectService.findOneById({
|
|
97
|
+
id: item.projectId,
|
|
98
|
+
props: {
|
|
99
|
+
isRoot: true,
|
|
100
|
+
},
|
|
101
|
+
select: {
|
|
102
|
+
enableSmsNotifications: true,
|
|
103
|
+
smsOrCallCurrentBalanceInUSDCents: true,
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
if (!project) {
|
|
107
|
+
throw new BadDataException("Project not found");
|
|
108
|
+
}
|
|
109
|
+
if (!project.enableSmsNotifications) {
|
|
110
|
+
throw new BadDataException("SMS notifications are disabled for this project. Please enable them in Project Settings > Notification Settings.");
|
|
111
|
+
}
|
|
112
|
+
if (project.smsOrCallCurrentBalanceInUSDCents <= 100 &&
|
|
113
|
+
IsBillingEnabled) {
|
|
114
|
+
throw new BadDataException("Your SMS balance is low. Please recharge your SMS balance in Project Settings > Notification Settings.");
|
|
115
|
+
}
|
|
116
|
+
// Generate new verification code
|
|
117
|
+
item.verificationCode = Text.generateRandomNumber(6);
|
|
118
|
+
await this.updateOneById({
|
|
119
|
+
id: item.id,
|
|
120
|
+
props: {
|
|
121
|
+
isRoot: true,
|
|
122
|
+
},
|
|
123
|
+
data: {
|
|
124
|
+
verificationCode: item.verificationCode,
|
|
125
|
+
},
|
|
126
|
+
});
|
|
127
|
+
this.sendVerificationCode(item);
|
|
128
|
+
}
|
|
129
|
+
sendVerificationCode(item) {
|
|
130
|
+
// Send verification SMS
|
|
131
|
+
SmsService.sendSms({
|
|
132
|
+
to: item.phone,
|
|
133
|
+
message: "This message is from OneUptime. Your verification code for incoming call routing is " +
|
|
134
|
+
item.verificationCode,
|
|
135
|
+
}, {
|
|
136
|
+
projectId: item.projectId,
|
|
137
|
+
isSensitive: true,
|
|
138
|
+
userId: item.userId,
|
|
139
|
+
}).catch((err) => {
|
|
140
|
+
logger.error(err);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
async verifyPhoneNumber(itemId, userId, code) {
|
|
144
|
+
var _a;
|
|
145
|
+
const item = await this.findOneById({
|
|
146
|
+
id: itemId,
|
|
147
|
+
props: {
|
|
148
|
+
isRoot: true,
|
|
149
|
+
},
|
|
150
|
+
select: {
|
|
151
|
+
userId: true,
|
|
152
|
+
verificationCode: true,
|
|
153
|
+
isVerified: true,
|
|
154
|
+
projectId: true,
|
|
155
|
+
},
|
|
156
|
+
});
|
|
157
|
+
if (!item) {
|
|
158
|
+
throw new BadDataException("Item not found");
|
|
159
|
+
}
|
|
160
|
+
// Check user ID
|
|
161
|
+
if (((_a = item.userId) === null || _a === void 0 ? void 0 : _a.toString()) !== userId.toString()) {
|
|
162
|
+
throw new BadDataException("Invalid user ID");
|
|
163
|
+
}
|
|
164
|
+
if (item.isVerified) {
|
|
165
|
+
throw new BadDataException("Phone number is already verified");
|
|
166
|
+
}
|
|
167
|
+
if (item.verificationCode !== code) {
|
|
168
|
+
throw new BadDataException("Invalid verification code");
|
|
169
|
+
}
|
|
170
|
+
// Check if user already has a verified number for this project
|
|
171
|
+
const existingVerifiedNumber = await this.findOneBy({
|
|
172
|
+
query: {
|
|
173
|
+
userId: item.userId,
|
|
174
|
+
projectId: item.projectId,
|
|
175
|
+
isVerified: true,
|
|
176
|
+
},
|
|
177
|
+
select: {
|
|
178
|
+
_id: true,
|
|
179
|
+
},
|
|
180
|
+
props: {
|
|
181
|
+
isRoot: true,
|
|
182
|
+
},
|
|
183
|
+
});
|
|
184
|
+
if (existingVerifiedNumber) {
|
|
185
|
+
throw new BadDataException("You already have a verified phone number for this project. Please delete the existing one before verifying a new one.");
|
|
186
|
+
}
|
|
187
|
+
// Mark as verified
|
|
188
|
+
await this.updateOneById({
|
|
189
|
+
id: itemId,
|
|
190
|
+
props: {
|
|
191
|
+
isRoot: true,
|
|
192
|
+
},
|
|
193
|
+
data: {
|
|
194
|
+
isVerified: true,
|
|
195
|
+
},
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
__decorate([
|
|
200
|
+
CaptureSpan(),
|
|
201
|
+
__metadata("design:type", Function),
|
|
202
|
+
__metadata("design:paramtypes", [Object]),
|
|
203
|
+
__metadata("design:returntype", Promise)
|
|
204
|
+
], Service.prototype, "onBeforeCreate", null);
|
|
205
|
+
__decorate([
|
|
206
|
+
CaptureSpan(),
|
|
207
|
+
__metadata("design:type", Function),
|
|
208
|
+
__metadata("design:paramtypes", [Object, Model]),
|
|
209
|
+
__metadata("design:returntype", Promise)
|
|
210
|
+
], Service.prototype, "onCreateSuccess", null);
|
|
211
|
+
__decorate([
|
|
212
|
+
CaptureSpan(),
|
|
213
|
+
__metadata("design:type", Function),
|
|
214
|
+
__metadata("design:paramtypes", [ObjectID]),
|
|
215
|
+
__metadata("design:returntype", Promise)
|
|
216
|
+
], Service.prototype, "resendVerificationCode", null);
|
|
217
|
+
__decorate([
|
|
218
|
+
CaptureSpan(),
|
|
219
|
+
__metadata("design:type", Function),
|
|
220
|
+
__metadata("design:paramtypes", [ObjectID,
|
|
221
|
+
ObjectID, String]),
|
|
222
|
+
__metadata("design:returntype", Promise)
|
|
223
|
+
], Service.prototype, "verifyPhoneNumber", null);
|
|
224
|
+
export default new Service();
|
|
225
|
+
//# sourceMappingURL=UserIncomingCallNumberService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserIncomingCallNumberService.js","sourceRoot":"","sources":["../../../../Server/Services/UserIncomingCallNumberService.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,6 +106,27 @@ export class Service extends DatabaseService {
|
|
|
106
106
|
if (item.isVerified) {
|
|
107
107
|
throw new BadDataException("Phone Number already verified");
|
|
108
108
|
}
|
|
109
|
+
// Check if SMS notifications are enabled for this project
|
|
110
|
+
const project = await ProjectService.findOneById({
|
|
111
|
+
id: item.projectId,
|
|
112
|
+
props: {
|
|
113
|
+
isRoot: true,
|
|
114
|
+
},
|
|
115
|
+
select: {
|
|
116
|
+
enableSmsNotifications: true,
|
|
117
|
+
smsOrCallCurrentBalanceInUSDCents: true,
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
if (!project) {
|
|
121
|
+
throw new BadDataException("Project not found");
|
|
122
|
+
}
|
|
123
|
+
if (!project.enableSmsNotifications) {
|
|
124
|
+
throw new BadDataException("SMS notifications are disabled for this project. Please enable them in Project Settings > Notification Settings.");
|
|
125
|
+
}
|
|
126
|
+
if (project.smsOrCallCurrentBalanceInUSDCents <= 100 &&
|
|
127
|
+
IsBillingEnabled) {
|
|
128
|
+
throw new BadDataException("Your SMS balance is low. Please recharge your SMS balance in Project Settings > Notification Settings.");
|
|
129
|
+
}
|
|
109
130
|
// generate new verification code
|
|
110
131
|
item.verificationCode = Text.generateRandomNumber(6);
|
|
111
132
|
await this.updateOneById({
|