MyApp

<back to all web services

QueryPlayer

Game
# frozen_string_literal: true
# encoding: utf-8


require 'json'
require 'servicestack'


module PhoneKind
    HOME = 'Home'
    MOBILE = 'Mobile'
    WORK = 'Work'
end

module PlayerRole
    LEADER = 'Leader'
    PLAYER = 'Player'
    NON_PLAYER = 'NonPlayer'
end

module PlayerRegion
    AFRICA = 'Africa'
    AMERICAS = 'Americas'
    ASIA = 'Asia'
    AUSTRALASIA = 'Australasia'
    EUROPE = 'Europe'
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 PlayerGameItem
    include ServiceStack::DTO

    # @return [Integer]
    attr_accessor :id
    # @References('Player')
    # @return [Integer]
    attr_accessor :player_id

    # @References('GameItem')
    # @return [String]
    attr_accessor :game_item_name

    def self.properties
        {
            id: { name: 'id' },
            player_id: { name: 'playerId' },
            game_item_name: { name: 'gameItemName' },
        }
    end

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 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', type: [PlayerGameItem] },
            profile: { name: 'profile', type: Profile },
            profile_id: { name: 'profileId' },
            saved_level_id: { name: 'savedLevelId' },
            row_version: { name: 'rowVersion' },
        }
    end

end

class QueryPlayer < ServiceStack::QueryDb
end

class Todo
    include ServiceStack::DTO

    # @return [Integer]
    attr_accessor :id
    # @return [String]
    attr_accessor :text
    # @return [TrueClass]
    attr_accessor :is_finished

    def self.properties
        {
            id: { name: 'id' },
            text: { name: 'text' },
            is_finished: { name: 'isFinished' },
        }
    end

end

Ruby QueryPlayer DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /xml/reply/QueryPlayer HTTP/1.1 
Host: blazor-gallery.servicestack.net 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<QueryPlayer xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel">
  <Skip xmlns="http://schemas.servicestack.net/types">0</Skip>
  <Take xmlns="http://schemas.servicestack.net/types">0</Take>
  <OrderBy xmlns="http://schemas.servicestack.net/types">String</OrderBy>
  <OrderByDesc xmlns="http://schemas.servicestack.net/types">String</OrderByDesc>
  <Include xmlns="http://schemas.servicestack.net/types">String</Include>
  <Fields xmlns="http://schemas.servicestack.net/types">String</Fields>
  <Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>String</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </Meta>
</QueryPlayer>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<QueryResponseOfPlayertlJ4_P31p xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <Offset>0</Offset>
  <Total>0</Total>
  <Results xmlns:d2p1="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel">
    <d2p1:Player>
      <CreatedDate>0001-01-01T00:00:00</CreatedDate>
      <CreatedBy>String</CreatedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <ModifiedBy>String</ModifiedBy>
      <DeletedDate>0001-01-01T00:00:00</DeletedDate>
      <DeletedBy>String</DeletedBy>
      <d2p1:Email>String</d2p1:Email>
      <d2p1:FirstName>String</d2p1:FirstName>
      <d2p1:GameItems>
        <d2p1:PlayerGameItem>
          <d2p1:GameItemName>String</d2p1:GameItemName>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:PlayerId>0</d2p1:PlayerId>
        </d2p1:PlayerGameItem>
      </d2p1:GameItems>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:LastName>String</d2p1:LastName>
      <d2p1:PhoneNumbers>
        <d2p1:Phone>
          <d2p1:Ext>String</d2p1:Ext>
          <d2p1:Kind>Home</d2p1:Kind>
          <d2p1:Number>String</d2p1:Number>
        </d2p1:Phone>
      </d2p1:PhoneNumbers>
      <d2p1:Profile>
        <CreatedDate>0001-01-01T00:00:00</CreatedDate>
        <CreatedBy>String</CreatedBy>
        <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
        <ModifiedBy>String</ModifiedBy>
        <DeletedDate>0001-01-01T00:00:00</DeletedDate>
        <DeletedBy>String</DeletedBy>
        <d2p1:CoverUrl>String</d2p1:CoverUrl>
        <d2p1:Energy>0</d2p1:Energy>
        <d2p1:GamesPlayed>0</d2p1:GamesPlayed>
        <d2p1:HighScore>0</d2p1:HighScore>
        <d2p1:Id>0</d2p1:Id>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
        <d2p1:ProfileUrl>String</d2p1:ProfileUrl>
        <d2p1:Region>Africa</d2p1:Region>
        <d2p1:Role>Leader</d2p1:Role>
        <d2p1:Username>String</d2p1:Username>
      </d2p1:Profile>
      <d2p1:ProfileId>0</d2p1:ProfileId>
      <d2p1:RowVersion>0</d2p1:RowVersion>
      <d2p1:SavedLevelId>00000000-0000-0000-0000-000000000000</d2p1:SavedLevelId>
    </d2p1:Player>
  </Results>
  <Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>String</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </Meta>
  <ResponseStatus>
    <ErrorCode>String</ErrorCode>
    <Message>String</Message>
    <StackTrace>String</StackTrace>
    <Errors>
      <ResponseError>
        <ErrorCode>String</ErrorCode>
        <FieldName>String</FieldName>
        <Message>String</Message>
        <Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </Meta>
      </ResponseError>
    </Errors>
    <Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </Meta>
  </ResponseStatus>
</QueryResponseOfPlayertlJ4_P31p>