feat(veri): Program tipi yılsız — db eşleyicisi, lib ve snapshot ilkYil (P-B a)
Program artık siraGecmisi (YILLAR ile hizalı) + efektifSira + siraSon/puanSon/ kontenjanSon/yerlesenSon taşır. db.ts kolonları YILLAR'dan üretip takma adla seçer, programSatiri eşleyicisi ham satırı Program'a çevirir; SELECT_COLS'un üç tüketicisi de eşleyiciden geçer. EFEKTIF_SIRA veri-yillari'dan gelir. - trend: ILK_YIL tek kaynaktan, opsiyonel ilkYil parametresi - rapor snapshot'ına opsiyonel ilkYil yazılır (eski kayıtlar: okurken ILK_YIL) - rapor promptu son 4 yılı göndermeye devam eder, anahtarlar dinamik - tadımlık "son N yıl" filtresi genel: N != VERI_YIL_SAYISI ise servis edilmez - veri-kapsami VERI_YIL_SAYISI'nı veri-yillari'dan türetir Bileşenler bir sonraki commit'te yeni tipe geçer (ikisi birlikte derlenir). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -11,14 +11,16 @@ export type Program = {
|
||||
fakulte: string | null;
|
||||
tur: string;
|
||||
sure: number | null;
|
||||
sira2025: number | null;
|
||||
sira2024: number | null;
|
||||
sira2023: number | null;
|
||||
sira2022: number | null;
|
||||
sira2021: number | null;
|
||||
puan2025: number | null;
|
||||
kontenjan2025: number | null;
|
||||
yerlesen2025: number | null;
|
||||
/** Taban sıralamaları; `YILLAR` (lib/veri-yillari) ile indeks hizalı. */
|
||||
siraGecmisi: (number | null)[];
|
||||
/** Son yılın sırası; o yıl verisi yoksa bir önceki yılınki. */
|
||||
efektifSira: number | null;
|
||||
// "Son" = en son yerleştirme yılı (SON_YIL). Alan adları bilinçli yılsız:
|
||||
// yeni veri yılı yüklenince tip ve tüketiciler değişmez.
|
||||
siraSon: number | null;
|
||||
puanSon: number | null;
|
||||
kontenjanSon: number | null;
|
||||
yerlesenSon: number | null;
|
||||
};
|
||||
|
||||
export const PUAN_TURLERI = {
|
||||
@@ -42,11 +44,15 @@ export type RankResults = {
|
||||
};
|
||||
|
||||
/**
|
||||
* /sonuc ham tablosunun satırı: tablo `fakulte` ve `puan2025`'i hiç
|
||||
* /sonuc ham tablosunun satırı: tablo `fakulte`, `puanSon` ve `siraSon`'u
|
||||
* (dizinin son elemanı; tablo `efektifSira` + `siraGecmisi` ile çalışır) hiç
|
||||
* kullanmadığı için bu alanlar client'a serileştirilmez (satır başına en
|
||||
* uzun string alanlardan biri fakulte). Katalog sayfaları tam Program kullanır.
|
||||
*/
|
||||
export type ProgramListeSatiri = Omit<Program, "fakulte" | "puan2025">;
|
||||
export type ProgramListeSatiri = Omit<
|
||||
Program,
|
||||
"fakulte" | "puanSon" | "siraSon"
|
||||
>;
|
||||
|
||||
export type RankResultsListe = {
|
||||
hayal: ProgramListeSatiri[];
|
||||
|
||||
Reference in New Issue
Block a user