/* Options: Date: 2026-01-27 19:04:56 SwiftVersion: 5.0 Version: 8.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://buildmax.org //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: GetConnections.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/connections", "GET") public class GetConnections : IReturn, Codable { public typealias Return = GetConnectionsResponse required public init(){} } public class GetConnectionsResponse : Codable { public var connections:[IConnectorConnection] = [] public var isAuthenticated:Bool required public init(){} } public protocol IUser : IIdTemplatesItem { var groups:ReadOnlyCollection { get set } var emailAddress:String { get set } var hasPassword:Bool { get set } var homeFolder:String { get set } var password:String { get set } var sbcUser:Bool? { get set } } public protocol IConnectorConnection : IStatus { var connectorId:String { get set } var Description:String { get set } var id:String { get set } var maxConnections:Int { get set } var name:String { get set } var permissions:ReadOnlyCollection { get set } var propertyDescriptions:ReadOnlyCollection { get set } //setupUser:IUser ignored. Swift doesn't support interface properties } public protocol IStatus : IInterface { var status:Bool? { get set } } public protocol IInterface { } public protocol IUserGroup : IIdTemplatesItem, IGroup { var users:ReadOnlyCollection { get set } } public protocol IIdTemplatesItem : IStatus { var id:String { get set } var name:String { get set } var Description:String { get set } var templates:ReadOnlyCollection { get set } } public protocol IConnectionPermission : IInterface { var allow:Bool { get set } //connection:IConnectorConnection ignored. Swift doesn't support interface properties var type:PermissionType { get set } } public protocol IConnectionPropertyDescription : IInterface { var Description:String { get set } var name:String { get set } var propertyId:String { get set } var propertyType:PropertyType { get set } } public protocol IGroup : IInterface { var useGroupSettings:Bool? { get set } } public enum PermissionType : String, Codable { case Group case User } public enum PropertyType : Int, Codable { case Binary = 1 case Boolean = 2 case ConnectionString = 3 case Credential = 4 case Integer = 5 case Picklist = 6 case String = 7 case OAuth2 = 8 case Certificate = 9 }