2025-07-11 13:52:19 +00:00

63 lines
2.1 KiB
Python

import datetime
from typing import ClassVar, Optional, List, Union
from ..base_nodes import CCBaseNode
class EntityTimetableBaseNode(CCBaseNode):
start_date: datetime.date
end_date: datetime.date
class WorkerTimetableNode(EntityTimetableBaseNode):
__primarylabel__: ClassVar[str] = 'WorkerTimetable'
worker_timetable_id: str
class TeacherTimetableNode(EntityTimetableBaseNode):
__primarylabel__: ClassVar[str] = 'TeacherTimetable'
teacher_timetable_id: str
class UserTeacherTimetableNode(EntityTimetableBaseNode):
__primarylabel__: ClassVar[str] = 'UserTeacherTimetable'
user_teacher_timetable_id: str
class StudentTimetableNode(EntityTimetableBaseNode):
__primarylabel__: ClassVar[str] = 'StudentTimetable'
student_timetable_id: str
class SchoolAdminTimetableNode(EntityTimetableBaseNode):
__primarylabel__: ClassVar[str] = 'SchoolAdminTimetable'
school_admin_timetable_id: str
class DeveloperTimetableNode(EntityTimetableBaseNode):
__primarylabel__: ClassVar[str] = 'DeveloperTimetable'
developer_timetable_id: str
class SuperAdminTimetableNode(EntityTimetableBaseNode):
__primarylabel__: ClassVar[str] = 'SuperAdminTimetable'
super_admin_timetable_id: str
class TimetableLessonNode(CCBaseNode):
__primarylabel__: ClassVar[str] = 'TimetableLesson'
subject_class: str
date: datetime.date
start_time: datetime.time
end_time: datetime.time
period_code: str
class PlannedLessonNode(CCBaseNode):
__primarylabel__: ClassVar[str] = 'PlannedLesson'
date: datetime.date
start_time: datetime.time
end_time: datetime.time
period_code: str
subject_class: str
year_group: str
subject: str
teacher_code: str
planning_status: str
topic_code: Optional[str] = None
topic_name: Optional[str] = None
lesson_code: Optional[str] = None
lesson_name: Optional[str] = None
learning_statement_codes: Optional[List[str]] = None
learning_statements: Optional[List[str]] = None
learning_resource_codes: Optional[List[str]] = None
learning_resources: Optional[List[str]] = None