Skip to main content

TypeScript / JavaScript SDK

@bailaya/core არის ფრეიმვორკ-აგნოსტიკური SDK Node.js-ისთვის, ბრაუზერებისთვის და ნებისმიერი JavaScript გარემოსთვის.

ინსტალაცია

npm install @bailaya/core

კონფიგურაცია

import { BailayaClient } from '@bailaya/core';

const client = new BailayaClient({
studioId: 'your-studio-id', // ან დააყენეთ BAILAYA_STUDIO_ID გარემოს ცვლადი
baseUrl: 'https://www.bailaya.com/api', // არჩევითი, ეს არის ნაგულისხმევი მნიშვნელობა
});

მეთოდები

getStudioProfile(overrideId?)

const profile = await client.getStudioProfile();
console.log(profile.name, profile.timezone);
console.log(profile.description['en']); // ლოკალიზებული ტექსტი

getInstructors(overrideId?)

const instructors = await client.getInstructors();
instructors.forEach(i => console.log(i.name, i.bio['en']));

getClasses(from?, overrideId?)

const classes = await client.getClasses();        // მომდევნო 7 დღე დღეიდან
const future = await client.getClasses(new Date('2025-08-01'));

classes.forEach(c => {
console.log(c.name, c.date.toDateString(), c.startTime);
console.log('Price:', c.price, 'Instructor:', c.instructor?.name);
});

getClassesByType(typeName, from?, overrideId?)

const salsa = await client.getClassesByType('Salsa');

getEvents(from?, overrideId?)

const events = await client.getEvents();
events.forEach(e => console.log(e.name, e.date.toDateString()));

getPackages(overrideId?)

const packages = await client.getPackages();
packages.forEach(p => console.log(p.name, p.price, p.currency, p.sessions));
// შეძენის URL: https://www.bailaya.com/packages/{p.id}

getPrivateLessonInstructors(overrideId?)

const instructors = await client.getPrivateLessonInstructors();
instructors.forEach(i => {
console.log(i.name, i.pricing);
// ჯავშნის URL: https://www.bailaya.com/en/book/private-lesson/{i.id}
});

getUserProfile(userId)

const user = await client.getUserProfile('user_abc');
console.log(user.name, user.bio['en']);

TypeScript ტიპები

ყველა ტიპი ექსპორტირდება @bailaya/core-დან:

import type {
StudioProfile, StudioType,
UserProfile, Instructor,
StudioClass, StudioEvent,
StudioPackage,
PrivateLessonInstructor,
PrivateLessonAvailabilitySlot,
PrivateLessonPricingEntry,
} from '@bailaya/core';