@oneuptime/common 9.3.20 → 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/AnalyticsDatabase/Statement.ts +2 -2
- package/Server/Utils/StartServer.ts +5 -0
- package/Tests/UI/Components/Input.test.tsx +33 -0
- package/Types/Call/CallProvider.ts +99 -0
- package/Types/Call/CallProviderType.ts +6 -0
- package/Types/Date.ts +18 -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/Date/StartAndEndDate.tsx +35 -11
- 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/Filters/FilterViewer.tsx +7 -0
- package/UI/Components/Icon/Icon.tsx +10 -0
- package/UI/Components/Input/Input.tsx +7 -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/AnalyticsDatabase/Statement.js +2 -2
- package/build/dist/Server/Utils/AnalyticsDatabase/Statement.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/Tests/UI/Components/Input.test.js +10 -0
- package/build/dist/Tests/UI/Components/Input.test.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/Date.js +17 -3
- package/build/dist/Types/Date.js.map +1 -1
- 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/Date/StartAndEndDate.js +13 -13
- package/build/dist/UI/Components/Date/StartAndEndDate.js.map +1 -1
- 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/Filters/FilterViewer.js +6 -5
- package/build/dist/UI/Components/Filters/FilterViewer.js.map +1 -1
- 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/Input/Input.js +4 -1
- package/build/dist/UI/Components/Input/Input.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":"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,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;
|
|
1
|
+
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../../Server/Services/Index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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({
|