Commit graph

52 commits

Author SHA1 Message Date
apetitco
e36d41a7c4 fighting git conflicts 2025-12-22 15:12:10 +01:00
apetitco
fb49ba4ee9 (schism): started separating backend from frontend 2025-12-22 15:12:10 +01:00
Maieul BOYER
556138d624 feat(user): added description and global guest user mute 2025-12-18 14:51:12 +01:00
Maix0
e5f186af04 fixes(eslint): removed trailing space 2025-12-17 19:52:17 +01:00
Maix0
9b24bd0c41 feat(monitoring): change logger to pino
This changes the logger used to be pino, which print the logs on a single line per log event
2025-12-17 19:42:33 +01:00
Nigel
85eca5d301
Nigel/block user (#60)
* WIP block users

* Add test to check if the person for user X is blocked or not

* Added function isBlocked return true if user x is blocked by user y

* Added block ans un block messages

* Route / broadcast added ny Maix

* notification block and un block with icon now works, started clean up

* cleaning up the code

* cleaning up the code - WIP

* cleaning up the code - WIP

* clean up code - WIP

* clean up code - WIP

* WIP block users

* Add test to check if the person for user X is blocked or not

* Added function isBlocked return true if user x is blocked by user y

* Added block ans un block messages

* REBASE -trying

* REBASE trying

* REBASE problems

* REBASE problems

* REBASE problems

* MERGE problems

* REBASE problem

* REBASE problem

* clean up code - WIP

* MERGED master into nigel/blockUser

* linter OK

* TTT problem with package

* Deletes tic tac and icons
2025-12-16 15:21:07 +01:00
Raphaël
492647b817
feat(users): Adding the profile page and the TOTP connection
Added user profile page (/profile) with display name, password, and TOTP management
Implemented TOTP authentication flow in the login process
Added backend APIs for changing display name and password
Made user display names unique in the database
Removed the entire icons service (server, routes, and Docker configuration)
Added collision-avoidance logic for duplicate display names during user creation
2025-12-10 18:09:53 +01:00
Maieul BOYER
eb5e4f25a1
yes 2025-12-10 17:13:56 +01:00
Maieul BOYER
c898fe8d32
wip 2025-12-10 17:10:13 +01:00
Maieul BOYER
e5b71a5cc1
chore(deps): Removed unused deps and updated lockfiles 2025-12-10 17:10:11 +01:00
NigeParis
de760c94ee Added Global Message for Next Game - Bug Fixed on Double Displaying Ping Buddies 2025-12-10 13:10:59 +01:00
NigeParis
ace8367f77 added eslint norme to code 2025-12-02 17:11:50 +01:00
NigeParis
b35c462648 playing wiith database Blocked Users 2025-12-01 18:46:38 +01:00
NigeParis
59a3efa6f7 Bug - db fixed 2025-11-29 17:47:04 +01:00
Maieul BOYER
cd40a04e40
added blocked database 2025-11-29 16:10:02 +01:00
NigeParis
40980bedeb Added Date.now ClientChat that stores user, socket id and date 2025-11-26 21:07:10 +01:00
Maieul BOYER
eec27ce2e6 feat(chat): updated to work with socket.io
- Chore: ran `make npm@update` to update deps and lockfile
- Chat: new plugin: Socket.ts that allow the use of socket.io with
  fastify (fastify-socket.io is not updated)
- Chat: Put everything from `src/socket.ts` that needed to be saved into
  `src/app.ts`
2025-11-21 14:17:37 +01:00
Maieul BOYER
5a905a1239 feat(oauth2/db): reworked oauth2 database footprint
- Removed `auth` table and merged its information inside the `user`
  table
- Changed around some field names in the database
- Changed Create*User functions to not be using overload but different
  functions
2025-11-18 15:30:55 +01:00
Maieul BOYER
a4bf71cc6a
feat(monitoring): wrote plugin for /monitoring endpoint and updated service to use them 2025-11-14 22:43:31 +01:00
NigeParis
9ce9fa44e4 feat(chat): added base for chat service
added front html

nigel in the mud

route function with openapi - gen

clean up the code a little

after pull request
2025-11-14 15:50:03 +01:00
Maieul BOYER
aba4c4498c feat(frontend/auth): fix cookie not working due to path being /app
Cookies being set to path=/app meant that the API didn't have those
cookies.
Also fixed the Schema injection for auth'ed routes
2025-11-11 00:20:26 +01:00
Maieul BOYER
b7c2a3dff9 feat(openapi): Started working on Openapi generation
- Updated to Typebox 1.0.0 to better support Openapi type generation
- Changed dockerfile to fetch depedencies only once
- Fixed Routes to properly handle openapi
- Fixed Routes to respond with multiples status code (no more only 200)
- Fixed Schemas so the auth-gated endpoint properly reflect that
- Added Makefile rule to generate openapi client (none working due to
  missing files)
2025-11-10 18:34:22 +01:00
Maieul BOYER
a66fad3360
chore(lockfile/icons): updated lockfile and fixed icons service shutdown
- Updated lockfile and packages version
- Updated icons service to stop on SIGTERM
2025-10-29 19:24:59 +01:00
Maieul BOYER
332086d5e2 feat(auth): split login_name and display_name for better oauth2/guest user handling 2025-10-28 13:47:20 +01:00
Maieul BOYER
bc7a615dcf feat(db/oauth2): Added oauth2 handling to database
- Database: edited dmbl/sql for oauth2 changes
- Database/oauth2: new oauth2 mixin
- Database/user: exported raw functions to be used in oauth2 mixin
2025-10-28 13:47:20 +01:00
Maieul BOYER
2074f8d8f1 fix(shared/auth/icon): Fixed lots of small things
Icons: Fixed docker-compose to force JWT_SECRET for now
Auth: Fixed Guest Login to actually work
Auth: Added `Login as Guest` in the login_demo page
Shared: Fixed db/user + uuid modules
2025-10-11 14:29:00 +02:00
Maieul BOYER
5306ccfc60 fix(db/user): small issues in user database layer 2025-10-11 14:29:00 +02:00
Maieul BOYER
1cbd778131 feat(auth/user): Finished User Rework to handle Guest
- Split userinfo APIs to their own service (`user`)
- Added user service to nginx and docker-compose
- Cleaned up package.json across the project to remove useless
  depedencies
- Added word list for Guest username generation (source in file itself)
- Reworked internal of `user` DB to not have a difference between "raw"
  id and normal ID (UUID)
2025-10-11 14:29:00 +02:00
Maieul BOYER
bca385adc9 feat(database): regenerated the sql code and fixed autoincrement on text column 2025-10-11 14:29:00 +02:00
Maieul BOYER
537cd03bb5 fixes(tsc): typing issue 2025-09-29 11:54:30 +02:00
Maieul BOYER
404735fe22 fixes(eslint): fixing everything that eslint complained about 2025-09-29 11:50:53 +02:00
Raphael
b56906b557
style(shared): auto-correction of the linter
- using pnpm eslint --fix ./src
2025-09-28 19:03:51 +02:00
Maieul BOYER
c4b1bb2f65 fix(auth): small issues with login process 2025-09-08 14:52:47 +02:00
Maix0
a6ce4630f5 feat(jwtPlugin): correctly check for multiple registration
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-01 15:47:07 +02:00
Maix0
fa3966729f feat(database): remove use of any
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-01 15:47:07 +02:00
Maieul BOYER
85cfea3cbf feat(database): removed debug logs 2025-09-01 15:47:07 +02:00
Maieul BOYER
a7c753f38b feat(auth): Added 2FA/OTP manage endpoints
- CodeWise: Changed everything to use undefined when not present
- CodeWise: checks for nonpresent value using `isNullish`
- enableOtp: enable Otp, return topt url. Does nothing when
  already enabled
- disableOtp: disable 2FA Totp for the user
- statusOtp: get the 2FA status for the user. return the Totp Url if
  enabled
- loginDemo: split into two files
- loginDemo: supports for 2FA
- loginDemo: better response box
2025-09-01 15:47:07 +02:00
Maieul BOYER
964fe908a6 feat(auth): Base auth with plugins
- Add fastify to protect routes plugins (requireAuth: true)
- Simple Demo to show regular password auth (no 2FA/OTP nor remote auth)
- Currently supports: login, logout, signin
- OTP workflow should work, not tested
- Fixed convention for docker volumes (now all placed in /volumes/<name>)
2025-09-01 15:47:07 +02:00
Maieul BOYER
ddde700494 feat(auth): working plugin 2025-09-01 15:47:07 +02:00
Maieul BOYER
c545499c73 feat(otp): yeah used packet............. 2025-09-01 15:47:07 +02:00
Maieul BOYER
a16852c1b9 feat(death): I want to die... 2025-09-01 15:47:07 +02:00
Maieul BOYER
33e893ec58 feat(wip): ... 2025-09-01 15:47:07 +02:00
Maieul BOYER
70d72f4419 feat(database): split stuff into multiple files 2025-09-01 15:47:07 +02:00
Maieul BOYER
baf9dc54c6 wip(auth): WIP 2025-09-01 15:47:07 +02:00
Maieul BOYER
c5dbfcad6e feat(auth): initialize service
- Make rule `sql`: convert .dbml file to .sql file
- Removed tests: not used...
- Added dbml_sqlite to flake.nix
2025-09-01 15:47:07 +02:00
Maieul BOYER
f62f21ee18 feat(infra): went back to alpine and removed package.json merging
- Actually using pnpm workspace...
- Use alpine on both runner and builder container
- runner using lockfile generated by builder container
2025-08-03 16:04:24 +02:00
Maieul BOYER
c633200e86 feat(infra): Removed alpine/jq dependencies
Changed from using `jq` to a nodejs script to merge package.json files
2025-08-03 15:10:13 +02:00
Maieul BOYER
5f9fd5629c feat(infra): reworked Dockerfile
- changed from npm to pnpm in Dockerfile => improved install time
    Fixed errors from change in .ts files.
2025-08-03 14:40:48 +02:00
Maieul BOYER
573af0bc4b feat(infra): singular dockerfile with vite bundling
Using Vite as a bundler to allow easier builds, with shared library

Moved to a single dockerfile that takes an argument to specify which
service to use

moved some file around to faciliate bundling with vite

cried a lot
2025-07-30 21:30:04 +02:00
Maieul BOYER
bdc4616106 feat(cleanup): removed built application 2025-07-30 14:07:44 +02:00