feat(api, agents): add agent node profile retrieval and update functionality
Implemented new API functions to fetch and update agent node profiles, enhancing the management capabilities for agent data. This addition improves the overall functionality of the admin agents console, allowing for better user interaction with agent profiles. Updated related types for improved type safety and clarity in the codebase.
This commit is contained in:
@@ -103,8 +103,11 @@
|
||||
"editTitle": "Edit Role",
|
||||
"description": "Roles group backend function permissions and are then assigned to admin accounts.",
|
||||
"slug": "Role code",
|
||||
"slugPlaceholder": "Enter role identifier, for example super_admin",
|
||||
"name": "Role name",
|
||||
"namePlaceholder": "Enter role name",
|
||||
"descriptionLabel": "Role description",
|
||||
"descriptionPlaceholder": "Enter role description",
|
||||
"status": "Status"
|
||||
},
|
||||
"accountDialog": {
|
||||
|
||||
@@ -1,5 +1,36 @@
|
||||
{
|
||||
"title": "Agents",
|
||||
"title": "Agent lines",
|
||||
"sitesTitle": "Sites",
|
||||
"sitesListHint": "For the full site table (keys, callbacks, etc.), go to",
|
||||
"sitesListLink": "Sites",
|
||||
"subnav": {
|
||||
"label": "Agent line navigation",
|
||||
"noPermission": "No permission",
|
||||
"operations": "Operations",
|
||||
"provision": "Provision line",
|
||||
"sites": "Sites",
|
||||
"settlementBills": "Agent bills"
|
||||
},
|
||||
"includeRoots": "Include root nodes",
|
||||
"includeRootsHint": "Root nodes represent site boundaries and are excluded from operating agent counts by default.",
|
||||
"directoryStatus": {
|
||||
"all": "All statuses",
|
||||
"enabled": "Enabled only",
|
||||
"disabled": "Disabled only"
|
||||
},
|
||||
"tabs": {
|
||||
"subordinates": "Subordinates",
|
||||
"accounts": "Primary account",
|
||||
"players": "Players",
|
||||
"overview": "Overview",
|
||||
"roles": "Roles",
|
||||
"users": "Accounts",
|
||||
"delegation": "Delegation ceiling"
|
||||
},
|
||||
"filterParent": "Parent agent",
|
||||
"filterParentAll": "All subordinates",
|
||||
"listFlatHint": "All operating agents in a flat list. Use row actions to add a child under a specific agent.",
|
||||
"addChildNeedParent": "Select a parent agent before adding a subordinate",
|
||||
"treeTitle": "Agent tree",
|
||||
"detailTitle": "Node details",
|
||||
"selectNode": "Select an agent node from the tree",
|
||||
@@ -18,6 +49,7 @@
|
||||
},
|
||||
"code": "Code",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "Enter agent name",
|
||||
"depth": "Depth",
|
||||
"path": "Path",
|
||||
"status": "Status",
|
||||
@@ -28,11 +60,61 @@
|
||||
"saveFailed": "Save failed",
|
||||
"codeRequired": "Code and name are required",
|
||||
"modelGuide": "Agent layer controls data scope and delegation ceiling. Account permissions are assigned through roles.",
|
||||
"tabs": {
|
||||
"overview": "Overview",
|
||||
"roles": "Roles",
|
||||
"users": "Accounts",
|
||||
"delegation": "Delegation ceiling"
|
||||
"pageGuide": "Manage the agent tree, agent roles, agent accounts, and delegation ceilings here. Platform accounts and platform roles stay in platform governance pages.",
|
||||
"summary": {
|
||||
"currentSiteNodes": "Current site nodes",
|
||||
"currentSiteAgents": "Current site operating agents",
|
||||
"visibleList": "Current flat list rows",
|
||||
"visibleAgents": "Current visible operating agents",
|
||||
"globalNodes": "All-site node total",
|
||||
"globalAgents": "All-site operating agents",
|
||||
"enabledAgents": "Enabled operating agents",
|
||||
"rootNodes": "Root node count"
|
||||
},
|
||||
"profile": {
|
||||
"section": "Share & credit",
|
||||
"totalShareRate": "Share rate (%)",
|
||||
"creditLimit": "Credit limit",
|
||||
"rebateLimit": "Rebate ceiling",
|
||||
"defaultPlayerRebate": "Default player rebate",
|
||||
"settlementCycle": "Settlement cycle",
|
||||
"canGrantExtraRebate": "Allow extra rebate",
|
||||
"canCreatePlayer": "Allow creating players",
|
||||
"canCreateChildAgent": "Allow creating sub-agents",
|
||||
"cycleDaily": "Daily",
|
||||
"cycleWeekly": "Weekly",
|
||||
"cycleMonthly": "Monthly"
|
||||
},
|
||||
"settlementBills": {
|
||||
"title": "Agent bills",
|
||||
"description": "Player/agent bills generated after a period is closed",
|
||||
"columns": {
|
||||
"id": "ID",
|
||||
"type": "Type",
|
||||
"net": "Net",
|
||||
"unpaid": "Unpaid",
|
||||
"status": "Status"
|
||||
}
|
||||
},
|
||||
"lineProvision": {
|
||||
"title": "Provision agent line",
|
||||
"description": "Creates site, root agent, and admin account in one step (site_code matches agent code).",
|
||||
"code": "Site code",
|
||||
"name": "Line name",
|
||||
"username": "Agent login",
|
||||
"password": "Initial password",
|
||||
"walletUrl": "Wallet API URL",
|
||||
"submit": "Provision",
|
||||
"success": "Line provisioned",
|
||||
"secretsOnce": "Secrets are shown once — save them now",
|
||||
"link": "Provision line"
|
||||
},
|
||||
"noAccess": "You do not have permission to manage agents. Contact an administrator.",
|
||||
"playersPanel": {
|
||||
"create": "Create player",
|
||||
"scopedTo": "Direct players: {{agent}}",
|
||||
"allUnderSite": "Players visible on this site",
|
||||
"filterHint": "Filter direct players by parent agent."
|
||||
},
|
||||
"delegation": {
|
||||
"title": "Delegation ceiling",
|
||||
@@ -62,11 +144,15 @@
|
||||
"title": "Agent accounts",
|
||||
"create": "Create account",
|
||||
"username": "Username",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"roles": "Roles",
|
||||
"createSuccess": "Created account {{name}}",
|
||||
"roleSaveSuccess": "Roles updated for {{name}}",
|
||||
"deleteConfirm": "This admin will no longer be able to sign in. This cannot be undone.",
|
||||
"deleteSuccess": "Deleted account {{name}}"
|
||||
}
|
||||
},
|
||||
"usernamePlaceholder": "Enter login username",
|
||||
"passwordPlaceholder": "Enter an 8-character password",
|
||||
"passwordOptionalHint": "Leave empty to keep unchanged, or enter an 8-character password"
|
||||
}
|
||||
|
||||
@@ -160,8 +160,8 @@
|
||||
"audit": "Audit Logs",
|
||||
"settings": "Settings",
|
||||
"account": "Account settings",
|
||||
"integration": "Integration sites",
|
||||
"agents": "Agents",
|
||||
"integration": "Integration",
|
||||
"agents": "Agent lines",
|
||||
"config": "Operations config"
|
||||
},
|
||||
"sidebar": {
|
||||
|
||||
@@ -99,6 +99,16 @@
|
||||
"notes": "Notes",
|
||||
"ssoSecret": "SSO secret",
|
||||
"walletApiKey": "Wallet API key"
|
||||
},
|
||||
"placeholders": {
|
||||
"code": "Enter site identifier, for example partner-a",
|
||||
"name": "Enter site name",
|
||||
"currency": "Enter currency code, for example NPR",
|
||||
"walletApiUrl": "Enter wallet API URL",
|
||||
"lotteryH5BaseUrl": "Enter H5 URL",
|
||||
"iframeOrigins": "Enter allowed origins, for example https://www.example.com",
|
||||
"notes": "Enter notes",
|
||||
"connectivityPlayerId": "Enter player ID, for example 10001"
|
||||
}
|
||||
},
|
||||
"versionStatus": {
|
||||
@@ -211,6 +221,17 @@
|
||||
"playRulesHtml": "Play rules HTML (i18n)",
|
||||
"playRulesHtmlDesc": "Rendered on the player play-rules page per locale. Leave empty to fall back to another language or the default empty state."
|
||||
},
|
||||
"placeholders": {
|
||||
"defaultCurrency": "Enter default currency code, for example NPR",
|
||||
"drawIntervalMinutes": "Enter draw interval in minutes",
|
||||
"drawBettingWindowSeconds": "Enter betting window in seconds",
|
||||
"drawCloseBeforeDrawSeconds": "Enter seconds to close before draw",
|
||||
"drawBufferDrawsAhead": "Enter pre-generated draw count",
|
||||
"cooldownMinutes": "Enter cooldown minutes",
|
||||
"currencyDisplayDecimals": "Enter display decimal places, for example 2",
|
||||
"currencyDecimalSeparator": "Enter decimal separator, for example .",
|
||||
"currencyThousandsSeparator": "Enter thousands separator, for example ,"
|
||||
},
|
||||
"hints": {
|
||||
"manualReview": "When enabled, RNG draw results enter pending review and must be published manually in admin.",
|
||||
"cooldownMinutes": "How long to wait after publishing before entering settling. Use 0 to settle immediately.",
|
||||
@@ -277,6 +298,9 @@
|
||||
"code": "Currency code",
|
||||
"name": "Currency name",
|
||||
"decimals": "Decimal places",
|
||||
"codePlaceholder": "Enter currency code, for example NPR",
|
||||
"namePlaceholder": "Enter currency name",
|
||||
"decimalsPlaceholder": "Enter decimal places, for example 2",
|
||||
"enabled": "Enabled status",
|
||||
"enabledHint": "Disabled currencies should not be used for new business.",
|
||||
"bettable": "Allow betting",
|
||||
@@ -347,6 +371,11 @@
|
||||
"maxBet": "Max bet",
|
||||
"actions": "Actions"
|
||||
},
|
||||
"placeholders": {
|
||||
"displayOrder": "Order",
|
||||
"minBetAmount": "Minimum amount",
|
||||
"maxBetAmount": "Maximum amount"
|
||||
},
|
||||
"states": {
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
@@ -411,6 +440,10 @@
|
||||
"missingScopeRow": "Missing {{scope}} row. Check seed or version data.",
|
||||
"rebateRate": "Rebate rate (%)",
|
||||
"rebateRateHint": "Writes rebate_rate to all prize scopes under this play type.",
|
||||
"placeholders": {
|
||||
"multiplier": "Enter odds multiplier",
|
||||
"rebateRate": "Enter rebate rate"
|
||||
},
|
||||
"publishFailed": "Publish failed",
|
||||
"createDraftSuccess": "Created draft v{{version}}",
|
||||
"createDraftFailed": "Failed to create draft",
|
||||
@@ -457,6 +490,11 @@
|
||||
"d3": "3D rebate rate (%)",
|
||||
"d4": "4D rebate rate (%)"
|
||||
},
|
||||
"placeholders": {
|
||||
"d2": "Enter 2D rebate",
|
||||
"d3": "Enter 3D rebate",
|
||||
"d4": "Enter 4D rebate"
|
||||
},
|
||||
"winEnjoy": {
|
||||
"label": "Deduct rebate on winning payouts",
|
||||
"description": "Maps to settlement.apply_rebate_to_payout: when enabled, winning payout uses gross win × (1 - rebate_rate_snapshot).",
|
||||
@@ -467,6 +505,11 @@
|
||||
"effectiveTime": "Effective time (current active odds version)"
|
||||
},
|
||||
"riskCap": {
|
||||
"placeholders": {
|
||||
"defaultCap": "Enter default cap amount",
|
||||
"number": "4-digit number",
|
||||
"capAmount": "Enter cap amount"
|
||||
},
|
||||
"validation": {
|
||||
"requireAtLeastOne": "At least one cap row is required",
|
||||
"defaultGreaterThanZero": "Default cap amount must be greater than 0",
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"title": "Create draw manually",
|
||||
"description": "Enter date and time in {{tz}} (not your browser local zone). If only draw time is set, start/close are derived from server config.",
|
||||
"hint": "Start < close < draw. Draw number optional; sequence auto-assigned by UTC business date.",
|
||||
"drawNoPlaceholder": "Enter draw number, for example 20260526-008",
|
||||
"drawTimeRequired": "Draw time is required",
|
||||
"submit": "Create",
|
||||
"saving": "Creating…",
|
||||
@@ -34,6 +35,7 @@
|
||||
"action": "Edit",
|
||||
"title": "Edit draw",
|
||||
"description": "Draw {{drawNo}} · edit times in {{tz}}",
|
||||
"drawNoPlaceholder": "Enter draw number, for example 20260526-008",
|
||||
"submit": "Save",
|
||||
"saving": "Saving…",
|
||||
"success": "Draw updated",
|
||||
@@ -55,6 +57,14 @@
|
||||
"invalidDrawId": "Invalid draw ID",
|
||||
"loadFailed": "Failed to load. Check login and API configuration.",
|
||||
"drawDetail": "Draw details",
|
||||
"detailSubtitle": "{{date}} · Round {{seq}}",
|
||||
"scheduleTitle": "Schedule",
|
||||
"resultBatchesTitle": "Result batches",
|
||||
"batchSummaryTotal": "{{count}} batch(es)",
|
||||
"batchSummaryPending": "{{count}} pending",
|
||||
"batchSummaryPublished": "{{count}} published",
|
||||
"noResultBatchesYet": "No result batches yet.",
|
||||
"goToReviewTab": "Review & publish",
|
||||
"businessDate": "Business date",
|
||||
"sequenceNo": "Sequence no.",
|
||||
"plannedDraw": "Planned draw",
|
||||
|
||||
@@ -20,7 +20,9 @@
|
||||
"adjustmentIncrease": "Increase",
|
||||
"adjustmentDecrease": "Decrease",
|
||||
"adjustmentAmount": "Amount (major units)",
|
||||
"adjustmentAmountPlaceholder": "Enter adjustment amount",
|
||||
"adjustmentReason": "Reason (required)",
|
||||
"adjustmentReasonPlaceholder": "Enter adjustment reason",
|
||||
"submitAdjustment": "Submit adjustment",
|
||||
"adjustmentSuccess": "Pool balance adjusted",
|
||||
"adjustmentFailed": "Adjustment failed",
|
||||
@@ -30,11 +32,17 @@
|
||||
"confirmAdjustmentDescription": "This writes a ledger entry and updates the pool balance. Verify amount and reason.",
|
||||
"recentAdjustments": "Recent adjustments",
|
||||
"contributionRate": "Contribution rate 0-1",
|
||||
"contributionRatePlaceholder": "Enter contribution rate, for example 0.02",
|
||||
"triggerThreshold": "Burst threshold (minor unit)",
|
||||
"triggerThresholdPlaceholder": "Enter burst threshold",
|
||||
"payoutRate": "Burst payout rate 0-1",
|
||||
"payoutRatePlaceholder": "Enter payout rate, for example 0.05",
|
||||
"forceTriggerGap": "Force burst gap (settled draws)",
|
||||
"forceTriggerGapPlaceholder": "Enter forced burst gap in draws",
|
||||
"minBetAmount": "Minimum bet amount (minor unit)",
|
||||
"minBetAmountPlaceholder": "Enter minimum bet amount",
|
||||
"comboTriggerPlays": "Combo trigger plays (comma separated)",
|
||||
"comboTriggerPlaysPlaceholder": "Enter play codes separated by commas, for example straight,ibox",
|
||||
"status": "Status",
|
||||
"disabled": "Disabled",
|
||||
"enabled": "Enabled",
|
||||
|
||||
@@ -1,6 +1,22 @@
|
||||
{
|
||||
"title": "Players",
|
||||
"detailTitle": "Player details",
|
||||
"listTitle": "Player list",
|
||||
"viewDetail": "View details",
|
||||
"backToList": "Back to player list",
|
||||
"detailSubtitle": "{{site}} · {{sitePlayerId}} · ID {{playerId}}",
|
||||
"tabOverview": "Overview",
|
||||
"tabTickets": "Tickets",
|
||||
"tabWalletTxns": "Wallet transactions",
|
||||
"tabTransferOrders": "Transfer orders",
|
||||
"profileSection": "Profile",
|
||||
"walletsSection": "Wallets",
|
||||
"createdAt": "Registered at",
|
||||
"agent": "Agent",
|
||||
"frozen": "Frozen",
|
||||
"txnAmount": "Amount",
|
||||
"balanceAfterTxn": "Balance after",
|
||||
"invalidPlayerId": "Invalid player ID",
|
||||
"createPlayer": "Create player",
|
||||
"searchPlaceholder": "Search by player ID / username / nickname",
|
||||
"filterSite": "Site",
|
||||
@@ -11,6 +27,10 @@
|
||||
"siteCodeRequired": "Enter the site code",
|
||||
"sitePlayerIdRequired": "Enter the site player ID",
|
||||
"createFailed": "Failed to create player",
|
||||
"createAgentRequired": "Your account is not bound to an agent node. Sign in with an agent account, or as super admin pick a valid site and agent.",
|
||||
"createAgentNode": "Agent node",
|
||||
"createAgentNodePlaceholder": "Select agent node",
|
||||
"createAgentAutoHint": "Player will be assigned to your agent: {{name}} ({{code}})",
|
||||
"createSuccess": "Created player {{name}}",
|
||||
"noChanges": "No changes",
|
||||
"updateFailed": "Failed to update player",
|
||||
|
||||
Reference in New Issue
Block a user