Clément Oudelet
be651ed2dd
PMPR-46/47 : PUT et DELETE /notes/{numEtud}/{idModule}
2026-04-23 11:56:26 +02:00
Clément Oudelet
6f5e39c5be
GET /notes/{numEtud}/{idModule} - récupérer le détail d'une note pour un étudiant dans un module
2026-04-23 11:23:17 +02:00
Clément Oudelet
79669d60cf
PMPR-38 : POST /ue-modules - associer un module à une UE
2026-04-22 20:40:28 +02:00
anys
d3f1f433e1
feat(api): implement single ajustement retrieval endpoint
...
- GET /ajustements/{numEtud}/{idUE}: get ajustement by student numEtud
and UE id
- Requires employee role
2026-04-22 17:24:39 +00:00
anys
022994e5a7
feat(api): implement ajustements list and create endpoints
...
- GET /ajustements: list all ajustements with optional numEtud/idUE
filters
- POST /ajustements: create new ajustement for student in UE
- Both require employee role
2026-04-22 17:24:07 +00:00
Clément Oudelet
33d023986c
PMPR-34 : GET /ues/{idUE} - récupérer une UE par son id
2026-04-22 17:20:20 +00:00
Clément Oudelet
bbc9ea58e2
PMPR-37 : GET /ue-modules - liste les associations UE-Module
2026-04-22 17:15:54 +00:00
Clément Oudelet
96b7edf77f
PMPR-43 : POST /notes - créer une note
2026-04-22 17:14:45 +00:00
anys
2739a01ab5
fix(api): align enseignements route with Fresh file routing
...
- Replace flat file `[idProf]_[idModule]_[idPromo].ts`
with nested structure `[idProf]/[idModule]/[idPromo].ts`
- Ensures URL matches `/enseignements/{idProf}/{idModule}/{idPromo}`
2026-04-22 17:13:14 +00:00
anys
f3c1f10999
feat(api): implement enseignements CRUD endpoints
...
Add CRUD API for enseignements (prof-module-promo associations):
- POST /enseignements: Create with validation (201/409)
- GET /enseignements/{idProf}/{idModule}/{idPromo}: Read by composite
key (200/404)
- DELETE /enseignements/{idProf}/{idModule}/{idPromo}: Delete by
composite key (204/404)
Access control: Employee-only (403 Forbidden)
Tests: 7 unit tests added
Note: RBAC implementation pending (current access control is temporary)
2026-04-22 17:13:14 +00:00
djalim
92182b952f
feat(modules): add CRUD endpoints for module resource
...
Implement GET, PUT, DELETE for /modules/{idModule} with 404 handling.
2026-04-22 14:47:08 +02:00
djalim
cf3c7c0693
feat(admin/api): add modules endpoint with GET and POST handlers
2026-04-22 14:46:00 +02:00
djalim
6c18189d9f
chore(deps): update drizzle-orm to 0.45.2 and pg to 8.20.0
2026-04-22 14:40:19 +02:00
djalim
2c1fd7e5ad
feat(promotions): add CRUD endpoints for promotion by id
...
- GET /promotions/{idPromo} returns promotion or 404
- PUT /promotions/{idPromo} updates year or 404
- DELETE /promotions/{idPromo} deletes promotion or 404
- Only employees allowed, otherwise 403
2026-04-22 14:40:19 +02:00
Clément Oudelet
2f15efe21e
PMPR-33 : POST /ues - créer une UE
2026-04-22 14:28:03 +02:00
Clément Oudelet
b2847a4a7d
PMPR-42 : GET /notes - récupère les notes
2026-04-22 12:20:59 +00:00
djalim
3f0c8d079f
feat(students): add promotions API for employees
2026-04-22 14:13:59 +02:00
djalim
4eaea48ebd
feat(students): add CRUD endpoints for student by numEtud
2026-04-22 14:11:29 +02:00
djalim
f959cf0d3a
feat(students): add CSV import endpoint for student data
2026-04-22 14:10:18 +02:00
djalim
0d45bd4c1c
refactor(students): simplify API, remove unused imports and helpers
...
refactor(students): add query param filtering, enforce employee role for POST
refactor(students): return created student in POST response
2026-04-22 14:06:01 +02:00
djalim
b5f134d016
feat(roles): add CRUD endpoints for role by id
2026-04-22 13:45:59 +02:00
djalim
9a3f49ecfe
feat(admin/api): add roles endpoint with GET and POST
2026-04-22 13:44:30 +02:00
djalim
5a86f69093
feat: add CRUD endpoints for users by id
2026-04-22 13:42:29 +02:00
djalim
03b58e7b0a
feat(admin/api/users): add GET and POST endpoints for users
2026-04-22 13:41:33 +02:00
djalim
9168ca53da
feat(admin): scaffold admin module and add GET /permissions endpoint
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-22 13:30:19 +02:00
Clément Oudelet
32ffbb7cda
PMPR-32 : GET /ues - liste toutes les UEs
2026-04-22 12:50:46 +02:00
djalim
9636242b42
refactor(mobility): switch to Drizzle ORM and remove raw SQLite usage
...
- replace Database with db instance
- use schema imports for tables
- use db.select, db.insert, onConflictDoUpdate
- remove manual connection handling and console logs
- improve type safety and maintainability
refactor(students): migrate to Drizzle ORM and async queries
Replace raw sqlite queries with Drizzle ORM. Remove the connect helper and use the
shared db instance and schema definitions. Convert getItself, getAll and
addStudents to async functions, use eq and lt helpers, and simplify promotion
handling. This improves type safety, maintainability, and allows non‑blocking
database access.
2026-04-03 10:43:29 +02:00
djalim
58c8ff56ba
🐛 (components): add missing button types and keys
...
Check Deno code / Check Deno code (pull_request) Successful in 40s
Add type="button" to the EditMobility and UploadStudents buttons
to prevent default form submission behavior.
Include a key prop on Student components in Promotion for stable list rendering.
2026-01-09 12:41:51 +01:00
Kevin FEDYNA
4c54283bfd
Finalized students app
2025-01-28 10:03:20 +01:00
Kevin FEDYNA
e88045c952
Refactored students
2025-01-27 13:11:13 +01:00
Kevin FEDYNA
4ff76fdf6f
Added hidden admin only page prop effect
2025-01-27 10:39:42 +01:00
Kevin FEDYNA
1f3a723dbe
Merge branch 'main' into PMPR-27
2025-01-25 10:48:41 +01:00
Kevin FEDYNA
6d4d36e089
Fixed linting and formatting errors
2025-01-25 10:48:04 +01:00
Clayzxr
16b7579e10
Trying to make EditStudents works
2025-01-24 21:38:53 +01:00
Clayzxr
fcc0a4413c
Update student to have an ID
2025-01-24 20:48:33 +01:00
Clayzxr
c3d3354537
Trying to make EditMobility works
2025-01-24 19:46:53 +01:00
Clayzxr
f07b4dc616
Consult mobility working
2025-01-24 17:09:51 +01:00
Clayzxr
575f0df4bc
Fixing bugs
2025-01-24 16:23:47 +01:00
Clayzxr
a867f67fd9
Trying to fix DB mobility
2025-01-24 16:17:51 +01:00
Clayzxr
cc26ec9445
Trying to make mobility works
2025-01-22 22:45:34 +01:00
Clayzxr
b835495e15
Consult mobility (not working yet)
2025-01-22 17:06:42 +01:00
Clayzxr
4abf540558
Init mobility DB
2025-01-22 15:09:22 +01:00
Clayzxr
36c5c9cf39
Test to access student DB in other apps (working)
2025-01-22 11:35:47 +01:00
Kevin FEDYNA
8a5461827e
Optimized code and wrote documentation
2025-01-22 11:15:43 +01:00
Clayzxr
d767cb0898
Minor fix for DB (working)
2025-01-22 11:00:18 +01:00
Kevin FEDYNA
3ce1273455
Started documenting code
2025-01-22 00:54:43 +01:00
Kevin FEDYNA
596ee0536a
formatted code
2025-01-21 23:53:43 +01:00
Kevin FEDYNA
5e75c688c8
Added layer of abstraction for database connection
2025-01-21 23:49:52 +01:00
Kevin FEDYNA
85766ffeed
changed login and logout to adapt to domain and added ToU
2025-01-21 22:31:36 +01:00
Clayzxr
b5fedbb425
Moved all student management tools into student app for global uses (working)
2025-01-21 17:29:59 +01:00