| All Verbs | /qry/games/catalogue |
|---|
#![allow(
dead_code,
non_camel_case_types,
non_snake_case,
clippy::upper_case_acronyms
)]
use serde::{Deserialize, Serialize};
use serde_json::Value;
use std::collections::HashMap;
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct QueryRequest {
pub qry: RecordDictionary,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct PaginatedQueryRequest {
#[serde(flatten)]
pub query_request: QueryRequest,
#[serde(rename = "currentPage")]
pub current_page: i32,
#[serde(rename = "pageSize")]
pub page_size: i32,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct FindGameCatalogueItem {
#[serde(flatten)]
pub paginated_query_request: PaginatedQueryRequest,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct RecordDictionary(pub HashMap<TKey, TVal>);
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct ResponseMetrics {
pub id: i64,
pub rqc: i32,
pub oc: i32,
pub sc: i32,
pub tc: i32,
pub adr: i32,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct PaginatedResult<T> {
pub data: Vec<ResponseMetrics>,
#[serde(rename = "currentPage")]
pub current_page: i64,
#[serde(rename = "pageSize")]
pub page_size: i64,
#[serde(rename = "totalItems")]
pub total_items: i64,
#[serde(rename = "totalPages")]
pub total_pages: i64,
}
Rust FindGameCatalogueItem DTOs
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 /qry/games/catalogue HTTP/1.1
Host: api.bettor.webhop.biz
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
currentPage: 0,
pageSize: 0,
qry:
{
String: String
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
data:
[
{
id: String,
name: String,
title: String,
product:
{
id: String,
value: String,
category: String,
productProvider:
{
id: String,
val: String
}
},
instanceUrl: String,
feedPlayerUrl: String
}
],
currentPage: 0,
pageSize: 0,
totalItems: 0,
totalPages: 0
}