import { Component, Inject } from '@angular/core'; import { MatDialog, MAT_DIALOG_DATA, MatDialogConfig, MatDialogRef } from '@angular/material'; import { Session } from 'openvidu-browser'; import { OpenVidu as OpenViduAPI } from 'openvidu-node-client'; @Component({ selector: 'app-session-api-dialog', template: `

API REST

`, styles: [ '#response-text-area { width: 100%; color: #808080; }', '#response-text-area textarea { resize: none; }', 'mat-dialog-content button, mat-divider { margin-bottom: 5px; }', ] }) export class SessionApiDialogComponent { OV: OpenViduAPI; sessionId: string; recordingId: string; response: string; constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data) { this.OV = data.openVidu; this.sessionId = data.sessionId; } startRecording() { console.log('Starting recording'); this.OV.startRecording(this.sessionId) .then(recording => { this.response = 'Recording started [' + recording.id + ']'; }) .catch(error => { this.response = 'Error [' + error.message + ']'; }); } stopRecording() { console.log('Stopping recording'); this.OV.stopRecording(this.recordingId) .then(recording => { this.response = 'Recording stopped [' + recording.id + ']'; }) .catch(error => { this.response = 'Error [' + error.message + ']'; }); } getRecording() { console.log('Getting recording'); this.OV.getRecording(this.recordingId) .then(recording => { this.response = 'Recording got [' + recording.id + ']'; }) .catch(error => { this.response = 'Error [' + error.message + ']'; }); } listRecordings() { console.log('Listing recordings'); this.OV.listRecordings() .then(recordingList => { let recordingIds = ''; recordingList.forEach((rec, index) => { recordingIds += rec.id; if (index !== recordingList.length - 1) { recordingIds += ', '; } }); this.response = 'Recording list [' + recordingIds + ']'; }) .catch(error => { this.response = 'Error [' + error.message + ']'; }); } deleteRecording() { console.log('Deleting recording'); this.OV.deleteRecording(this.recordingId) .then(() => { this.response = 'Recording deleted'; }) .catch(error => { this.response = 'Error [' + error.message + ']'; }); } }