UNPKG

@it_kyryl/arbitrage_admin_schema

Version:

Schema for arbitrage admin panel

31 lines (30 loc) 1.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.binomV2UserApiIdentityResponseSchema = exports.userPermissionGroup = exports.binomV2UserApiResponseSchema = exports.binomV2UserApiPermissionSubject = exports.binomV2UserApiRole = void 0; const zod_1 = require("zod"); exports.binomV2UserApiRole = zod_1.z.enum(['user', 'admin']); exports.binomV2UserApiPermissionSubject = zod_1.z.enum(['CAMPAIGN', 'CAMPAIGN_GROUP', 'OFFER', 'OFFER_GROUP', 'ROTATION', 'ROTATION_GROUP', 'TRAFFIC_SOURCE', 'LANDING', 'LANDING_GROUP', 'DOMAIN', 'DEFAULT_COLUMN', 'CUSTOM_COLUMN', 'AFFILIATE_NETWORK']); exports.binomV2UserApiResponseSchema = zod_1.z.object({ id: zod_1.z.number(), login: zod_1.z.string(), role: exports.binomV2UserApiRole }); exports.userPermissionGroup = zod_1.z.object({ id: zod_1.z.string(), name: zod_1.z.string() }); exports.binomV2UserApiIdentityResponseSchema = zod_1.z.object({ identity: zod_1.z.object({ userId: zod_1.z.string(), login: zod_1.z.string(), createdAt: zod_1.z.string() }), role: exports.binomV2UserApiRole, permissions: zod_1.z.array(zod_1.z.object({ canCreate: zod_1.z.boolean(), accessLevel: zod_1.z.string(), subject: exports.binomV2UserApiPermissionSubject, modifyGroups: zod_1.z.array(exports.userPermissionGroup), readGroups: zod_1.z.array(exports.userPermissionGroup) })) });