/* eslint-disable */ // Generated by scripts/generate-api-client.mjs. Do not edit manually. import type { PermissionCode } from "@/app/permissions"; export type ApiHttpMethod = "DELETE" | "GET" | "PATCH" | "POST" | "PUT"; export interface ApiEndpoint { method: ApiHttpMethod; operationId: string; path: string; permission?: PermissionCode; permissions?: PermissionCode[]; } export const API_OPERATIONS = { appBanUser: "appBanUser", appGetUser: "appGetUser", appListBannedUsers: "appListBannedUsers", appListLoginLogs: "appListLoginLogs", appListUserLoginLogs: "appListUserLoginLogs", appListUsers: "appListUsers", appSetPassword: "appSetPassword", appUnbanUser: "appUnbanUser", appUpdateUser: "appUpdateUser", batchUpdateUserStatus: "batchUpdateUserStatus", cancelRoomPin: "cancelRoomPin", changePassword: "changePassword", closeAgency: "closeAgency", createAchievementDefinition: "createAchievementDefinition", createAgency: "createAgency", createAppVersion: "createAppVersion", createBanner: "createBanner", createBD: "createBD", createBDLeader: "createBDLeader", createCatalog: "createCatalog", createCoinAdjustment: "createCoinAdjustment", createCoinSeller: "createCoinSeller", createCountry: "createCountry", createEmojiPack: "createEmojiPack", createExploreTab: "createExploreTab", createGift: "createGift", createH5Link: "createH5Link", createMenu: "createMenu", createPermission: "createPermission", createPlatform: "createPlatform", createRechargeProduct: "createRechargeProduct", createRegion: "createRegion", createResource: "createResource", createResourceGroup: "createResourceGroup", createRole: "createRole", createRoomPin: "createRoomPin", createTaskDefinition: "createTaskDefinition", createTier: "createTier", createUser: "createUser", creditCoinSellerStock: "creditCoinSellerStock", dashboardOverview: "dashboardOverview", deleteAppVersion: "deleteAppVersion", deleteBanner: "deleteBanner", deleteBDLeader: "deleteBDLeader", deleteCatalog: "deleteCatalog", deleteCountry: "deleteCountry", deleteExploreTab: "deleteExploreTab", deleteH5Link: "deleteH5Link", deleteMenu: "deleteMenu", deletePermission: "deletePermission", deleteRechargeProduct: "deleteRechargeProduct", deleteRole: "deleteRole", deleteRoom: "deleteRoom", disableCountry: "disableCountry", disableGift: "disableGift", disableRegion: "disableRegion", disableResource: "disableResource", disableResourceGroup: "disableResourceGroup", enableCountry: "enableCountry", enableGift: "enableGift", enableRegion: "enableRegion", enableResource: "enableResource", enableResourceGroup: "enableResourceGroup", exportLoginLogs: "exportLoginLogs", exportOperationLogs: "exportOperationLogs", exportUsers: "exportUsers", getCountry: "getCountry", getFirstRechargeRewardConfig: "getFirstRechargeRewardConfig", getLuckyGiftConfig: "getLuckyGiftConfig", getLuckyGiftDrawSummary: "getLuckyGiftDrawSummary", getRedPacket: "getRedPacket", getRedPacketConfig: "getRedPacketConfig", getRegion: "getRegion", getRegistrationRewardConfig: "getRegistrationRewardConfig", getResource: "getResource", getResourceGroup: "getResourceGroup", getRoleDataScopes: "getRoleDataScopes", getRoomConfig: "getRoomConfig", getRoomTreasureConfig: "getRoomTreasureConfig", getSevenDayCheckInConfig: "getSevenDayCheckInConfig", getUser: "getUser", grantResource: "grantResource", grantResourceGroup: "grantResourceGroup", listAchievementDefinitions: "listAchievementDefinitions", listAgencies: "listAgencies", listApps: "listApps", listAppVersions: "listAppVersions", listBanners: "listBanners", listBDLeaders: "listBDLeaders", listBDs: "listBDs", listCatalog: "listCatalog", listCoinAdjustments: "listCoinAdjustments", listCoinLedger: "listCoinLedger", listCoinSellers: "listCoinSellers", listCountries: "listCountries", listEmojiPackCategories: "listEmojiPackCategories", listEmojiPacks: "listEmojiPacks", listExploreTabs: "listExploreTabs", listFirstRechargeRewardClaims: "listFirstRechargeRewardClaims", listGifts: "listGifts", listGiftTypes: "listGiftTypes", listH5Links: "listH5Links", listHosts: "listHosts", listLevelConfig: "listLevelConfig", listLoginLogs: "listLoginLogs", listLuckyGiftConfigs: "listLuckyGiftConfigs", listLuckyGiftDraws: "listLuckyGiftDraws", listOperationLogs: "listOperationLogs", listPermissions: "listPermissions", listPlatforms: "listPlatforms", listRechargeBills: "listRechargeBills", listRechargeProducts: "listRechargeProducts", listRedPackets: "listRedPackets", listRegionBlocks: "listRegionBlocks", listRegions: "listRegions", listRegistrationRewardClaims: "listRegistrationRewardClaims", listResourceGrants: "listResourceGrants", listResourceGroups: "listResourceGroups", listResources: "listResources", listRoles: "listRoles", listRoomPins: "listRoomPins", listRooms: "listRooms", listSevenDayCheckInClaims: "listSevenDayCheckInClaims", listSystemMenus: "listSystemMenus", listTaskDefinitions: "listTaskDefinitions", listUserLeaderboards: "listUserLeaderboards", listUsers: "listUsers", login: "login", logout: "logout", lookupCoinAdjustmentTarget: "lookupCoinAdjustmentTarget", me: "me", navigationMenus: "navigationMenus", refresh: "refresh", replaceRegionBlocks: "replaceRegionBlocks", replaceRegionCountries: "replaceRegionCountries", replaceRoleDataScopes: "replaceRoleDataScopes", replaceRolePermissions: "replaceRolePermissions", resetUserPassword: "resetUserPassword", search: "search", setAgencyJoinEnabled: "setAgencyJoinEnabled", setBDLeaderStatus: "setBDLeaderStatus", setBDStatus: "setBDStatus", setCoinSellerStatus: "setCoinSellerStatus", setGameStatus: "setGameStatus", setTaskDefinitionStatus: "setTaskDefinitionStatus", sortMenus: "sortMenus", syncPermissions: "syncPermissions", updateAchievementDefinition: "updateAchievementDefinition", updateAppVersion: "updateAppVersion", updateBanner: "updateBanner", updateCatalog: "updateCatalog", updateCountry: "updateCountry", updateExploreTab: "updateExploreTab", updateFirstRechargeRewardConfig: "updateFirstRechargeRewardConfig", updateGift: "updateGift", updateGiftType: "updateGiftType", updateGiftTypes: "updateGiftTypes", updateH5Link: "updateH5Link", updateH5Links: "updateH5Links", updateMenu: "updateMenu", updateMenuVisible: "updateMenuVisible", updatePermission: "updatePermission", updatePlatform: "updatePlatform", updateRechargeProduct: "updateRechargeProduct", updateRedPacketConfig: "updateRedPacketConfig", updateRegion: "updateRegion", updateRegistrationRewardConfig: "updateRegistrationRewardConfig", updateResource: "updateResource", updateResourceGroup: "updateResourceGroup", updateResourceGroupItems: "updateResourceGroupItems", updateRole: "updateRole", updateRoom: "updateRoom", updateRoomConfig: "updateRoomConfig", updateRoomTreasureConfig: "updateRoomTreasureConfig", updateSevenDayCheckInConfig: "updateSevenDayCheckInConfig", updateTaskDefinition: "updateTaskDefinition", updateTier: "updateTier", updateTrack: "updateTrack", updateUser: "updateUser", updateUserStatus: "updateUserStatus", uploadFile: "uploadFile", uploadImage: "uploadImage", upsertLuckyGiftConfig: "upsertLuckyGiftConfig", upsertRule: "upsertRule", } as const; export type ApiOperationId = (typeof API_OPERATIONS)[keyof typeof API_OPERATIONS]; export const API_ENDPOINTS: Record = { appBanUser: { method: "POST", operationId: API_OPERATIONS.appBanUser, path: "/v1/app/users/{id}/ban", permission: "app-user:status", permissions: ["app-user:status"], }, appGetUser: { method: "GET", operationId: API_OPERATIONS.appGetUser, path: "/v1/app/users/{id}", permission: "app-user:view", permissions: ["app-user:view"], }, appListBannedUsers: { method: "GET", operationId: API_OPERATIONS.appListBannedUsers, path: "/v1/app/users/bans", permission: "app-user:view", permissions: ["app-user:view"], }, appListLoginLogs: { method: "GET", operationId: API_OPERATIONS.appListLoginLogs, path: "/v1/app/users/login-logs", permission: "app-user:view", permissions: ["app-user:view"], }, appListUserLoginLogs: { method: "GET", operationId: API_OPERATIONS.appListUserLoginLogs, path: "/v1/app/users/{id}/login-logs", permission: "app-user:view", permissions: ["app-user:view"], }, appListUsers: { method: "GET", operationId: API_OPERATIONS.appListUsers, path: "/v1/app/users", permission: "app-user:view", permissions: ["app-user:view"], }, appSetPassword: { method: "POST", operationId: API_OPERATIONS.appSetPassword, path: "/v1/app/users/{id}/password", permission: "app-user:password", permissions: ["app-user:password"], }, appUnbanUser: { method: "POST", operationId: API_OPERATIONS.appUnbanUser, path: "/v1/app/users/{id}/unban", permission: "app-user:status", permissions: ["app-user:status"], }, appUpdateUser: { method: "PATCH", operationId: API_OPERATIONS.appUpdateUser, path: "/v1/app/users/{id}", permission: "app-user:update", permissions: ["app-user:update"], }, batchUpdateUserStatus: { method: "POST", operationId: API_OPERATIONS.batchUpdateUserStatus, path: "/v1/users/batch/status", permission: "user:status", permissions: ["user:status"], }, cancelRoomPin: { method: "DELETE", operationId: API_OPERATIONS.cancelRoomPin, path: "/v1/admin/rooms/pins/{pin_id}", permission: "room-pin:cancel", permissions: ["room-pin:cancel"], }, changePassword: { method: "POST", operationId: API_OPERATIONS.changePassword, path: "/v1/auth/change-password", }, closeAgency: { method: "POST", operationId: API_OPERATIONS.closeAgency, path: "/v1/admin/agencies/{agency_id}/close", permission: "agency:status", permissions: ["agency:status"], }, createAchievementDefinition: { method: "POST", operationId: API_OPERATIONS.createAchievementDefinition, path: "/v1/admin/activity/achievements", permission: "achievement:create", permissions: ["achievement:create"], }, createAgency: { method: "POST", operationId: API_OPERATIONS.createAgency, path: "/v1/admin/agencies", permission: "agency:create", permissions: ["agency:create"], }, createAppVersion: { method: "POST", operationId: API_OPERATIONS.createAppVersion, path: "/v1/admin/app-config/versions", permission: "app-version:create", permissions: ["app-version:create"], }, createBanner: { method: "POST", operationId: API_OPERATIONS.createBanner, path: "/v1/admin/app-config/banners", permission: "app-config:update", permissions: ["app-config:update"], }, createBD: { method: "POST", operationId: API_OPERATIONS.createBD, path: "/v1/admin/bds", permission: "bd:create", permissions: ["bd:create"], }, createBDLeader: { method: "POST", operationId: API_OPERATIONS.createBDLeader, path: "/v1/admin/bd-leaders", permission: "bd:create", permissions: ["bd:create"], }, createCatalog: { method: "POST", operationId: API_OPERATIONS.createCatalog, path: "/v1/admin/game/games", permission: "game:create", permissions: ["game:create"], }, createCoinAdjustment: { method: "POST", operationId: API_OPERATIONS.createCoinAdjustment, path: "/v1/admin/operations/coin-adjustments", permission: "coin-adjustment:create", permissions: ["coin-adjustment:create"], }, createCoinSeller: { method: "POST", operationId: API_OPERATIONS.createCoinSeller, path: "/v1/admin/coin-sellers", permission: "coin-seller:create", permissions: ["coin-seller:create"], }, createCountry: { method: "POST", operationId: API_OPERATIONS.createCountry, path: "/v1/admin/countries", permission: "country:create", permissions: ["country:create"], }, createEmojiPack: { method: "POST", operationId: API_OPERATIONS.createEmojiPack, path: "/v1/admin/emoji-packs", permission: "emoji-pack:create", permissions: ["emoji-pack:create"], }, createExploreTab: { method: "POST", operationId: API_OPERATIONS.createExploreTab, path: "/v1/admin/app-config/explore-tabs", permission: "app-config:update", permissions: ["app-config:update"], }, createGift: { method: "POST", operationId: API_OPERATIONS.createGift, path: "/v1/admin/gifts", permission: "gift:create", permissions: ["gift:create"], }, createH5Link: { method: "POST", operationId: API_OPERATIONS.createH5Link, path: "/v1/admin/app-config/h5-links", permission: "app-config:update", permissions: ["app-config:update"], }, createMenu: { method: "POST", operationId: API_OPERATIONS.createMenu, path: "/v1/system/menus", permission: "menu:create", permissions: ["menu:create"], }, createPermission: { method: "POST", operationId: API_OPERATIONS.createPermission, path: "/v1/permissions", permission: "permission:create", permissions: ["permission:create"], }, createPlatform: { method: "POST", operationId: API_OPERATIONS.createPlatform, path: "/v1/admin/game/platforms", permission: "game:update", permissions: ["game:update"], }, createRechargeProduct: { method: "POST", operationId: API_OPERATIONS.createRechargeProduct, path: "/v1/admin/payment/recharge-products", permission: "payment-product:create", permissions: ["payment-product:create"], }, createRegion: { method: "POST", operationId: API_OPERATIONS.createRegion, path: "/v1/admin/regions", permission: "region:create", permissions: ["region:create"], }, createResource: { method: "POST", operationId: API_OPERATIONS.createResource, path: "/v1/admin/resources", permission: "resource:create", permissions: ["resource:create"], }, createResourceGroup: { method: "POST", operationId: API_OPERATIONS.createResourceGroup, path: "/v1/admin/resource-groups", permission: "resource-group:create", permissions: ["resource-group:create"], }, createRole: { method: "POST", operationId: API_OPERATIONS.createRole, path: "/v1/roles", permission: "role:create", permissions: ["role:create", "role:manage"], }, createRoomPin: { method: "POST", operationId: API_OPERATIONS.createRoomPin, path: "/v1/admin/rooms/pins", permission: "room-pin:create", permissions: ["room-pin:create"], }, createTaskDefinition: { method: "POST", operationId: API_OPERATIONS.createTaskDefinition, path: "/v1/admin/activity/daily-tasks", permission: "daily-task:create", permissions: ["daily-task:create"], }, createTier: { method: "POST", operationId: API_OPERATIONS.createTier, path: "/v1/admin/users/level-config/tiers", permission: "level-config:update", permissions: ["level-config:update"], }, createUser: { method: "POST", operationId: API_OPERATIONS.createUser, path: "/v1/users", permission: "user:create", permissions: ["user:create"], }, creditCoinSellerStock: { method: "POST", operationId: API_OPERATIONS.creditCoinSellerStock, path: "/v1/admin/coin-sellers/{user_id}/stock-credits", permission: "coin-seller:stock-credit", permissions: ["coin-seller:stock-credit"], }, dashboardOverview: { method: "GET", operationId: API_OPERATIONS.dashboardOverview, path: "/v1/dashboard/overview", permission: "overview:view", permissions: ["overview:view"], }, deleteAppVersion: { method: "DELETE", operationId: API_OPERATIONS.deleteAppVersion, path: "/v1/admin/app-config/versions/{version_id}", permission: "app-version:delete", permissions: ["app-version:delete"], }, deleteBanner: { method: "DELETE", operationId: API_OPERATIONS.deleteBanner, path: "/v1/admin/app-config/banners/{banner_id}", permission: "app-config:update", permissions: ["app-config:update"], }, deleteBDLeader: { method: "DELETE", operationId: API_OPERATIONS.deleteBDLeader, path: "/v1/admin/bd-leaders/{user_id}", permission: "bd:update", permissions: ["bd:update"], }, deleteCatalog: { method: "DELETE", operationId: API_OPERATIONS.deleteCatalog, path: "/v1/admin/game/games/{game_id}", permission: "game:delete", permissions: ["game:delete"], }, deleteCountry: { method: "DELETE", operationId: API_OPERATIONS.deleteCountry, path: "/v1/admin/countries/{country_id}", permission: "country:status", permissions: ["country:status"], }, deleteExploreTab: { method: "DELETE", operationId: API_OPERATIONS.deleteExploreTab, path: "/v1/admin/app-config/explore-tabs/{tab_id}", permission: "app-config:update", permissions: ["app-config:update"], }, deleteH5Link: { method: "DELETE", operationId: API_OPERATIONS.deleteH5Link, path: "/v1/admin/app-config/h5-links/{key}", permission: "app-config:update", permissions: ["app-config:update"], }, deleteMenu: { method: "DELETE", operationId: API_OPERATIONS.deleteMenu, path: "/v1/system/menus/{id}", permission: "menu:delete", permissions: ["menu:delete"], }, deletePermission: { method: "DELETE", operationId: API_OPERATIONS.deletePermission, path: "/v1/permissions/{id}", permission: "permission:delete", permissions: ["permission:delete"], }, deleteRechargeProduct: { method: "DELETE", operationId: API_OPERATIONS.deleteRechargeProduct, path: "/v1/admin/payment/recharge-products/{product_id}", permission: "payment-product:delete", permissions: ["payment-product:delete"], }, deleteRole: { method: "DELETE", operationId: API_OPERATIONS.deleteRole, path: "/v1/roles/{id}", permission: "role:delete", permissions: ["role:delete", "role:manage"], }, deleteRoom: { method: "DELETE", operationId: API_OPERATIONS.deleteRoom, path: "/v1/admin/rooms/{room_id}", permission: "room:delete", permissions: ["room:delete"], }, disableCountry: { method: "POST", operationId: API_OPERATIONS.disableCountry, path: "/v1/admin/countries/{country_id}/disable", permission: "country:status", permissions: ["country:status"], }, disableGift: { method: "POST", operationId: API_OPERATIONS.disableGift, path: "/v1/admin/gifts/{gift_id}/disable", permission: "gift:status", permissions: ["gift:status"], }, disableRegion: { method: "DELETE", operationId: API_OPERATIONS.disableRegion, path: "/v1/admin/regions/{region_id}", permission: "region:status", permissions: ["region:status"], }, disableResource: { method: "POST", operationId: API_OPERATIONS.disableResource, path: "/v1/admin/resources/{resource_id}/disable", permission: "resource:update", permissions: ["resource:update"], }, disableResourceGroup: { method: "POST", operationId: API_OPERATIONS.disableResourceGroup, path: "/v1/admin/resource-groups/{group_id}/disable", permission: "resource-group:update", permissions: ["resource-group:update"], }, enableCountry: { method: "POST", operationId: API_OPERATIONS.enableCountry, path: "/v1/admin/countries/{country_id}/enable", permission: "country:status", permissions: ["country:status"], }, enableGift: { method: "POST", operationId: API_OPERATIONS.enableGift, path: "/v1/admin/gifts/{gift_id}/enable", permission: "gift:status", permissions: ["gift:status"], }, enableRegion: { method: "POST", operationId: API_OPERATIONS.enableRegion, path: "/v1/admin/regions/{region_id}/enable", permission: "region:status", permissions: ["region:status"], }, enableResource: { method: "POST", operationId: API_OPERATIONS.enableResource, path: "/v1/admin/resources/{resource_id}/enable", permission: "resource:update", permissions: ["resource:update"], }, enableResourceGroup: { method: "POST", operationId: API_OPERATIONS.enableResourceGroup, path: "/v1/admin/resource-groups/{group_id}/enable", permission: "resource-group:update", permissions: ["resource-group:update"], }, exportLoginLogs: { method: "GET", operationId: API_OPERATIONS.exportLoginLogs, path: "/v1/logs/login/export", permission: "log:export", permissions: ["log:export"], }, exportOperationLogs: { method: "GET", operationId: API_OPERATIONS.exportOperationLogs, path: "/v1/logs/operations/export", permission: "log:export", permissions: ["log:export"], }, exportUsers: { method: "GET", operationId: API_OPERATIONS.exportUsers, path: "/v1/users/export", permission: "user:export", permissions: ["user:export"], }, getCountry: { method: "GET", operationId: API_OPERATIONS.getCountry, path: "/v1/admin/countries/{country_id}", permission: "country:view", permissions: ["country:view"], }, getFirstRechargeRewardConfig: { method: "GET", operationId: API_OPERATIONS.getFirstRechargeRewardConfig, path: "/v1/admin/activity/first-recharge-reward/config", permission: "first-recharge-reward:view", permissions: ["first-recharge-reward:view"], }, getLuckyGiftConfig: { method: "GET", operationId: API_OPERATIONS.getLuckyGiftConfig, path: "/v1/admin/activity/lucky-gifts/config", permission: "lucky-gift:view", permissions: ["lucky-gift:view"], }, getLuckyGiftDrawSummary: { method: "GET", operationId: API_OPERATIONS.getLuckyGiftDrawSummary, path: "/v1/admin/activity/lucky-gifts/draw-summary", permission: "lucky-gift:view", permissions: ["lucky-gift:view"], }, getRedPacket: { method: "GET", operationId: API_OPERATIONS.getRedPacket, path: "/v1/admin/activity/red-packets/{packet_id}", permission: "red-packet:view", permissions: ["red-packet:view"], }, getRedPacketConfig: { method: "GET", operationId: API_OPERATIONS.getRedPacketConfig, path: "/v1/admin/activity/red-packets/config", permission: "red-packet:view", permissions: ["red-packet:view"], }, getRegion: { method: "GET", operationId: API_OPERATIONS.getRegion, path: "/v1/admin/regions/{region_id}", permission: "region:view", permissions: ["region:view"], }, getRegistrationRewardConfig: { method: "GET", operationId: API_OPERATIONS.getRegistrationRewardConfig, path: "/v1/admin/activity/registration-reward/config", permission: "registration-reward:view", permissions: ["registration-reward:view"], }, getResource: { method: "GET", operationId: API_OPERATIONS.getResource, path: "/v1/admin/resources/{resource_id}", permission: "resource:view", permissions: ["resource:view"], }, getResourceGroup: { method: "GET", operationId: API_OPERATIONS.getResourceGroup, path: "/v1/admin/resource-groups/{group_id}", permission: "resource-group:view", permissions: ["resource-group:view"], }, getRoleDataScopes: { method: "GET", operationId: API_OPERATIONS.getRoleDataScopes, path: "/v1/roles/{id}/data-scopes", permission: "role:data-scope", permissions: ["role:data-scope"], }, getRoomConfig: { method: "GET", operationId: API_OPERATIONS.getRoomConfig, path: "/v1/admin/rooms/config", permission: "room-config:view", permissions: ["room-config:view"], }, getRoomTreasureConfig: { method: "GET", operationId: API_OPERATIONS.getRoomTreasureConfig, path: "/v1/admin/activity/room-treasure/config", permission: "room-treasure:view", permissions: ["room-treasure:view"], }, getSevenDayCheckInConfig: { method: "GET", operationId: API_OPERATIONS.getSevenDayCheckInConfig, path: "/v1/admin/activity/seven-day-checkin/config", permission: "seven-day-checkin:view", permissions: ["seven-day-checkin:view"], }, getUser: { method: "GET", operationId: API_OPERATIONS.getUser, path: "/v1/users/{id}", permission: "user:view", permissions: ["user:view"], }, grantResource: { method: "POST", operationId: API_OPERATIONS.grantResource, path: "/v1/admin/resource-grants/resource", permission: "resource-grant:create", permissions: ["resource-grant:create"], }, grantResourceGroup: { method: "POST", operationId: API_OPERATIONS.grantResourceGroup, path: "/v1/admin/resource-grants/group", permission: "resource-grant:create", permissions: ["resource-grant:create"], }, listAchievementDefinitions: { method: "GET", operationId: API_OPERATIONS.listAchievementDefinitions, path: "/v1/admin/activity/achievements", permission: "achievement:view", permissions: ["achievement:view"], }, listAgencies: { method: "GET", operationId: API_OPERATIONS.listAgencies, path: "/v1/admin/agencies", permission: "agency:view", permissions: ["agency:view"], }, listApps: { method: "GET", operationId: API_OPERATIONS.listApps, path: "/v1/admin/apps", }, listAppVersions: { method: "GET", operationId: API_OPERATIONS.listAppVersions, path: "/v1/admin/app-config/versions", permission: "app-version:view", permissions: ["app-version:view"], }, listBanners: { method: "GET", operationId: API_OPERATIONS.listBanners, path: "/v1/admin/app-config/banners", permission: "app-config:view", permissions: ["app-config:view"], }, listBDLeaders: { method: "GET", operationId: API_OPERATIONS.listBDLeaders, path: "/v1/admin/bd-leaders", permission: "bd:view", permissions: ["bd:view"], }, listBDs: { method: "GET", operationId: API_OPERATIONS.listBDs, path: "/v1/admin/bds", permission: "bd:view", permissions: ["bd:view"], }, listCatalog: { method: "GET", operationId: API_OPERATIONS.listCatalog, path: "/v1/admin/game/games", permission: "game:view", permissions: ["game:view"], }, listCoinAdjustments: { method: "GET", operationId: API_OPERATIONS.listCoinAdjustments, path: "/v1/admin/operations/coin-adjustments", permission: "coin-adjustment:view", permissions: ["coin-adjustment:view"], }, listCoinLedger: { method: "GET", operationId: API_OPERATIONS.listCoinLedger, path: "/v1/admin/operations/coin-ledger", permission: "coin-ledger:view", permissions: ["coin-ledger:view"], }, listCoinSellers: { method: "GET", operationId: API_OPERATIONS.listCoinSellers, path: "/v1/admin/coin-sellers", permission: "coin-seller:view", permissions: ["coin-seller:view"], }, listCountries: { method: "GET", operationId: API_OPERATIONS.listCountries, path: "/v1/admin/countries", permission: "country:view", permissions: ["country:view"], }, listEmojiPackCategories: { method: "GET", operationId: API_OPERATIONS.listEmojiPackCategories, path: "/v1/admin/emoji-packs/categories", permission: "emoji-pack:view", permissions: ["emoji-pack:view"], }, listEmojiPacks: { method: "GET", operationId: API_OPERATIONS.listEmojiPacks, path: "/v1/admin/emoji-packs", permission: "emoji-pack:view", permissions: ["emoji-pack:view"], }, listExploreTabs: { method: "GET", operationId: API_OPERATIONS.listExploreTabs, path: "/v1/admin/app-config/explore-tabs", permission: "app-config:view", permissions: ["app-config:view"], }, listFirstRechargeRewardClaims: { method: "GET", operationId: API_OPERATIONS.listFirstRechargeRewardClaims, path: "/v1/admin/activity/first-recharge-reward/claims", permission: "first-recharge-reward:view", permissions: ["first-recharge-reward:view"], }, listGifts: { method: "GET", operationId: API_OPERATIONS.listGifts, path: "/v1/admin/gifts", permission: "gift:view", permissions: ["gift:view"], }, listGiftTypes: { method: "GET", operationId: API_OPERATIONS.listGiftTypes, path: "/v1/admin/gift-types", permission: "gift:view", permissions: ["gift:view"], }, listH5Links: { method: "GET", operationId: API_OPERATIONS.listH5Links, path: "/v1/admin/app-config/h5-links", permission: "app-config:view", permissions: ["app-config:view"], }, listHosts: { method: "GET", operationId: API_OPERATIONS.listHosts, path: "/v1/admin/hosts", permission: "host:view", permissions: ["host:view"], }, listLevelConfig: { method: "GET", operationId: API_OPERATIONS.listLevelConfig, path: "/v1/admin/users/level-config", permission: "level-config:view", permissions: ["level-config:view"], }, listLoginLogs: { method: "GET", operationId: API_OPERATIONS.listLoginLogs, path: "/v1/logs/login", permission: "log:view", permissions: ["log:view"], }, listLuckyGiftConfigs: { method: "GET", operationId: API_OPERATIONS.listLuckyGiftConfigs, path: "/v1/admin/activity/lucky-gifts/configs", permission: "lucky-gift:view", permissions: ["lucky-gift:view"], }, listLuckyGiftDraws: { method: "GET", operationId: API_OPERATIONS.listLuckyGiftDraws, path: "/v1/admin/activity/lucky-gifts/draws", permission: "lucky-gift:view", permissions: ["lucky-gift:view"], }, listOperationLogs: { method: "GET", operationId: API_OPERATIONS.listOperationLogs, path: "/v1/logs/operations", permission: "log:view", permissions: ["log:view"], }, listPermissions: { method: "GET", operationId: API_OPERATIONS.listPermissions, path: "/v1/permissions", permission: "permission:view", permissions: ["permission:view", "role:permission", "role:manage"], }, listPlatforms: { method: "GET", operationId: API_OPERATIONS.listPlatforms, path: "/v1/admin/game/platforms", permission: "game:view", permissions: ["game:view"], }, listRechargeBills: { method: "GET", operationId: API_OPERATIONS.listRechargeBills, path: "/v1/admin/payment/recharge-bills", permission: "payment-bill:view", permissions: ["payment-bill:view"], }, listRechargeProducts: { method: "GET", operationId: API_OPERATIONS.listRechargeProducts, path: "/v1/admin/payment/recharge-products", permission: "payment-product:view", permissions: ["payment-product:view"], }, listRedPackets: { method: "GET", operationId: API_OPERATIONS.listRedPackets, path: "/v1/admin/activity/red-packets", permission: "red-packet:view", permissions: ["red-packet:view"], }, listRegionBlocks: { method: "GET", operationId: API_OPERATIONS.listRegionBlocks, path: "/v1/admin/users/region-blocks", permission: "region-block:view", permissions: ["region-block:view"], }, listRegions: { method: "GET", operationId: API_OPERATIONS.listRegions, path: "/v1/admin/regions", permission: "region:view", permissions: ["region:view"], }, listRegistrationRewardClaims: { method: "GET", operationId: API_OPERATIONS.listRegistrationRewardClaims, path: "/v1/admin/activity/registration-reward/claims", permission: "registration-reward:view", permissions: ["registration-reward:view"], }, listResourceGrants: { method: "GET", operationId: API_OPERATIONS.listResourceGrants, path: "/v1/admin/resource-grants", permission: "resource-grant:view", permissions: ["resource-grant:view"], }, listResourceGroups: { method: "GET", operationId: API_OPERATIONS.listResourceGroups, path: "/v1/admin/resource-groups", permission: "resource-group:view", permissions: ["resource-group:view"], }, listResources: { method: "GET", operationId: API_OPERATIONS.listResources, path: "/v1/admin/resources", permission: "resource:view", permissions: ["resource:view"], }, listRoles: { method: "GET", operationId: API_OPERATIONS.listRoles, path: "/v1/roles", permission: "role:view", permissions: ["role:view"], }, listRoomPins: { method: "GET", operationId: API_OPERATIONS.listRoomPins, path: "/v1/admin/rooms/pins", permission: "room-pin:view", permissions: ["room-pin:view"], }, listRooms: { method: "GET", operationId: API_OPERATIONS.listRooms, path: "/v1/admin/rooms", permission: "room:view", permissions: ["room:view"], }, listSevenDayCheckInClaims: { method: "GET", operationId: API_OPERATIONS.listSevenDayCheckInClaims, path: "/v1/admin/activity/seven-day-checkin/claims", permission: "seven-day-checkin:view", permissions: ["seven-day-checkin:view"], }, listSystemMenus: { method: "GET", operationId: API_OPERATIONS.listSystemMenus, path: "/v1/system/menus", permission: "menu:view", permissions: ["menu:view"], }, listTaskDefinitions: { method: "GET", operationId: API_OPERATIONS.listTaskDefinitions, path: "/v1/admin/activity/daily-tasks", permission: "daily-task:view", permissions: ["daily-task:view"], }, listUserLeaderboards: { method: "GET", operationId: API_OPERATIONS.listUserLeaderboards, path: "/v1/admin/activity/user-leaderboards", permission: "user-leaderboard:view", permissions: ["user-leaderboard:view"], }, listUsers: { method: "GET", operationId: API_OPERATIONS.listUsers, path: "/v1/users", permission: "user:view", permissions: ["user:view"], }, login: { method: "POST", operationId: API_OPERATIONS.login, path: "/v1/auth/login", }, logout: { method: "POST", operationId: API_OPERATIONS.logout, path: "/v1/auth/logout", }, lookupCoinAdjustmentTarget: { method: "GET", operationId: API_OPERATIONS.lookupCoinAdjustmentTarget, path: "/v1/admin/operations/coin-adjustments/target", permission: "coin-adjustment:create", permissions: ["coin-adjustment:create"], }, me: { method: "GET", operationId: API_OPERATIONS.me, path: "/v1/auth/me", }, navigationMenus: { method: "GET", operationId: API_OPERATIONS.navigationMenus, path: "/v1/navigation/menus", }, refresh: { method: "POST", operationId: API_OPERATIONS.refresh, path: "/v1/auth/refresh", }, replaceRegionBlocks: { method: "PUT", operationId: API_OPERATIONS.replaceRegionBlocks, path: "/v1/admin/users/region-blocks", permission: "region-block:update", permissions: ["region-block:update"], }, replaceRegionCountries: { method: "PUT", operationId: API_OPERATIONS.replaceRegionCountries, path: "/v1/admin/regions/{region_id}/countries", permission: "region:update", permissions: ["region:update"], }, replaceRoleDataScopes: { method: "PUT", operationId: API_OPERATIONS.replaceRoleDataScopes, path: "/v1/roles/{id}/data-scopes", permission: "role:data-scope", permissions: ["role:data-scope"], }, replaceRolePermissions: { method: "PUT", operationId: API_OPERATIONS.replaceRolePermissions, path: "/v1/roles/{id}/permissions", permission: "role:permission", permissions: ["role:permission", "role:manage"], }, resetUserPassword: { method: "POST", operationId: API_OPERATIONS.resetUserPassword, path: "/v1/users/{id}/reset-password", permission: "user:reset-password", permissions: ["user:reset-password"], }, search: { method: "GET", operationId: API_OPERATIONS.search, path: "/v1/search", }, setAgencyJoinEnabled: { method: "POST", operationId: API_OPERATIONS.setAgencyJoinEnabled, path: "/v1/admin/agencies/{agency_id}/join-enabled", permission: "agency:status", permissions: ["agency:status"], }, setBDLeaderStatus: { method: "PATCH", operationId: API_OPERATIONS.setBDLeaderStatus, path: "/v1/admin/bd-leaders/{user_id}/status", permission: "bd:update", permissions: ["bd:update"], }, setBDStatus: { method: "PATCH", operationId: API_OPERATIONS.setBDStatus, path: "/v1/admin/bds/{user_id}/status", permission: "bd:update", permissions: ["bd:update"], }, setCoinSellerStatus: { method: "PATCH", operationId: API_OPERATIONS.setCoinSellerStatus, path: "/v1/admin/coin-sellers/{user_id}/status", permission: "coin-seller:update", permissions: ["coin-seller:update"], }, setGameStatus: { method: "PATCH", operationId: API_OPERATIONS.setGameStatus, path: "/v1/admin/game/games/{game_id}/status", permission: "game:status", permissions: ["game:status"], }, setTaskDefinitionStatus: { method: "POST", operationId: API_OPERATIONS.setTaskDefinitionStatus, path: "/v1/admin/activity/daily-tasks/{task_id}/status", permission: "daily-task:status", permissions: ["daily-task:status"], }, sortMenus: { method: "PUT", operationId: API_OPERATIONS.sortMenus, path: "/v1/system/menus/sort", permission: "menu:sort", permissions: ["menu:sort"], }, syncPermissions: { method: "POST", operationId: API_OPERATIONS.syncPermissions, path: "/v1/permissions/sync", permission: "permission:sync", permissions: ["permission:sync"], }, updateAchievementDefinition: { method: "PUT", operationId: API_OPERATIONS.updateAchievementDefinition, path: "/v1/admin/activity/achievements/{achievement_id}", permission: "achievement:update", permissions: ["achievement:update"], }, updateAppVersion: { method: "PUT", operationId: API_OPERATIONS.updateAppVersion, path: "/v1/admin/app-config/versions/{version_id}", permission: "app-version:update", permissions: ["app-version:update"], }, updateBanner: { method: "PUT", operationId: API_OPERATIONS.updateBanner, path: "/v1/admin/app-config/banners/{banner_id}", permission: "app-config:update", permissions: ["app-config:update"], }, updateCatalog: { method: "PATCH", operationId: API_OPERATIONS.updateCatalog, path: "/v1/admin/game/games/{game_id}", permission: "game:update", permissions: ["game:update"], }, updateCountry: { method: "PATCH", operationId: API_OPERATIONS.updateCountry, path: "/v1/admin/countries/{country_id}", permission: "country:update", permissions: ["country:update"], }, updateExploreTab: { method: "PUT", operationId: API_OPERATIONS.updateExploreTab, path: "/v1/admin/app-config/explore-tabs/{tab_id}", permission: "app-config:update", permissions: ["app-config:update"], }, updateFirstRechargeRewardConfig: { method: "PUT", operationId: API_OPERATIONS.updateFirstRechargeRewardConfig, path: "/v1/admin/activity/first-recharge-reward/config", permission: "first-recharge-reward:update", permissions: ["first-recharge-reward:update"], }, updateGift: { method: "PUT", operationId: API_OPERATIONS.updateGift, path: "/v1/admin/gifts/{gift_id}", permission: "gift:update", permissions: ["gift:update"], }, updateGiftType: { method: "PUT", operationId: API_OPERATIONS.updateGiftType, path: "/v1/admin/gift-types/{type_code}", permission: "gift:update", permissions: ["gift:update"], }, updateGiftTypes: { method: "PUT", operationId: API_OPERATIONS.updateGiftTypes, path: "/v1/admin/gift-types", permission: "gift:update", permissions: ["gift:update"], }, updateH5Link: { method: "PUT", operationId: API_OPERATIONS.updateH5Link, path: "/v1/admin/app-config/h5-links/{key}", permission: "app-config:update", permissions: ["app-config:update"], }, updateH5Links: { method: "PUT", operationId: API_OPERATIONS.updateH5Links, path: "/v1/admin/app-config/h5-links", permission: "app-config:update", permissions: ["app-config:update"], }, updateMenu: { method: "PATCH", operationId: API_OPERATIONS.updateMenu, path: "/v1/system/menus/{id}", permission: "menu:update", permissions: ["menu:update"], }, updateMenuVisible: { method: "PATCH", operationId: API_OPERATIONS.updateMenuVisible, path: "/v1/system/menus/{id}/visible", permission: "menu:visible", permissions: ["menu:visible"], }, updatePermission: { method: "PATCH", operationId: API_OPERATIONS.updatePermission, path: "/v1/permissions/{id}", permission: "permission:update", permissions: ["permission:update"], }, updatePlatform: { method: "PATCH", operationId: API_OPERATIONS.updatePlatform, path: "/v1/admin/game/platforms/{platform_code}", permission: "game:update", permissions: ["game:update"], }, updateRechargeProduct: { method: "PUT", operationId: API_OPERATIONS.updateRechargeProduct, path: "/v1/admin/payment/recharge-products/{product_id}", permission: "payment-product:update", permissions: ["payment-product:update"], }, updateRedPacketConfig: { method: "PUT", operationId: API_OPERATIONS.updateRedPacketConfig, path: "/v1/admin/activity/red-packets/config", permission: "red-packet:update", permissions: ["red-packet:update"], }, updateRegion: { method: "PATCH", operationId: API_OPERATIONS.updateRegion, path: "/v1/admin/regions/{region_id}", permission: "region:update", permissions: ["region:update"], }, updateRegistrationRewardConfig: { method: "PUT", operationId: API_OPERATIONS.updateRegistrationRewardConfig, path: "/v1/admin/activity/registration-reward/config", permission: "registration-reward:update", permissions: ["registration-reward:update"], }, updateResource: { method: "PUT", operationId: API_OPERATIONS.updateResource, path: "/v1/admin/resources/{resource_id}", permission: "resource:update", permissions: ["resource:update"], }, updateResourceGroup: { method: "PUT", operationId: API_OPERATIONS.updateResourceGroup, path: "/v1/admin/resource-groups/{group_id}", permission: "resource-group:update", permissions: ["resource-group:update"], }, updateResourceGroupItems: { method: "PUT", operationId: API_OPERATIONS.updateResourceGroupItems, path: "/v1/admin/resource-groups/{group_id}/items", permission: "resource-group:update", permissions: ["resource-group:update"], }, updateRole: { method: "PATCH", operationId: API_OPERATIONS.updateRole, path: "/v1/roles/{id}", permission: "role:update", permissions: ["role:update", "role:manage"], }, updateRoom: { method: "PATCH", operationId: API_OPERATIONS.updateRoom, path: "/v1/admin/rooms/{room_id}", permission: "room:update", permissions: ["room:update"], }, updateRoomConfig: { method: "PUT", operationId: API_OPERATIONS.updateRoomConfig, path: "/v1/admin/rooms/config", permission: "room-config:update", permissions: ["room-config:update"], }, updateRoomTreasureConfig: { method: "PUT", operationId: API_OPERATIONS.updateRoomTreasureConfig, path: "/v1/admin/activity/room-treasure/config", permission: "room-treasure:update", permissions: ["room-treasure:update"], }, updateSevenDayCheckInConfig: { method: "PUT", operationId: API_OPERATIONS.updateSevenDayCheckInConfig, path: "/v1/admin/activity/seven-day-checkin/config", permission: "seven-day-checkin:update", permissions: ["seven-day-checkin:update"], }, updateTaskDefinition: { method: "PUT", operationId: API_OPERATIONS.updateTaskDefinition, path: "/v1/admin/activity/daily-tasks/{task_id}", permission: "daily-task:update", permissions: ["daily-task:update"], }, updateTier: { method: "PUT", operationId: API_OPERATIONS.updateTier, path: "/v1/admin/users/level-config/tiers/{tier_id}", permission: "level-config:update", permissions: ["level-config:update"], }, updateTrack: { method: "PUT", operationId: API_OPERATIONS.updateTrack, path: "/v1/admin/users/level-config/tracks/{track}", permission: "level-config:update", permissions: ["level-config:update"], }, updateUser: { method: "PATCH", operationId: API_OPERATIONS.updateUser, path: "/v1/users/{id}", permission: "user:update", permissions: ["user:update"], }, updateUserStatus: { method: "PATCH", operationId: API_OPERATIONS.updateUserStatus, path: "/v1/users/{id}/status", permission: "user:status", permissions: ["user:status"], }, uploadFile: { method: "POST", operationId: API_OPERATIONS.uploadFile, path: "/v1/admin/files/upload", permission: "upload:create", permissions: ["upload:create"], }, uploadImage: { method: "POST", operationId: API_OPERATIONS.uploadImage, path: "/v1/admin/files/image/upload", permission: "upload:create", permissions: ["upload:create"], }, upsertLuckyGiftConfig: { method: "PUT", operationId: API_OPERATIONS.upsertLuckyGiftConfig, path: "/v1/admin/activity/lucky-gifts/config", permission: "lucky-gift:update", permissions: ["lucky-gift:update"], }, upsertRule: { method: "PUT", operationId: API_OPERATIONS.upsertRule, path: "/v1/admin/users/level-config/rules/{track}/{level}", permission: "level-config:update", permissions: ["level-config:update"], }, }; export const API_OPERATION_IDS = Object.values(API_OPERATIONS); export const API_PERMISSION_CODES = Array.from( new Set( Object.values(API_ENDPOINTS) .flatMap((endpoint) => endpoint.permissions || (endpoint.permission ? [endpoint.permission] : [])) .filter((permission): permission is PermissionCode => Boolean(permission)), ), ); export type ApiPathParams = Record; export function apiEndpointPath(operationId: ApiOperationId, params: ApiPathParams = {}) { let endpointPath = API_ENDPOINTS[operationId].path; for (const [key, value] of Object.entries(params)) { endpointPath = endpointPath.replace(`{${key}}`, encodeURIComponent(String(value))); } return endpointPath; }