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);
});