db/heromodels/examples/calendar_rhai/calendar.rhai
2025-05-17 16:03:00 +03:00

58 lines
1.7 KiB
Plaintext

// Get the database instance
let db = get_db();
// Create a new calendar with auto-generated ID (pass 0 for auto-generated ID)
let calendar = calendar__builder(0);
calendar.name = "My First Calendar";
set_description(calendar, "A calendar for testing Rhai integration");
print("Created calendar: " + calendar.name);
// Save the calendar to the database
set_calendar(db, calendar);
print("Calendar saved to database");
// Check if calendar exists and retrieve it
if calendar_exists(db, 1) {
let retrieved_calendar = get_calendar_by_id(db, 1);
print("Retrieved calendar: " + retrieved_calendar.name);
let desc = get_description(retrieved_calendar);
if desc != "" {
print("Description: " + desc);
} else {
print("No description available");
}
} else {
print("Failed to retrieve calendar with ID 1");
}
// Create another calendar with auto-generated ID
let calendar2 = calendar__builder(0);
calendar2.name = "My Second Calendar";
set_description(calendar2, "Another calendar for testing");
set_calendar(db, calendar2);
print("Second calendar saved");
// Get all calendars
let all_calendars = get_all_calendars(db);
print("Total calendars: " + all_calendars.len());
for calendar in all_calendars {
print("Calendar ID: " + get_id(calendar) + ", Name: " + calendar.name);
}
// Delete a calendar
delete_calendar_by_id(db, 1);
print("Deleted calendar with ID 1");
// Verify deletion
if !calendar_exists(db, 1) {
print("Calendar with ID 1 was successfully deleted");
} else {
print("Failed to delete calendar with ID 1");
}
// Count remaining calendars
let remaining_calendars = get_all_calendars(db);
print("Remaining calendars: " + remaining_calendars.len());