story: revisi rekap pendaftaran dosbim
Story/Task
SP3-03 - [BE] Revisi Rekap Pendaftaran Dosbim
Details
- Fungsionalitas baru untuk role dosbim (sebelumnya baru tim tesis)
- Adjustment response untuk role tim tesis (detail gw tulis per endpoint)
Important Checks
Ceklis kalo kalian mengubah/menambahkan:
-
Menambahkan env
baru -
Mengubah skema basis data: buat kontak dosen
Endpoints
Tipe endpoints
Ada 2 tipe endpoint di sini berdasarkan keterlibatan role dosen pembimbing
- Endpoint yang bersifat general. Ada query view nya. Soalnya gw mikirnya emang list pendaftaran yang ditampilin ke tim tesis sama ke dosen beda kan.
- Endpoint yang bersifat spesifik ke pendaftaran (mahasiswa) tertentu. Access control diambil berdasarkan hierarki role. Jadi misal, get by mahasiswa id, nyesuain ke semua role yang dia punya. Kalo dia punya role admin/tim tesis bisa aja ngeliat langsung, sedangkan kalo rolenya cuman pembimbing berarti ngecek lagi pendaftaran itu penerimanya pembimbing itu atau bukan. Buat endpoint GET yang bertipe ini, responnya bakal general (mencakup kebutuhan data semua role). Tujuannya adalah biar FE ga pusing karna tipe data yang ditampilin buat tiap role beda. Pertimbangan gw adalah data yang ditampilin emg beda, tapi gaada data sensitif jadi aman aja.
- Endpoint yang gabisa diakses dosen pembimbing
Navigasi
Semuanya agregat menggunakan id mahasiswa, menyesuaikan dengan desain
Detail
Method | Endpoint | Keterangan | Tipe |
---|---|---|---|
GET | /registrasi-tesis | Ngembaliin newest registration for each mahasiswa (yang udah pernah daftar) | 1 |
GET | /registrasi-tesis/mahasiswa/{mahasiswaId} | Ngambil history registrasi dr seorang mahasiswa | 3 |
GET | /registrasi-tesis/mahasiswa/{mahasiswaId}/newest | Ngambil newest registration dr seorang mahasiswa | 2 |
GET | /registrasi-tesis/statistics | Statistik diterima, dalam proses, ditolak | 1 |
PATCH | /registrasi-tesis/{mhsId}/interview | Ngupdate jadwal interview buat pendaftaran terbaru seorang mahasiswa yang masih diproses (belum direject/approve) | 2 |
PATCH | /registrasi-tesis/{mhsId}/status | Ngupdate status pendaftaran terbaru dr seorg mhs | 2 |
PATCH | /registrasi-tesis/{mhsId}/pembimbing | Ngupdate pembimbing baru buat pendaftaran terbaru dari seorg mhs yang udah diapprove. Pembimbing barunya harus ada penerima nya | 3 |
Proof
Method | Endpoint | Screenshot Role Tim Tesis | Screenshot Role Dosbim |
---|---|---|---|
GET | /registrasi-tesis | ||
GET | /registrasi-tesis/mahasiswa/{mahasiswaId} | - | |
GET | /registrasi-tesis/mahasiswa/{mahasiswaId}/newest | ||
GET | /registrasi-tesis/statistics | ||
PATCH | /registrasi-tesis/{mhsId}/interview | ||
PATCH | /registrasi-tesis/{mhsId}/status | ||
PATCH | /registrasi-tesis/{mhsId}/pembimbing | - |