Betting.WebApi

<back to all web services

FindUsers

Requires Authentication
The following routes are available for this service:
All Verbs/qry/users
const std = @import("std");

pub const QueryRequest = struct {
    qry: ?RecordDictionary = null,
};

pub const PaginatedQueryRequest = struct {
    qry: ?RecordDictionary = null,
    currentPage: i32 = 0,
    pageSize: i32 = 0,
};

pub const FindUsers = struct {
    qry: ?RecordDictionary = null,
    currentPage: i32 = 0,
    pageSize: i32 = 0,
};

pub fn RecordDictionary(comptime TKey: type, comptime TVal: type) type {
    _ = TKey;
    _ = TVal;
    return struct {};
}

pub const ResponseMetrics = struct {
    id: i64 = 0,
    rqc: i32 = 0,
    oc: i32 = 0,
    sc: i32 = 0,
    tc: i32 = 0,
    adr: i32 = 0,
};

pub fn PaginatedResult(comptime T: type) type {
    return struct {
        data: []ResponseMetrics = &.{},
        currentPage: i64 = 0,
        pageSize: i64 = 0,
        totalItems: i64 = 0,
        totalPages: i64 = 0,
    };
}

Zig FindUsers DTOs

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

HTTP + CSV

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

POST /qry/users HTTP/1.1 
Host: api.bettor.webhop.biz 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"currentPage":0,"pageSize":0,"qry":{"String":"String"}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"data":[{"id":"String","username":"String","person":{"name":{"first":"String","last":"String","full":"String String"},"address":{"street":"String","city":"String","state":"String","postalCode":"String","country":{"id":"String","val":"String"},"gps":{"lat":0,"lng":0},"data":{"String":"String"}},"dateOfBirth":"0001-01-01T00:00:00.0000000Z","contactInfo":{"phone":"String","email":"String"}},"roles":["String"],"isActive":false,"avatar":{"isUploaded":false,"tag":"String"},"isBettor":false,"isBlacklisted":false}],"currentPage":0,"pageSize":0,"totalItems":0,"totalPages":0}