# frozen_string_literal: true # encoding: utf-8 # Options: =begin Date: 2026-11-07 02:58:09 Version: 10.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bettor.webhop.biz #MakePartial: True #MakeVirtual: True #MakeInternal: False #MakeDataContractsExtensible: False #AddReturnMarker: True #AddDescriptionAsComments: True #AddDataContractAttributes: False #AddIndexesToDataMembers: False #AddGeneratedCodeAttributes: False #AddResponseStatus: False #AddImplicitVersion: #InitializeCollections: False #ExportValueTypes: False IncludeTypes: RegisterUserAccount.* #ExcludeTypes: #AddNamespaces: #AddDefaultXmlNamespace: http://schemas.servicestack.net/types =end require 'json' require 'servicestack' module IReturn def response_type() = T def get_type_name() = 'IReturn' end class Ref include ServiceStack::DTO # @return [String] attr_accessor :id # @return [String] attr_accessor :val def self.properties { id: { name: 'id' }, val: { name: 'val' }, } end end class GPSCoordinates include ServiceStack::DTO # @return [Float] attr_accessor :lat # @return [Float] attr_accessor :lng def self.properties { lat: { name: 'lat' }, lng: { name: 'lng' }, } end end class Address include ServiceStack::DTO # @return [String] attr_accessor :street # @return [String] attr_accessor :city # @return [String] attr_accessor :state # @return [String] attr_accessor :postal_code # @return [Ref] attr_accessor :country # @return [GPSCoordinates] attr_accessor :gps # @return [RecordDictionary] attr_accessor :data def self.properties { street: { name: 'street' }, city: { name: 'city' }, state: { name: 'state' }, postal_code: { name: 'postalCode' }, country: { name: 'country', type: Ref }, gps: { name: 'gps', type: GPSCoordinates }, data: { name: 'data', type: RecordDictionary }, } end end class RecordDictionary < Hash end class RecordList < Array end class LoginCredentials include ServiceStack::DTO # @return [String] attr_accessor :username # @return [String] attr_accessor :password def self.properties { username: { name: 'username' }, password: { name: 'password' }, } end end class Name include ServiceStack::DTO # @return [String] attr_accessor :first # @return [String] attr_accessor :last # @return [String] attr_accessor :full def self.properties { first: { name: 'first' }, last: { name: 'last' }, full: { name: 'full' }, } end end class ContactInfo include ServiceStack::DTO # @return [String] attr_accessor :phone # @return [String] attr_accessor :email def self.properties { phone: { name: 'phone' }, email: { name: 'email' }, } end end class Person include ServiceStack::DTO # @return [Name] attr_accessor :name # @return [Address] attr_accessor :address # @return [DateTime] attr_accessor :date_of_birth # @return [ContactInfo] attr_accessor :contact_info def self.properties { name: { name: 'name', type: Name }, address: { name: 'address', type: Address }, date_of_birth: { name: 'dateOfBirth', type: DateTime }, contact_info: { name: 'contactInfo', type: ContactInfo }, } end end class AvatarImage include ServiceStack::DTO # @return [String] attr_accessor :base64 # @return [String] attr_accessor :tag def self.properties { base64: { name: 'base64' }, tag: { name: 'tag' }, } end end class NewUserDTO include ServiceStack::DTO # @return [String] attr_accessor :external_user_id # @return [LoginCredentials] attr_accessor :credentials # @return [Person] attr_accessor :person # @return [RecordList] attr_accessor :roles # @return [AvatarImage] attr_accessor :avatar def self.properties { external_user_id: { name: 'externalUserId' }, credentials: { name: 'credentials', type: LoginCredentials }, person: { name: 'person', type: Person }, roles: { name: 'roles', type: RecordList }, avatar: { name: 'avatar', type: AvatarImage }, } end end # @Route("/cmd/users/register", "POST") class RegisterUserAccount include ServiceStack::DTO # @return [String] attr_accessor :id # @return [NewUserDTO] attr_accessor :new_user_d_t_o def self.properties { id: { name: 'id' }, new_user_d_t_o: { name: 'newUserDTO', type: NewUserDTO }, } end def response_type() = ServiceStack::ResponseStatus def get_type_name() = 'RegisterUserAccount' def get_method() = 'POST' end