Skip to content

Commit be76037

Browse files
committed
Validated multi-party conferencing is working, pull request cleanup
1 parent f542618 commit be76037

File tree

8 files changed

+30
-26
lines changed

8 files changed

+30
-26
lines changed

src/controllers/conversationsPreEvent.ts

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/controllers/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
export * as conversationsPostEvent from "./conversationsPostEvent";
2-
export * as conversationsPreEvent from "./conversationsPreEvent";
32
export * as inboundCall from "./inboundCall";
43
export * as session from "./session";
54
export * as joinConference from "./joinConference"

src/controllers/session.ts

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,24 @@ export const post = async (
1212
req: Request<{}, {}, SessionPostBody>,
1313
res: Response
1414
) => {
15-
const phoneNumbers = req.body.addresses;
16-
const activeProxyAddresses = await getActiveProxyAddresses(phoneNumbers);
17-
const proxyAddresses = await matchAvailableProxyAddresses(activeProxyAddresses);
18-
const conversation = await createConversation(req.body)
1915

2016
try {
21-
await addParticipantsToConversation(conversation.sid, proxyAddresses)
22-
res.setHeader('content-type', 'application/json');
23-
return res.status(200).send(`${JSON.stringify(conversation)}`);
17+
const phoneNumbers = req.body.addresses;
18+
const activeProxyAddresses = await getActiveProxyAddresses(phoneNumbers);
19+
const proxyAddresses = await matchAvailableProxyAddresses(activeProxyAddresses);
20+
const conversation = await createConversation(req.body)
21+
22+
try {
23+
await addParticipantsToConversation(conversation.sid, proxyAddresses)
24+
res.setHeader('content-type', 'application/json');
25+
return res.status(200).send(`${JSON.stringify(conversation)}`);
26+
} catch(err) {
27+
await deleteConversation(conversation.sid);
28+
return res.status(500).send(`${conversation.sid} failed to create session: ${err}`)
29+
}
30+
2431
} catch(err) {
25-
await deleteConversation(conversation.sid);
26-
return res.status(500).send(`${conversation.sid} failed to create session: ${err}`)
27-
}
32+
return res.status(500).send(`Failed to create session: ${err}`)
33+
}
34+
2835
};

src/routes/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import * as controllers from "../controllers";
33

44
const router = Router();
55

6-
router.post("/conversations-pre-event", controllers.conversationsPreEvent.post);
76
router.post("/conversations-post-event", controllers.conversationsPostEvent.post);
87

98
router.post("/inbound-call", controllers.inboundCall.post);

src/services/inboundCall.service.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,12 @@ export const generateTwiml = async (from: string, to: string) => {
5252
});
5353
});
5454

55-
await Promise.all(callPromises)
55+
try {
56+
await Promise.all(callPromises)
57+
} catch(err) {
58+
console.log(err)
59+
throw new Error(err)
60+
}
5661

5762
const dial = response.dial();
5863
dial.conference({

src/services/index.ts

Lines changed: 0 additions & 2 deletions
This file was deleted.

src/utils/getConversationByAddressPair.util.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ export const getConversationByAddressPair = async (address: string, proxyAddress
1010
.participantConversations
1111
.list({ address: address });
1212

13-
console.log(participantConversations)
1413
const conversation = participantConversations.find(p => {
1514
if (p.conversationState !== 'closed' && p.participantMessagingBinding.proxy_address === proxyAddress) {
1615
console.log(`Found a non-closed conversation ${p.conversationSid} with proxy address ${p.participantMessagingBinding.proxy_address} for address ${address}`);

src/utils/listParticipantConversations.util.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ import { ParticipantConversationInstance } from 'twilio/lib/rest/conversations/v
33
import client from '../twilioClient'
44

55
export const listParticipantConversations = async (phoneNumber: string) : Promise<ParticipantConversationInstance[]> => {
6-
const activeConversations = await client.conversations.participantConversations.list({address: phoneNumber})
7-
return activeConversations
6+
try {
7+
const activeConversations = await client.conversations.participantConversations.list({address: phoneNumber})
8+
return activeConversations
9+
} catch (err) {
10+
console.log(phoneNumber, err)
11+
throw new Error(err)
12+
}
813
}

0 commit comments

Comments
 (0)