/* Options: Date: 2026-06-12 23:54:42 SwiftVersion: 6.0 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: CreateApiKey.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/apikeys", "POST") // @ApiResponse(Description="Returned if the current user is not authenticated", StatusCode=401) // @ApiResponse(Description="Returned if the current user does not have the required role", StatusCode=403) public class CreateApiKey : IReturn, ICompany, Codable { public typealias Return = ApiKeyResponse /** * The company to create the API key for. Defaults to the logged in user's company. Only a SuperAdmin may specify a company other than their own; for other roles this value is ignored. */ // @ApiMember(Description="The company to create the API key for. Defaults to the logged in user's company. Only a SuperAdmin may specify a company other than their own; for other roles this value is ignored.") public var companyId:String? /** * Optional contact email to register for the key. Defaults to the logged in user's email. */ // @ApiMember(Description="Optional contact email to register for the key. Defaults to the logged in user's email.") public var contactEmail:String? /** * Optional free text note for the key. */ // @ApiMember(Description="Optional free text note for the key.") public var notes:String? required public init(){} } public class ApiKeyResponse : Codable { /** * The company the API key belongs to */ // @ApiMember(Description="The company the API key belongs to") public var companyId:String? /** * The API key value to send in the x-api-key header */ // @ApiMember(Description="The API key value to send in the x-api-key header") public var apiKey:String? /** * Whether the key is active */ // @ApiMember(Description="Whether the key is active") public var active:Bool? /** * When the key was created */ // @ApiMember(Description="When the key was created") public var createdDate:Date? /** * When the key expires, if ever */ // @ApiMember(Description="When the key expires, if ever") public var expiryDate:Date? /** * Contact email registered for the key */ // @ApiMember(Description="Contact email registered for the key") public var contactEmail:String? /** * Free text notes for the key */ // @ApiMember(Description="Free text notes for the key") public var notes:String? /** * Comma separated list of IP addresses the key is restricted to, if any */ // @ApiMember(Description="Comma separated list of IP addresses the key is restricted to, if any") public var allowedIpAddresses:String? required public init(){} } public protocol ICompany { var companyId:String? { get set } }