update project

This commit is contained in:
root
2026-05-30 01:11:35 -04:00
parent 3a0628ecc7
commit 2225f6bc72
9743 changed files with 1122482 additions and 59 deletions
@@ -0,0 +1,21 @@
<?php declare(strict_types=1);
namespace App\Domain\IslamicSundaySchool\Reporting\Reports;
use App\Domain\SchoolCore\Context\SchoolContext;
use App\Domain\SchoolCore\Reporting\DTO\ReportResultData;
final class ArabicLevelReport extends BaseIslamicSundaySchoolReport
{
public function key(): string { return 'islamic.arabic_level'; }
public function name(): string { return 'Arabic Level'; }
public function columns(): array { return [['key' => 'note', 'label' => 'Note', 'sensitive' => false]]; }
public function sensitiveColumns(): array { return ['sensitive_notes']; }
public function run(SchoolContext $context, array $filters = []): ReportResultData
{
return new ReportResultData($this->key(), $this->columns(), [[
'school_id' => $context->schoolId,
'report_key' => $this->key(),
'note' => 'Extension report scaffold. Wire this to Islamic Sunday School read models.',
]], null, null, null, 1, gmdate('c'));
}
}
@@ -0,0 +1,12 @@
<?php declare(strict_types=1);
namespace App\Domain\IslamicSundaySchool\Reporting\Reports;
use App\Domain\SchoolCore\Reporting\Enums\ReportCategory;
use App\Domain\SchoolCore\Reporting\Reports\BaseReportDefinition;
abstract class BaseIslamicSundaySchoolReport extends BaseReportDefinition
{
public function category(): ReportCategory { return ReportCategory::EXTENSION; }
public function availableForDomainProfile(?string $domainProfile): bool { return $domainProfile === 'islamic_sunday_school'; }
public function requiredPermissions(): array { return ['report.view', 'report.islamic.view']; }
}
@@ -0,0 +1,21 @@
<?php declare(strict_types=1);
namespace App\Domain\IslamicSundaySchool\Reporting\Reports;
use App\Domain\SchoolCore\Context\SchoolContext;
use App\Domain\SchoolCore\Reporting\DTO\ReportResultData;
final class HalaqaAttendanceReport extends BaseIslamicSundaySchoolReport
{
public function key(): string { return 'islamic.halaqa_attendance'; }
public function name(): string { return 'Halaqa Attendance'; }
public function columns(): array { return [['key' => 'note', 'label' => 'Note', 'sensitive' => false]]; }
public function sensitiveColumns(): array { return ['sensitive_notes']; }
public function run(SchoolContext $context, array $filters = []): ReportResultData
{
return new ReportResultData($this->key(), $this->columns(), [[
'school_id' => $context->schoolId,
'report_key' => $this->key(),
'note' => 'Extension report scaffold. Wire this to Islamic Sunday School read models.',
]], null, null, null, 1, gmdate('c'));
}
}
@@ -0,0 +1,21 @@
<?php declare(strict_types=1);
namespace App\Domain\IslamicSundaySchool\Reporting\Reports;
use App\Domain\SchoolCore\Context\SchoolContext;
use App\Domain\SchoolCore\Reporting\DTO\ReportResultData;
final class IslamicStudiesProgressReport extends BaseIslamicSundaySchoolReport
{
public function key(): string { return 'islamic.studies_progress'; }
public function name(): string { return 'Islamic Studies Progress'; }
public function columns(): array { return [['key' => 'note', 'label' => 'Note', 'sensitive' => false]]; }
public function sensitiveColumns(): array { return ['sensitive_notes']; }
public function run(SchoolContext $context, array $filters = []): ReportResultData
{
return new ReportResultData($this->key(), $this->columns(), [[
'school_id' => $context->schoolId,
'report_key' => $this->key(),
'note' => 'Extension report scaffold. Wire this to Islamic Sunday School read models.',
]], null, null, null, 1, gmdate('c'));
}
}
@@ -0,0 +1,21 @@
<?php declare(strict_types=1);
namespace App\Domain\IslamicSundaySchool\Reporting\Reports;
use App\Domain\SchoolCore\Context\SchoolContext;
use App\Domain\SchoolCore\Reporting\DTO\ReportResultData;
final class IslamicSundaySchoolDashboardReport extends BaseIslamicSundaySchoolReport
{
public function key(): string { return 'islamic.dashboard'; }
public function name(): string { return 'Islamic Sunday School Dashboard'; }
public function columns(): array { return [['key' => 'note', 'label' => 'Note', 'sensitive' => false]]; }
public function sensitiveColumns(): array { return ['sensitive_notes']; }
public function run(SchoolContext $context, array $filters = []): ReportResultData
{
return new ReportResultData($this->key(), $this->columns(), [[
'school_id' => $context->schoolId,
'report_key' => $this->key(),
'note' => 'Extension report scaffold. Wire this to Islamic Sunday School read models.',
]], null, null, null, 1, gmdate('c'));
}
}
@@ -0,0 +1,21 @@
<?php declare(strict_types=1);
namespace App\Domain\IslamicSundaySchool\Reporting\Reports;
use App\Domain\SchoolCore\Context\SchoolContext;
use App\Domain\SchoolCore\Reporting\DTO\ReportResultData;
final class MasjidFamilySummaryReport extends BaseIslamicSundaySchoolReport
{
public function key(): string { return 'islamic.masjid_family_summary'; }
public function name(): string { return 'Masjid Family Summary'; }
public function columns(): array { return [['key' => 'note', 'label' => 'Note', 'sensitive' => false]]; }
public function sensitiveColumns(): array { return ['sensitive_notes']; }
public function run(SchoolContext $context, array $filters = []): ReportResultData
{
return new ReportResultData($this->key(), $this->columns(), [[
'school_id' => $context->schoolId,
'report_key' => $this->key(),
'note' => 'Extension report scaffold. Wire this to Islamic Sunday School read models.',
]], null, null, null, 1, gmdate('c'));
}
}
@@ -0,0 +1,21 @@
<?php declare(strict_types=1);
namespace App\Domain\IslamicSundaySchool\Reporting\Reports;
use App\Domain\SchoolCore\Context\SchoolContext;
use App\Domain\SchoolCore\Reporting\DTO\ReportResultData;
final class QuranProgressReport extends BaseIslamicSundaySchoolReport
{
public function key(): string { return 'islamic.quran_progress'; }
public function name(): string { return "Qur'an Progress"; }
public function columns(): array { return [['key' => 'note', 'label' => 'Note', 'sensitive' => false]]; }
public function sensitiveColumns(): array { return ['sensitive_notes']; }
public function run(SchoolContext $context, array $filters = []): ReportResultData
{
return new ReportResultData($this->key(), $this->columns(), [[
'school_id' => $context->schoolId,
'report_key' => $this->key(),
'note' => 'Extension report scaffold. Wire this to Islamic Sunday School read models.',
]], null, null, null, 1, gmdate('c'));
}
}
@@ -0,0 +1,21 @@
<?php declare(strict_types=1);
namespace App\Domain\IslamicSundaySchool\Reporting\Reports;
use App\Domain\SchoolCore\Context\SchoolContext;
use App\Domain\SchoolCore\Reporting\DTO\ReportResultData;
final class SundayProgramAttendanceReport extends BaseIslamicSundaySchoolReport
{
public function key(): string { return 'islamic.sunday_program_attendance'; }
public function name(): string { return 'Sunday Program Attendance'; }
public function columns(): array { return [['key' => 'note', 'label' => 'Note', 'sensitive' => false]]; }
public function sensitiveColumns(): array { return ['sensitive_notes']; }
public function run(SchoolContext $context, array $filters = []): ReportResultData
{
return new ReportResultData($this->key(), $this->columns(), [[
'school_id' => $context->schoolId,
'report_key' => $this->key(),
'note' => 'Extension report scaffold. Wire this to Islamic Sunday School read models.',
]], null, null, null, 1, gmdate('c'));
}
}
@@ -0,0 +1,21 @@
<?php declare(strict_types=1);
namespace App\Domain\IslamicSundaySchool\Reporting\Reports;
use App\Domain\SchoolCore\Context\SchoolContext;
use App\Domain\SchoolCore\Reporting\DTO\ReportResultData;
final class VolunteerTeamReport extends BaseIslamicSundaySchoolReport
{
public function key(): string { return 'islamic.volunteer_team'; }
public function name(): string { return 'Volunteer Team'; }
public function columns(): array { return [['key' => 'note', 'label' => 'Note', 'sensitive' => false]]; }
public function sensitiveColumns(): array { return ['sensitive_notes']; }
public function run(SchoolContext $context, array $filters = []): ReportResultData
{
return new ReportResultData($this->key(), $this->columns(), [[
'school_id' => $context->schoolId,
'report_key' => $this->key(),
'note' => 'Extension report scaffold. Wire this to Islamic Sunday School read models.',
]], null, null, null, 1, gmdate('c'));
}
}