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:
2026-06-04 09:17:55 +08:00
parent 59b0684ea1
commit cbc499e5b2
79 changed files with 3468 additions and 1406 deletions

View File

@@ -103,8 +103,11 @@
"editTitle": "भूमिका सम्पादन",
"description": "भूमिकाले ब्याकएन्ड कार्य अनुमति समेट्छ र पछि प्रशासक खातालाई बाँडिन्छ।",
"slug": "भूमिका कोड",
"slugPlaceholder": "भूमिका चिन्ह प्रविष्ट गर्नुहोस्, जस्तै super_admin",
"name": "भूमिका नाम",
"namePlaceholder": "भूमिका नाम प्रविष्ट गर्नुहोस्",
"descriptionLabel": "भूमिका विवरण",
"descriptionPlaceholder": "भूमिका विवरण प्रविष्ट गर्नुहोस्",
"status": "स्थिति"
},
"accountDialog": {

View File

@@ -1,5 +1,36 @@
{
"title": "Agents",
"title": "एजेन्ट लाइन",
"sitesTitle": "साइट सूची",
"sitesListHint": "पूर्ण साइट तालिका (कुञ्जी, कलब्याक) को लागि",
"sitesListLink": "साइट सूची",
"subnav": {
"label": "एजेन्ट लाइन नेभ",
"noPermission": "अनुमति छैन",
"operations": "सञ्चालन",
"provision": "लाइन खोल्नुहोस्",
"sites": "साइट सूची",
"settlementBills": "एजेन्ट बिल"
},
"tabs": {
"subordinates": "अधीनस्थ व्यवस्थापन",
"accounts": "मुख्य खाता",
"players": "प्लेयर व्यवस्थापन",
"overview": "Overview",
"roles": "Roles",
"users": "Accounts",
"delegation": "Delegation ceiling"
},
"filterParent": "माथिल्लो एजेन्ट",
"filterParentAll": "सबै अधीनस्थ",
"listFlatHint": "सबै सञ्चालन एजेन्ट सूचीमा; अधीनस्थ थप्न पङ्क्ति मेनु प्रयोग गर्नुहोस्।",
"addChildNeedParent": "अधीनस्थ थप्न पहिले माथिल्लो एजेन्ट छान्नुहोस्",
"includeRoots": "रुट नोड समावेश गर्नुहोस्",
"includeRootsHint": "रुट नोडले साइट सिमाना जनाउँछ, त्यसैले सामान्यतया सञ्चालन एजेन्ट गणनामा समावेश हुँदैन।",
"directoryStatus": {
"all": "सबै स्थिति",
"enabled": "सक्रिय मात्र",
"disabled": "निष्क्रिय मात्र"
},
"treeTitle": "Agent tree",
"detailTitle": "Node details",
"selectNode": "Select an agent node from the tree",
@@ -18,6 +49,7 @@
},
"code": "Code",
"name": "Name",
"namePlaceholder": "एजेन्ट नाम प्रविष्ट गर्नुहोस्",
"depth": "Depth",
"path": "Path",
"status": "Status",
@@ -28,11 +60,61 @@
"saveFailed": "Save failed",
"codeRequired": "Code and name are required",
"modelGuide": "एजेन्ट तहले डाटा स्कोप र delegation ceiling नियन्त्रण गर्छ; खाताको अनुमति भूमिका मार्फत बाँडिन्छ।",
"tabs": {
"overview": "Overview",
"roles": "Roles",
"users": "Accounts",
"delegation": "Delegation ceiling"
"pageGuide": "यहाँ एजेन्ट ट्री, एजेन्ट भूमिका, एजेन्ट खाता र delegation ceiling व्यवस्थापन गरिन्छ। प्लेटफर्म खाता र प्लेटफर्म भूमिका अलग पृष्ठमा राखिन्छ।",
"summary": {
"currentSiteNodes": "हालको साइट नोड संख्या",
"currentSiteAgents": "हालको साइट सञ्चालन एजेन्ट",
"visibleList": "हालको सूची पंक्ति",
"visibleAgents": "हाल देखिने सञ्चालन एजेन्ट",
"globalNodes": "सबै साइट नोड कुल",
"globalAgents": "सबै साइट सञ्चालन एजेन्ट",
"enabledAgents": "सक्रिय सञ्चालन एजेन्ट",
"rootNodes": "रुट नोड संख्या"
},
"profile": {
"section": "शेयर र क्रेडिट",
"totalShareRate": "शेयर दर (%)",
"creditLimit": "क्रेडिट सीमा",
"rebateLimit": "रिबेट सीमा",
"defaultPlayerRebate": "प्लेयर पूर्वनिर्धारित रिबेट",
"settlementCycle": "सेटलमेन्ट चक्र",
"canGrantExtraRebate": "अतिरिक्त रिबेट अनुमति",
"canCreatePlayer": "प्लेयर सिर्जना अनुमति",
"canCreateChildAgent": "अधीनस्थ एजेन्ट सिर्जना अनुमति",
"cycleDaily": "दैनिक",
"cycleWeekly": "साप्ताहिक",
"cycleMonthly": "मासिक"
},
"settlementBills": {
"title": "एजेन्ट बिल",
"description": "अवधि बन्द पछि बनेका प्लेयर/एजेन्ट बिल",
"columns": {
"id": "ID",
"type": "प्रकार",
"net": "नेट",
"unpaid": "बाँकी",
"status": "स्थिति"
}
},
"lineProvision": {
"title": "एजेन्ट लाइन खोल्नुहोस्",
"description": "एकै चरणमा साइट, रुट एजेन्ट र खाता सिर्जना (site_code = agent code)।",
"code": "साइट code",
"name": "लाइन नाम",
"username": "एजेन्ट लगइन",
"password": "प्रारम्भिक पासवर्ड",
"walletUrl": "वालेट API URL",
"submit": "खोल्नुहोस्",
"success": "लाइन खोलियो",
"secretsOnce": "कुञ्जी एक पटक मात्र देखाइन्छ",
"link": "लाइन खोल्नुहोस्"
},
"noAccess": "एजेन्ट सञ्चालन अनुमति छैन। प्रशासकलाई सम्पर्क गर्नुहोस्।",
"playersPanel": {
"create": "प्लेयर सिर्जना",
"scopedTo": "प्रत्यक्ष प्लेयर: {{agent}}",
"allUnderSite": "हालको साइटका प्लेयर",
"filterHint": "माथिल्लो एजेन्ट अनुसार प्लेयर हेर्नुहोस्।"
},
"delegation": {
"title": "Delegation ceiling",
@@ -68,5 +150,8 @@
"roleSaveSuccess": "Roles updated for {{name}}",
"deleteConfirm": "यो खाता अब लगइन गर्न सक्दैन।",
"deleteSuccess": "खाता {{name}} मेटियो"
}
},
"usernamePlaceholder": "लगइन नाम प्रविष्ट गर्नुहोस्",
"passwordPlaceholder": "८-अक्षरको पासवर्ड प्रविष्ट गर्नुहोस्",
"passwordOptionalHint": "परिवर्तन नगर्ने भए खाली छोड्नुहोस्, परिवर्तन गर्न ८-अक्षरको पासवर्ड प्रविष्ट गर्नुहोस्"
}

View File

@@ -161,7 +161,7 @@
"settings": "सेटिङ",
"account": "खाता सेटिङ",
"integration": "मुख्य साइट एकीकरण",
"agents": "एजेन्ट व्यवस्थापन",
"agents": "एजेन्ट लाइन",
"config": "सञ्चालन कन्फिगरेसन"
},
"sidebar": {

View File

@@ -99,6 +99,16 @@
"notes": "टिप्पणी",
"ssoSecret": "SSO गोप्य",
"walletApiKey": "वालेट API कुञ्जी"
},
"placeholders": {
"code": "साइट चिन्ह प्रविष्ट गर्नुहोस्, जस्तै partner-a",
"name": "साइट नाम प्रविष्ट गर्नुहोस्",
"currency": "मुद्रा कोड प्रविष्ट गर्नुहोस्, जस्तै NPR",
"walletApiUrl": "वालेट API ठेगाना प्रविष्ट गर्नुहोस्",
"lotteryH5BaseUrl": "H5 ठेगाना प्रविष्ट गर्नुहोस्",
"iframeOrigins": "अनुमत origin प्रविष्ट गर्नुहोस्, जस्तै https://www.example.com",
"notes": "टिप्पणी प्रविष्ट गर्नुहोस्",
"connectivityPlayerId": "खेलाडी ID प्रविष्ट गर्नुहोस्, जस्तै 10001"
}
},
"versionStatus": {
@@ -200,6 +210,17 @@
"playRulesHtml": "खेल नियम HTML (बहुभाषी)",
"playRulesHtmlDesc": "खेलाडीको नियम पृष्ठमा भाषा अनुसार HTML देखिन्छ। खाली छोड्दा अर्को भाषा वा पूर्वनिर्धारित खाली सूचना देखिन्छ।"
},
"placeholders": {
"defaultCurrency": "पूर्वनिर्धारित मुद्रा कोड प्रविष्ट गर्नुहोस्, जस्तै NPR",
"drawIntervalMinutes": "ड्रअ अन्तराल मिनेट प्रविष्ट गर्नुहोस्",
"drawBettingWindowSeconds": "बेटिङ विन्डो सेकेन्ड प्रविष्ट गर्नुहोस्",
"drawCloseBeforeDrawSeconds": "ड्रअ अघि बन्द हुने सेकेन्ड प्रविष्ट गर्नुहोस्",
"drawBufferDrawsAhead": "अग्रिम सिर्जना गरिने ड्रअ संख्या प्रविष्ट गर्नुहोस्",
"cooldownMinutes": "कूलडाउन मिनेट प्रविष्ट गर्नुहोस्",
"currencyDisplayDecimals": "प्रदर्शन दशमलव स्थान प्रविष्ट गर्नुहोस्, जस्तै 2",
"currencyDecimalSeparator": "दशमलव विभाजक प्रविष्ट गर्नुहोस्, जस्तै .",
"currencyThousandsSeparator": "हजार विभाजक प्रविष्ट गर्नुहोस्, जस्तै ,"
},
"hints": {
"manualReview": "सक्रिय हुँदा RNG ड्रअ परिणाम pending review मा जान्छ र एडमिनबाट म्यानुअल रूपमा प्रकाशित गर्नुपर्छ।",
"cooldownMinutes": "प्रकाशनपछि settling मा जानुअघि कति समय पर्खने। 0 राखे तुरुन्त सेटलमेन्ट सुरु हुन्छ।",
@@ -260,6 +281,9 @@
"code": "मुद्रा कोड",
"name": "मुद्रा नाम",
"decimals": "दशमलव स्थान",
"codePlaceholder": "मुद्रा कोड प्रविष्ट गर्नुहोस्, जस्तै NPR",
"namePlaceholder": "मुद्रा नाम प्रविष्ट गर्नुहोस्",
"decimalsPlaceholder": "दशमलव स्थान प्रविष्ट गर्नुहोस्, जस्तै 2",
"enabled": "सक्रिय स्थिति",
"enabledHint": "निष्क्रिय मुद्रा नयाँ व्यवसायमा प्रयोग गर्नु हुँदैन।",
"bettable": "बेटिङ अनुमति",
@@ -330,6 +354,11 @@
"maxBet": "अधिकतम बेट",
"actions": "कार्य"
},
"placeholders": {
"displayOrder": "क्रम",
"minBetAmount": "न्यूनतम रकम",
"maxBetAmount": "अधिकतम रकम"
},
"states": {
"enabled": "सक्रिय",
"disabled": "बन्द",
@@ -394,6 +423,10 @@
"missingScopeRow": "{{scope}} को row हराइरहेको छ। seed वा version data जाँच गर्नुहोस्।",
"rebateRate": "रिबेट दर (%)",
"rebateRateHint": "यसले यो खेल प्रकारअन्तर्गत सबै prize scope मा rebate_rate लेख्छ।",
"placeholders": {
"multiplier": "अड्स गुणक प्रविष्ट गर्नुहोस्",
"rebateRate": "रिबेट दर प्रविष्ट गर्नुहोस्"
},
"publishFailed": "प्रकाशन असफल भयो",
"createDraftSuccess": "ड्राफ्ट v{{version}} सिर्जना भयो",
"createDraftFailed": "ड्राफ्ट सिर्जना असफल भयो",
@@ -440,6 +473,11 @@
"d3": "3D रिबेट दर (%)",
"d4": "4D रिबेट दर (%)"
},
"placeholders": {
"d2": "2D रिबेट प्रविष्ट गर्नुहोस्",
"d3": "3D रिबेट प्रविष्ट गर्नुहोस्",
"d4": "4D रिबेट प्रविष्ट गर्नुहोस्"
},
"winEnjoy": {
"label": "जितेको टिकटको पेआउटमा पुनः रिबेट घटाउने",
"description": "settlement.apply_rebate_to_payout सँग जोडिएको: सक्रिय हुँदा जित पेआउटमा rebate_rate_snapshot अनुसार घटाउँछ।",
@@ -450,6 +488,11 @@
"effectiveTime": "लागू समय (हाल सक्रिय अड्स संस्करण)"
},
"riskCap": {
"placeholders": {
"defaultCap": "पूर्वनिर्धारित सीमा प्रविष्ट गर्नुहोस्",
"number": "४-अङ्कको नम्बर",
"capAmount": "सीमा रकम प्रविष्ट गर्नुहोस्"
},
"validation": {
"requireAtLeastOne": "कम्तीमा एक क्याप row आवश्यक छ",
"defaultGreaterThanZero": "पूर्वनिर्धारित क्याप रकम 0 भन्दा ठूलो हुनुपर्छ",

View File

@@ -11,6 +11,7 @@
"title": "म्यानुअल ड्रअ सिर्जना",
"description": "{{tz}} मा मिति र समय प्रविष्ट गर्नुहोस् (ब्राउजर स्थानीय समय होइन)।",
"hint": "सुरु < बन्द < ड्रअ। ड्रअ नम्बर वैकल्पिक।",
"drawNoPlaceholder": "ड्रअ नम्बर प्रविष्ट गर्नुहोस्, जस्तै 20260526-008",
"drawTimeRequired": "ड्रअ समय आवश्यक छ",
"submit": "सिर्जना",
"saving": "सिर्जना हुँदैछ…",
@@ -34,6 +35,7 @@
"action": "सम्पादन",
"title": "ड्रअ सम्पादन",
"description": "ड्रअ {{drawNo}} · {{tz}}",
"drawNoPlaceholder": "ड्रअ नम्बर प्रविष्ट गर्नुहोस्, जस्तै 20260526-008",
"submit": "सेभ",
"saving": "सेभ हुँदैछ…",
"success": "ड्रअ अद्यावधिक भयो",
@@ -55,6 +57,14 @@
"invalidDrawId": "अवैध ड्रअ ID",
"loadFailed": "लोड असफल भयो। लगइन र API कन्फिग जाँच गर्नुहोस्।",
"drawDetail": "ड्रअ विवरण",
"detailSubtitle": "{{date}} · राउन्ड {{seq}}",
"scheduleTitle": "तालिका",
"resultBatchesTitle": "नतिजा ब्याच",
"batchSummaryTotal": "जम्मा {{count}}",
"batchSummaryPending": "समीक्षा {{count}}",
"batchSummaryPublished": "प्रकाशित {{count}}",
"noResultBatchesYet": "अहिलेसम्म कुनै नतिजा ब्याच छैन।",
"goToReviewTab": "समीक्षा र प्रकाशन",
"businessDate": "व्यवसाय मिति",
"sequenceNo": "क्रम संख्या",
"plannedDraw": "योजनाबद्ध ड्रअ",

View File

@@ -20,7 +20,9 @@
"adjustmentIncrease": "बढाउनु",
"adjustmentDecrease": "घटाउनु",
"adjustmentAmount": "समायोजन रकम (मुख्य एकाइ)",
"adjustmentAmountPlaceholder": "समायोजन रकम प्रविष्ट गर्नुहोस्",
"adjustmentReason": "कारण (अनिवार्य)",
"adjustmentReasonPlaceholder": "समायोजन कारण प्रविष्ट गर्नुहोस्",
"submitAdjustment": "समायोजन पेश गर्नुहोस्",
"adjustmentSuccess": "पूल ब्यालेन्स समायोजन भयो",
"adjustmentFailed": "समायोजन असफल",
@@ -30,11 +32,17 @@
"confirmAdjustmentDescription": "यसले लेजर प्रविष्टि लेख्छ र पूल ब्यालेन्स अद्यावधिक गर्छ। रकम र कारण जाँच गर्नुहोस्।",
"recentAdjustments": "भर्खरका समायोजन",
"contributionRate": "योगदान अनुपात 0-1",
"contributionRatePlaceholder": "योगदान अनुपात प्रविष्ट गर्नुहोस्, जस्तै 0.02",
"triggerThreshold": "बर्स्ट थ्रेसहोल्ड (सानो एकाइ)",
"triggerThresholdPlaceholder": "ट्रिगर थ्रेसहोल्ड प्रविष्ट गर्नुहोस्",
"payoutRate": "बर्स्ट भुक्तानी अनुपात 0-1",
"payoutRatePlaceholder": "पेआउट अनुपात प्रविष्ट गर्नुहोस्, जस्तै 0.05",
"forceTriggerGap": "बलपूर्वक बर्स्ट अन्तर (सेटल ड्रअ)",
"forceTriggerGapPlaceholder": "बलपूर्वक ट्रिगर अन्तर प्रविष्ट गर्नुहोस्",
"minBetAmount": "न्यूनतम बेट रकम (सानो एकाइ)",
"minBetAmountPlaceholder": "न्यूनतम बेट रकम प्रविष्ट गर्नुहोस्",
"comboTriggerPlays": "कम्बो ट्रिगर प्ले (comma-separated)",
"comboTriggerPlaysPlaceholder": "प्ले कोडहरू अल्पविरामले छुट्याएर लेख्नुहोस्, जस्तै straight,ibox",
"status": "स्थिति",
"disabled": "बन्द",
"enabled": "खुला",

View File

@@ -1,6 +1,22 @@
{
"title": "खेलाडी",
"detailTitle": "खेलाडी विवरण",
"listTitle": "खेलाडी सूची",
"viewDetail": "विवरण हेर्नुहोस्",
"backToList": "खेलाडी सूचीमा फर्कनुहोस्",
"detailSubtitle": "{{site}} · {{sitePlayerId}} · ID {{playerId}}",
"tabOverview": "सारांश",
"tabTickets": "टिकट",
"tabWalletTxns": "वालेट लेनदेन",
"tabTransferOrders": "ट्रान्सफर अर्डर",
"profileSection": "प्रोफाइल",
"walletsSection": "वालेट",
"createdAt": "दर्ता समय",
"agent": "एजेन्ट",
"frozen": "फ्रोजन",
"txnAmount": "रकम",
"balanceAfterTxn": "पछिको ब्यालेन्स",
"invalidPlayerId": "अवैध खेलाडी ID",
"createPlayer": "खेलाडी सिर्जना",
"searchPlaceholder": "खेलाडी ID / प्रयोगकर्ता नाम / उपनामबाट खोज्नुहोस्",
"search": "खोज",
@@ -9,6 +25,10 @@
"siteCodeRequired": "साइट कोड लेख्नुहोस्",
"sitePlayerIdRequired": "साइट खेलाडी ID लेख्नुहोस्",
"createFailed": "खेलाडी सिर्जना असफल भयो",
"createAgentRequired": "तपाईंको खाता एजेन्ट नोडसँग जोडिएको छैन। एजेन्ट खाताबाट लगइन गर्नुहोस्, वा सुपर एडमिनले मान्य साइट र एजेन्ट छान्नुहोस्।",
"createAgentNode": "एजेन्ट नोड",
"createAgentNodePlaceholder": "एजेन्ट नोड छान्नुहोस्",
"createAgentAutoHint": "खेलाडी तपाईंको एजेन्टमा तोकिनेछ: {{name}} ({{code}})",
"createSuccess": "खेलाडी {{name}} सिर्जना भयो",
"noChanges": "कुनै परिवर्तन छैन",
"updateFailed": "खेलाडी अपडेट असफल भयो",