/* Options: Date: 2026-04-09 01:06:45 SwiftVersion: 6.0 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bookmore.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: SettingsChangeLogQuery.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/settings/changelog", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ApiResponse(Description="You have too low privileges to call this service", StatusCode=403) // @ValidateRequest(Validator="IsAuthenticated") public class SettingsChangeLogQuery : QueryDb2, IReturn, ICompany { public typealias Return = QueryResponse /** * The company id, if empty will use the company id for the user you are logged in with. */ // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.", ParameterType="query") public var companyId:String? /** * Filter by settings type, e.g. BookingSettings, PaymentSettings, CompanySetting, EAccountingSettings */ // @ApiMember(Description="Filter by settings type, e.g. BookingSettings, PaymentSettings, CompanySetting, EAccountingSettings", ParameterType="query") public var settingsType:String? /** * Filter by property name, e.g. SendEmailReminder */ // @ApiMember(Description="Filter by property name, e.g. SendEmailReminder", ParameterType="query") public var propertyName:String? /** * Filter by who made the change */ // @ApiMember(Description="Filter by who made the change", ParameterType="query") public var modifiedBy:String? /** * Filter changes created on or after this date */ // @ApiMember(Description="Filter changes created on or after this date", ParameterType="query") public var createdDateGreaterThanOrEqualTo:Date? /** * Filter changes created on or before this date */ // @ApiMember(Description="Filter changes created on or before this date", ParameterType="query") public var createdDateLessThanOrEqualTo:Date? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case companyId case settingsType case propertyName case modifiedBy case createdDateGreaterThanOrEqualTo case createdDateLessThanOrEqualTo } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) companyId = try container.decodeIfPresent(String.self, forKey: .companyId) settingsType = try container.decodeIfPresent(String.self, forKey: .settingsType) propertyName = try container.decodeIfPresent(String.self, forKey: .propertyName) modifiedBy = try container.decodeIfPresent(String.self, forKey: .modifiedBy) createdDateGreaterThanOrEqualTo = try container.decodeIfPresent(Date.self, forKey: .createdDateGreaterThanOrEqualTo) createdDateLessThanOrEqualTo = try container.decodeIfPresent(Date.self, forKey: .createdDateLessThanOrEqualTo) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if companyId != nil { try container.encode(companyId, forKey: .companyId) } if settingsType != nil { try container.encode(settingsType, forKey: .settingsType) } if propertyName != nil { try container.encode(propertyName, forKey: .propertyName) } if modifiedBy != nil { try container.encode(modifiedBy, forKey: .modifiedBy) } if createdDateGreaterThanOrEqualTo != nil { try container.encode(createdDateGreaterThanOrEqualTo, forKey: .createdDateGreaterThanOrEqualTo) } if createdDateLessThanOrEqualTo != nil { try container.encode(createdDateLessThanOrEqualTo, forKey: .createdDateLessThanOrEqualTo) } } } public protocol ICompany { var companyId:String? { get set } } public class SettingsChangeLog : BaseModel, IBaseModelCreated { public var id:Int? // @Required() public var companyId:String? // @Required() // @StringLength(128) public var settingsType:String? // @Required() // @StringLength(256) public var propertyName:String? // @StringLength(Int32.max) public var oldValue:String? // @StringLength(Int32.max) public var newValue:String? // @StringLength(256) public var modifiedBy:String? // @Required() public var createdDate:Date? public var modifiedDate:Date? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case id case companyId case settingsType case propertyName case oldValue case newValue case modifiedBy case createdDate case modifiedDate } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) id = try container.decodeIfPresent(Int.self, forKey: .id) companyId = try container.decodeIfPresent(String.self, forKey: .companyId) settingsType = try container.decodeIfPresent(String.self, forKey: .settingsType) propertyName = try container.decodeIfPresent(String.self, forKey: .propertyName) oldValue = try container.decodeIfPresent(String.self, forKey: .oldValue) newValue = try container.decodeIfPresent(String.self, forKey: .newValue) modifiedBy = try container.decodeIfPresent(String.self, forKey: .modifiedBy) createdDate = try container.decodeIfPresent(Date.self, forKey: .createdDate) modifiedDate = try container.decodeIfPresent(Date.self, forKey: .modifiedDate) } 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 companyId != nil { try container.encode(companyId, forKey: .companyId) } if settingsType != nil { try container.encode(settingsType, forKey: .settingsType) } if propertyName != nil { try container.encode(propertyName, forKey: .propertyName) } if oldValue != nil { try container.encode(oldValue, forKey: .oldValue) } if newValue != nil { try container.encode(newValue, forKey: .newValue) } if modifiedBy != nil { try container.encode(modifiedBy, forKey: .modifiedBy) } if createdDate != nil { try container.encode(createdDate, forKey: .createdDate) } if modifiedDate != nil { try container.encode(modifiedDate, forKey: .modifiedDate) } } } public class SettingsChangeLogQueryResponse : Codable { /** * The change log entry id */ // @ApiMember(Description="The change log entry id") public var id:Int? /** * The company id */ // @ApiMember(Description="The company id") public var companyId:String? /** * The settings type that was changed, e.g. BookingSettings */ // @ApiMember(Description="The settings type that was changed, e.g. BookingSettings") public var settingsType:String? /** * The property name that was changed */ // @ApiMember(Description="The property name that was changed") public var propertyName:String? /** * The value before the change */ // @ApiMember(Description="The value before the change") public var oldValue:String? /** * The value after the change */ // @ApiMember(Description="The value after the change") public var newValue:String? /** * The user who made the change */ // @ApiMember(Description="The user who made the change") public var modifiedBy:String? /** * When the change was made */ // @ApiMember(Description="When the change was made") public var createdDate:Date? required public init(){} } public class BaseModel : Codable { required public init(){} } public protocol IBaseModelCreated { var createdDate:Date? { get set } }