BLUE
PHP 7.4.33
Path:
/var/www/snow-ecom.wpress.dk/httpdocs/src/hooks
Run
Logout
Edit File
Size: 2.75 KB
Close
/var/www/snow-ecom.wpress.dk/httpdocs/src/hooks/useLogging.ts
Text
Base64
import { useAuth } from '@/app/providers/AuthProvider'; import { loggingService, UserActionLog } from '@/app/services/loggingService'; import { useCallback } from 'react'; export const useLogging = () => { const { user } = useAuth(); const logSaveAction = useCallback(async (params: { bookingId: string; pageId: string; brand: string; language: string; actionType: 'SAVE' | 'SAVE_AND_SEND'; entityType: 'CUSTOMER' | 'PARTICIPANT' | 'PAYMENT' | 'PRODUCT' | 'PDF' | 'EMAIL'; entityId: string; actionData: Record<string, string | number | boolean | null | undefined | Array<unknown> | Record<string, unknown>>; version?: string; status?: 'SUCCESS' | 'FAILED'; errorMessage?: string; }) => { if (!user) { console.warn('Cannot log action: user not authenticated'); return; } await loggingService.logSaveAction({ userId: user.name || 'unknown', userEmail: user.email || 'unknown', ...params, }); }, [user]); const logResendAction = useCallback(async (params: { bookingId: string; pageId: string; brand: string; language: string; entityType: 'PDF' | 'EMAIL'; entityId: string; actionData: Record<string, string | number | boolean | null | undefined | Array<unknown> | Record<string, unknown>>; version?: string; status?: 'SUCCESS' | 'FAILED'; errorMessage?: string; }) => { if (!user) { console.warn('Cannot log action: user not authenticated'); return; } await loggingService.logResendAction({ userId: user.name || 'unknown', userEmail: user.email || 'unknown', ...params, }); }, [user]); const logPreviewAction = useCallback(async (params: { bookingId: string; pageId: string; brand: string; language: string; entityType: 'PDF' | 'EMAIL'; entityId: string; actionData: Record<string, string | number | boolean | null | undefined | Array<unknown> | Record<string, unknown>>; version?: string; }) => { if (!user) { console.warn('Cannot log action: user not authenticated'); return; } await loggingService.logPreviewAction({ userId: user.name || 'unknown', userEmail: user.email || 'unknown', ...params, }); }, [user]); const logUserAction = useCallback(async (logData: Omit<UserActionLog, 'Id' | 'Timestamp' | 'UserId' | 'UserEmail'>) => { if (!user) { console.warn('Cannot log action: user not authenticated'); return; } await loggingService.logUserAction({ UserId: user.name || 'unknown', UserEmail: user.email || 'unknown', ...logData, }); }, [user]); return { logSaveAction, logResendAction, logPreviewAction, logUserAction, isUserAuthenticated: !!user, }; };
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 3
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
use-mobile.tsx
565 B
lrw-r--r--
2026-05-13 05:33:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
useDebouncedMultiRowSave.ts
2.97 KB
lrw-r--r--
2026-05-13 05:33:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
useLogging.ts
2.75 KB
lrw-r--r--
2026-05-13 05:33:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).