@eclass/cev-providers
Version:
Integración Proveedores CEV
73 lines (64 loc) • 1.97 kB
text/typescript
import { LoginProps } from './types'
import {
Participant,
Meeting,
ParticipantToMeetingProps,
GoMeetingProps,
GoMeetingPayload,
FetchEndpoint,
EditParticipantAttributes
} from '.'
/**
* **Módulo** de Proveedor CEV.
*/
export abstract class BaseProvider {
/**
* Dominio proveedor.
*/
url: string
/**
* Token del proveedor.
*/
token: string
/**
* Método que autentifica contra el proveedor el usuario con privilegios
* para crear una reunión.
*
* @param {LoginProps} props - Parámetros para el Login del Proveedor CEV.
*/
abstract login (props: LoginProps): Promise<string>
/**
* Método que permite añadir un participante a la reunión.
* @param {Participant} participant - Instancia de participante a añadir.
*/
abstract createParticipant (participant: Participant): Promise<Participant>
/**
* Método que permite editar un participante.
*/
abstract editParticipant (
participant: EditParticipantAttributes
): Promise<FetchEndpoint>
/**
* Método que permite crear una reunión.
* @param {Meeting} meeting - Instancia de meeting a crear.
*/
abstract createMeeting (meeting: Meeting): Promise<Meeting>
/**
* Devuelve la url con la sesión para conectar directamente a AdobeConnect.
* @param {GoMeetingProps} props - Parámetros de goMeeting.
*/
// abstract goMeeting (url: string, props: LoginProps): Promise<string>
abstract goMeeting (props: GoMeetingProps): Promise<GoMeetingPayload>
/**
* Devuelve la url con la sesión para conectar directamente al proveedor.
* @param {GoMeetingProps} props - Parámetros de goMeeting.
*/
abstract goMeetingTeacher (props: GoMeetingProps): Promise<string>
/**
* Añade un participante a la meeting.
* @param {ParticipantToMeetingProps} props - Parámetros de ParticipantToMeeting.
*/
abstract participantToMeeting (
props: ParticipantToMeetingProps
): Promise<boolean>
}