/* 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 = {
  adjustDicePool: "adjustDicePool",
  adminAddAgencyHost: "adminAddAgencyHost",
  appBanUser: "appBanUser",
  appGetUser: "appGetUser",
  appListBannedUsers: "appListBannedUsers",
  appListLoginLogs: "appListLoginLogs",
  appListUserLoginLogs: "appListUserLoginLogs",
  appListUsers: "appListUsers",
  approveFinanceApplication: "approveFinanceApplication",
  approveFinanceWithdrawalApplication: "approveFinanceWithdrawalApplication",
  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",
  createFinanceApplication: "createFinanceApplication",
  createFullServerNoticeFanout: "createFullServerNoticeFanout",
  createGift: "createGift",
  createH5Link: "createH5Link",
  createHostAgencyPolicy: "createHostAgencyPolicy",
  createManager: "createManager",
  createMenu: "createMenu",
  createPermission: "createPermission",
  createPlatform: "createPlatform",
  createPopup: "createPopup",
  createPrettyIdPool: "createPrettyIdPool",
  createRechargeProduct: "createRechargeProduct",
  createRegion: "createRegion",
  createResource: "createResource",
  createResourceGroup: "createResourceGroup",
  createRobotRoom: "createRobotRoom",
  createRole: "createRole",
  createRoomPin: "createRoomPin",
  createSplashScreen: "createSplashScreen",
  createTaskDefinition: "createTaskDefinition",
  createTeam: "createTeam",
  createTeamSalaryPolicy: "createTeamSalaryPolicy",
  createTemporaryPaymentLink: "createTemporaryPaymentLink",
  createTier: "createTier",
  createUser: "createUser",
  createWeeklyStarCycle: "createWeeklyStarCycle",
  creditCoinSellerStock: "creditCoinSellerStock",
  dashboardOverview: "dashboardOverview",
  debitCoinSellerStock: "debitCoinSellerStock",
  deleteAchievementDefinition: "deleteAchievementDefinition",
  deleteAgency: "deleteAgency",
  deleteAppVersion: "deleteAppVersion",
  deleteBanner: "deleteBanner",
  deleteBDLeader: "deleteBDLeader",
  deleteCatalog: "deleteCatalog",
  deleteCountry: "deleteCountry",
  deleteDiceRobot: "deleteDiceRobot",
  deleteExploreTab: "deleteExploreTab",
  deleteGift: "deleteGift",
  deleteH5Link: "deleteH5Link",
  deleteHostAgencyPolicy: "deleteHostAgencyPolicy",
  deleteMenu: "deleteMenu",
  deletePermission: "deletePermission",
  deletePopup: "deletePopup",
  deleteRechargeProduct: "deleteRechargeProduct",
  deleteRole: "deleteRole",
  deleteRoom: "deleteRoom",
  deleteSplashScreen: "deleteSplashScreen",
  deleteTeamSalaryPolicy: "deleteTeamSalaryPolicy",
  disableCountry: "disableCountry",
  disableGift: "disableGift",
  disableRegion: "disableRegion",
  disableResource: "disableResource",
  disableResourceGroup: "disableResourceGroup",
  disableResourceShopItem: "disableResourceShopItem",
  enableCountry: "enableCountry",
  enableGift: "enableGift",
  enableRegion: "enableRegion",
  enableResource: "enableResource",
  enableResourceGroup: "enableResourceGroup",
  enableResourceShopItem: "enableResourceShopItem",
  expireRoomRpsChallenge: "expireRoomRpsChallenge",
  exportLoginLogs: "exportLoginLogs",
  exportOperationLogs: "exportOperationLogs",
  exportUsers: "exportUsers",
  generateDiceRobots: "generateDiceRobots",
  generatePrettyIds: "generatePrettyIds",
  getCoinSellerSalaryRates: "getCoinSellerSalaryRates",
  getCountry: "getCountry",
  getCPConfig: "getCPConfig",
  getCPWeeklyRankConfig: "getCPWeeklyRankConfig",
  getCumulativeRechargeRewardConfig: "getCumulativeRechargeRewardConfig",
  getFinanceScope: "getFinanceScope",
  getFirstRechargeRewardConfig: "getFirstRechargeRewardConfig",
  getHumanRoomRobotConfig: "getHumanRoomRobotConfig",
  getInviteActivityRewardConfig: "getInviteActivityRewardConfig",
  getLuckyGiftConfig: "getLuckyGiftConfig",
  getLuckyGiftDrawSummary: "getLuckyGiftDrawSummary",
  getRedPacket: "getRedPacket",
  getRedPacketConfig: "getRedPacketConfig",
  getRegion: "getRegion",
  getRegistrationRewardConfig: "getRegistrationRewardConfig",
  getResource: "getResource",
  getResourceGroup: "getResourceGroup",
  getResourceIdentityAutoGrantConfig: "getResourceIdentityAutoGrantConfig",
  getRiskConfig: "getRiskConfig",
  getRoleDataScopes: "getRoleDataScopes",
  getRoomConfig: "getRoomConfig",
  getRoomRocketConfig: "getRoomRocketConfig",
  getRoomRpsChallenge: "getRoomRpsChallenge",
  getRoomRpsConfig: "getRoomRpsConfig",
  getRoomTurnoverRewardConfig: "getRoomTurnoverRewardConfig",
  getRoomWhitelistConfig: "getRoomWhitelistConfig",
  getSevenDayCheckInConfig: "getSevenDayCheckInConfig",
  getTemporaryPaymentLink: "getTemporaryPaymentLink",
  getUser: "getUser",
  getWeeklyStarCycle: "getWeeklyStarCycle",
  getWheelConfig: "getWheelConfig",
  getWheelDrawSummary: "getWheelDrawSummary",
  grantPrettyId: "grantPrettyId",
  grantResource: "grantResource",
  grantResourceGroup: "grantResourceGroup",
  listAchievementDefinitions: "listAchievementDefinitions",
  listAgencies: "listAgencies",
  listApps: "listApps",
  listAppVersions: "listAppVersions",
  listAvailableRoomRobots: "listAvailableRoomRobots",
  listBanners: "listBanners",
  listBDLeaders: "listBDLeaders",
  listBDs: "listBDs",
  listCatalog: "listCatalog",
  listCoinAdjustments: "listCoinAdjustments",
  listCoinLedger: "listCoinLedger",
  listCoinSellerLedger: "listCoinSellerLedger",
  listCoinSellers: "listCoinSellers",
  listCountries: "listCountries",
  listCPApplications: "listCPApplications",
  listCPRelationships: "listCPRelationships",
  listCPWeeklyRankSettlements: "listCPWeeklyRankSettlements",
  listCumulativeRechargeRewardGrants: "listCumulativeRechargeRewardGrants",
  listDiceRobots: "listDiceRobots",
  listEmojiPackCategories: "listEmojiPackCategories",
  listEmojiPacks: "listEmojiPacks",
  listExploreTabs: "listExploreTabs",
  listFinanceApplications: "listFinanceApplications",
  listFinanceWithdrawalApplications: "listFinanceWithdrawalApplications",
  listFirstRechargeRewardClaims: "listFirstRechargeRewardClaims",
  listGifts: "listGifts",
  listGiftTypes: "listGiftTypes",
  listH5Links: "listH5Links",
  listHostAgencyPolicies: "listHostAgencyPolicies",
  listHosts: "listHosts",
  listHostSalarySettlements: "listHostSalarySettlements",
  listHostWithdrawals: "listHostWithdrawals",
  listInviteActivityRewardClaims: "listInviteActivityRewardClaims",
  listLevelConfig: "listLevelConfig",
  listLoginLogs: "listLoginLogs",
  listLuckyGiftConfigs: "listLuckyGiftConfigs",
  listLuckyGiftDraws: "listLuckyGiftDraws",
  listManagers: "listManagers",
  listMyFinanceApplications: "listMyFinanceApplications",
  listOperationLogs: "listOperationLogs",
  listPermissions: "listPermissions",
  listPlatformGrantRecords: "listPlatformGrantRecords",
  listPlatformGrantUsers: "listPlatformGrantUsers",
  listPlatforms: "listPlatforms",
  listPopups: "listPopups",
  listPrettyIdPools: "listPrettyIdPools",
  listPrettyIds: "listPrettyIds",
  listRechargeBills: "listRechargeBills",
  listRechargeProducts: "listRechargeProducts",
  listRedPackets: "listRedPackets",
  listRegionBlocks: "listRegionBlocks",
  listRegions: "listRegions",
  listRegistrationRewardClaims: "listRegistrationRewardClaims",
  listReports: "listReports",
  listResourceGrants: "listResourceGrants",
  listResourceGroups: "listResourceGroups",
  listResources: "listResources",
  listResourceShopItems: "listResourceShopItems",
  listResourceShopPurchaseOrders: "listResourceShopPurchaseOrders",
  listRobotRooms: "listRobotRooms",
  listRoles: "listRoles",
  listRoomPins: "listRoomPins",
  listRoomRpsChallenges: "listRoomRpsChallenges",
  listRooms: "listRooms",
  listRoomTurnoverRewardSettlements: "listRoomTurnoverRewardSettlements",
  listSelfGames: "listSelfGames",
  listSevenDayCheckInClaims: "listSevenDayCheckInClaims",
  listSplashScreens: "listSplashScreens",
  listSystemMenus: "listSystemMenus",
  listTaskDefinitions: "listTaskDefinitions",
  listTeams: "listTeams",
  listTeamSalaryPolicies: "listTeamSalaryPolicies",
  listTeamUsers: "listTeamUsers",
  listTemporaryPaymentLinks: "listTemporaryPaymentLinks",
  listThirdPartyPaymentChannels: "listThirdPartyPaymentChannels",
  listUserFinanceScopes: "listUserFinanceScopes",
  listUserLeaderboards: "listUserLeaderboards",
  listUsers: "listUsers",
  listWeeklyStarCycles: "listWeeklyStarCycles",
  listWeeklyStarLeaderboard: "listWeeklyStarLeaderboard",
  listWeeklyStarSettlements: "listWeeklyStarSettlements",
  listWheelDraws: "listWheelDraws",
  login: "login",
  logout: "logout",
  lookupCoinAdjustmentTarget: "lookupCoinAdjustmentTarget",
  lookupResourceGrantTarget: "lookupResourceGrantTarget",
  me: "me",
  navigationMenus: "navigationMenus",
  publishHostAgencyPolicy: "publishHostAgencyPolicy",
  recyclePrettyId: "recyclePrettyId",
  refresh: "refresh",
  rejectFinanceApplication: "rejectFinanceApplication",
  rejectFinanceWithdrawalApplication: "rejectFinanceWithdrawalApplication",
  replaceCoinSellerSalaryRates: "replaceCoinSellerSalaryRates",
  replaceRegionBlocks: "replaceRegionBlocks",
  replaceRegionCountries: "replaceRegionCountries",
  replaceRoleDataScopes: "replaceRoleDataScopes",
  replaceRolePermissions: "replaceRolePermissions",
  replaceUserFinanceScopes: "replaceUserFinanceScopes",
  resetUserPassword: "resetUserPassword",
  retryRedPacketRefund: "retryRedPacketRefund",
  retryRoomRpsSettlement: "retryRoomRpsSettlement",
  retryRoomTurnoverRewardSettlement: "retryRoomTurnoverRewardSettlement",
  revokeResourceGrant: "revokeResourceGrant",
  search: "search",
  selfGameStatisticsOverview: "selfGameStatisticsOverview",
  setAgencyJoinEnabled: "setAgencyJoinEnabled",
  setAgencyStatus: "setAgencyStatus",
  setBDLeaderStatus: "setBDLeaderStatus",
  setBDStatus: "setBDStatus",
  setCoinSellerStatus: "setCoinSellerStatus",
  setDiceRobotStatus: "setDiceRobotStatus",
  setGameStatus: "setGameStatus",
  setPrettyIdStatus: "setPrettyIdStatus",
  setTaskDefinitionStatus: "setTaskDefinitionStatus",
  setThirdPartyPaymentMethodStatus: "setThirdPartyPaymentMethodStatus",
  setWeeklyStarCycleStatus: "setWeeklyStarCycleStatus",
  sortMenus: "sortMenus",
  startRobotRoom: "startRobotRoom",
  statisticsOverview: "statisticsOverview",
  stopRobotRoom: "stopRobotRoom",
  syncPermissions: "syncPermissions",
  syncThirdPartyPaymentMethods: "syncThirdPartyPaymentMethods",
  syncThirdPartyPaymentRates: "syncThirdPartyPaymentRates",
  updateAchievementDefinition: "updateAchievementDefinition",
  updateAppVersion: "updateAppVersion",
  updateBanner: "updateBanner",
  updateCatalog: "updateCatalog",
  updateCountry: "updateCountry",
  updateCPConfig: "updateCPConfig",
  updateCPWeeklyRankConfig: "updateCPWeeklyRankConfig",
  updateCumulativeRechargeRewardConfig: "updateCumulativeRechargeRewardConfig",
  updateDiceConfig: "updateDiceConfig",
  updateExploreTab: "updateExploreTab",
  updateFirstRechargeRewardConfig: "updateFirstRechargeRewardConfig",
  updateGift: "updateGift",
  updateGiftType: "updateGiftType",
  updateGiftTypes: "updateGiftTypes",
  updateH5Link: "updateH5Link",
  updateH5Links: "updateH5Links",
  updateHostAgencyPolicy: "updateHostAgencyPolicy",
  updateHumanRoomRobotConfig: "updateHumanRoomRobotConfig",
  updateInviteActivityRewardConfig: "updateInviteActivityRewardConfig",
  updateMenu: "updateMenu",
  updateMenuVisible: "updateMenuVisible",
  updatePermission: "updatePermission",
  updatePlatform: "updatePlatform",
  updatePopup: "updatePopup",
  updatePrettyIdPool: "updatePrettyIdPool",
  updateRechargeProduct: "updateRechargeProduct",
  updateRedPacketConfig: "updateRedPacketConfig",
  updateRegion: "updateRegion",
  updateRegistrationRewardConfig: "updateRegistrationRewardConfig",
  updateResource: "updateResource",
  updateResourceGroup: "updateResourceGroup",
  updateResourceGroupItems: "updateResourceGroupItems",
  updateResourceIdentityAutoGrantConfig: "updateResourceIdentityAutoGrantConfig",
  updateRiskConfig: "updateRiskConfig",
  updateRole: "updateRole",
  updateRoom: "updateRoom",
  updateRoomConfig: "updateRoomConfig",
  updateRoomRocketConfig: "updateRoomRocketConfig",
  updateRoomRpsConfig: "updateRoomRpsConfig",
  updateRoomTurnoverRewardConfig: "updateRoomTurnoverRewardConfig",
  updateRoomWhitelistConfig: "updateRoomWhitelistConfig",
  updateSevenDayCheckInConfig: "updateSevenDayCheckInConfig",
  updateSplashScreen: "updateSplashScreen",
  updateTaskDefinition: "updateTaskDefinition",
  updateTeam: "updateTeam",
  updateTeamSalaryPolicy: "updateTeamSalaryPolicy",
  updateThirdPartyPaymentRate: "updateThirdPartyPaymentRate",
  updateTier: "updateTier",
  updateTrack: "updateTrack",
  updateUser: "updateUser",
  updateUserStatus: "updateUserStatus",
  updateWeeklyStarCycle: "updateWeeklyStarCycle",
  uploadFile: "uploadFile",
  uploadImage: "uploadImage",
  upsertLuckyGiftConfig: "upsertLuckyGiftConfig",
  upsertResourceShopItems: "upsertResourceShopItems",
  upsertRule: "upsertRule",
  upsertWheelConfig: "upsertWheelConfig"
} as const;

export type ApiOperationId = (typeof API_OPERATIONS)[keyof typeof API_OPERATIONS];

export const API_ENDPOINTS: Record<ApiOperationId, ApiEndpoint> = {
  adjustDicePool: {
    method: "POST",
    operationId: API_OPERATIONS.adjustDicePool,
    path: "/v1/admin/game/self-games/{game_id}/pool/adjust",
    permission: "game:update",
    permissions: ["game:update"]
  },
  adminAddAgencyHost: {
    method: "POST",
    operationId: API_OPERATIONS.adminAddAgencyHost,
    path: "/v1/admin/agencies/{agency_id}/hosts",
    permission: "agency:create",
    permissions: ["agency:create"]
  },
  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"]
  },
  approveFinanceApplication: {
    method: "POST",
    operationId: API_OPERATIONS.approveFinanceApplication,
    path: "/v1/admin/finance/applications/{application_id}/approve",
    permission: "finance-application:audit",
    permissions: ["finance-application:audit"]
  },
  approveFinanceWithdrawalApplication: {
    method: "POST",
    operationId: API_OPERATIONS.approveFinanceWithdrawalApplication,
    path: "/v1/admin/finance/withdrawal-applications/{application_id}/approve",
    permission: "finance-withdrawal:audit",
    permissions: ["finance-withdrawal:audit","finance-application:audit"]
  },
  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"]
  },
  createFinanceApplication: {
    method: "POST",
    operationId: API_OPERATIONS.createFinanceApplication,
    path: "/v1/admin/finance/applications",
    permission: "finance-application:create",
    permissions: ["finance-application:create"]
  },
  createFullServerNoticeFanout: {
    method: "POST",
    operationId: API_OPERATIONS.createFullServerNoticeFanout,
    path: "/v1/admin/operations/full-server-notices/fanout",
    permission: "full-server-notice:send",
    permissions: ["full-server-notice:send"]
  },
  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"]
  },
  createHostAgencyPolicy: {
    method: "POST",
    operationId: API_OPERATIONS.createHostAgencyPolicy,
    path: "/v1/admin/host-agency-policies",
    permission: "host-agency-policy:create",
    permissions: ["host-agency-policy:create"]
  },
  createManager: {
    method: "POST",
    operationId: API_OPERATIONS.createManager,
    path: "/v1/admin/managers",
    permission: "bd:create",
    permissions: ["bd:create"]
  },
  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"]
  },
  createPopup: {
    method: "POST",
    operationId: API_OPERATIONS.createPopup,
    path: "/v1/admin/app-config/popups",
    permission: "app-config:update",
    permissions: ["app-config:update"]
  },
  createPrettyIdPool: {
    method: "POST",
    operationId: API_OPERATIONS.createPrettyIdPool,
    path: "/v1/admin/users/pretty-id-pools",
    permission: "pretty-id:update",
    permissions: ["pretty-id: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"]
  },
  createRobotRoom: {
    method: "POST",
    operationId: API_OPERATIONS.createRobotRoom,
    path: "/v1/admin/rooms/robot-rooms",
    permission: "room-robot:create",
    permissions: ["room-robot: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"]
  },
  createSplashScreen: {
    method: "POST",
    operationId: API_OPERATIONS.createSplashScreen,
    path: "/v1/admin/app-config/splash-screens",
    permission: "app-config:update",
    permissions: ["app-config:update"]
  },
  createTaskDefinition: {
    method: "POST",
    operationId: API_OPERATIONS.createTaskDefinition,
    path: "/v1/admin/activity/daily-tasks",
    permission: "daily-task:create",
    permissions: ["daily-task:create"]
  },
  createTeam: {
    method: "POST",
    operationId: API_OPERATIONS.createTeam,
    path: "/v1/teams",
    permission: "team:create",
    permissions: ["team:create"]
  },
  createTeamSalaryPolicy: {
    method: "POST",
    operationId: API_OPERATIONS.createTeamSalaryPolicy,
    path: "/v1/admin/team-salary-policies",
    permission: "team-salary-policy:create",
    permissions: ["team-salary-policy:create"]
  },
  createTemporaryPaymentLink: {
    method: "POST",
    operationId: API_OPERATIONS.createTemporaryPaymentLink,
    path: "/v1/admin/payment/temporary-links",
    permission: "payment-temporary-link:create",
    permissions: ["payment-temporary-link: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"]
  },
  createWeeklyStarCycle: {
    method: "POST",
    operationId: API_OPERATIONS.createWeeklyStarCycle,
    path: "/v1/admin/activity/weekly-star/cycles",
    permission: "weekly-star:create",
    permissions: ["weekly-star: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"]
  },
  debitCoinSellerStock: {
    method: "POST",
    operationId: API_OPERATIONS.debitCoinSellerStock,
    path: "/v1/admin/coin-sellers/{user_id}/stock-debits",
    permission: "coin-seller:stock-credit",
    permissions: ["coin-seller:stock-credit"]
  },
  deleteAchievementDefinition: {
    method: "DELETE",
    operationId: API_OPERATIONS.deleteAchievementDefinition,
    path: "/v1/admin/activity/achievements/{achievement_id}",
    permission: "achievement:update",
    permissions: ["achievement:update"]
  },
  deleteAgency: {
    method: "POST",
    operationId: API_OPERATIONS.deleteAgency,
    path: "/v1/admin/agencies/{agency_id}/delete",
    permission: "agency:delete",
    permissions: ["agency:delete"]
  },
  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"]
  },
  deleteDiceRobot: {
    method: "DELETE",
    operationId: API_OPERATIONS.deleteDiceRobot,
    path: "/v1/admin/game/robots/{user_id}",
    permission: "game:delete",
    permissions: ["game:delete"]
  },
  deleteExploreTab: {
    method: "DELETE",
    operationId: API_OPERATIONS.deleteExploreTab,
    path: "/v1/admin/app-config/explore-tabs/{tab_id}",
    permission: "app-config:update",
    permissions: ["app-config:update"]
  },
  deleteGift: {
    method: "DELETE",
    operationId: API_OPERATIONS.deleteGift,
    path: "/v1/admin/gifts/{gift_id}",
    permission: "gift:delete",
    permissions: ["gift:delete"]
  },
  deleteH5Link: {
    method: "DELETE",
    operationId: API_OPERATIONS.deleteH5Link,
    path: "/v1/admin/app-config/h5-links/{key}",
    permission: "app-config:update",
    permissions: ["app-config:update"]
  },
  deleteHostAgencyPolicy: {
    method: "DELETE",
    operationId: API_OPERATIONS.deleteHostAgencyPolicy,
    path: "/v1/admin/host-agency-policies/{policy_id}",
    permission: "host-agency-policy:delete",
    permissions: ["host-agency-policy:delete"]
  },
  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"]
  },
  deletePopup: {
    method: "DELETE",
    operationId: API_OPERATIONS.deletePopup,
    path: "/v1/admin/app-config/popups/{popup_id}",
    permission: "app-config:update",
    permissions: ["app-config:update"]
  },
  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"]
  },
  deleteSplashScreen: {
    method: "DELETE",
    operationId: API_OPERATIONS.deleteSplashScreen,
    path: "/v1/admin/app-config/splash-screens/{splash_id}",
    permission: "app-config:update",
    permissions: ["app-config:update"]
  },
  deleteTeamSalaryPolicy: {
    method: "DELETE",
    operationId: API_OPERATIONS.deleteTeamSalaryPolicy,
    path: "/v1/admin/team-salary-policies/{policy_id}",
    permission: "team-salary-policy:delete",
    permissions: ["team-salary-policy: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"]
  },
  disableResourceShopItem: {
    method: "POST",
    operationId: API_OPERATIONS.disableResourceShopItem,
    path: "/v1/admin/resource-shop/items/{shop_item_id}/disable",
    permission: "resource-shop:update",
    permissions: ["resource-shop: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"]
  },
  enableResourceShopItem: {
    method: "POST",
    operationId: API_OPERATIONS.enableResourceShopItem,
    path: "/v1/admin/resource-shop/items/{shop_item_id}/enable",
    permission: "resource-shop:update",
    permissions: ["resource-shop:update"]
  },
  expireRoomRpsChallenge: {
    method: "POST",
    operationId: API_OPERATIONS.expireRoomRpsChallenge,
    path: "/v1/admin/game/room-rps/challenges/{challenge_id}/expire",
    permission: "game:update",
    permissions: ["game: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"]
  },
  generateDiceRobots: {
    method: "POST",
    operationId: API_OPERATIONS.generateDiceRobots,
    path: "/v1/admin/game/robots/generate",
    permission: "game:create",
    permissions: ["game:create"]
  },
  generatePrettyIds: {
    method: "POST",
    operationId: API_OPERATIONS.generatePrettyIds,
    path: "/v1/admin/users/pretty-id-pools/{pool_id}/generate",
    permission: "pretty-id:generate",
    permissions: ["pretty-id:generate"]
  },
  getCoinSellerSalaryRates: {
    method: "GET",
    operationId: API_OPERATIONS.getCoinSellerSalaryRates,
    path: "/v1/admin/coin-seller-salary-rates/{region_id}",
    permission: "coin-seller:exchange-rate",
    permissions: ["coin-seller:exchange-rate"]
  },
  getCountry: {
    method: "GET",
    operationId: API_OPERATIONS.getCountry,
    path: "/v1/admin/countries/{country_id}",
    permission: "country:view",
    permissions: ["country:view"]
  },
  getCPConfig: {
    method: "GET",
    operationId: API_OPERATIONS.getCPConfig,
    path: "/v1/admin/activity/cp/config",
    permission: "cp-config:view",
    permissions: ["cp-config:view"]
  },
  getCPWeeklyRankConfig: {
    method: "GET",
    operationId: API_OPERATIONS.getCPWeeklyRankConfig,
    path: "/v1/admin/activity/cp-weekly-rank/config",
    permission: "cp-weekly-rank:view",
    permissions: ["cp-weekly-rank:view"]
  },
  getCumulativeRechargeRewardConfig: {
    method: "GET",
    operationId: API_OPERATIONS.getCumulativeRechargeRewardConfig,
    path: "/v1/admin/activity/cumulative-recharge-reward/config",
    permission: "cumulative-recharge-reward:view",
    permissions: ["cumulative-recharge-reward:view"]
  },
  getFinanceScope: {
    method: "GET",
    operationId: API_OPERATIONS.getFinanceScope,
    path: "/v1/admin/finance/scope",
    permission: "finance:view",
    permissions: ["finance: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"]
  },
  getHumanRoomRobotConfig: {
    method: "GET",
    operationId: API_OPERATIONS.getHumanRoomRobotConfig,
    path: "/v1/admin/rooms/robot-rooms/human-config",
    permission: "room-robot:view",
    permissions: ["room-robot:view"]
  },
  getInviteActivityRewardConfig: {
    method: "GET",
    operationId: API_OPERATIONS.getInviteActivityRewardConfig,
    path: "/v1/admin/activity/invite-reward/config",
    permission: "invite-activity-reward:view",
    permissions: ["invite-activity-reward:view"]
  },
  getLuckyGiftConfig: {
    method: "GET",
    operationId: API_OPERATIONS.getLuckyGiftConfig,
    path: "/v1/admin/activity/lucky-gifts/v2/config",
    permission: "lucky-gift:view",
    permissions: ["lucky-gift:view"]
  },
  getLuckyGiftDrawSummary: {
    method: "GET",
    operationId: API_OPERATIONS.getLuckyGiftDrawSummary,
    path: "/v1/admin/activity/lucky-gifts/v2/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"]
  },
  getResourceIdentityAutoGrantConfig: {
    method: "GET",
    operationId: API_OPERATIONS.getResourceIdentityAutoGrantConfig,
    path: "/v1/admin/resource-groups/identity-auto-grant-config",
    permission: "resource-group:view",
    permissions: ["resource-group:view"]
  },
  getRiskConfig: {
    method: "GET",
    operationId: API_OPERATIONS.getRiskConfig,
    path: "/v1/admin/users/risk-config",
    permission: "risk-config:view",
    permissions: ["risk-config: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"]
  },
  getRoomRocketConfig: {
    method: "GET",
    operationId: API_OPERATIONS.getRoomRocketConfig,
    path: "/v1/admin/activity/room-rocket/config",
    permission: "room-rocket:view",
    permissions: ["room-rocket:view"]
  },
  getRoomRpsChallenge: {
    method: "GET",
    operationId: API_OPERATIONS.getRoomRpsChallenge,
    path: "/v1/admin/game/room-rps/challenges/{challenge_id}",
    permission: "game:view",
    permissions: ["game:view"]
  },
  getRoomRpsConfig: {
    method: "GET",
    operationId: API_OPERATIONS.getRoomRpsConfig,
    path: "/v1/admin/game/room-rps/config",
    permission: "game:view",
    permissions: ["game:view"]
  },
  getRoomTurnoverRewardConfig: {
    method: "GET",
    operationId: API_OPERATIONS.getRoomTurnoverRewardConfig,
    path: "/v1/admin/activity/room-turnover-reward/config",
    permission: "room-turnover-reward:view",
    permissions: ["room-turnover-reward:view"]
  },
  getRoomWhitelistConfig: {
    method: "GET",
    operationId: API_OPERATIONS.getRoomWhitelistConfig,
    path: "/v1/admin/rooms/whitelist",
    permission: "room-whitelist:view",
    permissions: ["room-whitelist: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"]
  },
  getTemporaryPaymentLink: {
    method: "GET",
    operationId: API_OPERATIONS.getTemporaryPaymentLink,
    path: "/v1/admin/payment/temporary-links/{order_id}",
    permission: "payment-temporary-link:view",
    permissions: ["payment-temporary-link:view"]
  },
  getUser: {
    method: "GET",
    operationId: API_OPERATIONS.getUser,
    path: "/v1/users/{id}",
    permission: "user:view",
    permissions: ["user:view"]
  },
  getWeeklyStarCycle: {
    method: "GET",
    operationId: API_OPERATIONS.getWeeklyStarCycle,
    path: "/v1/admin/activity/weekly-star/cycles/{cycle_id}",
    permission: "weekly-star:view",
    permissions: ["weekly-star:view"]
  },
  getWheelConfig: {
    method: "GET",
    operationId: API_OPERATIONS.getWheelConfig,
    path: "/v1/admin/activity/wheel/config",
    permission: "wheel:view",
    permissions: ["wheel:view"]
  },
  getWheelDrawSummary: {
    method: "GET",
    operationId: API_OPERATIONS.getWheelDrawSummary,
    path: "/v1/admin/activity/wheel/draw-summary",
    permission: "wheel:view",
    permissions: ["wheel:view"]
  },
  grantPrettyId: {
    method: "POST",
    operationId: API_OPERATIONS.grantPrettyId,
    path: "/v1/admin/users/pretty-ids/grant",
    permission: "pretty-id:grant",
    permissions: ["pretty-id:grant"]
  },
  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"]
  },
  listAvailableRoomRobots: {
    method: "GET",
    operationId: API_OPERATIONS.listAvailableRoomRobots,
    path: "/v1/admin/rooms/robot-rooms/available-robots",
    permission: "room-robot:view",
    permissions: ["room-robot: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"]
  },
  listCoinSellerLedger: {
    method: "GET",
    operationId: API_OPERATIONS.listCoinSellerLedger,
    path: "/v1/admin/operations/coin-seller-ledger",
    permission: "coin-seller-ledger:view",
    permissions: ["coin-seller-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"]
  },
  listCPApplications: {
    method: "GET",
    operationId: API_OPERATIONS.listCPApplications,
    path: "/v1/admin/activity/cp/applications",
    permission: "cp-config:view",
    permissions: ["cp-config:view"]
  },
  listCPRelationships: {
    method: "GET",
    operationId: API_OPERATIONS.listCPRelationships,
    path: "/v1/admin/activity/cp/relationships",
    permission: "cp-config:view",
    permissions: ["cp-config:view"]
  },
  listCPWeeklyRankSettlements: {
    method: "GET",
    operationId: API_OPERATIONS.listCPWeeklyRankSettlements,
    path: "/v1/admin/activity/cp-weekly-rank/settlements",
    permission: "cp-weekly-rank:view",
    permissions: ["cp-weekly-rank:view"]
  },
  listCumulativeRechargeRewardGrants: {
    method: "GET",
    operationId: API_OPERATIONS.listCumulativeRechargeRewardGrants,
    path: "/v1/admin/activity/cumulative-recharge-reward/grants",
    permission: "cumulative-recharge-reward:view",
    permissions: ["cumulative-recharge-reward:view"]
  },
  listDiceRobots: {
    method: "GET",
    operationId: API_OPERATIONS.listDiceRobots,
    path: "/v1/admin/game/robots",
    permission: "game:view",
    permissions: ["game: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"]
  },
  listFinanceApplications: {
    method: "GET",
    operationId: API_OPERATIONS.listFinanceApplications,
    path: "/v1/admin/finance/applications",
    permission: "finance-application:audit",
    permissions: ["finance-application:audit"]
  },
  listFinanceWithdrawalApplications: {
    method: "GET",
    operationId: API_OPERATIONS.listFinanceWithdrawalApplications,
    path: "/v1/admin/finance/withdrawal-applications",
    permission: "finance-withdrawal:view",
    permissions: ["finance-withdrawal:view","finance-withdrawal:audit","finance-application:audit"]
  },
  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"]
  },
  listHostAgencyPolicies: {
    method: "GET",
    operationId: API_OPERATIONS.listHostAgencyPolicies,
    path: "/v1/admin/host-agency-policies",
    permission: "host-agency-policy:view",
    permissions: ["host-agency-policy:view"]
  },
  listHosts: {
    method: "GET",
    operationId: API_OPERATIONS.listHosts,
    path: "/v1/admin/hosts",
    permission: "host:view",
    permissions: ["host:view"]
  },
  listHostSalarySettlements: {
    method: "GET",
    operationId: API_OPERATIONS.listHostSalarySettlements,
    path: "/v1/admin/host-salary-settlements",
    permission: "host-salary-settlement:view",
    permissions: ["host-salary-settlement:view"]
  },
  listHostWithdrawals: {
    method: "GET",
    operationId: API_OPERATIONS.listHostWithdrawals,
    path: "/v1/admin/host-withdrawals",
    permission: "host-withdrawal:view",
    permissions: ["host-withdrawal:view"]
  },
  listInviteActivityRewardClaims: {
    method: "GET",
    operationId: API_OPERATIONS.listInviteActivityRewardClaims,
    path: "/v1/admin/activity/invite-reward/claims",
    permission: "invite-activity-reward:view",
    permissions: ["invite-activity-reward: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/v2/configs",
    permission: "lucky-gift:view",
    permissions: ["lucky-gift:view"]
  },
  listLuckyGiftDraws: {
    method: "GET",
    operationId: API_OPERATIONS.listLuckyGiftDraws,
    path: "/v1/admin/activity/lucky-gifts/v2/draws",
    permission: "lucky-gift:view",
    permissions: ["lucky-gift:view"]
  },
  listManagers: {
    method: "GET",
    operationId: API_OPERATIONS.listManagers,
    path: "/v1/admin/managers",
    permission: "bd:view",
    permissions: ["bd:view"]
  },
  listMyFinanceApplications: {
    method: "GET",
    operationId: API_OPERATIONS.listMyFinanceApplications,
    path: "/v1/admin/finance/applications/mine",
    permission: "finance-application:create",
    permissions: ["finance-application:create"]
  },
  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"]
  },
  listPlatformGrantRecords: {
    method: "GET",
    operationId: API_OPERATIONS.listPlatformGrantRecords,
    path: "/v1/statistics/platform-grants/records",
    permission: "overview:view",
    permissions: ["overview:view"]
  },
  listPlatformGrantUsers: {
    method: "GET",
    operationId: API_OPERATIONS.listPlatformGrantUsers,
    path: "/v1/statistics/platform-grants/users",
    permission: "overview:view",
    permissions: ["overview:view"]
  },
  listPlatforms: {
    method: "GET",
    operationId: API_OPERATIONS.listPlatforms,
    path: "/v1/admin/game/platforms",
    permission: "game:view",
    permissions: ["game:view"]
  },
  listPopups: {
    method: "GET",
    operationId: API_OPERATIONS.listPopups,
    path: "/v1/admin/app-config/popups",
    permission: "app-config:view",
    permissions: ["app-config:view"]
  },
  listPrettyIdPools: {
    method: "GET",
    operationId: API_OPERATIONS.listPrettyIdPools,
    path: "/v1/admin/users/pretty-id-pools",
    permission: "pretty-id:view",
    permissions: ["pretty-id:view"]
  },
  listPrettyIds: {
    method: "GET",
    operationId: API_OPERATIONS.listPrettyIds,
    path: "/v1/admin/users/pretty-ids",
    permission: "pretty-id:view",
    permissions: ["pretty-id: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"]
  },
  listReports: {
    method: "GET",
    operationId: API_OPERATIONS.listReports,
    path: "/v1/admin/operations/reports",
    permission: "report:view",
    permissions: ["report: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"]
  },
  listResourceShopItems: {
    method: "GET",
    operationId: API_OPERATIONS.listResourceShopItems,
    path: "/v1/admin/resource-shop/items",
    permission: "resource-shop:view",
    permissions: ["resource-shop:view"]
  },
  listResourceShopPurchaseOrders: {
    method: "GET",
    operationId: API_OPERATIONS.listResourceShopPurchaseOrders,
    path: "/v1/admin/resource-shop/purchase-orders",
    permission: "resource-shop:view",
    permissions: ["resource-shop:view"]
  },
  listRobotRooms: {
    method: "GET",
    operationId: API_OPERATIONS.listRobotRooms,
    path: "/v1/admin/rooms/robot-rooms",
    permission: "room-robot:view",
    permissions: ["room-robot: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"]
  },
  listRoomRpsChallenges: {
    method: "GET",
    operationId: API_OPERATIONS.listRoomRpsChallenges,
    path: "/v1/admin/game/room-rps/challenges",
    permission: "game:view",
    permissions: ["game:view"]
  },
  listRooms: {
    method: "GET",
    operationId: API_OPERATIONS.listRooms,
    path: "/v1/admin/rooms",
    permission: "room:view",
    permissions: ["room:view"]
  },
  listRoomTurnoverRewardSettlements: {
    method: "GET",
    operationId: API_OPERATIONS.listRoomTurnoverRewardSettlements,
    path: "/v1/admin/activity/room-turnover-reward/settlements",
    permission: "room-turnover-reward:view",
    permissions: ["room-turnover-reward:view"]
  },
  listSelfGames: {
    method: "GET",
    operationId: API_OPERATIONS.listSelfGames,
    path: "/v1/admin/game/self-games",
    permission: "game:view",
    permissions: ["game: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"]
  },
  listSplashScreens: {
    method: "GET",
    operationId: API_OPERATIONS.listSplashScreens,
    path: "/v1/admin/app-config/splash-screens",
    permission: "app-config:view",
    permissions: ["app-config: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"]
  },
  listTeams: {
    method: "GET",
    operationId: API_OPERATIONS.listTeams,
    path: "/v1/teams",
    permission: "team:view",
    permissions: ["team:view"]
  },
  listTeamSalaryPolicies: {
    method: "GET",
    operationId: API_OPERATIONS.listTeamSalaryPolicies,
    path: "/v1/admin/team-salary-policies",
    permission: "team-salary-policy:view",
    permissions: ["team-salary-policy:view"]
  },
  listTeamUsers: {
    method: "GET",
    operationId: API_OPERATIONS.listTeamUsers,
    path: "/v1/teams/{team_id}/users",
    permission: "user:view",
    permissions: ["user:view"]
  },
  listTemporaryPaymentLinks: {
    method: "GET",
    operationId: API_OPERATIONS.listTemporaryPaymentLinks,
    path: "/v1/admin/payment/temporary-links",
    permission: "payment-temporary-link:view",
    permissions: ["payment-temporary-link:view"]
  },
  listThirdPartyPaymentChannels: {
    method: "GET",
    operationId: API_OPERATIONS.listThirdPartyPaymentChannels,
    path: "/v1/admin/payment/third-party-channels",
    permission: "payment-third-party:view",
    permissions: ["payment-third-party:view"]
  },
  listUserFinanceScopes: {
    method: "GET",
    operationId: API_OPERATIONS.listUserFinanceScopes,
    path: "/v1/users/{id}/finance-scopes",
    permission: "user:view",
    permissions: ["user: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"]
  },
  listWeeklyStarCycles: {
    method: "GET",
    operationId: API_OPERATIONS.listWeeklyStarCycles,
    path: "/v1/admin/activity/weekly-star/cycles",
    permission: "weekly-star:view",
    permissions: ["weekly-star:view"]
  },
  listWeeklyStarLeaderboard: {
    method: "GET",
    operationId: API_OPERATIONS.listWeeklyStarLeaderboard,
    path: "/v1/admin/activity/weekly-star/cycles/{cycle_id}/leaderboard",
    permission: "weekly-star:view",
    permissions: ["weekly-star:view"]
  },
  listWeeklyStarSettlements: {
    method: "GET",
    operationId: API_OPERATIONS.listWeeklyStarSettlements,
    path: "/v1/admin/activity/weekly-star/cycles/{cycle_id}/settlements",
    permission: "weekly-star:settle",
    permissions: ["weekly-star:settle"]
  },
  listWheelDraws: {
    method: "GET",
    operationId: API_OPERATIONS.listWheelDraws,
    path: "/v1/admin/activity/wheel/draws",
    permission: "wheel:view",
    permissions: ["wheel: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"]
  },
  lookupResourceGrantTarget: {
    method: "GET",
    operationId: API_OPERATIONS.lookupResourceGrantTarget,
    path: "/v1/admin/resource-grants/target",
    permission: "resource-grant:create",
    permissions: ["resource-grant:create"]
  },
  me: {
    method: "GET",
    operationId: API_OPERATIONS.me,
    path: "/v1/auth/me"
  },
  navigationMenus: {
    method: "GET",
    operationId: API_OPERATIONS.navigationMenus,
    path: "/v1/navigation/menus"
  },
  publishHostAgencyPolicy: {
    method: "POST",
    operationId: API_OPERATIONS.publishHostAgencyPolicy,
    path: "/v1/admin/host-agency-policies/{policy_id}/publish",
    permission: "host-agency-policy:publish",
    permissions: ["host-agency-policy:publish"]
  },
  recyclePrettyId: {
    method: "POST",
    operationId: API_OPERATIONS.recyclePrettyId,
    path: "/v1/admin/users/pretty-ids/{pretty_id}/recycle",
    permission: "pretty-id:update",
    permissions: ["pretty-id:update"]
  },
  refresh: {
    method: "POST",
    operationId: API_OPERATIONS.refresh,
    path: "/v1/auth/refresh"
  },
  rejectFinanceApplication: {
    method: "POST",
    operationId: API_OPERATIONS.rejectFinanceApplication,
    path: "/v1/admin/finance/applications/{application_id}/reject",
    permission: "finance-application:audit",
    permissions: ["finance-application:audit"]
  },
  rejectFinanceWithdrawalApplication: {
    method: "POST",
    operationId: API_OPERATIONS.rejectFinanceWithdrawalApplication,
    path: "/v1/admin/finance/withdrawal-applications/{application_id}/reject",
    permission: "finance-withdrawal:audit",
    permissions: ["finance-withdrawal:audit","finance-application:audit"]
  },
  replaceCoinSellerSalaryRates: {
    method: "PUT",
    operationId: API_OPERATIONS.replaceCoinSellerSalaryRates,
    path: "/v1/admin/coin-seller-salary-rates/{region_id}",
    permission: "coin-seller:exchange-rate",
    permissions: ["coin-seller:exchange-rate"]
  },
  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"]
  },
  replaceUserFinanceScopes: {
    method: "PUT",
    operationId: API_OPERATIONS.replaceUserFinanceScopes,
    path: "/v1/users/{id}/finance-scopes",
    permission: "user:update",
    permissions: ["user:update"]
  },
  resetUserPassword: {
    method: "POST",
    operationId: API_OPERATIONS.resetUserPassword,
    path: "/v1/users/{id}/reset-password",
    permission: "user:reset-password",
    permissions: ["user:reset-password"]
  },
  retryRedPacketRefund: {
    method: "POST",
    operationId: API_OPERATIONS.retryRedPacketRefund,
    path: "/v1/admin/activity/red-packets/refund/retry",
    permission: "red-packet:update",
    permissions: ["red-packet:update"]
  },
  retryRoomRpsSettlement: {
    method: "POST",
    operationId: API_OPERATIONS.retryRoomRpsSettlement,
    path: "/v1/admin/game/room-rps/challenges/{challenge_id}/retry-settlement",
    permission: "game:update",
    permissions: ["game:update"]
  },
  retryRoomTurnoverRewardSettlement: {
    method: "POST",
    operationId: API_OPERATIONS.retryRoomTurnoverRewardSettlement,
    path: "/v1/admin/activity/room-turnover-reward/settlements/{settlement_id}/retry",
    permission: "room-turnover-reward:retry",
    permissions: ["room-turnover-reward:retry"]
  },
  revokeResourceGrant: {
    method: "POST",
    operationId: API_OPERATIONS.revokeResourceGrant,
    path: "/v1/admin/resource-grants/{grant_id}/revoke",
    permission: "resource-grant:revoke",
    permissions: ["resource-grant:revoke"]
  },
  search: {
    method: "GET",
    operationId: API_OPERATIONS.search,
    path: "/v1/search"
  },
  selfGameStatisticsOverview: {
    method: "GET",
    operationId: API_OPERATIONS.selfGameStatisticsOverview,
    path: "/v1/statistics/self-games/overview",
    permission: "overview:view",
    permissions: ["overview:view"]
  },
  setAgencyJoinEnabled: {
    method: "POST",
    operationId: API_OPERATIONS.setAgencyJoinEnabled,
    path: "/v1/admin/agencies/{agency_id}/join-enabled",
    permission: "agency:status",
    permissions: ["agency:status"]
  },
  setAgencyStatus: {
    method: "PATCH",
    operationId: API_OPERATIONS.setAgencyStatus,
    path: "/v1/admin/agencies/{agency_id}/status",
    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"]
  },
  setDiceRobotStatus: {
    method: "PATCH",
    operationId: API_OPERATIONS.setDiceRobotStatus,
    path: "/v1/admin/game/robots/{user_id}/status",
    permission: "game:update",
    permissions: ["game:update"]
  },
  setGameStatus: {
    method: "PATCH",
    operationId: API_OPERATIONS.setGameStatus,
    path: "/v1/admin/game/games/{game_id}/status",
    permission: "game:status",
    permissions: ["game:status"]
  },
  setPrettyIdStatus: {
    method: "POST",
    operationId: API_OPERATIONS.setPrettyIdStatus,
    path: "/v1/admin/users/pretty-ids/{pretty_id}/status",
    permission: "pretty-id:update",
    permissions: ["pretty-id:update"]
  },
  setTaskDefinitionStatus: {
    method: "POST",
    operationId: API_OPERATIONS.setTaskDefinitionStatus,
    path: "/v1/admin/activity/daily-tasks/{task_id}/status",
    permission: "daily-task:status",
    permissions: ["daily-task:status"]
  },
  setThirdPartyPaymentMethodStatus: {
    method: "PATCH",
    operationId: API_OPERATIONS.setThirdPartyPaymentMethodStatus,
    path: "/v1/admin/payment/third-party-methods/{method_id}/status",
    permission: "payment-third-party:update",
    permissions: ["payment-third-party:update"]
  },
  setWeeklyStarCycleStatus: {
    method: "PATCH",
    operationId: API_OPERATIONS.setWeeklyStarCycleStatus,
    path: "/v1/admin/activity/weekly-star/cycles/{cycle_id}/status",
    permission: "weekly-star:update",
    permissions: ["weekly-star:update"]
  },
  sortMenus: {
    method: "PUT",
    operationId: API_OPERATIONS.sortMenus,
    path: "/v1/system/menus/sort",
    permission: "menu:sort",
    permissions: ["menu:sort"]
  },
  startRobotRoom: {
    method: "POST",
    operationId: API_OPERATIONS.startRobotRoom,
    path: "/v1/admin/rooms/robot-rooms/{room_id}/start",
    permission: "room-robot:update",
    permissions: ["room-robot:update"]
  },
  statisticsOverview: {
    method: "GET",
    operationId: API_OPERATIONS.statisticsOverview,
    path: "/v1/statistics/overview",
    permission: "overview:view",
    permissions: ["overview:view"]
  },
  stopRobotRoom: {
    method: "POST",
    operationId: API_OPERATIONS.stopRobotRoom,
    path: "/v1/admin/rooms/robot-rooms/{room_id}/stop",
    permission: "room-robot:update",
    permissions: ["room-robot:update"]
  },
  syncPermissions: {
    method: "POST",
    operationId: API_OPERATIONS.syncPermissions,
    path: "/v1/permissions/sync",
    permission: "permission:sync",
    permissions: ["permission:sync"]
  },
  syncThirdPartyPaymentMethods: {
    method: "POST",
    operationId: API_OPERATIONS.syncThirdPartyPaymentMethods,
    path: "/v1/admin/payment/third-party-methods/sync",
    permission: "payment-third-party:update",
    permissions: ["payment-third-party:update"]
  },
  syncThirdPartyPaymentRates: {
    method: "POST",
    operationId: API_OPERATIONS.syncThirdPartyPaymentRates,
    path: "/v1/admin/payment/third-party-rates/sync",
    permission: "payment-third-party:update",
    permissions: ["payment-third-party:update"]
  },
  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"]
  },
  updateCPConfig: {
    method: "PUT",
    operationId: API_OPERATIONS.updateCPConfig,
    path: "/v1/admin/activity/cp/config",
    permission: "cp-config:update",
    permissions: ["cp-config:update"]
  },
  updateCPWeeklyRankConfig: {
    method: "PUT",
    operationId: API_OPERATIONS.updateCPWeeklyRankConfig,
    path: "/v1/admin/activity/cp-weekly-rank/config",
    permission: "cp-weekly-rank:update",
    permissions: ["cp-weekly-rank:update"]
  },
  updateCumulativeRechargeRewardConfig: {
    method: "PUT",
    operationId: API_OPERATIONS.updateCumulativeRechargeRewardConfig,
    path: "/v1/admin/activity/cumulative-recharge-reward/config",
    permission: "cumulative-recharge-reward:update",
    permissions: ["cumulative-recharge-reward:update"]
  },
  updateDiceConfig: {
    method: "PATCH",
    operationId: API_OPERATIONS.updateDiceConfig,
    path: "/v1/admin/game/self-games/{game_id}/config",
    permission: "game:update",
    permissions: ["game: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"]
  },
  updateHostAgencyPolicy: {
    method: "PUT",
    operationId: API_OPERATIONS.updateHostAgencyPolicy,
    path: "/v1/admin/host-agency-policies/{policy_id}",
    permission: "host-agency-policy:update",
    permissions: ["host-agency-policy:update"]
  },
  updateHumanRoomRobotConfig: {
    method: "PUT",
    operationId: API_OPERATIONS.updateHumanRoomRobotConfig,
    path: "/v1/admin/rooms/robot-rooms/human-config",
    permission: "room-robot:update",
    permissions: ["room-robot:update"]
  },
  updateInviteActivityRewardConfig: {
    method: "PUT",
    operationId: API_OPERATIONS.updateInviteActivityRewardConfig,
    path: "/v1/admin/activity/invite-reward/config",
    permission: "invite-activity-reward:update",
    permissions: ["invite-activity-reward: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"]
  },
  updatePopup: {
    method: "PUT",
    operationId: API_OPERATIONS.updatePopup,
    path: "/v1/admin/app-config/popups/{popup_id}",
    permission: "app-config:update",
    permissions: ["app-config:update"]
  },
  updatePrettyIdPool: {
    method: "PUT",
    operationId: API_OPERATIONS.updatePrettyIdPool,
    path: "/v1/admin/users/pretty-id-pools/{pool_id}",
    permission: "pretty-id:update",
    permissions: ["pretty-id: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"]
  },
  updateResourceIdentityAutoGrantConfig: {
    method: "PUT",
    operationId: API_OPERATIONS.updateResourceIdentityAutoGrantConfig,
    path: "/v1/admin/resource-groups/identity-auto-grant-config",
    permission: "resource-group:update",
    permissions: ["resource-group:update"]
  },
  updateRiskConfig: {
    method: "PUT",
    operationId: API_OPERATIONS.updateRiskConfig,
    path: "/v1/admin/users/risk-config",
    permission: "risk-config:update",
    permissions: ["risk-config: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"]
  },
  updateRoomRocketConfig: {
    method: "PUT",
    operationId: API_OPERATIONS.updateRoomRocketConfig,
    path: "/v1/admin/activity/room-rocket/config",
    permission: "room-rocket:update",
    permissions: ["room-rocket:update"]
  },
  updateRoomRpsConfig: {
    method: "PATCH",
    operationId: API_OPERATIONS.updateRoomRpsConfig,
    path: "/v1/admin/game/room-rps/config",
    permission: "game:update",
    permissions: ["game:update"]
  },
  updateRoomTurnoverRewardConfig: {
    method: "PUT",
    operationId: API_OPERATIONS.updateRoomTurnoverRewardConfig,
    path: "/v1/admin/activity/room-turnover-reward/config",
    permission: "room-turnover-reward:update",
    permissions: ["room-turnover-reward:update"]
  },
  updateRoomWhitelistConfig: {
    method: "PUT",
    operationId: API_OPERATIONS.updateRoomWhitelistConfig,
    path: "/v1/admin/rooms/whitelist",
    permission: "room-whitelist:update",
    permissions: ["room-whitelist: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"]
  },
  updateSplashScreen: {
    method: "PUT",
    operationId: API_OPERATIONS.updateSplashScreen,
    path: "/v1/admin/app-config/splash-screens/{splash_id}",
    permission: "app-config:update",
    permissions: ["app-config:update"]
  },
  updateTaskDefinition: {
    method: "PUT",
    operationId: API_OPERATIONS.updateTaskDefinition,
    path: "/v1/admin/activity/daily-tasks/{task_id}",
    permission: "daily-task:update",
    permissions: ["daily-task:update"]
  },
  updateTeam: {
    method: "PATCH",
    operationId: API_OPERATIONS.updateTeam,
    path: "/v1/teams/{team_id}",
    permission: "team:update",
    permissions: ["team:update"]
  },
  updateTeamSalaryPolicy: {
    method: "PUT",
    operationId: API_OPERATIONS.updateTeamSalaryPolicy,
    path: "/v1/admin/team-salary-policies/{policy_id}",
    permission: "team-salary-policy:update",
    permissions: ["team-salary-policy:update"]
  },
  updateThirdPartyPaymentRate: {
    method: "PATCH",
    operationId: API_OPERATIONS.updateThirdPartyPaymentRate,
    path: "/v1/admin/payment/third-party-rates/{method_id}",
    permission: "payment-third-party:update",
    permissions: ["payment-third-party: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"]
  },
  updateWeeklyStarCycle: {
    method: "PUT",
    operationId: API_OPERATIONS.updateWeeklyStarCycle,
    path: "/v1/admin/activity/weekly-star/cycles/{cycle_id}",
    permission: "weekly-star:update",
    permissions: ["weekly-star:update"]
  },
  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/v2/config",
    permission: "lucky-gift:update",
    permissions: ["lucky-gift:update"]
  },
  upsertResourceShopItems: {
    method: "POST",
    operationId: API_OPERATIONS.upsertResourceShopItems,
    path: "/v1/admin/resource-shop/items",
    permission: "resource-shop:update",
    permissions: ["resource-shop: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"]
  },
  upsertWheelConfig: {
    method: "PUT",
    operationId: API_OPERATIONS.upsertWheelConfig,
    path: "/v1/admin/activity/wheel/config",
    permission: "wheel:update",
    permissions: ["wheel: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<string, number | string>;

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;
}
