/* Options: Date: 2024-07-03 12:57:34 SwiftVersion: 5.0 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: BookingLogQuery.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/bookinglog", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403) // @ValidateRequest(Validator="IsAuthenticated") public class BookingLogQuery : QueryDb2, IReturn { public typealias Return = QueryResponse /** * Enter the company and booking id you want to see log for, if blank company id and you are an admin, your company id will be used */ // @ApiMember(Description="Enter the company and booking id you want to see log for, if blank company id and you are an admin, your company id will be used", IsRequired=true, ParameterType="query") public var companyId:String? /** * Enter the booking id you want to get the log */ // @ApiMember(Description="Enter the booking id you want to get the log", IsRequired=true, ParameterType="query") public var bookingId:Int required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case companyId case bookingId } 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) bookingId = try container.decodeIfPresent(Int.self, forKey: .bookingId) } 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 bookingId != nil { try container.encode(bookingId, forKey: .bookingId) } } } public class BookingLog : BaseModel { // @References(typeof(BookingLogEventType)) public var eventTypeId:Int public var eventType:BookingLogEventType // @Required() public var companyId:String? // @Required() public var bookingId:Int? public var id:Int public var comments:String public var userId:String // @Required() public var created:Date? public var modifiedDate:Date? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case eventTypeId case eventType case companyId case bookingId case id case comments case userId case created case modifiedDate } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) eventTypeId = try container.decodeIfPresent(Int.self, forKey: .eventTypeId) eventType = try container.decodeIfPresent(BookingLogEventType.self, forKey: .eventType) companyId = try container.decodeIfPresent(String.self, forKey: .companyId) bookingId = try container.decodeIfPresent(Int.self, forKey: .bookingId) id = try container.decodeIfPresent(Int.self, forKey: .id) comments = try container.decodeIfPresent(String.self, forKey: .comments) userId = try container.decodeIfPresent(String.self, forKey: .userId) created = try container.decodeIfPresent(Date.self, forKey: .created) 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 eventTypeId != nil { try container.encode(eventTypeId, forKey: .eventTypeId) } if eventType != nil { try container.encode(eventType, forKey: .eventType) } if companyId != nil { try container.encode(companyId, forKey: .companyId) } if bookingId != nil { try container.encode(bookingId, forKey: .bookingId) } if id != nil { try container.encode(id, forKey: .id) } if comments != nil { try container.encode(comments, forKey: .comments) } if userId != nil { try container.encode(userId, forKey: .userId) } if created != nil { try container.encode(created, forKey: .created) } if modifiedDate != nil { try container.encode(modifiedDate, forKey: .modifiedDate) } } } public class BookingLogEventTypeResponse : Codable { /** * The event type id */ // @ApiMember(Description="The event type id") public var id:Int /** * The event type name */ // @ApiMember(Description="The event type name") public var name:String /** * The event type description */ // @ApiMember(Description="The event type description") public var Description:String required public init(){} } public class BaseModel : Codable { required public init(){} } public class BookingLogEventType : BaseModel { // @Required() public var name:String? // @Required() public var Description:String? public var modifiedDate:Date? // @Required() public var id:Int? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case name case Description case modifiedDate case id } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) name = try container.decodeIfPresent(String.self, forKey: .name) Description = try container.decodeIfPresent(String.self, forKey: .Description) modifiedDate = try container.decodeIfPresent(Date.self, forKey: .modifiedDate) id = try container.decodeIfPresent(Int.self, forKey: .id) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if name != nil { try container.encode(name, forKey: .name) } if Description != nil { try container.encode(Description, forKey: .Description) } if modifiedDate != nil { try container.encode(modifiedDate, forKey: .modifiedDate) } if id != nil { try container.encode(id, forKey: .id) } } } public class BookingLogQueryResponse : Codable { /** * The booking log id */ // @ApiMember(Description="The booking log id") public var id:Int /** * The booking id */ // @ApiMember(Description="The booking id") public var bookingId:Int /** * The type of event */ // @ApiMember(Description="The type of event") public var eventTypeId:Int /** * The type of event */ // @ApiMember(Description="The type of event") public var eventType:BookingLogEventTypeResponse /** * Comments that could be added to the event log item */ // @ApiMember(Description="Comments that could be added to the event log item") public var comments:String /** * The user created the event */ // @ApiMember(Description="The user created the event") public var userName:String /** * Then date when the event occured */ // @ApiMember(Description="Then date when the event occured") public var created:Date required public init(){} }