from django.urls import path

from api.views.admin.admin_create import AdminCreate
from api.views.admin.exam_activity_create import ExamActivityCreate
from api.views.admin.exam_activity_delete import ExamActivityDelete
from api.views.admin.exam_activity_info import ExamActivityInfo
from api.views.admin.exam_activity_list import ExamActivityList
from api.views.admin.exam_activity_rules import ExamActivityRules
from api.views.admin.exam_activity_schedule import ExamActivitySchedule
from api.views.admin.exam_activity_schedule_direct import ExamActivityScheduleDirect
from api.views.admin.exam_activity_update import ExamActivityUpdate
from api.views.admin.exam_activity_unschedule import ExamActivityUnschedule
from api.views.admin.admin_delete import AdminDelete
from api.views.admin.admin_list import AdminList
from api.views.admin.admin_rules import AdminRules
from api.views.admin.admin_update import AdminUpdate
from api.views.admin.change_password import ChangePassword
from api.views.admin.department_create import DepartmentCreate
from api.views.admin.department_delete import DepartmentDelete
from api.views.admin.department_list import DepartmentList
from api.views.admin.department_rules import DepartmentRules
from api.views.admin.department_update import DepartmentUpdate
from api.views.admin.exam_period_create import ExamPeriodCreate
from api.views.admin.exam_period_delete import ExamPeriodDelete
from api.views.admin.exam_period_list import ExamPeriodList
from api.views.admin.exam_period_rules import ExamPeriodRules
from api.views.admin.exam_period_update import ExamPeriodUpdate
from api.views.admin.suitability_create import SuitabilityCreate
from api.views.admin.suitability_delete import SuitabilityDelete
from api.views.admin.suitability_list import SuitabilityList
from api.views.admin.suitability_rules import SuitabilityRules
from api.views.admin.suitability_update import SuitabilityUpdate
from api.views.admin.exam_requirement_create import ExamRequirementCreate
from api.views.admin.exam_requirement_delete import ExamRequirementDelete
from api.views.admin.exam_requirement_delivery_info import ExamRequirementDeliveryInfo
from api.views.admin.exam_requirement_update_preceding_examination import ExamRequirementUpdatePrecedingExamination
from api.views.admin.exam_requirement_update_preceding_examination_rules import ExamRequirementUpdatePrecedingExaminationRules
from api.views.admin.exam_requirement_list import ExamRequirementList
from api.views.admin.exam_requirement_rules import ExamRequirementRules
from api.views.admin.exam_requirement_update_student import ExamRequirementUpdateStudent
from api.views.admin.exam_requirement_update_student_v2 import ExamRequirementUpdateStudentV2
from api.views.admin.exam_requirement_update_student_rules import ExamRequirementUpdateStudentRules
from api.views.admin.exam_requirement_update_same_location import ExamRequirementUpdateSameLocation
from api.views.admin.exam_requirement_update_same_location_rules import ExamRequirementUpdateSameLocationRules
from api.views.admin.exam_requirement_update_same_time import ExamRequirementUpdateSameTime
from api.views.admin.exam_requirement_update_same_time_rules import ExamRequirementUpdateSameTimeRules
from api.views.admin.exam_requirement_update_unavailability import ExamRequirementUpdateUnavailability
from api.views.admin.exam_requirement_update_unavailability_rules import ExamRequirementUpdateUnavailabilityRules
from api.views.admin.exam_requirement_update import ExamRequirementUpdate
from api.views.admin.info import Info
from api.views.admin.invigilator_create import InvigilatorCreate
from api.views.admin.invigilator_delete import InvigilatorDelete
from api.views.admin.invigilator_list import InvigilatorList
from api.views.admin.invigilator_role_create import InvigilatorRoleCreate
from api.views.admin.invigilator_role_delete import InvigilatorRoleDelete
from api.views.admin.invigilator_role_list import InvigilatorRoleList
from api.views.admin.invigilator_role_rules import InvigilatorRoleRules
from api.views.admin.invigilator_role_update import InvigilatorRoleUpdate
from api.views.admin.invigilator_rules import InvigilatorRules
from api.views.admin.invigilator_setting_rules import InvigilatorSettingRules
from api.views.admin.invigilator_setting_rules_v2 import InvigilatorSettingRulesV2
from api.views.admin.invigilator_setting_update import InvigilatorSettingUpdate
from api.views.admin.invigilator_setting_update_v2 import InvigilatorSettingUpdateV2
from api.views.admin.invigilator_update import InvigilatorUpdate
from api.views.admin.location_create import LocationCreate
from api.views.admin.location_delete import LocationDelete
from api.views.admin.location_list import LocationList
from api.views.admin.location_rules import LocationRules
from api.views.admin.location_update import LocationUpdate
from api.views.admin.login import Login
from api.views.admin.logout import Logout
from api.views.admin.permission_list import PermissionList
from api.views.admin.register import Register
from api.views.admin.role_create import RoleCreate
from api.views.admin.role_delete import RoleDelete
from api.views.admin.role_list import RoleList
from api.views.admin.role_rules import RoleRules
from api.views.admin.role_update import RoleUpdate
from api.views.admin.session_generate import SessionGenerate
from api.views.admin.session_delete import SessionDelete
from api.views.admin.session_list import SessionList
from api.views.admin.session_rules import SessionRules
from api.views.admin.session_update import SessionUpdate
from api.views.admin.session_seat_assign import SessionSeatAssign
from api.views.admin.session_seat_assign_clear import SessionSeatAssignClear
from api.views.admin.session_seat_list import SessionSeatList
from api.views.admin.session_assign_invigilator import SessionAssignInvigilator
from api.views.admin.session_update_invigilator import SessionUpdateInvigilator
from api.views.admin.session_update_invigilator_rules import SessionUpdateInvigilatorRules
from api.views.admin.session_start_create import SessionStartCreate
from api.views.admin.session_start_delete import SessionStartDelete
from api.views.admin.session_start_list import SessionStartList
from api.views.admin.session_start_rules import SessionStartRules
from api.views.admin.session_start_update import SessionStartUpdate
from api.views.admin.staff_create import StaffCreate
from api.views.admin.staff_delete import StaffDelete
from api.views.admin.staff_list import StaffList
from api.views.admin.staff_rules import StaffRules
from api.views.admin.staff_update import StaffUpdate
from api.views.admin.tag_create import TagCreate
from api.views.admin.tag_delete import TagDelete
from api.views.admin.tag_list import TagList
from api.views.admin.tag_rules import TagRules
from api.views.admin.tag_update import TagUpdate
from api.views.admin.zone_create import ZoneCreate
from api.views.admin.zone_delete import ZoneDelete
from api.views.admin.zone_list import ZoneList
from api.views.admin.zone_rules import ZoneRules
from api.views.admin.zone_update import ZoneUpdate
from api.views.admin.student_group_create import StudentGroupCreate
from api.views.admin.student_group_delete import StudentGroupDelete
from api.views.admin.student_group_list import StudentGroupList
from api.views.admin.student_group_rules import StudentGroupRules
from api.views.admin.student_group_update import StudentGroupUpdate
from api.views.admin.pos_create import PosCreate
from api.views.admin.pos_delete import PosDelete
from api.views.admin.pos_list import PosList
from api.views.admin.pos_rules import PosRules
from api.views.admin.pos_update import PosUpdate
from api.views.admin.student_create import StudentCreate
from api.views.admin.student_delete import StudentDelete
from api.views.admin.student_list import StudentList
from api.views.admin.student_rules import StudentRules 
from api.views.admin.student_timetable import StudentTimetable
from api.views.admin.student_timetable_rules import StudentTimetableRules
from api.views.admin.student_update import StudentUpdate
from api.views.admin.dashboard_info import DashboardInfo
from api.views.admin.import_get_information import ImportGetInformation
from api.views.admin.import_table import ImportTable


urlpatterns = [
    # re_path(r"^login/?$", Login.as_view(), name='admin-login'),
    path('admin/create', AdminCreate.as_view(), name='admin;create'),
    path('exam-activity/create', ExamActivityCreate.as_view(), name='exam_activity;create'),
    path('exam-activity/delete', ExamActivityDelete.as_view(), name='exam_activity;delete'),
    path('exam-activity/info', ExamActivityInfo.as_view(), name='exam_activity;info'),
    path('exam-activity/list', ExamActivityList.as_view(), name='exam_activity;list'),
    path('exam-activity/rules', ExamActivityRules.as_view(), name='exam_activity;rules'),
    path('exam-activity/schedule', ExamActivitySchedule.as_view(), name='exam_activity;schedule'),
    path('exam-activity/schedule-direct', ExamActivityScheduleDirect.as_view(), name='exam_activity;schedule_direct'),
    path('exam-activity/update', ExamActivityUpdate.as_view(), name='exam_activity;update'),
    path('exam-activity/unschedule', ExamActivityUnschedule.as_view(), name='exam_activity;unschedule'),
    path('session/delete', SessionDelete.as_view(), name='session;delete'),
    path('session/generate', SessionGenerate.as_view(), name='session;generate'),
    path('session/list', SessionList.as_view(), name='session;list'),
    path('session/rules', SessionRules.as_view(), name='session;rules'),
    path('session/update', SessionUpdate.as_view(), name='session;update'),
    path('session/assign-invigilator', SessionAssignInvigilator.as_view(), name='session;assign_invigilator'),
    path('session/update-invigilator', SessionUpdateInvigilator.as_view(), name='session;update_invigilator'),
    path('session/update-invigilator-rules', SessionUpdateInvigilatorRules.as_view(), name='session;update_invigilator_rules'),
    path('session/seat-assign', SessionSeatAssign.as_view(), name='session;seat_assign'),
    path('session/seat-assign-clear', SessionSeatAssignClear.as_view(), name='session;seat_assign_clear'),
    path('session/seat-list', SessionSeatList.as_view(), name='session;seat_list'),
    path('admin/delete', AdminDelete.as_view(), name='admin;delete'),
    path('admin/list', AdminList.as_view(), name='admin;list'),
    path('admin/rules', AdminRules.as_view(), name='admin;rules'),
    path('admin/update', AdminUpdate.as_view(), name='admin;update'),
    path('change-password', ChangePassword.as_view(), name='change_password'),
    path('department/create', DepartmentCreate.as_view(), name='department;create'),
    path('department/delete', DepartmentDelete.as_view(), name='department;delete'),
    path('department/list', DepartmentList.as_view(), name='department;list'),
    path('department/rules', DepartmentRules.as_view(), name='department;rules'),
    path('department/update', DepartmentUpdate.as_view(), name='department;update'),
    path('exam-period/create', ExamPeriodCreate.as_view(), name='exam_period;create'),
    path('exam-period/delete', ExamPeriodDelete.as_view(), name='exam_period;delete'),
    path('exam-period/list', ExamPeriodList.as_view(), name='exam_period;list'),
    path('exam-period/rules', ExamPeriodRules.as_view(), name='exam_period;rules'),
    path('exam-period/update', ExamPeriodUpdate.as_view(), name='exam_period;update'),
    path('suitability/create', SuitabilityCreate.as_view(), name='suitability;create'),
    path('suitability/delete', SuitabilityDelete.as_view(), name='suitability;delete'),
    path('suitability/list', SuitabilityList.as_view(), name='suitability;list'),
    path('suitability/rules', SuitabilityRules.as_view(), name='suitability;rules'),
    path('suitability/update', SuitabilityUpdate.as_view(), name='suitability;update'),
    path('exam-requirement/create', ExamRequirementCreate.as_view(), name='exam_requirement;create'),
    path('exam-requirement/delete', ExamRequirementDelete.as_view(), name='exam_requirement;delete'),
    path('exam-requirement/delivery-info', ExamRequirementDeliveryInfo.as_view(), name='exam_requirement;delivery_info'),
    path('exam-requirement/list', ExamRequirementList.as_view(), name='exam_requirement;list'),
    path('exam-requirement/rules', ExamRequirementRules.as_view(), name='exam_requirement;rules'),
    path('exam-requirement/update-preceding-examination', ExamRequirementUpdatePrecedingExamination.as_view(), name='exam_requirement;update_preceding_examination'),
    path('exam-requirement/update-preceding-examination-rules', ExamRequirementUpdatePrecedingExaminationRules.as_view(), name='exam_requirement;update_preceding_examination_rules'),
    path('exam-requirement/update-same-location', ExamRequirementUpdateSameLocation.as_view(), name='exam_requirement;update_same_location'),
    path('exam-requirement/update-same-location-rules', ExamRequirementUpdateSameLocationRules.as_view(), name='exam_requirement;update_same_location_rules'),
    path('exam-requirement/update-same-time', ExamRequirementUpdateSameTime.as_view(), name='exam_requirement;update_same_time'),
    path('exam-requirement/update-same-time-rules', ExamRequirementUpdateSameTimeRules.as_view(), name='exam_requirement;update_same_time_rules'),
    path('exam-requirement/update-student', ExamRequirementUpdateStudent.as_view(), name='exam_requirement;update_student'),
    path('exam-requirement/update-student-v2', ExamRequirementUpdateStudentV2.as_view(), name='exam_requirement;update_student_v2'),
    path('exam-requirement/update-student-rules', ExamRequirementUpdateStudentRules.as_view(), name='exam_requirement;update_student_rules'),
    path('exam-requirement/update-unavailability', ExamRequirementUpdateUnavailability.as_view(), name='exam_requirement;update_unavailability'),
    path('exam-requirement/update-unavailability-rules', ExamRequirementUpdateUnavailabilityRules.as_view(), name='exam_requirement;update_unavailability_rules'),
    path('exam-requirement/update', ExamRequirementUpdate.as_view(), name='exam_requirement;update'),
    path('info', Info.as_view(), name='info'),
    path('invigilator-setting/rules', InvigilatorSettingRules.as_view(), name='invigilator_setting;rules'),
    path('invigilator-setting/rules-v2', InvigilatorSettingRulesV2.as_view(), name='invigilator_setting;rules_v2'),
    path('invigilator-setting/update', InvigilatorSettingUpdate.as_view(), name='invigilator_setting;update'),
    path('invigilator-setting/update-v2', InvigilatorSettingUpdateV2.as_view(), name='invigilator_setting;update_v2'),
    path('invigilator/create', InvigilatorCreate.as_view(), name='invigilator;create'),
    path('invigilator/list', InvigilatorList.as_view(), name='invigilator;list'),
    path('invigilator/rules', InvigilatorRules.as_view(), name='invigilator;rules'),
    path('invigilator/update', InvigilatorUpdate.as_view(), name='invigilator;update'),
    path('invigilator/delete', InvigilatorDelete.as_view(), name='invigilator;delete'),
    path('invigilator-role/create', InvigilatorRoleCreate.as_view(), name='invigilator_role;create'),
    path('invigilator-role/delete', InvigilatorRoleDelete.as_view(), name='invigilator_role;delete'),
    path('invigilator-role/list', InvigilatorRoleList.as_view(), name='invigilator_role;list'),
    path('invigilator-role/rules', InvigilatorRoleRules.as_view(), name='invigilator_role;rules'),
    path('invigilator-role/update', InvigilatorRoleUpdate.as_view(), name='invigilator_role;update'),
    path('location/create', LocationCreate.as_view(), name='location;create'),
    path('location/delete', LocationDelete.as_view(), name='location;delete'),
    path('location/list', LocationList.as_view(), name='location;list'),
    path('location/rules', LocationRules.as_view(), name='location;rules'),
    path('location/update', LocationUpdate.as_view(), name='location;update'),
    path('login', Login.as_view(), name='login'),
    path('logout', Logout.as_view(), name='logout'),
    path('permission/list', PermissionList.as_view(), name='permission;list'),
    path('register', Register.as_view(), name='register'),
    path('role/create', RoleCreate.as_view(), name='role;create'),
    path('role/list', RoleList.as_view(), name='role;list'),
    path('role/rules', RoleRules.as_view(), name='role;rules'),
    path('role/update', RoleUpdate.as_view(), name='role;update'),
    path('role/delete', RoleDelete.as_view(), name='role;delete'),
    path('session-start/create', SessionStartCreate.as_view(), name='session_start;create'),
    path('session-start/delete', SessionStartDelete.as_view(), name='session_start;delete'),
    path('session-start/list', SessionStartList.as_view(), name='session_start;list'),
    path('session-start/rules', SessionStartRules.as_view(), name='session_start;rules'),
    path('session-start/update', SessionStartUpdate.as_view(), name='session_start;update'),
    path('staff/create', StaffCreate.as_view(), name='staff;create'),
    path('staff/list', StaffList.as_view(), name='staff;list'),
    path('staff/rules', StaffRules.as_view(), name='staff;rules'),
    path('staff/update', StaffUpdate.as_view(), name='staff;update'),
    path('staff/delete', StaffDelete.as_view(), name='staff;delete'),
    path('tag/create', TagCreate.as_view(), name='tag;create'),
    path('tag/delete', TagDelete.as_view(), name='tag;delete'),
    path('tag/list', TagList.as_view(), name='tag;list'),
    path('tag/rules', TagRules.as_view(), name='tag;rules'),
    path('tag/update', TagUpdate.as_view(), name='tag;update'),
    path('zone/create', ZoneCreate.as_view(), name='zone;create'),
    path('zone/delete', ZoneDelete.as_view(), name='zone;delete'),
    path('zone/list', ZoneList.as_view(), name='zone;list'),
    path('zone/rules', ZoneRules.as_view(), name='zone;rules'),
    path('zone/update', ZoneUpdate.as_view(), name='zone;update'),
    path('student-group/create', StudentGroupCreate.as_view(), name='student_group;create'),
    path('student-group/list', StudentGroupList.as_view(), name='student_group;list'),
    path('student-group/update', StudentGroupUpdate.as_view(), name='student_group;update'),
    path('student-group/delete', StudentGroupDelete.as_view(), name='student_group;delete'),
    path('student-group/rules', StudentGroupRules.as_view(), name='student_group;rules'),
    path('pos/create', PosCreate.as_view(), name='pos;create'),
    path('pos/delete', PosDelete.as_view(), name='pos;delete'),
    path('pos/list', PosList.as_view(), name='pos;list'),
    path('pos/update', PosUpdate.as_view(), name='pos;update'),
    path('pos/rules', PosRules.as_view(), name='pos;rules'),
    path('student/create', StudentCreate.as_view(), name='student;create'),
    path('student/delete', StudentDelete.as_view(), name='student;delete'),
    path('student/list', StudentList.as_view(), name='student;list'),
    path('student/update', StudentUpdate.as_view(), name='student;update'),
    path('student/timetable', StudentTimetable.as_view(), name='student;timetable'),
    path('student/timetable-rules', StudentTimetableRules.as_view(), name='student;timetable_rules'),
    path('student/rules', StudentRules.as_view(), name='student;rules'),
    path('dashboard/info', DashboardInfo.as_view(), name='dashboard;info'),
    path('import/get-information', ImportGetInformation.as_view(), name='import;get_information'),
    path('import/table', ImportTable.as_view(), name='import;table'),
]