L'élève avait accès à ses compétences mais pas à ses notes numériques. Cette fonctionnalité lui donne une vue complète de sa progression scolaire avec moyennes par matière, détail par évaluation, statistiques de classe, et un mode "découverte" pour révéler ses notes à son rythme (FR14, FR15). Les notes ne sont visibles qu'après publication par l'enseignant, ce qui garantit que l'élève les découvre avant ses parents (délai 24h story 6.7).
34 lines
852 B
PHP
34 lines
852 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Scolarite\Infrastructure\Api\Resource;
|
|
|
|
use ApiPlatform\Metadata\ApiProperty;
|
|
use ApiPlatform\Metadata\ApiResource;
|
|
use ApiPlatform\Metadata\Get;
|
|
use App\Scolarite\Infrastructure\Api\Provider\StudentMyAveragesProvider;
|
|
|
|
#[ApiResource(
|
|
shortName: 'StudentMyAverages',
|
|
operations: [
|
|
new Get(
|
|
uriTemplate: '/me/averages',
|
|
provider: StudentMyAveragesProvider::class,
|
|
name: 'get_my_averages',
|
|
),
|
|
],
|
|
)]
|
|
final class StudentMyAveragesResource
|
|
{
|
|
#[ApiProperty(identifier: true)]
|
|
public string $studentId = 'me';
|
|
|
|
public ?string $periodId = null;
|
|
|
|
/** @var list<array{subjectId: string, subjectName: string|null, average: float, gradeCount: int}> */
|
|
public array $subjectAverages = [];
|
|
|
|
public ?float $generalAverage = null;
|
|
}
|