// Get the database instance let db = get_db(); // Create a new calendar using the constructor and builder methods print("Creating a new calendar with ID 1 via registered constructor..."); let calendar = new_calendar(1). name("My First Calendar"). description("A calendar for testing Rhai integration"); let event = new_event(1). title("My First Event"). description("An event for testing Rhai integration") .add_attendee(new_attendee(1)); calendar.add_event(1); print("Type of calendar object: " + type_of(calendar)); 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); // Access the 'description' field directly. // Note: 'description' is Option. Rhai handles options. // You might want to check for 'is_some()' or 'is_none()' or use 'unwrap_or()' pattern if needed. let desc = retrieved_calendar.description; if desc != () && desc != "" { // Check against '()' for None and empty string print("Description: " + desc); } else { print("No description available or it's None"); } } else { print("Failed to retrieve calendar with ID 1"); } // Create another calendar print("Creating a new calendar with ID 2 using builder methods..."); let calendar2 = new_calendar(2). name("My Second Calendar"). description("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 cal_item in all_calendars { // Renamed loop variable to avoid conflict if 'calendar' is still in scope // Access 'base_data.id' and 'name' fields directly print("Calendar ID: " + cal_item.base_data.id + ", Name: " + cal_item.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());