log page views

This commit is contained in:
Helena
2025-09-18 09:45:09 +03:00
parent 4bd88f1b4e
commit db2ccd0f57
2 changed files with 21 additions and 2 deletions

View File

@@ -1,13 +1,17 @@
import { redirect } from 'next/navigation';
import { HomeLayoutPageHeader } from '@/app/home/(user)/_components/home-page-header'; import { HomeLayoutPageHeader } from '@/app/home/(user)/_components/home-page-header';
import { loadCategory } from '@/app/home/(user)/_lib/server/load-category'; import { loadCategory } from '@/app/home/(user)/_lib/server/load-category';
import { pathsConfig } from '@kit/shared/config';
import { AppBreadcrumbs } from '@kit/ui/makerkit/app-breadcrumbs'; import { AppBreadcrumbs } from '@kit/ui/makerkit/app-breadcrumbs';
import { Trans } from '@kit/ui/trans'; import { Trans } from '@kit/ui/trans';
import BookingContainer from '~/home/(user)/_components/booking/booking-container';
import { createI18nServerInstance } from '~/lib/i18n/i18n.server'; import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
import { withI18n } from '~/lib/i18n/with-i18n'; import { withI18n } from '~/lib/i18n/with-i18n';
import { PageViewAction, createPageViewLog } from '~/lib/services/audit/pageView.service';
import BookingContainer from '~/home/(user)/_components/booking/booking-container'; import { loadCurrentUserAccount } from '~/home/(user)/_lib/server/load-user-account';
export const generateMetadata = async () => { export const generateMetadata = async () => {
const i18n = await createI18nServerInstance(); const i18n = await createI18nServerInstance();
@@ -25,11 +29,24 @@ async function BookingHandlePage({
}) { }) {
const { handle } = await params; const { handle } = await params;
const { category } = await loadCategory({ handle }); const { category } = await loadCategory({ handle });
const { account } = await loadCurrentUserAccount();
if (!category) { if (!category) {
return <div>Category not found</div>; return <div>Category not found</div>;
} }
if (!account) {
return redirect(pathsConfig.auth.signIn);
}
await createPageViewLog({
accountId: account.id,
action: PageViewAction.VIEW_TTO_SERVICE_BOOKING,
extraData: {
handle,
},
});
return ( return (
<> <>
<AppBreadcrumbs <AppBreadcrumbs

View File

@@ -6,6 +6,7 @@ export enum PageViewAction {
REGISTRATION_SUCCESS = 'REGISTRATION_SUCCESS', REGISTRATION_SUCCESS = 'REGISTRATION_SUCCESS',
VIEW_ORDER_ANALYSIS = 'VIEW_ORDER_ANALYSIS', VIEW_ORDER_ANALYSIS = 'VIEW_ORDER_ANALYSIS',
VIEW_TEAM_ACCOUNT_DASHBOARD = 'VIEW_TEAM_ACCOUNT_DASHBOARD', VIEW_TEAM_ACCOUNT_DASHBOARD = 'VIEW_TEAM_ACCOUNT_DASHBOARD',
VIEW_TTO_SERVICE_BOOKING = 'VIEW_TTO_SERVICE_BOOKING',
} }
export const createPageViewLog = async ({ export const createPageViewLog = async ({
@@ -37,6 +38,7 @@ export const createPageViewLog = async ({
account_id: accountId, account_id: accountId,
action, action,
changed_by: user.id, changed_by: user.id,
extra_data: extraData
}) })
.throwOnError(); .throwOnError();
} catch (error) { } catch (error) {