""" Options: Date: 2024-10-06 10:32:45 Version: 8.22 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://data.regent-college.edu #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: SectionCreateRequest.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class InstructorResponse: response_status: Optional[ResponseStatus] = None regent_id: int = 0 regent_login: Optional[str] = None preferred_name: Optional[str] = None first_name: Optional[str] = None last_name: Optional[str] = None full_name: Optional[str] = None email: Optional[str] = None image_base64: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class DocumentResponse: code: Optional[str] = None document_name: Optional[str] = None document_description: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SectionResponse: response_status: Optional[ResponseStatus] = None sec_u_u_i_d: Optional[str] = None course_name: Optional[str] = None section_code: Optional[str] = None course_title: Optional[str] = None course_short_title: Optional[str] = None course_description: Optional[str] = None crosslist_description: Optional[str] = None crosslist_course_name: Optional[str] = None location_long_name: Optional[str] = None room: Optional[str] = None instructors: Optional[List[InstructorResponse]] = None required_documents: Optional[List[DocumentResponse]] = None start_date: Optional[datetime.datetime] = None end_date: Optional[datetime.datetime] = None first_meeting_date: Optional[datetime.datetime] = None last_meeting_date: Optional[datetime.datetime] = None meeting_days: Optional[str] = None start_times: Optional[List[str]] = None end_times: Optional[List[str]] = None is_online_only: bool = False is_weekend: bool = False is_weekday: bool = False is_evening: bool = False is_waitlist: bool = False has_special_requirements: bool = False special_requirements: Optional[str] = None is_unlisted: bool = False credit_amounts: Optional[List[Decimal]] = None audit_amounts: Optional[List[Decimal]] = None audits_short_name: Optional[str] = None audits_long_name: Optional[str] = None credits_short_name: Optional[str] = None credits_long_name: Optional[str] = None distance_ed_materials: Optional[str] = None prerequisites: Optional[str] = None corequisites: Optional[str] = None capacity: Optional[int] = None flat_fee_amount: Optional[Decimal] = None additional_fee_amount: Optional[Decimal] = None registered_students: int = 0 three_credit_plus: int = 0 two_credit: int = 0 one_credit: int = 0 three_audit_plus: int = 0 two_audit: int = 0 one_audit: int = 0 crosslist_registered_students: int = 0 grades_received: int = 0 crosslist_grades_received: int = 0 registration_start_date: Optional[datetime.datetime] = None registration_end_date: Optional[datetime.datetime] = None add_start_date: Optional[datetime.datetime] = None add_end_date: Optional[datetime.datetime] = None drop_start_date: Optional[datetime.datetime] = None drop_end_date: Optional[datetime.datetime] = None grading_end_date: Optional[datetime.datetime] = None term: Optional[str] = None reporting_term: Optional[str] = None reporting_year: int = 0 current_status: Optional[str] = None added_by: Optional[str] = None added_date: Optional[datetime.datetime] = None changed_by: Optional[str] = None changed_date: Optional[datetime.datetime] = None timestamp: datetime.datetime = datetime.datetime(1, 1, 1) # @Route("/Sections/Admin/{reporting_term}/Create", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SectionCreateRequest(IReturn[SectionResponse]): course_id: Optional[int] = None course_name: Optional[str] = None min_credits: Optional[Decimal] = None max_credits: Optional[Decimal] = None credit_increments: Optional[Decimal] = None min_audits: Optional[Decimal] = None max_audits: Optional[Decimal] = None audit_increments: Optional[Decimal] = None section_code: Optional[str] = None title: Optional[str] = None pretty_title: Optional[str] = None override_course_description: Optional[str] = None current_status: Optional[str] = None location: Optional[str] = None room: Optional[str] = None is_audio: bool = False is_oncampus: bool = False distance_ed_materials: Optional[str] = None start_date: Optional[datetime.datetime] = None end_date: Optional[datetime.datetime] = None first_meeting_date: Optional[datetime.datetime] = None last_meeting_date: Optional[datetime.datetime] = None start_times: Optional[str] = None end_times: Optional[str] = None meeting_days: Optional[str] = None is_pass_fail: bool = False is_waitlist: bool = False has_special_requirements: bool = False special_requirements: Optional[str] = None is_unlisted: bool = False capacity: Optional[int] = None flat_fee_amount: Optional[Decimal] = None additional_fee_amount: Optional[Decimal] = None override_registration_start_date: Optional[datetime.datetime] = None override_registration_end_date: Optional[datetime.datetime] = None override_add_start_date: Optional[datetime.datetime] = None override_add_end_date: Optional[datetime.datetime] = None override_drop_start_date: Optional[datetime.datetime] = None override_drop_end_date: Optional[datetime.datetime] = None override_grading_end_date: Optional[datetime.datetime] = None term: Optional[str] = None reporting_term: Optional[str] = None authorizing_uuid: Optional[str] = None