/* Options: Date: 2025-07-18 00:37:49 SwiftVersion: 5.0 Version: 6.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://hcbtas-q-albamfs-api.azurewebsites.net //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: MemberValidateReq.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/members", "PUT") public class Member : Member, IReturn { public typealias Return = Member public var id:String? public var email:String? public var employeeGuidString:String? public var ignoreGender:Bool? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case id case email case employeeGuidString case ignoreGender } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) id = try container.decodeIfPresent(String.self, forKey: .id) email = try container.decodeIfPresent(String.self, forKey: .email) employeeGuidString = try container.decodeIfPresent(String.self, forKey: .employeeGuidString) ignoreGender = try container.decodeIfPresent(Bool.self, forKey: .ignoreGender) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if id != nil { try container.encode(id, forKey: .id) } if email != nil { try container.encode(email, forKey: .email) } if employeeGuidString != nil { try container.encode(employeeGuidString, forKey: .employeeGuidString) } if ignoreGender != nil { try container.encode(ignoreGender, forKey: .ignoreGender) } } } // @Route("/member/validate", "POST") public class MemberValidateReq : IReturn, Codable { public typealias Return = HttpResult public var member:Member? required public init(){} } public class HttpResult : Codable { public var responseText:String? public var responseStream:Data? public var fileInfo:FileInfo? //virtualFile:IVirtualFile ignored. Swift doesn't support interface properties public var contentType:String? public var headers:[String:String] = [:] public var cookies:[Cookie] = [] public var eTag:String? @TimeSpan public var age:TimeInterval? @TimeSpan public var maxAge:TimeInterval? public var expires:Date? public var lastModified:Date? public var cacheControl:CacheControl? public var resultScope:Func? public var allowsPartialResponse:Bool? public var options:[String:String] = [:] public var status:Int? public var statusCode:HttpStatusCode? public var statusDescription:String? //response:Object ignored. Type could not be extended in Swift //responseFilter:IContentTypeWriter ignored. Swift doesn't support interface properties //requestContext:IRequest ignored. Swift doesn't support interface properties public var view:String? public var template:String? public var paddingLength:Int? public var isPartialRequest:Bool? required public init(){} } public class Member : Entity, IProjectable { public var userId:String? public var systemId:String? public var schemeCode:String? public var sessionId:String? public var clientId:String? public var clientCode:String? public var isDefault:Bool? public var groupId:String? public var groupNameUpper:String? public var appName:String? public var appNameUpper:String? public var key:String? public var keyUpper:String? public var country:String? public var locale:String? public var ccy:String? public var cdy:String? public var status:String? public var statusCode:String? public var category:String? public var scheme:String? public var primarySalary:String? public var email:String? public var employer:Employer? public var roles:Roles? public var asAt:Date? public var calcDate:Date? public var nextEOFY:Date? public var periodToNextEOFY:Double? public var year:Int? public var hasPartner:Bool? public var includePartner:Bool? public var includePartnerInCalc:Bool? public var homeOwner:Bool? public var targetAge:Int? public var targetTime:Int? public var targetIncomeR:Double? public var targetIncomeRFreq:Double? public var targetIncomeRAnnual:Double? public var targetP:Double? public var includeSS:Bool? public var firstName:String? public var lastName:String? public var gender:Gender? public var dob:Date? public var salary:Double? public var people:[Person] = [] public var assets:[Asset] = [] public var includeAnnuities:Bool? public var annuities:[Annuity] = [] public var spending:Spending? public var investmentProperties:[InvestmentProperty] = [] public var incomeVectors:[String:[Double]] = [:] public var config:AssumptionsConfig? public var indexation:[RateSpec] = [] public var annuityDisc:[RateSpec] = [] public var indexationRates:[String:[Double]] = [:] public var annuityDiscRates:[String:[Double]] = [:] public var balance:Double? public var planSomeValue:String? public var flag1:Bool? public var flag2:Bool? public var isFriendly:Bool? public var financingOption:String? public var totalYears:Int? public var totalLoopYears:Int? public var age:Double? public var ageR:Double? public var intAge:Int? public var indexType:String? public var indexTypePre:String? public var indexTypePost:String? public var deflationType:String? public var custom:[String:String] = [:] public var countryCalcConfig:CountryCalculatorConfiguration? public var summary:MemberSummary? public var lastModified:Date? public var isReturningUser:Bool? public var clientCountryConfigCacheKey:String? public var personalAssets:Double? public var resultsSummary:Summary? public var totalContribution:TotalContribution? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case userId case systemId case schemeCode case sessionId case clientId case clientCode case isDefault case groupId case groupNameUpper case appName case appNameUpper case key case keyUpper case country case locale case ccy case cdy case status case statusCode case category case scheme case primarySalary case email case employer case roles case asAt case calcDate case nextEOFY case periodToNextEOFY case year case hasPartner case includePartner case includePartnerInCalc case homeOwner case targetAge case targetTime case targetIncomeR case targetIncomeRFreq case targetIncomeRAnnual case targetP case includeSS case firstName case lastName case gender case dob case salary case people case assets case includeAnnuities case annuities case spending case investmentProperties case incomeVectors case config case indexation case annuityDisc case indexationRates case annuityDiscRates case balance case planSomeValue case flag1 case flag2 case isFriendly case financingOption case totalYears case totalLoopYears case age case ageR case intAge case indexType case indexTypePre case indexTypePost case deflationType case custom case countryCalcConfig case summary case lastModified case isReturningUser case clientCountryConfigCacheKey case personalAssets case resultsSummary case totalContribution } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) userId = try container.decodeIfPresent(String.self, forKey: .userId) systemId = try container.decodeIfPresent(String.self, forKey: .systemId) schemeCode = try container.decodeIfPresent(String.self, forKey: .schemeCode) sessionId = try container.decodeIfPresent(String.self, forKey: .sessionId) clientId = try container.decodeIfPresent(String.self, forKey: .clientId) clientCode = try container.decodeIfPresent(String.self, forKey: .clientCode) isDefault = try container.decodeIfPresent(Bool.self, forKey: .isDefault) groupId = try container.decodeIfPresent(String.self, forKey: .groupId) groupNameUpper = try container.decodeIfPresent(String.self, forKey: .groupNameUpper) appName = try container.decodeIfPresent(String.self, forKey: .appName) appNameUpper = try container.decodeIfPresent(String.self, forKey: .appNameUpper) key = try container.decodeIfPresent(String.self, forKey: .key) keyUpper = try container.decodeIfPresent(String.self, forKey: .keyUpper) country = try container.decodeIfPresent(String.self, forKey: .country) locale = try container.decodeIfPresent(String.self, forKey: .locale) ccy = try container.decodeIfPresent(String.self, forKey: .ccy) cdy = try container.decodeIfPresent(String.self, forKey: .cdy) status = try container.decodeIfPresent(String.self, forKey: .status) statusCode = try container.decodeIfPresent(String.self, forKey: .statusCode) category = try container.decodeIfPresent(String.self, forKey: .category) scheme = try container.decodeIfPresent(String.self, forKey: .scheme) primarySalary = try container.decodeIfPresent(String.self, forKey: .primarySalary) email = try container.decodeIfPresent(String.self, forKey: .email) employer = try container.decodeIfPresent(Employer.self, forKey: .employer) roles = try container.decodeIfPresent(Roles.self, forKey: .roles) asAt = try container.decodeIfPresent(Date.self, forKey: .asAt) calcDate = try container.decodeIfPresent(Date.self, forKey: .calcDate) nextEOFY = try container.decodeIfPresent(Date.self, forKey: .nextEOFY) periodToNextEOFY = try container.decodeIfPresent(Double.self, forKey: .periodToNextEOFY) year = try container.decodeIfPresent(Int.self, forKey: .year) hasPartner = try container.decodeIfPresent(Bool.self, forKey: .hasPartner) includePartner = try container.decodeIfPresent(Bool.self, forKey: .includePartner) includePartnerInCalc = try container.decodeIfPresent(Bool.self, forKey: .includePartnerInCalc) homeOwner = try container.decodeIfPresent(Bool.self, forKey: .homeOwner) targetAge = try container.decodeIfPresent(Int.self, forKey: .targetAge) targetTime = try container.decodeIfPresent(Int.self, forKey: .targetTime) targetIncomeR = try container.decodeIfPresent(Double.self, forKey: .targetIncomeR) targetIncomeRFreq = try container.decodeIfPresent(Double.self, forKey: .targetIncomeRFreq) targetIncomeRAnnual = try container.decodeIfPresent(Double.self, forKey: .targetIncomeRAnnual) targetP = try container.decodeIfPresent(Double.self, forKey: .targetP) includeSS = try container.decodeIfPresent(Bool.self, forKey: .includeSS) firstName = try container.decodeIfPresent(String.self, forKey: .firstName) lastName = try container.decodeIfPresent(String.self, forKey: .lastName) gender = try container.decodeIfPresent(Gender.self, forKey: .gender) dob = try container.decodeIfPresent(Date.self, forKey: .dob) salary = try container.decodeIfPresent(Double.self, forKey: .salary) people = try container.decodeIfPresent([Person].self, forKey: .people) ?? [] assets = try container.decodeIfPresent([Asset].self, forKey: .assets) ?? [] includeAnnuities = try container.decodeIfPresent(Bool.self, forKey: .includeAnnuities) annuities = try container.decodeIfPresent([Annuity].self, forKey: .annuities) ?? [] spending = try container.decodeIfPresent(Spending.self, forKey: .spending) investmentProperties = try container.decodeIfPresent([InvestmentProperty].self, forKey: .investmentProperties) ?? [] incomeVectors = try container.decodeIfPresent([String:[Double]].self, forKey: .incomeVectors) ?? [:] config = try container.decodeIfPresent(AssumptionsConfig.self, forKey: .config) indexation = try container.decodeIfPresent([RateSpec].self, forKey: .indexation) ?? [] annuityDisc = try container.decodeIfPresent([RateSpec].self, forKey: .annuityDisc) ?? [] indexationRates = try container.decodeIfPresent([String:[Double]].self, forKey: .indexationRates) ?? [:] annuityDiscRates = try container.decodeIfPresent([String:[Double]].self, forKey: .annuityDiscRates) ?? [:] balance = try container.decodeIfPresent(Double.self, forKey: .balance) planSomeValue = try container.decodeIfPresent(String.self, forKey: .planSomeValue) flag1 = try container.decodeIfPresent(Bool.self, forKey: .flag1) flag2 = try container.decodeIfPresent(Bool.self, forKey: .flag2) isFriendly = try container.decodeIfPresent(Bool.self, forKey: .isFriendly) financingOption = try container.decodeIfPresent(String.self, forKey: .financingOption) totalYears = try container.decodeIfPresent(Int.self, forKey: .totalYears) totalLoopYears = try container.decodeIfPresent(Int.self, forKey: .totalLoopYears) age = try container.decodeIfPresent(Double.self, forKey: .age) ageR = try container.decodeIfPresent(Double.self, forKey: .ageR) intAge = try container.decodeIfPresent(Int.self, forKey: .intAge) indexType = try container.decodeIfPresent(String.self, forKey: .indexType) indexTypePre = try container.decodeIfPresent(String.self, forKey: .indexTypePre) indexTypePost = try container.decodeIfPresent(String.self, forKey: .indexTypePost) deflationType = try container.decodeIfPresent(String.self, forKey: .deflationType) custom = try container.decodeIfPresent([String:String].self, forKey: .custom) ?? [:] countryCalcConfig = try container.decodeIfPresent(CountryCalculatorConfiguration.self, forKey: .countryCalcConfig) summary = try container.decodeIfPresent(MemberSummary.self, forKey: .summary) lastModified = try container.decodeIfPresent(Date.self, forKey: .lastModified) isReturningUser = try container.decodeIfPresent(Bool.self, forKey: .isReturningUser) clientCountryConfigCacheKey = try container.decodeIfPresent(String.self, forKey: .clientCountryConfigCacheKey) personalAssets = try container.decodeIfPresent(Double.self, forKey: .personalAssets) resultsSummary = try container.decodeIfPresent(Summary.self, forKey: .resultsSummary) totalContribution = try container.decodeIfPresent(TotalContribution.self, forKey: .totalContribution) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if userId != nil { try container.encode(userId, forKey: .userId) } if systemId != nil { try container.encode(systemId, forKey: .systemId) } if schemeCode != nil { try container.encode(schemeCode, forKey: .schemeCode) } if sessionId != nil { try container.encode(sessionId, forKey: .sessionId) } if clientId != nil { try container.encode(clientId, forKey: .clientId) } if clientCode != nil { try container.encode(clientCode, forKey: .clientCode) } if isDefault != nil { try container.encode(isDefault, forKey: .isDefault) } if groupId != nil { try container.encode(groupId, forKey: .groupId) } if groupNameUpper != nil { try container.encode(groupNameUpper, forKey: .groupNameUpper) } if appName != nil { try container.encode(appName, forKey: .appName) } if appNameUpper != nil { try container.encode(appNameUpper, forKey: .appNameUpper) } if key != nil { try container.encode(key, forKey: .key) } if keyUpper != nil { try container.encode(keyUpper, forKey: .keyUpper) } if country != nil { try container.encode(country, forKey: .country) } if locale != nil { try container.encode(locale, forKey: .locale) } if ccy != nil { try container.encode(ccy, forKey: .ccy) } if cdy != nil { try container.encode(cdy, forKey: .cdy) } if status != nil { try container.encode(status, forKey: .status) } if statusCode != nil { try container.encode(statusCode, forKey: .statusCode) } if category != nil { try container.encode(category, forKey: .category) } if scheme != nil { try container.encode(scheme, forKey: .scheme) } if primarySalary != nil { try container.encode(primarySalary, forKey: .primarySalary) } if email != nil { try container.encode(email, forKey: .email) } if employer != nil { try container.encode(employer, forKey: .employer) } if roles != nil { try container.encode(roles, forKey: .roles) } if asAt != nil { try container.encode(asAt, forKey: .asAt) } if calcDate != nil { try container.encode(calcDate, forKey: .calcDate) } if nextEOFY != nil { try container.encode(nextEOFY, forKey: .nextEOFY) } if periodToNextEOFY != nil { try container.encode(periodToNextEOFY, forKey: .periodToNextEOFY) } if year != nil { try container.encode(year, forKey: .year) } if hasPartner != nil { try container.encode(hasPartner, forKey: .hasPartner) } if includePartner != nil { try container.encode(includePartner, forKey: .includePartner) } if includePartnerInCalc != nil { try container.encode(includePartnerInCalc, forKey: .includePartnerInCalc) } if homeOwner != nil { try container.encode(homeOwner, forKey: .homeOwner) } if targetAge != nil { try container.encode(targetAge, forKey: .targetAge) } if targetTime != nil { try container.encode(targetTime, forKey: .targetTime) } if targetIncomeR != nil { try container.encode(targetIncomeR, forKey: .targetIncomeR) } if targetIncomeRFreq != nil { try container.encode(targetIncomeRFreq, forKey: .targetIncomeRFreq) } if targetIncomeRAnnual != nil { try container.encode(targetIncomeRAnnual, forKey: .targetIncomeRAnnual) } if targetP != nil { try container.encode(targetP, forKey: .targetP) } if includeSS != nil { try container.encode(includeSS, forKey: .includeSS) } if firstName != nil { try container.encode(firstName, forKey: .firstName) } if lastName != nil { try container.encode(lastName, forKey: .lastName) } if gender != nil { try container.encode(gender, forKey: .gender) } if dob != nil { try container.encode(dob, forKey: .dob) } if salary != nil { try container.encode(salary, forKey: .salary) } if people.count > 0 { try container.encode(people, forKey: .people) } if assets.count > 0 { try container.encode(assets, forKey: .assets) } if includeAnnuities != nil { try container.encode(includeAnnuities, forKey: .includeAnnuities) } if annuities.count > 0 { try container.encode(annuities, forKey: .annuities) } if spending != nil { try container.encode(spending, forKey: .spending) } if investmentProperties.count > 0 { try container.encode(investmentProperties, forKey: .investmentProperties) } if incomeVectors.count > 0 { try container.encode(incomeVectors, forKey: .incomeVectors) } if config != nil { try container.encode(config, forKey: .config) } if indexation.count > 0 { try container.encode(indexation, forKey: .indexation) } if annuityDisc.count > 0 { try container.encode(annuityDisc, forKey: .annuityDisc) } if indexationRates.count > 0 { try container.encode(indexationRates, forKey: .indexationRates) } if annuityDiscRates.count > 0 { try container.encode(annuityDiscRates, forKey: .annuityDiscRates) } if balance != nil { try container.encode(balance, forKey: .balance) } if planSomeValue != nil { try container.encode(planSomeValue, forKey: .planSomeValue) } if flag1 != nil { try container.encode(flag1, forKey: .flag1) } if flag2 != nil { try container.encode(flag2, forKey: .flag2) } if isFriendly != nil { try container.encode(isFriendly, forKey: .isFriendly) } if financingOption != nil { try container.encode(financingOption, forKey: .financingOption) } if totalYears != nil { try container.encode(totalYears, forKey: .totalYears) } if totalLoopYears != nil { try container.encode(totalLoopYears, forKey: .totalLoopYears) } if age != nil { try container.encode(age, forKey: .age) } if ageR != nil { try container.encode(ageR, forKey: .ageR) } if intAge != nil { try container.encode(intAge, forKey: .intAge) } if indexType != nil { try container.encode(indexType, forKey: .indexType) } if indexTypePre != nil { try container.encode(indexTypePre, forKey: .indexTypePre) } if indexTypePost != nil { try container.encode(indexTypePost, forKey: .indexTypePost) } if deflationType != nil { try container.encode(deflationType, forKey: .deflationType) } if custom.count > 0 { try container.encode(custom, forKey: .custom) } if countryCalcConfig != nil { try container.encode(countryCalcConfig, forKey: .countryCalcConfig) } if summary != nil { try container.encode(summary, forKey: .summary) } if lastModified != nil { try container.encode(lastModified, forKey: .lastModified) } if isReturningUser != nil { try container.encode(isReturningUser, forKey: .isReturningUser) } if clientCountryConfigCacheKey != nil { try container.encode(clientCountryConfigCacheKey, forKey: .clientCountryConfigCacheKey) } if personalAssets != nil { try container.encode(personalAssets, forKey: .personalAssets) } if resultsSummary != nil { try container.encode(resultsSummary, forKey: .resultsSummary) } if totalContribution != nil { try container.encode(totalContribution, forKey: .totalContribution) } } } public class Member : IId, ITimestamp, Codable { public var id:Int? public var employeeGuid:String? public var employeeId:String? public var clientId:Int? public var configurationId:Int? public var lastName:String? public var firstName:String? public var companyName:String? public var employeeGroup:String? public var title:String? public var birthdate:Date? public var emailAddress:String? public var maritalStatus:MaritalStatuses? public var partnerBirthDate:Date? public var gender:IsoGenders? public var militaryMonthCount:Int16? public var annualSalary:Double? public var monthlySalary:Double? public var salaryFrequency:Int? public var deFederalState:GermanFederalStates? public var deTaxClass:GermanTaxClasses? public var deChurchTax:Bool? public var dePrivNursingInsurance:Double? public var pensionFinancingOption:String? public var hasPrivHealthInsurance:Bool? public var privHealthInsurance:Double? public var childrenCount:Int16? public var child1BirthDate:Date? public var child2BirthDate:Date? public var child3BirthDate:Date? public var child4BirthDate:Date? public var child5BirthDate:Date? public var child6BirthDate:Date? public var child7BirthDate:Date? public var child8BirthDate:Date? public var child9BirthDate:Date? public var child10BirthDate:Date? public var authId:String? public var authRegistrationDate:Date? public var activationCode:String? public var activationExpiringDate:Date? public var planInfoDate:Date? public var planInfoBag:String? public var inactive:Bool? public var dateCreated:Date? public var removeRequestDate:Date? public var timestamp:[UInt8] = [] public var client:Client? public var contributionDataDate:Date? public var beneficiaryFirstName:String? public var beneficiaryLastName:String? public var beneficiaryTitle:String? public var beneficiaryDateOfBirth:Date? public var addressLine1:String? public var addressLine2:String? public var addressLine3:String? public var phoneNumber:String? public var mobileNumber:String? public var dateCommencedService:Date? public var calculatorDataDate:Date? public var calculatorDataBag:String? public var periodStart:Date? public var periodEnd:Date? public var memberId:Int? public var infoBag:String? public var projectionInfoBag:String? public var companyPlanInfo:String? public var infoProviderReference:String? public var dateOfHire:Date? public var ssin:String? public var isProxy:Bool? public var isAllowedToVote:Bool? public var userId:String? public var participantStatus:String? public var investmentStrategy:String? public var isAllowedToUpdatePlan:Bool? public var pensionableSalary:Double? public var dateOfBirthSpouse:Date? public var dateOfBirthYoungestChild:Date? public var dateHiredOfPlan:Date? public var contractType:String? public var investmentRiskProfile:String? public var documents:[Document] = [] public var powensConnectionSyncs:[PowensConnectionSync] = [] public var members:[Member] = [] public var groupMembers:[GroupMember] = [] public var parent:Member? public var pensionFundManager:String? public var proxyAccesses:[ProxyAccess] = [] public var beneficiaries:[Beneficiary] = [] public var currentBalances:[CurrentBalance] = [] public var detailedBalances:[DetailedBalance] = [] public var votingPollAnswers:[VotingPollAnswer] = [] public var investmentAllocations:[InvestmentAllocation] = [] public var memberContributions:[MemberContribution] = [] public var participantStatusFormAnswers:[ParticipantStatusFormAnswer] = [] required public init(){} } public class Member : Codable { public var memberId:Int? public var employeeId:String? public var employeeGuid:String? public var email:String? public var title:String? public var firstName:String? public var companyName:String? public var employeeGroup:String? public var lastName:String? public var dateOfBirth:Date? public var gender:IsoGenders? public var maritalStatus:MaritalStatuses? public var numberOfChildren:Int? public var childrenCount:Int? public var monthlySalary:Double? public var annualSalary:Double? public var dkPensionTerms:DkPensionTerms? public var dkPrivateEmailAddress:String? public var dkEmployerName:String? public var dkContactConsent:Bool? public var dkPersonalMandate:Bool? public var deFederalState:GermanFederalStates? public var deTaxClass:GermanTaxClasses? public var deChurchTax:Bool? public var hasPrivHealthInsurance:Bool? public var privHealthInsurance:Double? public var dePrivNursingInsurance:Double? public var contributionDataDate:Date? public var beneficiaryFirstName:String? public var beneficiaryLastName:String? public var beneficiaryTitle:String? public var beneficiaryDateOfBirth:Date? public var addressLine1:String? public var addressLine2:String? public var addressLine3:String? public var phoneNumber:String? public var mobileNumber:String? public var dateCommencedService:Date? public var partnerBirthDate:Date? public var militaryMonthCount:Int16? public var child1BirthDate:Date? public var child2BirthDate:Date? public var child3BirthDate:Date? public var child4BirthDate:Date? public var child5BirthDate:Date? public var child6BirthDate:Date? public var child7BirthDate:Date? public var child8BirthDate:Date? public var child9BirthDate:Date? public var child10BirthDate:Date? public var infoBag:String? public var projectionInfoBag:String? public var clientId:Int? public var companyPlanInfo:String? public var pensionFundManager:String? public var dateOfHire:Date? public var powensConnections:[PowensConnection] = [] public var isPrivateClient:Bool? public var isProxy:Bool? public var beneficiaries:[Beneficiary] = [] public var currentBalances:[CurrentBalance] = [] public var detailedBalances:[DetailedBalance] = [] public var beneficiariesLatestSubmittedDate:Date? public var userId:String? public var participantStatus:String? public var investmentStrategy:String? public var isAllowedToUpdatePlan:Bool? public var pensionableSalary:Double? public var dateOfBirthSpouse:Date? public var dateOfBirthYoungestChild:Date? public var dateHiredOfPlan:Date? public var contractType:String? public var isAllowedToVote:Bool? public var votingPollAnswer:VotingPollAnswer? required public init(){} } public protocol IVirtualFile { //virtualPathProvider:IVirtualPathProvider ignored. Swift doesn't support interface properties var `extension`:String? { get set } var length:Int? { get set } } // @Flags() public enum CacheControl : Int, Codable { case None = 0 case Public = 1 case Private = 2 case MustRevalidate = 4 case NoCache = 8 case NoStore = 16 case NoTransform = 32 case ProxyRevalidate = 64 } public protocol IContentTypeWriter { } public protocol IRequest { //originalRequest:Object ignored. Type could not be extended in Swift //response:IResponse ignored. Swift doesn't support interface properties var operationName:String? { get set } var verb:String? { get set } var requestAttributes:RequestAttributes? { get set } //requestPreferences:IRequestPreferences ignored. Swift doesn't support interface properties //dto:Object ignored. Type could not be extended in Swift var contentType:String? { get set } var isLocal:Bool? { get set } var userAgent:String? { get set } var cookies:[String:Cookie]? { get set } var responseContentType:String? { get set } var hasExplicitResponseContentType:Bool? { get set } var items:[String:Object]? { get set } var headers:NameValueCollection? { get set } var queryString:NameValueCollection? { get set } var formData:NameValueCollection? { get set } var useBufferedStream:Bool? { get set } var rawUrl:String? { get set } var absoluteUri:String? { get set } var userHostAddress:String? { get set } var remoteIp:String? { get set } var authorization:String? { get set } var isSecureConnection:Bool? { get set } var acceptTypes:[String] { get set } var pathInfo:String? { get set } var originalPathInfo:String? { get set } var inputStream:Data? { get set } var contentLength:Int? { get set } var files:[IHttpFile] { get set } var urlReferrer:Uri? { get set } } public protocol IVirtualDirectory { } public protocol IVirtualPathProvider { //rootDirectory:IVirtualDirectory ignored. Swift doesn't support interface properties var virtualPathSeparator:String? { get set } var realPathSeparator:String? { get set } } public protocol IResponse { //originalResponse:Object ignored. Type could not be extended in Swift //request:IRequest ignored. Swift doesn't support interface properties var statusCode:Int? { get set } var statusDescription:String? { get set } var contentType:String? { get set } var outputStream:Data? { get set } //dto:Object ignored. Type could not be extended in Swift var useBufferedStream:Bool? { get set } var isClosed:Bool? { get set } var keepAlive:Bool? { get set } var hasStarted:Bool? { get set } var items:[String:Object]? { get set } } // @Flags() public enum RequestAttributes : Int, Codable { case None = 0 case Localhost = 1 case LocalSubnet = 2 case External = 4 case Secure = 8 case InSecure = 16 case AnySecurityMode = 24 case HttpHead = 32 case HttpGet = 64 case HttpPost = 128 case HttpPut = 256 case HttpDelete = 512 case HttpPatch = 1024 case HttpOptions = 2048 case HttpOther = 4096 case AnyHttpMethod = 8160 case OneWay = 8192 case Reply = 16384 case AnyCallStyle = 24576 case Soap11 = 32768 case Soap12 = 65536 case Xml = 131072 case Json = 262144 case Jsv = 524288 case ProtoBuf = 1048576 case Csv = 2097152 case Html = 4194304 case Wire = 8388608 case MsgPack = 16777216 case FormatOther = 33554432 case AnyFormat = 67076096 case Http = 67108864 case MessageQueue = 134217728 case Tcp = 268435456 case Grpc = 536870912 case EndpointOther = 1073741824 case AnyEndpoint = 2080374784 case InProcess = -2147483648 case InternalNetworkAccess = -2147483645 case AnyNetworkAccessType = -2147483641 case Any = -1 } public protocol IRequestPreferences { var acceptsBrotli:Bool? { get set } var acceptsDeflate:Bool? { get set } var acceptsGzip:Bool? { get set } }