Skip to content

Commit 9d0b22d

Browse files
authored
Merge pull request #11 from twilio-labs/remove-join-conference-controller
Removed joinConference controller
2 parents 02511e2 + b3ab738 commit 9d0b22d

File tree

9 files changed

+15
-37
lines changed

9 files changed

+15
-37
lines changed

src/@types/types.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,6 @@ export interface ConversationParticipant {
3232
'messagingBinding.proxyAddress': string;
3333
}
3434

35-
export interface JoinConferenceParams extends Request {
36-
params: {
37-
conferenceName: string
38-
}
39-
}
40-
4135
export interface ParticipantToDial {
4236
address: string,
4337
proxyAddress: string

src/controllers/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
export * as conversationsPostEvent from './conversationsPostEvent'
22
export * as inboundCall from './inboundCall'
33
export * as session from './session'
4-
export * as joinConference from './joinConference'

src/controllers/joinConference.ts

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

src/routes/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ const router = Router()
1212
router.post('/conversations-post-event', twilio.webhook(webhookConfig), controllers.conversationsPostEvent.post)
1313

1414
router.post('/inbound-call', twilio.webhook(webhookConfig), controllers.inboundCall.post)
15-
router.post('/join-conference', twilio.webhook(webhookConfig), controllers.joinConference.get)
1615

1716
router.post('/sessions', basicAuth({
1817
users: { [AUTH_USERNAME]: AUTH_PASSWORD }

src/services/inboundCall.service.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ import {
88
generateConferenceName
99
} from '../utils/'
1010

11+
export function joinConferenceTwiml (conferenceName: string) : VoiceResponse {
12+
const response = new VoiceResponse()
13+
const dial = response.dial()
14+
dial.conference(`${decodeURIComponent(conferenceName)}`)
15+
16+
return response
17+
}
18+
1119
export const generateTwiml = async (from: string, to: string) => {
1220
const response = new VoiceResponse()
1321

@@ -35,9 +43,9 @@ export const generateTwiml = async (from: string, to: string) => {
3543
console.log(`Dialing ${pa.address} from ${pa.proxyAddress}...`)
3644

3745
return client.calls.create({
38-
url: `https://${process.env.DOMAIN}/join-conference?conferenceName=${encodeURIComponent(conferenceName)}`,
3946
to: pa.address,
40-
from: pa.proxyAddress
47+
from: pa.proxyAddress,
48+
twiml: joinConferenceTwiml(conferenceName).toString()
4149
})
4250
})
4351

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
export const generateConferenceName = (phoneNumber: string) : string => {
2-
return encodeURIComponent(`${phoneNumber}_at_${Date.now()}`)
2+
return `${phoneNumber}_at_${Date.now()}`
33
}

tests/controllers/session.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { Mock } from 'moq.ts'
77
import { app } from '../../src/app/app'
88

99
describe('sessions controller', () => {
10-
jest.setTimeout(3600000)
10+
jest.setTimeout(60000)
1111

1212
// Test parameters
1313
const requestedPhoneNumbers = ['+1001', '+1002']

tests/services/inboundCall.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,15 @@ describe('inbound call service', () => {
8080
expect.objectContaining({
8181
to: '+1112223333',
8282
from: '+2223334444',
83-
url: 'https://testdomain.com/join-conference?conferenceName=test_conference'
83+
twiml: '<?xml version="1.0" encoding="UTF-8"?><Response><Dial><Conference>test_conference</Conference></Dial></Response>'
8484
})
8585
)
8686

8787
expect(createSpy).toHaveBeenNthCalledWith(2,
8888
expect.objectContaining({
8989
to: '+3334445555',
9090
from: '+4445556666',
91-
url: 'https://testdomain.com/join-conference?conferenceName=test_conference'
91+
twiml: '<?xml version="1.0" encoding="UTF-8"?><Response><Dial><Conference>test_conference</Conference></Dial></Response>'
9292
})
9393
)
9494
})

tests/utils/generateConferenceName.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ describe('generateConferenceName', () => {
55
Date.now = jest.fn(() => 1234567890)
66

77
const result = generateConferenceName('+1234567890')
8-
expect(result).toBe('%2B1234567890_at_1234567890')
8+
expect(result).toBe('+1234567890_at_1234567890')
99
})
1010
})

0 commit comments

Comments
 (0)