@it_kyryl/arbitrage_admin_schema
Version:
Schema for arbitrage admin panel
42 lines (41 loc) • 1.44 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.binomV2ClicksListDto = void 0;
const zod_1 = require("zod");
const common_entity_1 = require("./common.entity");
const binomV2ClickDto = zod_1.z.object({
cost: zod_1.z.number().optional(),
id: zod_1.z.string(),
isp: zod_1.z.string().optional(),
click_time: zod_1.z.string(),
campaign: zod_1.z.string(),
offer_id: zod_1.z.number(),
payout: zod_1.z.number(),
conversion: zod_1.z.number()
});
exports.binomV2ClicksListDto = zod_1.z.object({
rows: zod_1.z.array(binomV2ClickDto),
pageInfo: zod_1.z.object({
from: zod_1.z.string(),
to: zod_1.z.string(),
hasNextPage: zod_1.z.boolean(),
hasPrevPage: zod_1.z.boolean(),
direction: zod_1.z.string(),
sorting: zod_1.z.enum(['asc', 'desc']),
limit: zod_1.z.number()
}).optional()
});
const binomV2ClicksListFilter = zod_1.z.object({
column: binomV2ClickDto.keyof(),
operator: zod_1.z.enum(['contains', 'lte', 'eq']),
value: zod_1.z.string()
});
const binomV2ClicksListParams = zod_1.z.object({
datePreset: common_entity_1.datePreset,
filter: zod_1.z.array(binomV2ClicksListFilter).optional(),
timezone: zod_1.z.string(),
sortType: zod_1.z.enum(['asc', 'desc']),
limit: zod_1.z.number().optional(),
dateTo: zod_1.z.string().optional(),
dateFrom: zod_1.z.string().optional()
});