/* Options: Date: 2024-12-29 03:36:05 SwiftVersion: 5.0 Version: 8.22 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://data.regent-college.edu //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: SectionsAvailableToChangeForStudentRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/Sections/AvailableToChange/{uuid}/Term/{reporting_term}", "POST") public class SectionsAvailableToChangeForStudentRequest : IReturn, Codable { public typealias Return = SectionsAvailableForStudentResponse public var uuid:String public var reporting_term:String public var online_only:Bool required public init(){} } public class SectionsAvailableForStudentResponse : Codable { public var responseStatus:ResponseStatus public var regent_id:Int public var uuid:String public var reporting_term:String public var notifyOfAcademicProbation:Bool public var sectionsAvailable:[SectionAvailableForStudentResponse] = [] public var messages:[String] = [] required public init(){} } public class SectionAvailableForStudentResponse : SectionResponse { public var uuid:String public var studentSectionUUID:String public var registered_amount:Double? public var is_full:Bool public var is_too_late:Bool public var is_too_early:Bool public var is_audit:Bool public var is_selected:Bool public var is_registered:Bool public var is_provisional:Bool public var is_missing_requisites:Bool public var is_completed:Bool public var maximum_credit_hours:Double? public var maximum_audit_hours:Double? public var can_retake:Bool public var is_credit_restricted:Bool public var is_audit_restricted:Bool public var is_oncampus_restricted_for_change:Bool public var is_online_restricted_for_change:Bool public var can_be_provisional:Bool public var can_be_dropped:Bool public var ruleMessages:[String] = [] required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case uuid case studentSectionUUID case registered_amount case is_full case is_too_late case is_too_early case is_audit case is_selected case is_registered case is_provisional case is_missing_requisites case is_completed case maximum_credit_hours case maximum_audit_hours case can_retake case is_credit_restricted case is_audit_restricted case is_oncampus_restricted_for_change case is_online_restricted_for_change case can_be_provisional case can_be_dropped case ruleMessages } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) uuid = try container.decodeIfPresent(String.self, forKey: .uuid) studentSectionUUID = try container.decodeIfPresent(String.self, forKey: .studentSectionUUID) registered_amount = try container.decodeIfPresent(Double.self, forKey: .registered_amount) is_full = try container.decodeIfPresent(Bool.self, forKey: .is_full) is_too_late = try container.decodeIfPresent(Bool.self, forKey: .is_too_late) is_too_early = try container.decodeIfPresent(Bool.self, forKey: .is_too_early) is_audit = try container.decodeIfPresent(Bool.self, forKey: .is_audit) is_selected = try container.decodeIfPresent(Bool.self, forKey: .is_selected) is_registered = try container.decodeIfPresent(Bool.self, forKey: .is_registered) is_provisional = try container.decodeIfPresent(Bool.self, forKey: .is_provisional) is_missing_requisites = try container.decodeIfPresent(Bool.self, forKey: .is_missing_requisites) is_completed = try container.decodeIfPresent(Bool.self, forKey: .is_completed) maximum_credit_hours = try container.decodeIfPresent(Double.self, forKey: .maximum_credit_hours) maximum_audit_hours = try container.decodeIfPresent(Double.self, forKey: .maximum_audit_hours) can_retake = try container.decodeIfPresent(Bool.self, forKey: .can_retake) is_credit_restricted = try container.decodeIfPresent(Bool.self, forKey: .is_credit_restricted) is_audit_restricted = try container.decodeIfPresent(Bool.self, forKey: .is_audit_restricted) is_oncampus_restricted_for_change = try container.decodeIfPresent(Bool.self, forKey: .is_oncampus_restricted_for_change) is_online_restricted_for_change = try container.decodeIfPresent(Bool.self, forKey: .is_online_restricted_for_change) can_be_provisional = try container.decodeIfPresent(Bool.self, forKey: .can_be_provisional) can_be_dropped = try container.decodeIfPresent(Bool.self, forKey: .can_be_dropped) ruleMessages = try container.decodeIfPresent([String].self, forKey: .ruleMessages) ?? [] } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if uuid != nil { try container.encode(uuid, forKey: .uuid) } if studentSectionUUID != nil { try container.encode(studentSectionUUID, forKey: .studentSectionUUID) } if registered_amount != nil { try container.encode(registered_amount, forKey: .registered_amount) } if is_full != nil { try container.encode(is_full, forKey: .is_full) } if is_too_late != nil { try container.encode(is_too_late, forKey: .is_too_late) } if is_too_early != nil { try container.encode(is_too_early, forKey: .is_too_early) } if is_audit != nil { try container.encode(is_audit, forKey: .is_audit) } if is_selected != nil { try container.encode(is_selected, forKey: .is_selected) } if is_registered != nil { try container.encode(is_registered, forKey: .is_registered) } if is_provisional != nil { try container.encode(is_provisional, forKey: .is_provisional) } if is_missing_requisites != nil { try container.encode(is_missing_requisites, forKey: .is_missing_requisites) } if is_completed != nil { try container.encode(is_completed, forKey: .is_completed) } if maximum_credit_hours != nil { try container.encode(maximum_credit_hours, forKey: .maximum_credit_hours) } if maximum_audit_hours != nil { try container.encode(maximum_audit_hours, forKey: .maximum_audit_hours) } if can_retake != nil { try container.encode(can_retake, forKey: .can_retake) } if is_credit_restricted != nil { try container.encode(is_credit_restricted, forKey: .is_credit_restricted) } if is_audit_restricted != nil { try container.encode(is_audit_restricted, forKey: .is_audit_restricted) } if is_oncampus_restricted_for_change != nil { try container.encode(is_oncampus_restricted_for_change, forKey: .is_oncampus_restricted_for_change) } if is_online_restricted_for_change != nil { try container.encode(is_online_restricted_for_change, forKey: .is_online_restricted_for_change) } if can_be_provisional != nil { try container.encode(can_be_provisional, forKey: .can_be_provisional) } if can_be_dropped != nil { try container.encode(can_be_dropped, forKey: .can_be_dropped) } if ruleMessages.count > 0 { try container.encode(ruleMessages, forKey: .ruleMessages) } } }