fe3d7a12c8
feat(phase-b): school/timetable API routers + graph nav tree
...
New routers (all previously untracked):
- graph_tree_router: /graph/tree, /graph/node/children, /graph/calendar/academic
Supabase-driven tree builder; institute DB resolved by teacher email scan
- school_router: /school/status (role + calendar flags), /school/info PATCH
Self-heals profiles.school_id from institute_memberships if null
- timetable_builder_router: /timetable/setup (AcademicYear/Term/Week + SchoolTimetable),
/timetable/slots (read/write TimetableSlot nodes), /timetable/init (TeacherTimetable)
- user_init_router: /user/init (provision user node in institute DB)
routers.py: register all new routers with correct prefixes
users.py: add JournalNode and PlannerNode schema classes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 01:24:44 +01:00
fd8d2a537d
feat(cis): implement /database/timetables/current-period endpoint with Neo4j query
...
- Query Neo4j for Academic/Registration periods where now() is between start_time and end_time
- Return period_id, event_type, event_label, start_time, end_time
- Handles missing teacher or Neo4j connection gracefully
2026-05-20 22:06:46 +00:00
b47c7c252d
feat(transcription): add Supabase schema and API endpoints for CIS
2026-05-20 21:03:00 +00:00
Classroom Copilot Dev
cf9bdca813
fix: Add filters parameter to BaseCRUD.get_multi() method
...
- Fixed signature mismatch where enrollment_requests router was passing
filters parameter to get_multi() but method didn't accept it
- get_multi() now accepts optional filters dict and passes it to get_all()
2026-02-25 22:53:52 +00:00
3758c7572a
latest
2025-11-14 14:47:19 +00:00
2a85845835
Environment methods
2025-08-23 19:01:36 +01:00
e0c489f625
Initial commit
2025-07-11 13:52:19 +00:00