# frozen_string_literal: true # encoding: utf-8 # Options: =begin Date: 2026-08-13 23:53:23 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: UpdateProfile.* #ExcludeTypes: #AddNamespaces: #AddDefaultXmlNamespace: http://schemas.servicestack.net/types =end require 'json' require 'servicestack' module PlayerRole LEADER = 'Leader' PLAYER = 'Player' NON_PLAYER = 'NonPlayer' end module PlayerRegion AFRICA = 'Africa' AMERICAS = 'Americas' ASIA = 'Asia' AUSTRALASIA = 'Australasia' EUROPE = 'Europe' end module IReturn def response_type() = T def get_type_name() = 'IReturn' end module IPatchDb end class Profile < ServiceStack::AuditBase # @return [Integer] attr_accessor :id # @return [PlayerRole] attr_accessor :role # @return [PlayerRegion] attr_accessor :region # @return [String] attr_accessor :username # @return [Integer] attr_accessor :high_score # @return [Integer] attr_accessor :games_played # @return [Integer] attr_accessor :energy # @return [String] attr_accessor :profile_url # @return [String] attr_accessor :cover_url # @return [Dictionary] attr_accessor :meta def self.properties { id: { name: 'id' }, role: { name: 'role' }, region: { name: 'region' }, username: { name: 'username' }, high_score: { name: 'highScore' }, games_played: { name: 'gamesPlayed' }, energy: { name: 'energy' }, profile_url: { name: 'profileUrl' }, cover_url: { name: 'coverUrl' }, meta: { name: 'meta' }, } end end class UpdateProfile include ServiceStack::DTO # @return [Integer] attr_accessor :id # @return [PlayerRole] attr_accessor :role # @return [PlayerRegion] attr_accessor :region # @return [String] attr_accessor :username # @return [Integer] attr_accessor :high_score # @return [Integer] attr_accessor :games_played # @Validate(Validator: "InclusiveBetween(0,100)") # @return [Integer] attr_accessor :energy # @return [String] attr_accessor :profile_url # @return [String] attr_accessor :cover_url def self.properties { id: { name: 'id' }, role: { name: 'role' }, region: { name: 'region' }, username: { name: 'username' }, high_score: { name: 'highScore' }, games_played: { name: 'gamesPlayed' }, energy: { name: 'energy' }, profile_url: { name: 'profileUrl' }, cover_url: { name: 'coverUrl' }, } end def response_type() = ServiceStack::IdResponse def get_type_name() = 'UpdateProfile' def get_method() = 'PATCH' end