Slim API deployment - composer install + full CRUD endpoints

This commit is contained in:
Hermes Agent
2026-05-20 14:36:05 +02:00
parent 48bf9c7088
commit 8ab4e532fd
1727 changed files with 7746 additions and 7 deletions

View File

@@ -10,7 +10,7 @@ final class AppointmentRepository extends BaseRepository
{
$sql = 'SELECT a.*, s.first_name AS student_first_name, s.last_name AS student_last_name, s.needs_glasses AS student_needs_glasses,
i.first_name AS instructor_first_name, i.last_name AS instructor_last_name,
lt.name AS lesson_type_name, lt.color AS lesson_type_color, lt.is_rest_relevant,
lt.name AS lesson_type_name, lt.color AS lesson_type_color, lt.is_rest_relevant, lt.allows_student, lt.category AS lesson_type_category,
(
SELECT au.requirement_key
FROM appointment_units au
@@ -61,9 +61,9 @@ final class AppointmentRepository extends BaseRepository
$timestamp = $this->now();
$statement = $this->db->prepare(
'INSERT INTO appointments
(tenant_id, student_id, instructor_id, lesson_type_id, title, category, start_at, end_at, units, status, notes, warning_acknowledged, created_by, updated_by, created_at, updated_at)
(tenant_id, student_id, instructor_id, lesson_type_id, title, category, start_at, end_at, units, status, notes, notes_private, warning_acknowledged, created_by, updated_by, created_at, updated_at)
VALUES
(:tenant_id, :student_id, :instructor_id, :lesson_type_id, :title, :category, :start_at, :end_at, :units, :status, :notes, :warning_acknowledged, :created_by, :updated_by, :created_at, :updated_at)'
(:tenant_id, :student_id, :instructor_id, :lesson_type_id, :title, :category, :start_at, :end_at, :units, :status, :notes, :notes_private, :warning_acknowledged, :created_by, :updated_by, :created_at, :updated_at)'
);
$statement->execute([
'tenant_id' => $tenantId,
@@ -77,6 +77,7 @@ final class AppointmentRepository extends BaseRepository
'units' => (int) $data['units'],
'status' => $data['status'],
'notes' => $data['notes'] ?? '',
'notes_private' => $data['notes_private'] ?? '',
'warning_acknowledged' => !empty($data['warning_acknowledged']) ? 1 : 0,
'created_by' => $actorId,
'updated_by' => $actorId,
@@ -96,7 +97,7 @@ final class AppointmentRepository extends BaseRepository
'UPDATE appointments
SET student_id = :student_id, instructor_id = :instructor_id, lesson_type_id = :lesson_type_id,
title = :title, category = :category, start_at = :start_at, end_at = :end_at, units = :units,
status = :status, notes = :notes, warning_acknowledged = :warning_acknowledged,
status = :status, notes = :notes, notes_private = :notes_private, warning_acknowledged = :warning_acknowledged,
updated_by = :updated_by, updated_at = :updated_at
WHERE tenant_id = :tenant_id AND id = :id'
);
@@ -113,6 +114,7 @@ final class AppointmentRepository extends BaseRepository
'units' => (int) $data['units'],
'status' => $data['status'],
'notes' => $data['notes'] ?? '',
'notes_private' => $data['notes_private'] ?? '',
'warning_acknowledged' => !empty($data['warning_acknowledged']) ? 1 : 0,
'updated_by' => $actorId,
'updated_at' => $this->now(),