""" Options: Date: 2026-01-27 18:59:15 Version: 8.40 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://buildmax.org #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: PostConnections.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum class IUser(IIdTemplatesItem): groups: Optional[ReadOnlyCollection[IUserGroup]] = None email_address: Optional[str] = None has_password: bool = False home_folder: Optional[str] = None password: Optional[str] = None sbc_user: Optional[bool] = None class IUserGroup(IIdTemplatesItem, IGroup): users: Optional[ReadOnlyCollection[IUser]] = None class PropertyType(IntEnum): BINARY = 1 BOOLEAN = 2 CONNECTION_STRING = 3 CREDENTIAL = 4 INTEGER = 5 PICKLIST = 6 STRING = 7 O_AUTH2 = 8 CERTIFICATE = 9 class IConnectionPropertyDescription(IInterface): description: Optional[str] = None name: Optional[str] = None property_id: Optional[str] = None property_type: Optional[PropertyType] = None class IConnectorConnection(IStatus): connector_id: Optional[str] = None description: Optional[str] = None id: Optional[str] = None max_connections: int = 0 name: Optional[str] = None permissions: Optional[ReadOnlyCollection[IConnectionPermission]] = None property_descriptions: Optional[ReadOnlyCollection[IConnectionPropertyDescription]] = None setup_user: Optional[IUser] = None class PermissionType(str, Enum): GROUP = 'Group' USER = 'User' class IConnectionPermission(IInterface): allow: bool = False connection: Optional[IConnectorConnection] = None type: Optional[PermissionType] = None class IStatus(IInterface): status: Optional[bool] = None class IInterface: pass class IIdTemplatesItem(IStatus): id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None templates: Optional[ReadOnlyCollection[str]] = None class IGroup(IInterface): use_group_settings: Optional[bool] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetConnectionsResponse: connections: Optional[List[IConnectorConnection]] = None is_authenticated: bool = False # @Route("/connections", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PostConnections(IReturn[GetConnectionsResponse]): login_command: Optional[str] = None logout_command: Optional[str] = None password: Optional[str] = None save_command: Optional[str] = None user_name: Optional[str] = None