"use strict";
export class QueryBase {
/** @param {{skip?:number,take?:number,orderBy?:string,orderByDesc?:string,include?:string,fields?:string,meta?:{ [index: string]: string; }}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?number} */
skip;
/** @type {?number} */
take;
/** @type {string} */
orderBy;
/** @type {string} */
orderByDesc;
/** @type {string} */
include;
/** @type {string} */
fields;
/** @type {{ [index: string]: string; }} */
meta;
}
/** @typedef T {any} */
export class QueryDb extends QueryBase {
/** @param {{skip?:number,take?:number,orderBy?:string,orderByDesc?:string,include?:string,fields?:string,meta?:{ [index: string]: string; }}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
export class Tracking {
/** @param {{id?:number,tenantsId?:number,appUserId?:number,mediaId?:number,mediaPercentage?:number,score?:number,menuItems?:string,entities?:string,ipAddresses?:string,country?:string,accessDateTime?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {number} */
tenantsId;
/** @type {number} */
appUserId;
/** @type {number} */
mediaId;
/** @type {?number} */
mediaPercentage;
/** @type {?number} */
score;
/** @type {string} */
menuItems;
/** @type {string} */
entities;
/** @type {string} */
ipAddresses;
/** @type {string} */
country;
/** @type {string} */
accessDateTime;
}
export class TrackingAutoQueryLookup extends QueryDb {
/** @param {{skip?:number,take?:number,orderBy?:string,orderByDesc?:string,include?:string,fields?:string,meta?:{ [index: string]: string; }}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
export class Tenants {
/** @param {{id?:number,mainZonesId?:number,isPublic?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {number} */
mainZonesId;
/** @type {boolean} */
isPublic;
}
/** @typedef T {any} */
export class QueryResponse {
/** @param {{offset?:number,total?:number,results?:T[],meta?:{ [index: string]: string; },responseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
offset;
/** @type {number} */
total;
/** @type {T[]} */
results;
/** @type {{ [index: string]: string; }} */
meta;
/** @type {ResponseStatus} */
responseStatus;
}
JavaScript TrackingAutoQueryLookup DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/reply/TrackingAutoQueryLookup HTTP/1.1
Host: api-stage.smartfarmertech.com
Accept: text/csv
Content-Type: text/csv
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/csv
Content-Length: length
{"offset":0,"total":0,"results":[{"id":0,"tenantsId":0,"appUserId":0,"mediaId":0,"mediaPercentage":0,"score":0,"menuItems":"String","entities":"String","ipAddresses":"String","country":"String","accessDateTime":"\/Date(-62135596800000-0000)\/"}],"meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}