# frozen_string_literal: true # encoding: utf-8 # Options: =begin Date: 2026-08-21 17:58:56 Version: 10.09 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://blazor-gallery.servicestack.net #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: CreatePlayer.* #ExcludeTypes: #AddNamespaces: #AddDefaultXmlNamespace: http://schemas.servicestack.net/types =end require 'json' require 'servicestack' module PhoneKind HOME = 'Home' MOBILE = 'Mobile' WORK = 'Work' end module IReturn def response_type() = T def get_type_name() = 'IReturn' end module ICreateDb end class Phone include ServiceStack::DTO # @return [PhoneKind] attr_accessor :kind # @return [String] attr_accessor :number # @return [String] attr_accessor :ext def self.properties { kind: { name: 'kind' }, number: { name: 'number' }, ext: { name: 'ext' }, } end end class Player < ServiceStack::AuditBase # @return [Integer] attr_accessor :id # @Required # @return [String] attr_accessor :first_name # @return [String] attr_accessor :last_name # @return [String] attr_accessor :email # @return [List] attr_accessor :phone_numbers # @return [List] attr_accessor :game_items # @return [Profile] attr_accessor :profile # @return [Integer] attr_accessor :profile_id # @return [String] attr_accessor :saved_level_id # @return [Integer] attr_accessor :row_version def self.properties { id: { name: 'id' }, first_name: { name: 'firstName' }, last_name: { name: 'lastName' }, email: { name: 'email' }, phone_numbers: { name: 'phoneNumbers', type: [Phone] }, game_items: { name: 'gameItems' }, profile: { name: 'profile' }, profile_id: { name: 'profileId' }, saved_level_id: { name: 'savedLevelId' }, row_version: { name: 'rowVersion' }, } end end class CreatePlayer include ServiceStack::DTO # @Validate(Validator: "NotEmpty") # @return [String] attr_accessor :first_name # @return [String] attr_accessor :last_name # @return [String] attr_accessor :email # @return [List] attr_accessor :phone_numbers # @Validate(Validator: "NotNull") # @return [Integer] attr_accessor :profile_id # @return [String] attr_accessor :saved_level_id def self.properties { first_name: { name: 'firstName' }, last_name: { name: 'lastName' }, email: { name: 'email' }, phone_numbers: { name: 'phoneNumbers', type: [Phone] }, profile_id: { name: 'profileId' }, saved_level_id: { name: 'savedLevelId' }, } end def response_type() = ServiceStack::IdResponse def get_type_name() = 'CreatePlayer' def get_method() = 'POST' end