import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
import com.google.gson.annotations.*;
import com.google.gson.reflect.*;
public class dtos
{
public static class QueryPlayer extends QueryDb<Player>
{
}
public static class QueryDb<T> extends QueryBase
{
}
@DataContract
public static class QueryBase
{
@DataMember(Order=1)
public Integer skip = null;
@DataMember(Order=2)
public Integer take = null;
@DataMember(Order=3)
public String orderBy = null;
@DataMember(Order=4)
public String orderByDesc = null;
@DataMember(Order=5)
public String include = null;
@DataMember(Order=6)
public String fields = null;
@DataMember(Order=7)
public HashMap<String,String> meta = null;
public Integer getSkip() { return skip; }
public QueryBase setSkip(Integer value) { this.skip = value; return this; }
public Integer getTake() { return take; }
public QueryBase setTake(Integer value) { this.take = value; return this; }
public String getOrderBy() { return orderBy; }
public QueryBase setOrderBy(String value) { this.orderBy = value; return this; }
public String getOrderByDesc() { return orderByDesc; }
public QueryBase setOrderByDesc(String value) { this.orderByDesc = value; return this; }
public String getInclude() { return include; }
public QueryBase setInclude(String value) { this.include = value; return this; }
public String getFields() { return fields; }
public QueryBase setFields(String value) { this.fields = value; return this; }
public HashMap<String,String> getMeta() { return meta; }
public QueryBase setMeta(HashMap<String,String> value) { this.meta = value; return this; }
}
public static class Player extends AuditBase
{
public Integer id = null;
@Required()
public String firstName = null;
public String lastName = null;
public String email = null;
public ArrayList<Phone> phoneNumbers = new ArrayList<Phone>();
public ArrayList<PlayerGameItem> gameItems = new ArrayList<PlayerGameItem>();
public Profile profile = null;
public Integer profileId = null;
public UUID savedLevelId = null;
public BigInteger rowVersion = null;
public Integer getId() { return id; }
public Player setId(Integer value) { this.id = value; return this; }
public String getFirstName() { return firstName; }
public Player setFirstName(String value) { this.firstName = value; return this; }
public String getLastName() { return lastName; }
public Player setLastName(String value) { this.lastName = value; return this; }
public String getEmail() { return email; }
public Player setEmail(String value) { this.email = value; return this; }
public ArrayList<Phone> getPhoneNumbers() { return phoneNumbers; }
public Player setPhoneNumbers(ArrayList<Phone> value) { this.phoneNumbers = value; return this; }
public ArrayList<PlayerGameItem> getGameItems() { return gameItems; }
public Player setGameItems(ArrayList<PlayerGameItem> value) { this.gameItems = value; return this; }
public Profile getProfile() { return profile; }
public Player setProfile(Profile value) { this.profile = value; return this; }
public Integer getProfileId() { return profileId; }
public Player setProfileId(Integer value) { this.profileId = value; return this; }
public UUID getSavedLevelId() { return savedLevelId; }
public Player setSavedLevelId(UUID value) { this.savedLevelId = value; return this; }
public BigInteger getRowVersion() { return rowVersion; }
public Player setRowVersion(BigInteger value) { this.rowVersion = value; return this; }
}
@DataContract
public static class AuditBase
{
@DataMember(Order=1)
public Date createdDate = null;
@DataMember(Order=2)
@Required()
public String createdBy = null;
@DataMember(Order=3)
public Date modifiedDate = null;
@DataMember(Order=4)
@Required()
public String modifiedBy = null;
@DataMember(Order=5)
public Date deletedDate = null;
@DataMember(Order=6)
public String deletedBy = null;
public Date getCreatedDate() { return createdDate; }
public AuditBase setCreatedDate(Date value) { this.createdDate = value; return this; }
public String getCreatedBy() { return createdBy; }
public AuditBase setCreatedBy(String value) { this.createdBy = value; return this; }
public Date getModifiedDate() { return modifiedDate; }
public AuditBase setModifiedDate(Date value) { this.modifiedDate = value; return this; }
public String getModifiedBy() { return modifiedBy; }
public AuditBase setModifiedBy(String value) { this.modifiedBy = value; return this; }
public Date getDeletedDate() { return deletedDate; }
public AuditBase setDeletedDate(Date value) { this.deletedDate = value; return this; }
public String getDeletedBy() { return deletedBy; }
public AuditBase setDeletedBy(String value) { this.deletedBy = value; return this; }
}
public static class Phone
{
public PhoneKind kind = null;
public String number = null;
public String ext = null;
public PhoneKind getKind() { return kind; }
public Phone setKind(PhoneKind value) { this.kind = value; return this; }
public String getNumber() { return number; }
public Phone setNumber(String value) { this.number = value; return this; }
public String getExt() { return ext; }
public Phone setExt(String value) { this.ext = value; return this; }
}
public static enum PhoneKind
{
Home,
Mobile,
Work;
}
public static class PlayerGameItem
{
public Integer id = null;
@References(Type=Player.class)
public Integer playerId = null;
@References(Type=GameItem.class)
public String gameItemName = null;
public Integer getId() { return id; }
public PlayerGameItem setId(Integer value) { this.id = value; return this; }
public Integer getPlayerId() { return playerId; }
public PlayerGameItem setPlayerId(Integer value) { this.playerId = value; return this; }
public String getGameItemName() { return gameItemName; }
public PlayerGameItem setGameItemName(String value) { this.gameItemName = value; return this; }
}
public static class Profile extends AuditBase
{
public Integer id = null;
public PlayerRole role = null;
public PlayerRegion region = null;
public String username = null;
public Long highScore = null;
public Long gamesPlayed = null;
public Integer energy = null;
public String profileUrl = null;
public String coverUrl = null;
public HashMap<String,String> meta = null;
public Integer getId() { return id; }
public Profile setId(Integer value) { this.id = value; return this; }
public PlayerRole getRole() { return role; }
public Profile setRole(PlayerRole value) { this.role = value; return this; }
public PlayerRegion getRegion() { return region; }
public Profile setRegion(PlayerRegion value) { this.region = value; return this; }
public String getUsername() { return username; }
public Profile setUsername(String value) { this.username = value; return this; }
public Long getHighScore() { return highScore; }
public Profile setHighScore(Long value) { this.highScore = value; return this; }
public Long getGamesPlayed() { return gamesPlayed; }
public Profile setGamesPlayed(Long value) { this.gamesPlayed = value; return this; }
public Integer getEnergy() { return energy; }
public Profile setEnergy(Integer value) { this.energy = value; return this; }
public String getProfileUrl() { return profileUrl; }
public Profile setProfileUrl(String value) { this.profileUrl = value; return this; }
public String getCoverUrl() { return coverUrl; }
public Profile setCoverUrl(String value) { this.coverUrl = value; return this; }
public HashMap<String,String> getMeta() { return meta; }
public Profile setMeta(HashMap<String,String> value) { this.meta = value; return this; }
}
public static enum PlayerRole
{
Leader,
Player,
NonPlayer;
}
public static enum PlayerRegion
{
Africa(1),
Americas(2),
Asia(3),
Australasia(4),
Europe(5);
private final int value;
PlayerRegion(final int intValue) { value = intValue; }
public int getValue() { return value; }
}
@DataContract
public static class QueryResponse<T>
{
@DataMember(Order=1)
public Integer offset = null;
@DataMember(Order=2)
public Integer total = null;
@DataMember(Order=3)
public ArrayList<Todo> results = null;
@DataMember(Order=4)
public HashMap<String,String> meta = null;
@DataMember(Order=5)
public ResponseStatus responseStatus = null;
public Integer getOffset() { return offset; }
public QueryResponse<T> setOffset(Integer value) { this.offset = value; return this; }
public Integer getTotal() { return total; }
public QueryResponse<T> setTotal(Integer value) { this.total = value; return this; }
public ArrayList<Todo> getResults() { return results; }
public QueryResponse<T> setResults(ArrayList<Todo> value) { this.results = value; return this; }
public HashMap<String,String> getMeta() { return meta; }
public QueryResponse<T> setMeta(HashMap<String,String> value) { this.meta = value; return this; }
public ResponseStatus getResponseStatus() { return responseStatus; }
public QueryResponse<T> setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
}
public static class Todo
{
public Long id = null;
public String text = null;
public Boolean isFinished = null;
public Long getId() { return id; }
public Todo setId(Long value) { this.id = value; return this; }
public String getText() { return text; }
public Todo setText(String value) { this.text = value; return this; }
public Boolean getIsFinished() { return isFinished; }
public Todo setIsFinished(Boolean value) { this.isFinished = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/QueryPlayer HTTP/1.1
Host: blazor-gallery.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
skip: 0,
take: 0,
orderBy: String,
orderByDesc: String,
include: String,
fields: String,
meta:
{
String: String
}
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { offset: 0, total: 0, results: [ { id: 0, firstName: String, lastName: String, email: String, phoneNumbers: [ { kind: Home, number: String, ext: String } ], gameItems: [ { id: 0, playerId: 0, gameItemName: String } ], profile: { id: 0, role: Leader, region: Africa, username: String, highScore: 0, gamesPlayed: 0, energy: 0, profileUrl: String, coverUrl: String, meta: { String: String }, createdDate: 0001-01-01, createdBy: String, modifiedDate: 0001-01-01, modifiedBy: String, deletedDate: 0001-01-01, deletedBy: String }, profileId: 0, savedLevelId: 00000000000000000000000000000000, rowVersion: 0, createdDate: 0001-01-01, createdBy: String, modifiedDate: 0001-01-01, modifiedBy: String, deletedDate: 0001-01-01, deletedBy: String } ], meta: { String: String }, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }