""" Options: Date: 2024-11-24 13:28:06 Version: 6.50 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://clubready.com/api/current #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: UserAccountRequest.* #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 RestrictedResourceType(str, Enum): STORE = 'Store' CHAIN = 'Chain' USER = 'User' UNDEFINED = 'Undefined' class IRestrictedApiRequest(IApiKeyEndpoint): restricted_id: Optional[int] = None restricted_resource_type: Optional[RestrictedResourceType] = None class IApiKeyEndpoint: api_key: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ApiDtoBase: api_key: Optional[str] = None store_id: Optional[int] = None chain_id: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class UserAccountRequestDto(ApiDtoBase): user_id: int = 0 first_name: Optional[str] = None last_name: Optional[str] = None home_phone: Optional[str] = None cell_phone: Optional[str] = None address1: Optional[str] = None city: Optional[str] = None state: Optional[str] = None zip: Optional[str] = None email: Optional[str] = None gender: Optional[str] = None date_of_birth: Optional[datetime.datetime] = None username: Optional[str] = None external_id: Optional[str] = None emergency_contact_name: Optional[str] = None emergency_contact_phone: Optional[str] = None emergency_contact_type: Optional[str] = None prospect_type_id: Optional[int] = None # @Route("/users/{UserId}", "PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class UserAccountRequest(UserAccountRequestDto, IRestrictedApiRequest): # @ApiMember(DataType="string", Description="Api Key - grants access to resources", IsRequired=true, Name="ApiKey", ParameterType="query") api_key: Optional[str] = None """ Api Key - grants access to resources """ # @ApiMember(DataType="integer", Description="", IsRequired=true, Name="UserId", ParameterType="query") user_id: int = 0 """ """ # @ApiMember(DataType="integer", Description="StoreId OR ChainId is required", Name="StoreId", ParameterType="query") store_id: Optional[int] = None """ StoreId OR ChainId is required """ # @ApiMember(DataType="integer", Description="StoreId OR ChainId is required", Name="ChainId", ParameterType="query") chain_id: Optional[int] = None """ StoreId OR ChainId is required """ # @ApiMember(DataType="string", Description="", Name="FirstName", ParameterType="query") first_name: Optional[str] = None """ """ # @ApiMember(DataType="string", Description="", Name="LastName", ParameterType="query") last_name: Optional[str] = None """ """ # @ApiMember(DataType="string", Description="", Name="HomePhone", ParameterType="query") home_phone: Optional[str] = None """ """ # @ApiMember(DataType="string", Description="", Name="CellPhone", ParameterType="query") cell_phone: Optional[str] = None """ """ # @ApiMember(DataType="string", Description="", Name="Address1", ParameterType="query") address1: Optional[str] = None """ """ # @ApiMember(DataType="string", Description="", Name="City", ParameterType="query") city: Optional[str] = None """ """ # @ApiMember(DataType="string", Description="(Format:2 characters; Example:'MO')", Name="State", ParameterType="query") state: Optional[str] = None """ (Format:2 characters; Example:'MO') """ # @ApiMember(DataType="string", Description="", Name="Zip", ParameterType="query") zip: Optional[str] = None """ """ # @ApiMember(DataType="string", Description="", Name="Email", ParameterType="query") email: Optional[str] = None """ """ # @ApiMember(DataType="string", Description="Gender (Format:'M'|'F')", Name="Gender", ParameterType="query") gender: Optional[str] = None """ Gender (Format:'M'|'F') """ # @ApiMember(DataType="date", Description="Date of Birth (Format:YYYY-MM-DD)", Name="DateOfBirth", ParameterType="query") date_of_birth: Optional[datetime.datetime] = None """ Date of Birth (Format:YYYY-MM-DD) """ # @ApiMember(DataType="string", Description="Username should be between 4 and 255 characters long", Name="Username", ParameterType="query") username: Optional[str] = None """ Username should be between 4 and 255 characters long """ # @ApiMember(DataType="string", Description="Unique ID for the user from your system. We store internally as ExternalUserId", Name="ExternalId", ParameterType="query") external_id: Optional[str] = None """ Unique ID for the user from your system. We store internally as ExternalUserId """ # @ApiMember(DataType="string", Description="Emergency contact name", Name="EmergencyContactName", ParameterType="query") emergency_contact_name: Optional[str] = None """ Emergency contact name """ # @ApiMember(DataType="string", Description="Emergency contact phone number", Name="EmergencyContactPhone", ParameterType="query") emergency_contact_phone: Optional[str] = None """ Emergency contact phone number """ # @ApiMember(DataType="string", Description="Emergency contact relationship", Name="EmergencyContactType", ParameterType="query") emergency_contact_type: Optional[str] = None """ Emergency contact relationship """ # @ApiMember(DataType="integer", Description="Prospect Type Id", Name="ProspectTypeId", ParameterType="query") prospect_type_id: Optional[int] = None """ Prospect Type Id """ restricted_id: Optional[int] = None restricted_resource_type: Optional[RestrictedResourceType] = None