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