32 lines
1002 B
TypeScript
32 lines
1002 B
TypeScript
import { TapiContact } from './tapi-contact'
|
|
import { axios, extractNumber } from './utils'
|
|
|
|
export class CallNotification {
|
|
public async showCallNotification (element: HTMLElement) {
|
|
var number = element.querySelector('.callNumber').textContent
|
|
console.log('TAPI call notification', number)
|
|
|
|
number = extractNumber(number)
|
|
if (!number) {
|
|
console.log('TAPI callerid no number found')
|
|
return
|
|
}
|
|
|
|
console.log('TAPI searching callerid for', number)
|
|
var response = await axios.get<TapiContact>('http://cpatapi.cpsrvweb2016.cp-austria.at/callerid/' + encodeURIComponent(number))
|
|
console.log('TAPI callerid response', response)
|
|
var notification = {
|
|
text: number
|
|
}
|
|
if (response.status === 200) {
|
|
var callerId = response.data
|
|
if (callerId) {
|
|
notification.text = callerId.tD_NAME + '\r\n' + number + ' (' + callerId.tD_MEDIUM + ')'
|
|
}
|
|
}
|
|
|
|
// eslint-disable-next-line no-undef
|
|
GM.notification(notification)
|
|
}
|
|
}
|