djalim
ea61d83384
fix(lint): add version to drizzle-orm imports and prefix unused NOT_FOUND
Tests / Unit tests (pull_request) Failing after 6s
Tests / Integration tests (pull_request) Failing after 1m28s
2026-04-26 00:24:27 +02:00
anys
66183c2ad8
feat(api): implement UE-Module coefficient update and deletion endpoint
...
- PUT /ue-modules/{idModule}/{idUE}/{idPromo}: update coeff for
UE-Module-Promo association
- DELETE /ue-modules/{idModule}/{idUE}/{idPromo}: remove UE-Module-Promo
association
- requires employee role
2026-04-23 14:01:40 +02:00
anys
9976b9e2b4
feat(api): implement UE-Module association get endpoint
...
- GET /ue-modules/{idModule}/{idUE}/{idPromo}: recover the detail of an
ue-module association by its composite key
- requires employee role
2026-04-23 11:57:30 +00:00
Clément Oudelet
457b008ba3
PMPR-46/47 : PUT et DELETE /notes/{numEtud}/{idModule}
2026-04-23 11:56:20 +00:00
anys
22750ba07e
feat(api): implement ajustement delete endpoint
...
- DELETE /ajustements/{numEtud}/{idUE}: remove ajustement from DB
- Requires employee role
- Returns 204 on success
2026-04-23 13:55:24 +02:00
anys
49876339bf
feat(api): implement ajustement update endpoint
...
- PUT /ajustements/{numEtud}/{idUE}: update ajustement valeur
- Requires employee role
2026-04-23 11:48:31 +00:00
Clément Oudelet
eeb087ea76
PMPR-36 : DELETE /ues/{idUE} - supprimer une UE
2026-04-23 13:44:43 +02:00
Clément Oudelet
7ad70c4525
GET /notes/{numEtud}/{idModule} - récupérer le détail d'une note pour un étudiant dans un module
2026-04-23 13:11:48 +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