Add account hierarchy framework with migrations, RLS policies, and UI components

This commit is contained in:
T. Zehetbauer
2026-03-31 22:18:04 +02:00
parent 7e7da0b465
commit 59546ad6d2
262 changed files with 11671 additions and 3927 deletions

View File

@@ -1,9 +1,11 @@
'use server';
import { z } from 'zod';
import { authActionClient } from '@kit/next/safe-action';
import { getLogger } from '@kit/shared/logger';
import { getSupabaseServerClient } from '@kit/supabase/server-client';
import {
CreateCourseSchema,
EnrollParticipantSchema,
@@ -34,7 +36,10 @@ export const enrollParticipant = authActionClient
const logger = await getLogger();
const api = createCourseManagementApi(client);
logger.info({ name: 'course.enrollParticipant' }, 'Enrolling participant...');
logger.info(
{ name: 'course.enrollParticipant' },
'Enrolling participant...',
);
const result = await api.enrollParticipant(input);
logger.info({ name: 'course.enrollParticipant' }, 'Participant enrolled');
return { success: true, data: result };
@@ -51,7 +56,10 @@ export const cancelEnrollment = authActionClient
const logger = await getLogger();
const api = createCourseManagementApi(client);
logger.info({ name: 'course.cancelEnrollment' }, 'Cancelling enrollment...');
logger.info(
{ name: 'course.cancelEnrollment' },
'Cancelling enrollment...',
);
const result = await api.cancelEnrollment(input.participantId);
logger.info({ name: 'course.cancelEnrollment' }, 'Enrollment cancelled');
return { success: true, data: result };
@@ -71,7 +79,11 @@ export const markAttendance = authActionClient
const api = createCourseManagementApi(client);
logger.info({ name: 'course.markAttendance' }, 'Marking attendance...');
const result = await api.markAttendance(input.sessionId, input.participantId, input.present);
const result = await api.markAttendance(
input.sessionId,
input.participantId,
input.present,
);
logger.info({ name: 'course.markAttendance' }, 'Attendance marked');
return { success: true, data: result };
});