Saltar al contenido principal

Cliente de Calendario

El Cliente de Calendario te permite interactuar con la API de calendarios de Onlive.

Instalación​

Módulo ES6​

Utilizando imports de módulos, debes crear el archivo .npmrc en la raíz del proyecto con el siguiente contenido:

@onlive.site:registry=https://gitlab.com/api/v4/projects/66230274/packages/npm/

Luego, puedes instalar el paquete con el siguiente comando:

npm install @onlive.site/calendar
import { CalendarClient } from "@onlive.site/calendar";

const client = new CalendarClient({
baseUrl: "https://example.com/api/v1",
organizationId: "<organizationId>",
});

UMD (Definición Universal de Módulo)​

<script src="https://cdn.onlive.site/@onlive.site/calendar@latest/index.iife.js"></script>

<script>
const { CalendarClient } = window.OnliveCalendar;

const client = new CalendarClient({
baseUrl: "https://example.com/api/v1",
organizationId: "<organizationId>",
});
</script>

Uso​

Constructor​

Firma:​

constructor(_options: ClientOptions)
  • Inicializa una nueva instancia de CalendarClient.
  • Parámetros:
    • options (ClientOptions): Objeto de configuración para el cliente, validado según ClientOptionsSchema.

Métodos​

1. getAvailability​

Descripción:​

Recupera la disponibilidad de un servicio.

Firma:​
public async getAvailability(options: GetAvailabilityOptions): Promise<AvailabilityResponse>
  • Parámetros:

    • options: Las opciones deben cumplir con GetAvailabilityOptions.
      • serviceId (string - UUID): Un ID requerido para el servicio.
      • startDate (string - datetime ISO, opcional): Fecha de inicio para consultar disponibilidad.
      • endDate (string - no vacío, opcional): Fecha final para consultar disponibilidad.
      • calendarFilters (object, opcional): Criterios de filtrado para el calendario.
  • Respuesta:

    • Devuelve una promesa que se resuelve en un AvailabilityResponse, que es un array de objetos. Cada objeto tiene:
      • availabilityTime (string - datetime ISO): Hora de disponibilidad.
      • owners (string[]): Array de UUIDs de propietarios.
      • assets (string[]): Array de UUIDs de activos.
Ejemplo:​
import { CalendarClient } from "@onlive.site/calendar";

const client = new CalendarClient({
baseUrl: "https://example.com/api/v1",
organizationId: "<organizationId>",
});

client
.getAvailability({
serviceId: "SERVICE-UUID",
startDate: "2024-01-01T00:00:00Z",
endDate: "2024-01-02T00:00:00Z",
calendarFilters: {
model: "tavascan",
}
})
.then((response) => {
console.log("Respuesta de Disponibilidad:", response);
})
.catch((error) => {
console.error("Error al obtener disponibilidad:", error);
});