feat: add balance display, user columns, device mgmt and sessions for agent
- Backend: add balance to agent stats API - Backend: return full user details (balance, expiry, online_status, device_count, application) in agent users API - Backend: export admin device/session handlers, add agent routes for devices and sessions - Backend: add card type permission check and balance deduction for agent user creation - Backend: extract checkAgentUserPermission helper, add user edit API - Frontend: add balance card to agent dashboard - Frontend: add application, online_status, device_count, balance, expiry_at columns to agent user table - Frontend: add agent devices page (reuse admin data-table component) - Frontend: add agent sessions page (reuse admin data-table component) - Frontend: add devices and sessions to agent navigation and routes - Add i18n keys for agent devices, sessions, user columns, dashboard balance
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<script setup lang="ts">
|
||||
import { Boxes, Cloud, CreditCard, Gauge, Key, LogOut, User, Users } from 'lucide-vue-next'
|
||||
import { Boxes, Cloud, CreditCard, Gauge, Key, LogOut, Monitor, User, Users, Wifi } from 'lucide-vue-next'
|
||||
import { computed, onMounted, reactive } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { useRouter } from 'vue-router'
|
||||
@@ -87,6 +87,16 @@ const navMain = computed(() => {
|
||||
url: '/agent/users',
|
||||
icon: Users,
|
||||
},
|
||||
{
|
||||
title: t('nav.devices'),
|
||||
url: '/agent/devices',
|
||||
icon: Monitor,
|
||||
},
|
||||
{
|
||||
title: t('nav.sessions'),
|
||||
url: '/agent/sessions',
|
||||
icon: Wifi,
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
@@ -121,6 +131,8 @@ const breadcrumbs = computed(() => {
|
||||
const titleMap: Record<string, string> = {
|
||||
cards: t('nav.cards'),
|
||||
users: t('nav.users'),
|
||||
devices: t('nav.devices'),
|
||||
sessions: t('nav.sessions'),
|
||||
finance: t('nav.finance'),
|
||||
'cloud-variables': t('nav.cloudVariables'),
|
||||
profile: t('nav.profile'),
|
||||
|
||||
Reference in New Issue
Block a user