{"openapi":"3.0.0","paths":{"/health":{"get":{"operationId":"Health_check","parameters":[],"responses":{"200":{"description":"The Health Check is successful","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"ok"},"info":{"type":"object","example":{"database":{"status":"up"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"error":{"type":"object","example":{},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"details":{"type":"object","example":{"database":{"status":"up"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true}}}}}}},"503":{"description":"The Health Check is not successful","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"error"},"info":{"type":"object","example":{"database":{"status":"up"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"error":{"type":"object","example":{"redis":{"status":"down","message":"Could not connect"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"details":{"type":"object","example":{"database":{"status":"up"},"redis":{"status":"down","message":"Could not connect"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true}}}}}}}},"tags":["Core API"]}},"/admin-tips":{"post":{"operationId":"AdminTipsHttp_tipUser","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAdminTipDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Tip user","tags":["Admin Tips API"]},"get":{"operationId":"AdminTipsHttp_findMany","parameters":[{"name":"sortBy","required":true,"in":"query","schema":{"enum":["AMOUNT","CREATED_AT","ID"],"type":"string"}},{"name":"sortOrder","required":true,"in":"query","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"senderUserId","required":false,"in":"query","schema":{"type":"number"}},{"name":"recipientUserId","required":false,"in":"query","schema":{"type":"number"}},{"name":"senderOrRecipientUserId","required":false,"in":"query","schema":{"type":"number"}},{"name":"search","required":false,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"minimum":1,"maximum":9007199254740991,"default":1,"type":"number"}},{"name":"take","required":true,"in":"query","schema":{"minimum":1,"maximum":20,"default":20,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedDto"},{"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AdminTipsDto"}},"total":{"type":"number"}}}]}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get admin tips history","tags":["Admin Tips API"]}},"/admin-tips/deduct-balance":{"post":{"operationId":"AdminTipsHttp_deductBalance","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAdminTipDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Deduct balance from user","tags":["Admin Tips API"]}},"/affiliate/levels":{"get":{"operationId":"AffiliateHttp_getLevels","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AffiliateLevel"}}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get affiliate levels","tags":["Admin Affiliate API"]}},"/affiliate/users":{"post":{"operationId":"AffiliateHttp_findManyAffiliateUsers","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindManyAffiliateUsersQuery"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get affiliate users","tags":["Admin Affiliate API"]}},"/affiliate/find-one":{"post":{"operationId":"AffiliateHttp_findOne","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindOneAffiliateQuery"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get affiliate","tags":["Admin Affiliate API"]}},"/affiliate/find-one-stats":{"post":{"operationId":"AffiliateHttp_findOneStats","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindOneAffiliateStatsQuery"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get affiliate stats","tags":["Admin Affiliate API"]}},"/config":{"put":{"operationId":"SiteConfigHttp_updateSiteConfig","parameters":[{"name":"code","required":true,"in":"path","description":"COMMON, BATTLES, AFFILIATES, WITHDRAWALS","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSiteConfigDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Update site config by code","tags":["Admin Core API"]}},"/faq":{"get":{"operationId":"FaqHttp_findMany","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"Get all FAQs","tags":["FAQ API"]},"post":{"operationId":"FaqHttp_createFaq","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFaqDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"Create a new FAQ","tags":["FAQ API"]},"put":{"operationId":"FaqHttp_updateFaq","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFaqDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"Update an existing FAQ","tags":["FAQ API"]},"delete":{"operationId":"FaqHttp_deleteFaq","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteFaqDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"Delete an existing FAQ","tags":["FAQ API"]}},"/withdraw":{"get":{"operationId":"WithdrawHttp_findMany","parameters":[{"name":"sortBy","required":true,"in":"query","schema":{"enum":["CREATED_AT","USD_AMOUNT"],"type":"string"}},{"name":"sortOrder","required":true,"in":"query","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"enum":["PENDING","CONFIRMED","COMPLETE","DENIED","FAILED"],"type":"string"}},{"name":"userId","required":false,"in":"query","schema":{"type":"number"}},{"name":"username","required":false,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"minimum":1,"maximum":9007199254740991,"default":1,"type":"number"}},{"name":"take","required":true,"in":"query","schema":{"minimum":1,"maximum":20,"default":20,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedDto"},{"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WithdrawDto"}},"total":{"type":"number"}}}]}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get withdrawals","tags":["Admin Payments API"]}},"/withdraw/approve":{"post":{"operationId":"WithdrawHttp_approve","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithdrawApproveDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Approve withdraw","tags":["Admin Payments API"]}},"/withdraw/reject":{"post":{"operationId":"WithdrawHttp_reject","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithdrawRejectDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Reject withdraw","tags":["Admin Payments API"]}},"/withdraw/retry":{"post":{"operationId":"WithdrawHttp_retry","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithdrawRetryDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Retry withdraw","tags":["Admin Payments API"]}},"/deposit":{"get":{"operationId":"DepositHttp_findMany","parameters":[{"name":"sortBy","required":true,"in":"query","schema":{"enum":["CREATED_AT","USD_AMOUNT","COMPLETED_AT","CONFIRMED_AT"],"type":"string"}},{"name":"sortOrder","required":true,"in":"query","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"enum":["PENDING","CONFIRMED","COMPLETE","FAILED"],"type":"string"}},{"name":"userId","required":false,"in":"query","schema":{"type":"number"}},{"name":"page","required":true,"in":"query","schema":{"minimum":1,"maximum":9007199254740991,"default":1,"type":"number"}},{"name":"take","required":true,"in":"query","schema":{"minimum":1,"maximum":20,"default":20,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedDto"},{"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DepositDto"}},"total":{"type":"number"}}}]}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get deposits","tags":["Admin Payments API"]}},"/api-keys":{"post":{"operationId":"ApiKeyHttp_createApiKey","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyRequest"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Create API key","tags":["Admin Key API"]}},"/api-keys/{userId}":{"get":{"operationId":"ApiKeyHttp_getApiKey","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get API key","tags":["Admin Key API"]},"delete":{"operationId":"ApiKeyHttp_disableApiKey","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"204":{"description":""}},"security":[{"bearer":[]}],"summary":"(Permission) Disable API key","tags":["Admin Key API"]}},"/user-limits/user-exclusion":{"post":{"operationId":"UserLimitsHttp_createUserExclusion","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetAdminUserExcludeDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserSelfExclude"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Create user-self-exclusion","tags":["Admin User Limits API"]},"delete":{"operationId":"UserLimitsHttp_deleteUserExclusion","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RmAdminUserExcludeDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserSelfExclude"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Delete user-self-exclusion","tags":["Admin User Limits API"]}},"/user-limits/user-exclusion/{id}":{"get":{"operationId":"UserLimitsHttp_getUserExclusionStatus","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get active self-exclusion","tags":["Admin User Limits API"]}},"/user-limits/gambling-limits":{"post":{"operationId":"UserLimitsHttp_setGamblingLimits","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetAdminUserLimitDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserGamblingLimits"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Set gambling limits","tags":["Admin User Limits API"]}},"/user-limits/gambling-limits/{id}":{"get":{"operationId":"UserLimitsHttp_getGamblingLimits","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get gambling limits","tags":["Admin User Limits API"]}},"/leaderboards/schedule":{"get":{"operationId":"LeaderboardHttp_getLeaderboardSchedules","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LeaderboardScheduleDto"}}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get leaderboard schedules","tags":["Admin Leaderboard API"]}},"/leaderboards/schedule/{id}":{"get":{"operationId":"LeaderboardHttp_getLeaderboardSchedule","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get leaderboard schedule","tags":["Admin Leaderboard API"]},"post":{"operationId":"LeaderboardHttp_updateLeaderboardSchedule","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLeaderboardScheduleRequest"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Update leaderboard schedule","tags":["Admin Leaderboard API"]}},"/leaderboards":{"get":{"operationId":"LeaderboardHttp_getLeaderboards","parameters":[{"name":"withUsers","required":false,"in":"query","description":"Adds 50 users to response","schema":{"type":"boolean"}},{"name":"withSchedule","required":false,"in":"query","description":"Adds schedule config to dto","schema":{"type":"boolean"}},{"name":"type","required":false,"in":"query","schema":{"enum":["DAILY","WEEKLY","MONTHLY"],"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"enum":["NOT_STARTED","ACTIVE","ENDED","SETTLEMENT","FINISHED"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"created","enum":["created"],"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"minimum":1,"maximum":9007199254740991,"default":1,"type":"number"}},{"name":"take","required":true,"in":"query","schema":{"minimum":1,"maximum":30,"default":20,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedDto"},{"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LeaderboardDto"}},"total":{"type":"number"}}}]}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get leaderboards","tags":["Admin Leaderboard API"]}},"/leaderboards/{leaderboardId}/users":{"get":{"operationId":"LeaderboardHttp_getLeaderboardUsers","parameters":[{"name":"leaderboardId","required":true,"in":"path","schema":{"type":"string"}},{"name":"search","required":false,"in":"query","description":"Search by user id, name or email","schema":{"type":"string"}},{"name":"isWinner","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"isWaitingForPrice","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"page","required":true,"in":"query","schema":{"minimum":1,"maximum":9007199254740991,"default":1,"type":"number"}},{"name":"take","required":true,"in":"query","schema":{"minimum":1,"maximum":30,"default":20,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedDto"},{"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LeaderboardUserDto"}},"total":{"type":"number"}}}]}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get leaderboard users","tags":["Admin Leaderboard API"]}},"/leaderboards/{leaderboardId}/users/{userId}":{"get":{"operationId":"LeaderboardHttp_getLeaderboardUser","parameters":[{"name":"leaderboardId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get leaderboard user","tags":["Admin Leaderboard API"]}},"/leaderboards/give-prize":{"post":{"operationId":"LeaderboardHttp_givePrize","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GivePrizeRequest"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Give prize","tags":["Admin Leaderboard API"]}},"/leaderboards/{leaderboardId}":{"get":{"operationId":"LeaderboardHttp_getLeaderboard","parameters":[{"name":"leaderboardId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get leaderboard","tags":["Admin Leaderboard API"]}},"/bets":{"get":{"operationId":"BetHttp_findManyGet","parameters":[{"name":"sortBy","required":true,"in":"query","schema":{"enum":["CREATED_AT","MULTIPLIER","USD_AMOUNT","USD_PAYOUT"],"type":"string"}},{"name":"sortOrder","required":true,"in":"query","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"where","required":false,"in":"query","schema":{"$ref":"#/components/schemas/BetsFilterDto"}},{"name":"page","required":true,"in":"query","schema":{"minimum":1,"maximum":9007199254740991,"default":1,"type":"number"}},{"name":"take","required":true,"in":"query","schema":{"minimum":1,"maximum":20,"default":20,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedDto"},{"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BetDto"}},"total":{"type":"number"}}}]}}}}},"security":[{"bearer":[]}],"summary":"(Permission) View user bets","tags":["Admin Bets API"]},"post":{"operationId":"BetHttp_findMany","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindManyBetsAdminQuery"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedDto"},{"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BetDto"}},"total":{"type":"number"}}}]}}}},"201":{"description":""}},"security":[{"bearer":[]}],"summary":"(Permission) View user bets","tags":["Admin Bets API"]}},"/user/all":{"get":{"operationId":"UserHttp_getAll","parameters":[{"name":"sortBy","required":true,"in":"query","schema":{"enum":["id","username","email","createdAt","totalWagered","totalLoss","ggr","vipLevel","ltv","balance","lastLoginAt"],"type":"string"}},{"name":"sortOrder","required":true,"in":"query","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"isBanned","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"withPermissions","required":true,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"withRoles","required":true,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"withNotes","required":true,"in":"query","schema":{"default":true,"type":"boolean"}},{"name":"role","required":false,"in":"query","schema":{"enum":["User","Admin","SuperAdmin"],"type":"string"}},{"name":"withBalance","required":true,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"withStatsUsd","required":true,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"search","required":false,"in":"query","schema":{"type":"string"}},{"name":"where","required":false,"in":"query","schema":{"$ref":"#/components/schemas/UserFilterDto"}},{"name":"page","required":true,"in":"query","schema":{"minimum":1,"maximum":9007199254740991,"default":1,"type":"number"}},{"name":"take","required":true,"in":"query","schema":{"minimum":1,"maximum":20,"default":20,"type":"number"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Get all users","tags":["Admin User API"]},"post":{"operationId":"UserHttp_v2GetAll","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAllUsersDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Get all users","tags":["Admin User API"]}},"/user/get-all-roles-with-users":{"get":{"operationId":"UserHttp_getAllRolesWithUsers","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Get all roles with users","tags":["Admin User API"]}},"/user/admin-user":{"post":{"operationId":"UserHttp_createAdminUser","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAdminUserDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Create admin user","tags":["Admin User API"]}},"/user/all-permissions":{"get":{"operationId":"UserHttp_getAllPermission","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Get all permissions","tags":["Admin User API"]}},"/user/get-admins-with-roles":{"get":{"operationId":"UserHttp_getAllAdminsWithRoles","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Get all admins with roles","tags":["Admin User API"]}},"/user/stats/transactions":{"get":{"operationId":"UserHttp_getTopUsersByTransactions","parameters":[{"name":"transactionType","required":true,"in":"query","schema":{"enum":["DEPOSIT","WITHDRAW"],"type":"string"}},{"name":"dataRange","required":false,"in":"query","schema":{"enum":["HOURLY","DAILY","WEEKLY","MONTHLY"],"type":"string"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"amount","enum":["amount"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"minimum":1,"maximum":9007199254740991,"default":1,"type":"number"}},{"name":"take","required":true,"in":"query","schema":{"minimum":1,"maximum":30,"default":20,"type":"number"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"(Permission) Get top users by transactions","tags":["Admin User API"]}},"/user/{id}":{"patch":{"operationId":"UserHttp_updateUser","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserByAdminDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Update user","tags":["Admin User API"]},"get":{"operationId":"UserHttp_findUniqueUser","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Find unique user","tags":["Admin User API"]}},"/user/{id}/avatar/reset":{"patch":{"operationId":"UserHttp_replaceUserAvatarWithRandom","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Replace user avatar with random","tags":["Admin User API"]}},"/user/{id}/ban":{"patch":{"operationId":"UserHttp_banUser","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserBanDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Ban user","tags":["Admin User API"]}},"/user/{id}/unban":{"patch":{"operationId":"UserHttp_unbanUser","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Unban user","tags":["Admin User API"]}},"/user/{id}/balance":{"put":{"operationId":"UserHttp_updateBalance","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserBalanceDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Update user balance","tags":["Admin User API"]}},"/user/{id}/roles":{"put":{"operationId":"UserHttp_updateUserRoles","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRolesDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Update user roles","tags":["Admin User API"]}},"/user/{id}/permissions":{"put":{"operationId":"UserHttp_updateUserPermission","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserPermissionsDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Update user permissions","tags":["Admin User API"]}},"/user/add-single-role":{"put":{"operationId":"UserHttp_updateSingleUserRole","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSingleRoleUserDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Add single role to user","tags":["Admin User API"]}},"/user/revoke-single-role":{"put":{"operationId":"UserHttp_revokeSingleRoleByTwitchUsername","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSingleRoleUserDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Revoke single role from user","tags":["Admin User API"]}},"/user/{id}/full/stats":{"get":{"operationId":"UserHttp_getFullStats","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAdminStatsDto"}}}}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Get full user stats","tags":["Admin User API"]}},"/registration-info/{userId}":{"get":{"operationId":"RegistrationInfoHttp_findOne","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Get registration info by userId","tags":["Admin Registration Info API"]}},"/rakeback/find-many":{"post":{"operationId":"RakebackHttp_findMany","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindManyRakebackQuery"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminRakebackDto"}}}}}},"security":[{"bearer":[]}],"summary":"(Permission) Get rakebacks","tags":["Admin Rakeback API"]}},"/chat/admin-action":{"post":{"operationId":"ChatHttp_adminAction","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatAdminActionDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"(Permission) Perform admin action in chat","tags":["Admin Chat API"]}},"/accounting/transactions":{"post":{"operationId":"AccountingHttp_transactions","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindManyTransactionsQuery"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedDto"},{"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TransactionDto"}},"total":{"type":"number"}}}]}}}},"201":{"description":""}},"security":[{"bearer":[]}],"summary":"(SuperAdmin) Get all transactions","tags":["Admin Accounting API"]}}},"info":{"title":"Evospin BO","description":"","version":"1.0","contact":{}},"tags":[],"servers":[],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"CreateAdminTipDto":{"type":"object","properties":{"amount":{"type":"string","example":"1.25"},"currencyId":{"type":"string","enum":["DBC","BTC","ETH","LTC","TRX","POL","USDT","BNB","SOL","USDC","XRP","TETH"]},"tag":{"type":"string","enum":["STREAM_FILL","VIDEO_FILL","PRIVATE_LB_PAYOUT","LOSSBACK","TWITTER_GIVEAWAY","DISCORD_GIVEAWAY","PRIVATE_GIVEAWAY","CUSTOM_DEPOSIT_BONUS","SALARY","TESTING","OTHER"]},"recipientUserId":{"type":"number"},"notes":{"type":"string","maxLength":300}},"required":["amount","currencyId","recipientUserId","notes"]},"SuccessResponse":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]},"PaginatedDto":{"type":"object","properties":{"data":{"type":"array","items":{"type":"string"}},"take":{"type":"number"},"page":{"type":"number"},"total":{"type":"number"},"totalPages":{"type":"number"}},"required":["data","take","page","total","totalPages"]},"AdminTipsUserDto":{"type":"object","properties":{"id":{"type":"number"},"username":{"type":"string"}},"required":["username"]},"AdminTipsDto":{"type":"object","properties":{"currencyId":{"type":"string","enum":["DBC","EVO","BTC","ETH","LTC","TRX","POL","USDT","BNB","SOL","USDC","XRP","TETH"]},"amount":{"type":"string","example":"1.25"},"type":{"type":"string","enum":["DEDUCT_BALANCE","ADD_BALANCE"]},"tag":{"type":"string","enum":["STREAM_FILL","VIDEO_FILL","PRIVATE_LB_PAYOUT","LOSSBACK","TWITTER_GIVEAWAY","DISCORD_GIVEAWAY","PRIVATE_GIVEAWAY","CUSTOM_DEPOSIT_BONUS","SALARY","TESTING","OTHER"]},"id":{"type":"number"},"createdAt":{"format":"date-time","type":"string"},"sender":{"$ref":"#/components/schemas/AdminTipsUserDto"},"recipient":{"$ref":"#/components/schemas/AdminTipsUserDto"},"notes":{"type":"string"}},"required":["currencyId","amount","type","tag","id","createdAt","sender","recipient","notes"]},"AffiliateLevel":{"type":"object","properties":{"minWageredUsdAmount":{"type":"string","example":"1.25"},"id":{"type":"number"},"name":{"type":"string"},"commission":{"type":"string"},"minReferralCountForClaim":{"type":"number"}},"required":["minWageredUsdAmount","id","name","commission","minReferralCountForClaim"]},"FindManyAffiliateUsersWhere":{"type":"object","properties":{"ownerId":{"type":"number"}},"required":["ownerId"]},"FindManyAffiliateUsersQuery":{"type":"object","properties":{"sortBy":{"type":"string","enum":["CREATED_AT","CAMPAIGN","WAGERED_AMOUNT"]},"sortOrder":{"type":"string","enum":["asc","desc"]},"where":{"$ref":"#/components/schemas/FindManyAffiliateUsersWhere"},"page":{"type":"number","default":1,"minimum":1,"maximum":9007199254740991},"take":{"type":"number","default":20,"minimum":1,"maximum":20}},"required":["sortBy","sortOrder","where","page","take"]},"FindOneAffiliateWhere":{"type":"object","properties":{"userId":{"type":"number"}},"required":["userId"]},"FindOneAffiliateQuery":{"type":"object","properties":{"where":{"$ref":"#/components/schemas/FindOneAffiliateWhere"}},"required":["where"]},"FindOneAffiliateStatsQuery":{"type":"object","properties":{"where":{"$ref":"#/components/schemas/FindOneAffiliateWhere"}},"required":["where"]},"UpdateSiteConfigDto":{"type":"object","properties":{"code":{"type":"object"},"config":{"type":"object"}},"required":["code","config"]},"CreateFaqDto":{"type":"object","properties":{"title":{"type":"string"},"text":{"type":"string"}},"required":["title","text"]},"UpdateFaqDto":{"type":"object","properties":{"id":{"type":"number"},"title":{"type":"string"},"text":{"type":"string"},"order":{"type":"number"}},"required":["id"]},"DeleteFaqDto":{"type":"object","properties":{"id":{"type":"number"}},"required":["id"]},"UserShortPrivateDto":{"type":"object","properties":{"id":{"type":"number"},"username":{"type":"string"},"isPrivate":{"type":"boolean"},"avatar":{"type":"string"},"vipLevel":{"type":"number"},"isBanned":{"type":"boolean"}},"required":["id","username","isPrivate","avatar","vipLevel","isBanned"]},"WithdrawDto":{"type":"object","properties":{"amount":{"type":"string","example":"1.25"},"currencyId":{"type":"string","enum":["DBC","EVO","BTC","ETH","LTC","TRX","POL","USDT","BNB","SOL","USDC","XRP","TETH"]},"status":{"type":"string","enum":["PENDING","CONFIRMED","COMPLETE","DENIED","FAILED"]},"usdAmount":{"type":"string","example":"1.25"},"networkId":{"type":"string","enum":["BSC","ETH","POLYGON","SOL","TRX","BTC","LTC","ARETH","OPTIMISM","TON","BASE","AVAX","OPBNB","ETH_SEPOLIA","SKINDECK"]},"providerId":{"type":"string","enum":["CCPAYMENT","NOWPAYMENTS","SKINDECK","TEST"]},"recipientAddress":{"type":"string"},"recipientMemo":{"type":"string","nullable":true},"confirmedAt":{"format":"date-time","type":"string","nullable":true},"confirmations":{"type":"number"},"rejectReason":{"type":"string","nullable":true},"updatedAt":{"format":"date-time","type":"string"},"transactionId":{"type":"string"},"id":{"type":"string"},"txHash":{"type":"string","nullable":true},"createdAt":{"format":"date-time","type":"string"},"user":{"type":"object"},"confirmedByUser":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/UserShortPrivateDto"}]},"failedReason":{"type":"string","nullable":true},"confirmedByUserId":{"type":"number","nullable":true}},"required":["amount","currencyId","status","usdAmount","networkId","providerId","recipientAddress","recipientMemo","confirmedAt","confirmations","rejectReason","updatedAt","transactionId","id","txHash","createdAt","confirmedByUser","failedReason","confirmedByUserId"]},"WithdrawApproveDto":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"WithdrawRejectDto":{"type":"object","properties":{"id":{"type":"string"},"rejectReason":{"type":"string"}},"required":["id","rejectReason"]},"WithdrawRetryDto":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"DepositDto":{"type":"object","properties":{"amount":{"type":"string","example":"1.25"},"currencyId":{"type":"string","enum":["DBC","EVO","BTC","ETH","LTC","TRX","POL","USDT","BNB","SOL","USDC","XRP","TETH"]},"status":{"type":"string","enum":["PENDING","CONFIRMED","COMPLETE","FAILED"]},"usdAmount":{"type":"string","example":"1.25"},"networkId":{"type":"string","enum":["BSC","ETH","POLYGON","SOL","TRX","BTC","LTC","ARETH","OPTIMISM","TON","BASE","AVAX","OPBNB","ETH_SEPOLIA","SKINDECK"]},"affiliateAmount":{"type":"string","nullable":true,"example":"1.25"},"depositBonus":{"type":"string","nullable":true,"example":"1.25"},"id":{"type":"string"},"txHash":{"type":"string","nullable":true},"createdAt":{"format":"date-time","type":"string"},"userId":{"type":"number"},"payAddress":{"type":"string","nullable":true},"payMemo":{"type":"string","nullable":true},"user":{"$ref":"#/components/schemas/UserShortPrivateDto"},"affiliateCodeId":{"type":"string","nullable":true},"externalId":{"type":"string","nullable":true},"providerId":{"type":"object"},"transactionId":{"type":"string","nullable":true}},"required":["amount","currencyId","status","usdAmount","networkId","affiliateAmount","depositBonus","id","txHash","createdAt","userId","payAddress","payMemo","affiliateCodeId","externalId","providerId","transactionId"]},"CreateApiKeyRequest":{"type":"object","properties":{"userId":{"type":"number"}},"required":["userId"]},"ApiKeyResponse":{"type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"userId":{"type":"number"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","key","userId","createdAt","updatedAt"]},"SetAdminUserExcludeDto":{"type":"object","properties":{"excludeUntil":{"format":"date-time","type":"string"},"userId":{"type":"number"}},"required":["excludeUntil","userId"]},"AdminUserSelfExclude":{"type":"object","properties":{"id":{"type":"number"},"userId":{"type":"number"},"expiresAt":{"format":"date-time","type":"string"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","userId","expiresAt","createdAt","updatedAt"]},"RmAdminUserExcludeDto":{"type":"object","properties":{"userId":{"type":"number"}},"required":["userId"]},"SetAdminUserLimitDto":{"type":"object","properties":{"betLimit":{"type":"string","example":"1.25"},"userId":{"type":"number"}},"required":["betLimit","userId"]},"AdminUserGamblingLimits":{"type":"object","properties":{"betLimit":{"type":"string","nullable":true,"example":"1.25"},"userId":{"type":"number"},"id":{"type":"number"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["betLimit","userId","id","createdAt","updatedAt"]},"LeaderboardScheduleConfigDto":{"type":"object","properties":{"type":{"type":"string","enum":["DAILY","WEEKLY","MONTHLY"]},"name":{"type":"string"},"description":{"type":"string"},"prizes":{"type":"array","items":{"type":"object"}}},"required":["type","name","description","prizes"]},"UserShortPrivate":{"type":"object","properties":{"isBanned":{"type":"boolean"},"username":{"type":"string"},"isPrivate":{"type":"boolean"},"avatar":{"type":"string"},"vipLevel":{"type":"number"}},"required":["isBanned","username","isPrivate","avatar","vipLevel"]},"LeaderboardUserDto":{"type":"object","properties":{"remainingUsdPrize":{"type":"string","example":"1.25"},"usdAmount":{"type":"string","example":"1.25"},"position":{"type":"number"},"id":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"userId":{"type":"number"},"leaderboardId":{"type":"string"},"isWinner":{"type":"boolean"},"isPrizeReceived":{"type":"boolean"},"user":{"$ref":"#/components/schemas/UserShortPrivate"}},"required":["remainingUsdPrize","usdAmount","id","createdAt","updatedAt","userId","leaderboardId","isWinner","isPrizeReceived","user"]},"LeaderboardDto":{"type":"object","properties":{"type":{"type":"string","enum":["DAILY","WEEKLY","MONTHLY"]},"status":{"type":"string","enum":["NOT_STARTED","ACTIVE","ENDED","SETTLEMENT","FINISHED"]},"id":{"type":"string"},"name":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"description":{"type":"string","nullable":true},"config":{"type":"object"},"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"},"scheduleId":{"type":"string","nullable":true},"leaderboardUsers":{"type":"array","items":{"$ref":"#/components/schemas/LeaderboardUserDto"}}},"required":["type","status","id","name","createdAt","updatedAt","description","config","startDate","endDate","scheduleId"]},"LeaderboardScheduleDto":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"enabled":{"type":"boolean"},"config":{"$ref":"#/components/schemas/LeaderboardScheduleConfigDto"},"leaderboards":{"type":"array","items":{"$ref":"#/components/schemas/LeaderboardDto"}}},"required":["id","createdAt","updatedAt","enabled","config","leaderboards"]},"LeaderboardPrizeConfigDto":{"type":"object","properties":{"position":{"type":"number","minimum":1,"maximum":50},"usdPrize":{"type":"number","minimum":0}},"required":["position","usdPrize"]},"UpdateLeaderboardScheduleRequest":{"type":"object","properties":{"enabled":{"type":"boolean"},"name":{"type":"string"},"description":{"type":"string"},"prizes":{"type":"array","items":{"$ref":"#/components/schemas/LeaderboardPrizeConfigDto"}}},"required":["enabled","name","description","prizes"]},"GivePrizeRequest":{"type":"object","properties":{"usdAmount":{"type":"string","example":"1.25"},"currency":{"type":"string","enum":["DBC","BTC","ETH","LTC","TRX","POL","USDT","BNB","SOL","USDC","XRP","TETH"],"description":"Choose wallet for giving prize. usdAmount will be converted to chosen currency"},"fullUsdAmount":{"type":"boolean"},"leaderboardId":{"type":"string"},"userId":{"type":"number"}},"required":["currency","leaderboardId","userId"]},"GameIdentityImagesDto":{"type":"object","properties":{"imageUrl":{"type":"string"}},"required":["imageUrl"]},"GameIdentityShortDto":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"type":{"type":"string"},"provider":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"images":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/GameIdentityImagesDto"}]}},"required":["name","slug","type"]},"BetDto":{"type":"object","properties":{"currencyId":{"type":"string","enum":["DBC","EVO","BTC","ETH","LTC","TRX","POL","USDT","BNB","SOL","USDC","XRP","TETH"]},"amount":{"type":"string","example":"1.25"},"payout":{"type":"string","example":"1.25"},"usdAmount":{"type":"string","example":"1.25"},"usdPayout":{"type":"string","example":"1.25"},"status":{"type":"string","enum":["CREATED","SETTLED","ERROR","ROLLBACK"]},"commissionGgrUsdAmount":{"type":"string","example":"1.25"},"commissionGgrPercent":{"type":"string","example":"1.25"},"id":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"settledAt":{"format":"date-time","type":"string","nullable":true},"userId":{"type":"number"},"roundId":{"type":"string"},"gameId":{"type":"number"},"gameIdentity":{"$ref":"#/components/schemas/GameIdentityShortDto"},"game":{"$ref":"#/components/schemas/GameIdentityShortDto"},"errorDetails":{"type":"string","nullable":true},"user":{"$ref":"#/components/schemas/UserShortPrivateDto"},"multiplier":{"type":"number"}},"required":["currencyId","amount","payout","usdAmount","usdPayout","status","commissionGgrUsdAmount","commissionGgrPercent","id","createdAt","updatedAt","settledAt","userId","roundId","gameId","gameIdentity","errorDetails","multiplier"]},"NumberFilterDto":{"type":"object","properties":{"lt":{"type":"number"},"gt":{"type":"number"},"lte":{"type":"number"},"gte":{"type":"number"},"equals":{"type":"number"}}},"DecimalFilterDto":{"type":"object","properties":{"lt":{"type":"string","example":"1.25"},"gt":{"type":"string","example":"1.25"},"lte":{"type":"string","example":"1.25"},"gte":{"type":"string","example":"1.25"},"equals":{"type":"string","example":"1.25"}}},"DateFilterDto":{"type":"object","properties":{"lt":{"format":"date-time","type":"string"},"gt":{"format":"date-time","type":"string"},"lte":{"format":"date-time","type":"string"},"gte":{"format":"date-time","type":"string"}}},"IntFilterDto":{"type":"object","properties":{"lt":{"type":"number"},"gt":{"type":"number"},"lte":{"type":"number"},"gte":{"type":"number"},"equals":{"type":"number"}}},"StringFilterDto":{"type":"object","properties":{"mode":{"type":"string","enum":["default","insensitive"]},"equals":{"type":"string"},"in":{"type":"array","items":{"type":"string"}},"notIn":{"type":"array","items":{"type":"string"}},"lt":{"type":"string"},"lte":{"type":"string"},"gt":{"type":"string"},"gte":{"type":"string"},"contains":{"type":"string"},"startsWith":{"type":"string"},"endsWith":{"type":"string"},"not":{"type":"string"}}},"GameProviderFilterDto":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/IntFilterDto"},"slug":{"$ref":"#/components/schemas/StringFilterDto"}}},"GameIdentityFilterDto":{"type":"object","properties":{"providerId":{"$ref":"#/components/schemas/IntFilterDto"},"slug":{"$ref":"#/components/schemas/StringFilterDto"},"provider":{"$ref":"#/components/schemas/GameProviderFilterDto"}}},"BetsFilterDto":{"type":"object","properties":{"gameId":{"type":"number"},"status":{"type":"string","default":"SETTLED","enum":["CREATED","SETTLED","ERROR","ROLLBACK"]},"userId":{"type":"number"},"currencyId":{"type":"string","enum":["DBC"]},"multiplier":{"$ref":"#/components/schemas/NumberFilterDto"},"usdAmount":{"$ref":"#/components/schemas/DecimalFilterDto"},"usdPayout":{"$ref":"#/components/schemas/DecimalFilterDto"},"createdAt":{"$ref":"#/components/schemas/DateFilterDto"},"amount":{"$ref":"#/components/schemas/DecimalFilterDto"},"payout":{"$ref":"#/components/schemas/DecimalFilterDto"},"gameIdentity":{"$ref":"#/components/schemas/GameIdentityFilterDto"}}},"FindManyBetsAdminQuery":{"type":"object","properties":{"sortBy":{"type":"string","enum":["CREATED_AT","MULTIPLIER","USD_AMOUNT","USD_PAYOUT"]},"sortOrder":{"type":"string","enum":["asc","desc"]},"where":{"$ref":"#/components/schemas/BetsFilterDto"},"page":{"type":"number","default":1,"minimum":1,"maximum":9007199254740991},"take":{"type":"number","default":20,"minimum":1,"maximum":20}},"required":["sortBy","sortOrder","page","take"]},"UserStatsUsdFilterDto":{"type":"object","properties":{"totalWagered":{"$ref":"#/components/schemas/DecimalFilterDto"},"ltv":{"$ref":"#/components/schemas/DecimalFilterDto"}}},"UserBalanceEvoFilterDto":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/DecimalFilterDto"}}},"UserFilterDto":{"type":"object","properties":{"vipLevel":{"$ref":"#/components/schemas/IntFilterDto"},"statsUsd":{"$ref":"#/components/schemas/UserStatsUsdFilterDto"},"balanceEvo":{"$ref":"#/components/schemas/UserBalanceEvoFilterDto"},"createdAt":{"$ref":"#/components/schemas/DateFilterDto"}}},"GetAllUsersDto":{"type":"object","properties":{"sortBy":{"type":"string","enum":["id","username","email","createdAt","totalWagered","totalLoss","ggr","vipLevel","ltv","balance","lastLoginAt"]},"sortOrder":{"type":"string","enum":["asc","desc"]},"isBanned":{"type":"boolean"},"withPermissions":{"type":"boolean","default":false},"withRoles":{"type":"boolean","default":false},"withNotes":{"type":"boolean","default":true},"role":{"type":"string","enum":["User","Admin","SuperAdmin"]},"withBalance":{"type":"boolean","default":false},"withStatsUsd":{"type":"boolean","default":false},"search":{"type":"string"},"where":{"$ref":"#/components/schemas/UserFilterDto"},"page":{"type":"number","default":1,"minimum":1,"maximum":9007199254740991},"take":{"type":"number","default":20,"minimum":1,"maximum":20}},"required":["sortBy","sortOrder","withPermissions","withRoles","withNotes","withBalance","withStatsUsd","page","take"]},"CreateAdminUserDto":{"type":"object","properties":{"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string","format":"email"},"permissions":{"default":[],"type":"array","items":{"type":"string"}}},"required":["username","password","permissions"]},"UserRoleDto":{"type":"object","properties":{"role":{"type":"string","enum":["User","Admin","SuperAdmin"]},"userId":{"type":"number"}},"required":["role","userId"]},"UserKycDto":{"type":"object","properties":{"gender":{"type":"string","enum":["MALE","FEMALE","OTHER"]},"level":{"type":"string","enum":["LEVEL_0","LEVEL_1","LEVEL_2","LEVEL_3","LEVEL_4"]},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"dateOfBirth":{"format":"date-time","type":"string","nullable":true},"countryCode":{"type":"string","nullable":true},"address":{"type":"string","nullable":true},"postalCode":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"occupation":{"type":"string","nullable":true},"verificationPending":{"type":"boolean"},"userId":{"type":"number"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["gender","level","firstName","lastName","dateOfBirth","countryCode","address","postalCode","city","occupation","verificationPending","userId","createdAt","updatedAt"]},"i":{"type":"object","properties":{}},"UserStatsUsdDto":{"type":"object","properties":{"totalWagered":{"type":"string","example":"1.25"},"totalPayouts":{"type":"string","example":"1.25"},"totalDeposits":{"type":"string","example":"1.25"},"totalWithdraws":{"type":"string","example":"1.25"},"ltv":{"type":"string","example":"1.25"},"ggr":{"type":"string","example":"1.25"},"totalLoss":{"type":"string","deprecated":true,"example":"1.25"},"totalBets":{"type":"number"},"firstDepositAt":{"format":"date-time","type":"string","nullable":true},"lastDepositAt":{"format":"date-time","type":"string","nullable":true},"lastWageredAt":{"format":"date-time","type":"string","nullable":true}},"required":["totalWagered","totalPayouts","totalDeposits","totalWithdraws","ltv","totalLoss","totalBets","firstDepositAt","lastDepositAt","lastWageredAt"]},"AffiliateCodeDto":{"type":"object","properties":{"id":{"type":"string"},"usersCount":{"type":"number"}},"required":["id"]},"BaseUserNoteDto":{"type":"object","properties":{"riskLevel":{"type":"string","enum":["NONE","LOW","MEDIUM","HIGH"]},"id":{"type":"number"},"note":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["riskLevel","id","note","createdAt","updatedAt"]},"UserPromoCodeShortDto":{"type":"object","properties":{"status":{"type":"string","enum":["CLAIMED","ACTIVE","COMPLETED","CANCELLED","EXPIRED"]},"id":{"type":"string"},"userId":{"type":"number"},"isActive":{"type":"boolean"},"promoCodeId":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["status","id","userId","isActive","promoCodeId","createdAt","updatedAt"]},"UserDto":{"type":"object","properties":{"exp":{"type":"string","example":"1.25"},"permissions":{"type":"array","items":{"type":"string"}},"id":{"type":"number"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"username":{"type":"string"},"isPrivate":{"type":"boolean"},"email":{"type":"string","nullable":true},"emailVerified":{"type":"boolean"},"lastLoginAt":{"format":"date-time","type":"string"},"avatar":{"type":"string"},"mfaSecret":{"type":"string","nullable":true},"vipLevel":{"type":"number"},"steamId":{"type":"string","nullable":true},"steamTradeLink":{"type":"string","nullable":true},"googleEmail":{"type":"string","nullable":true},"isStreamer":{"type":"boolean"},"isStreamerMode":{"type":"boolean"},"isStaff":{"type":"boolean"},"isYoutuber":{"type":"boolean"},"canUseChat":{"type":"boolean"},"isBanned":{"type":"boolean"},"banReason":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/UserRoleDto"}},"kyc":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/UserKycDto"}]},"isEmailNotificationsEnabled":{"type":"boolean"},"customMinAffiliateLevel":{"type":"number"},"isTest":{"type":"boolean"},"isBot":{"type":"boolean"},"affiliateCodeId":{"type":"string","nullable":true},"usdBalance":{"$ref":"#/components/schemas/i"},"statsUsd":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/UserStatsUsdDto"}]},"isOnline":{"type":"boolean"},"mfaEnabled":{"type":"boolean"},"affiliateCodes":{"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/AffiliateCodeDto"}},"notes":{"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/BaseUserNoteDto"}},"claimedPromoCodes":{"description":"@description Only active promo codes in the list.","type":"array","items":{"$ref":"#/components/schemas/UserPromoCodeShortDto"}}},"required":["exp","permissions","id","createdAt","updatedAt","username","isPrivate","email","emailVerified","lastLoginAt","avatar","mfaSecret","vipLevel","steamId","steamTradeLink","googleEmail","isStreamer","isStreamerMode","isStaff","isYoutuber","canUseChat","isBanned","banReason","roles","kyc","isEmailNotificationsEnabled","customMinAffiliateLevel","isTest","isBot","affiliateCodeId"]},"UpdateUserByAdminDto":{"type":"object","properties":{"username":{"type":"string","minLength":3,"maxLength":16,"pattern":"NO_SPECIAL_CHARS_REGEX","example":"swagger"},"isStaff":{"type":"boolean"},"isYoutuber":{"type":"boolean"},"customMinAffiliateLevel":{"type":"number"},"isTest":{"type":"boolean"},"isStreamer":{"type":"boolean"},"canUseChat":{"type":"boolean"},"isPrivate":{"type":"boolean"},"isStreamerMode":{"type":"boolean"},"isEmailNotificationsEnabled":{"type":"boolean"},"steamTradeLink":{"type":"string","pattern":"STEAM_TRADE_LINK_REGEX"}}},"UserBanDto":{"type":"object","properties":{"banReason":{"type":"string"}},"required":["banReason"]},"UpdateUserBalanceDto":{"type":"object","properties":{"balance":{"type":"string","example":"1.25"},"currencyId":{"type":"string","enum":["DBC","BTC","ETH","LTC","TRX","POL","USDT","BNB","SOL","USDC","XRP","TETH"]}},"required":["balance","currencyId"]},"UpdateUserRolesDto":{"type":"object","properties":{"roles":{"type":"string","enum":["User","Admin","SuperAdmin"]}},"required":["roles"]},"UpdateUserPermissionsDto":{"type":"object","properties":{"permissions":{"type":"string","enum":["user.view","user.edit","user.ban","user.transactions.view","user.bets.view","geo.view","geo.edit","withdrawals.view","withdrawals.block","withdrawals.unblock","withdrawals.approve","withdrawals.reject","withdrawals.retry","dashboard.view","faq.edit","deposits.view","leaderboard.edit","leaderboard.view","leaderboard.give-prize","api-key.edit","api-key.view","system.logger","chat.admin-action","user-note.edit","user-note.view","user-note.delete","user-limit.view","user-limit.edit","user-limit.delete","casino.games.view","casino.games.edit","casino.games.commission.edit","rakebacks.view","affiliate.levels.view","affiliate.users.view","affiliate.find-one.view","affiliate.find-one-stats.view","tip.view","admin-tips.view","admin-tips.tip","admin-tips.deduct-balance","admin-users.view-admin-audit","registration-info.view","transaction.view","affiliate.view","affiliate.streamer.view","affiliate-code.delete","affiliate-code.create","balance.view","kyc.view","kyc.edit","promo.code.view","promo.code.edit","challenge.view","challenge.edit","challenge.action","vip.application.action","vip.application.view","casino-bot.management","casino-bot.view"]}},"required":["permissions"]},"UpdateSingleRoleUserDto":{"type":"object","properties":{"username":{"type":"string"},"role":{"type":"object"}},"required":["username","role"]},"UserAdminStatsDto":{"type":"object","properties":{"totalWagered":{"type":"string","example":"1.25"},"totalPayouts":{"type":"string","example":"1.25"},"totalDeposits":{"type":"string","example":"1.25"},"totalWithdraws":{"type":"string","example":"1.25"},"ltv":{"type":"string","example":"1.25"},"ggr":{"type":"string","example":"1.25"},"avgBet":{"type":"string","example":"1.25"},"netDeposit":{"type":"string","example":"1.25"},"totalLoss":{"type":"string","example":"1.25"},"totalBets":{"type":"number"},"rtp":{"type":"number"},"winRate":{"type":"number"}},"required":["totalWagered","totalPayouts","totalDeposits","totalWithdraws","ltv","ggr","avgBet","netDeposit","totalLoss","totalBets","rtp","winRate"]},"FindManyRakebackWhere":{"type":"object","properties":{"currencyId":{"type":"string","enum":["DBC","BTC","ETH","LTC","TRX","POL","USDT","BNB","SOL","USDC","XRP","TETH"]},"userId":{"type":"number"}},"required":["userId"]},"FindManyRakebackQuery":{"type":"object","properties":{"where":{"$ref":"#/components/schemas/FindManyRakebackWhere"}},"required":["where"]},"AdminRakebackDto":{"type":"object","properties":{"instantClaimable":{"type":"string","example":"1.25"},"instantTotalClaimed":{"type":"string","example":"1.25"},"dailyClaimable":{"type":"string","example":"1.25"},"dailyTotalClaimed":{"type":"string","example":"1.25"},"dailyAccumulated":{"type":"string","example":"1.25"},"weeklyClaimable":{"type":"string","example":"1.25"},"weeklyTotalClaimed":{"type":"string","example":"1.25"},"weeklyAccumulated":{"type":"string","example":"1.25"},"monthlyClaimable":{"type":"string","example":"1.25"},"monthlyTotalClaimed":{"type":"string","example":"1.25"},"monthlyAccumulated":{"type":"string","example":"1.25"},"userId":{"type":"number"},"currencyId":{"type":"object"},"updatedAt":{"format":"date-time","type":"string"}},"required":["instantClaimable","instantTotalClaimed","dailyClaimable","dailyTotalClaimed","dailyAccumulated","weeklyClaimable","weeklyTotalClaimed","weeklyAccumulated","monthlyClaimable","monthlyTotalClaimed","monthlyAccumulated","userId","currencyId","updatedAt"]},"ChatAdminActionDto":{"type":"object","properties":{"action":{"enum":["delete_message","set_rate_limit"],"type":"string"},"args":{"type":"object"}},"required":["action","args"]},"TransactionPayload":{"type":"object","properties":{}},"TransactionDto":{"type":"object","properties":{"amount":{"type":"string","example":"1.25"},"beforeBalance":{"type":"string","nullable":true,"example":"1.25"},"afterBalance":{"type":"string","nullable":true,"example":"1.25"},"originalId":{"type":"string","nullable":true,"description":"Id for the original transaction. Only for tag: ROLLBACK_BET"},"id":{"type":"string"},"currencyId":{"type":"object"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"userId":{"type":"number"},"adminUserId":{"type":"number","nullable":true},"status":{"type":"object"},"type":{"type":"object"},"notes":{"type":"string","nullable":true},"tag":{"type":"object"},"roundId":{"type":"string","nullable":true},"payload":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/TransactionPayload"}]},"slotOriginalId":{"type":"string","nullable":true}},"required":["amount","beforeBalance","afterBalance","originalId","id","currencyId","createdAt","updatedAt","userId","adminUserId","status","type","notes","tag","roundId","payload","slotOriginalId"]},"TransactionFilterDto":{"type":"object","properties":{"type":{"type":"string","enum":["DEPOSIT","WITHDRAW","PREVENTING"]},"tag":{"type":"string","enum":["DEPOSIT","WITHDRAW","REFUND","PROMO","SYSTEM","AFFILIATE_CLAIMED","LEADERBOARD_PRIZE","BET","ROLLBACK_BET","TIP","ADMIN_TIP","VAULT","RAKEBACK","SPORTSBOOK_RESETTLE_BET","LOYALTY_BONUS","PM8_PROMO_WIN","PM8_TOURNAMENT_WIN","ST8_PROMO_CREDIT","CHALLENGE_REWARD"]},"createdAt":{"$ref":"#/components/schemas/DateFilterDto"},"userId":{"type":"number"},"amount":{"$ref":"#/components/schemas/DecimalFilterDto"}}},"FindManyTransactionsQuery":{"type":"object","properties":{"sortBy":{"type":"string","enum":["CREATED_AT","TAG","AMOUNT"]},"sortOrder":{"type":"string","enum":["asc","desc"]},"where":{"$ref":"#/components/schemas/TransactionFilterDto"},"page":{"type":"number","default":1,"minimum":1,"maximum":9007199254740991},"take":{"type":"number","default":20,"minimum":1,"maximum":20}},"required":["sortBy","sortOrder","page","take"]}}}}