Access log view migration
gitea/hedera-web/pipeline/pr-dev There was a failure building this commit Details
gitea/hedera-web/pipeline/pr-beta This commit looks good Details

This commit is contained in:
William Buezas 2025-04-07 09:03:31 +02:00
parent efa49fccdd
commit 48f00a9400
1 changed files with 35 additions and 23 deletions

View File

@ -7,8 +7,7 @@ import VnList from 'src/components/ui/VnList.vue';
import { formatDateTitle } from 'src/lib/filters.js';
const jApi = inject('jApi');
const api = inject('api');
const route = useRoute();
const accessLogs = ref([]);
@ -17,15 +16,32 @@ const user = ref(null);
const getUser = async () => {
try {
if (!route.params.id) return;
const [data] = await jApi.query(
`SELECT u.id, u.name user, u.nickname, u.email, c.phone, r.name role
FROM account.user u
JOIN account.role r ON r.id = u.role
LEFT JOIN vn.client c ON c.id = u.id
WHERE u.id = #user`,
{ user: route.params.id }
);
user.value = data;
const filter = {
where: { id: route.params.id },
include: [
{
relation: 'role',
scope: {
fields: ['name']
}
},
{
relation: 'worker',
scope: {
fields: ['phone']
}
}
]
};
const { data } = await api.get('VnUsers/preview', {
params: {
filter: JSON.stringify(filter)
}
});
if (!data || !data.length) return;
user.value = data[0];
} catch (error) {
console.error('Error getting user:', error);
}
@ -33,16 +49,12 @@ const getUser = async () => {
const getAccessLogs = async () => {
try {
accessLogs.value = await jApi.query(
`SELECT u.stamp, a.platform, a.browser, a.version, a.javascript, a.cookies
FROM visitUser u
JOIN visitAccess c ON c.id = u.accessFk
JOIN visitAgent a ON a.id = c.agentFk
WHERE u.userFk = #user
ORDER BY u.stamp DESC
LIMIT 8`,
{ user: route.params.id }
);
const { data } = await api.get('visitUsers/getUserVisits', {
params: {
userId: route.params.id
}
});
accessLogs.value = data;
} catch (error) {
console.error('Error getting access logs:', error);
}
@ -68,9 +80,9 @@ onMounted(async () => {
{{ user?.nickname }}
</span>
<span>#{{ user?.id }} - {{ user.user }} </span>
<span>{{ user?.role }} </span>
<span>{{ user?.role?.name }} </span>
<span>{{ user?.email }} </span>
<span>{{ user?.phone }} </span>
<span>{{ user?.worker?.phone }} </span>
</template>
</CardList>
<VnList :rows="accessLogs">