/* Options: Date: 2024-11-21 16:47:14 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: CreateResourceType.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/resourcetypes", "POST") // @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 CreateResourceType : IReturn, ICompany, Codable { public typealias Return = ResourceTypeQueryResponse /** * 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.") public var companyId:String? /** * The resourcetype name */ // @ApiMember(Description="The resourcetype name") public var name:String /** * The resources to be included */ // @ApiMember(Description="The resources to be included") public var resources:[AddResourceTypeResource] = [] /** * The resourcetype description */ // @ApiMember(Description="The resourcetype description") public var Description:String /** * If resourcetype is active or not */ // @ApiMember(Description="If resourcetype is active or not") public var active:Bool required public init(){} } public class ResourceTypeQueryResponse : Codable { /** * The resourcetype id */ // @ApiMember(Description="The resourcetype id") public var id:Int /** * The resourcetype name */ // @ApiMember(Description="The resourcetype name") public var name:String /** * The resourcetype description */ // @ApiMember(Description="The resourcetype description") public var Description:String /** * The resources in the resourcetype. Only shows active resources if not admin. */ // @ApiMember(Description="The resources in the resourcetype. Only shows active resources if not admin.") public var resources:[ResourceTypeResource] = [] /** * If resourcetype is active or not */ // @ApiMember(Description="If resourcetype is active or not") public var active:Bool /** * Then date when the resource was created */ // @ApiMember(Description="Then date when the resource was created") public var created:Date /** * Then date when the resource was updated */ // @ApiMember(Description="Then date when the resource was updated") public var updated:Date required public init(){} } public protocol ICompany { var companyId:String? { get set } } public class AddResourceTypeResource : Codable { /** * The resource id */ // @ApiMember(Description="The resource id") public var id:Int /** * The priority of the resource. If no priority is set it will take random resource when booking a time. */ // @ApiMember(Description="The priority of the resource. If no priority is set it will take random resource when booking a time.") public var priority:Int required public init(){} } public class ResourceTypeResource : Codable { /** * The resource id */ // @ApiMember(Description="The resource id") public var id:Int /** * The resource name */ // @ApiMember(Description="The resource name") public var name:String /** * The resource status */ // @ApiMember(Description="The resource status") public var active:Bool /** * The resource description */ // @ApiMember(Description="The resource description") public var Description:String /** * The resource email */ // @ApiMember(Description="The resource email") public var email:String /** * The resource phone */ // @ApiMember(Description="The resource phone") public var phone:String /** * The resource color */ // @ApiMember(Description="The resource color") public var color:String /** * The resource image */ // @ApiMember(Description="The resource image") public var imageUrl:Uri /** * The priority of the resource */ // @ApiMember(Description="The priority of the resource") public var priority:Int /** * If the resource want to receive email notifications */ // @ApiMember(Description="If the resource want to receive email notifications") public var emailNotification:Bool /** * If the resource want to receive sms notifications */ // @ApiMember(Description="If the resource want to receive sms notifications") public var smsNotification:Bool /** * If the resource want to receive email reminders */ // @ApiMember(Description="If the resource want to receive email reminders") public var emailReminder:Bool /** * If the resource want to receive sms reminders */ // @ApiMember(Description="If the resource want to receive sms reminders") public var smsReminder:Bool required public init(){} }