Commit graph

55 commits

Author SHA1 Message Date
Maieul BOYER
3cccc18e9a icons started to work yeah 2026-01-16 15:52:44 +01:00
Maieul BOYER
63549752e8 chore(deps/openapi): updated all
Updated openapi and verified that no unused dependency still remains
2026-01-14 16:26:34 +01:00
Raphael
321f636672 feat(auth/provider): adding the connection to 42 intra
- This connection have to take uuid / secrets in the 42 pages
2026-01-06 16:14:06 +01:00
Maieul BOYER
2ed524872b feat(docker): Multi stage docker now fetch deps once
Split dockerfile into three different dockerfiles such that dependencies
are only downloaded once

This allows the build to be a bit faster, since all deps are downloaded
once at the start.

This also makes it so the frontend container no longer needs to be ran,
as its files are directly embedded into the nginx container

This also remove the extra files, since bind mounts do work
it also remove the entrypoint.sh file, as you should prefer to not use
it
2025-12-30 19:02:07 +01:00
Maieul BOYER
fbbc6d8f39 feat(auth): Use bind mount for providers.toml config file
Changed the way the `auth` service source its providers file to use a
bindmount and use a default path if no `PROVIDER_FILE` env is set
2025-12-30 18:20:36 +01:00
NigeParis
1ca84b30c6 clean up 2025-12-30 18:20:16 +01:00
apetitco
8debc57559 (backend): trying to have a working backend.
Did I manage to achieve this task: NO.
2025-12-22 15:14:14 +01:00
apetitco
1f4f62c00b fighting git conflicts 2025-12-22 15:14:04 +01:00
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
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
NigeParis
67c8a9cbd1 Error with Master pino creahes changed to pino-pretty 2025-12-16 18:39:35 +01:00
Maieul BOYER
bd45062080
changed logger to pino (non-pretty) 2025-12-16 15:27:40 +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
Maieul BOYER
763d0c38cc
removed icon server and finished profile page 2025-12-10 17:14:23 +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
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
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
Maieul BOYER
6d630fee92 feat(frontend/auth): Added way to automatically fetch providers
This allows the frontend to list all available providers without
hardcoding them in.
2025-11-14 16:57:14 +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
Raphaël
73a4946d17
Monitoring tools (#32)
* feat(docker/monitoring): adding the first monitoring tools from the docker file

- The first tools is Grafana basicly the tool to supervise all the data

* feat(monitoring/blackbox): adding initial configuration

* feat(monitoring/grafana): adding the configuration to alerting on the discord channels

* feat(monitoring/grafana): adding the grafana dashboard (docker monitoring)

* feat(monitoring/grafana): adding the grafana dashboard (global monitoring)

* feat(monitoring/grafana): adding the global configuration for dashboards

* feat(monitoring/grafana): adding the prometheus configuration

* feat(monitoring/prometheus): adding the configuration of prometheus as the main grafana sources

* core(docker-compose): adding the monitoring part for the docker files

* feat(monitoring/grafana): removing the monitoring global

* feat(monitoring/prometheus): removing the blackbox

- The self certificate is ruinning everything

* core(docker-compose): removing the blackbox container

* core(env/example): adding a env example

* feat(monitoring/blackbox): adding initial configuration

* test(nginx/location): adding a test to test blackbox

* feat(monitoring/prometheus): adding blackbox to the prometheus configuration

* feat(monitoring/grafana): adding the start of the global dashboard

* feat(monitoring/blackbox): adding tls_configuration skip

- The ssl certificate have to be self-signed

* feat(monitoring/grafana): global is now checked and work w/ others services

* feat(monitoring/prometheus): checking other services run

* feat(nginx/conf): now http port will mirror the https

- Usefull for intern docker communication

* feat(auth/app): adding the /monitoring routes

* feat(icons/app): adding the /monitoring routes

* feat(user/app): adding the /monitoring routes

* refactor(auth/src): linting the app.ts

* refactor(icons/src): linting the app.ts

* refactor(user/src): linting the app.ts
2025-11-12 11:50:32 +01:00
Maieul BOYER
0db41a440d feat(frontend): scaffolding to build frontend
- Added `make fnginx` to have better dev experience
- Added app.conf to nginx configuration to handle frontend
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
e0689143c4 feat(oauth2): fixed small issues 2025-10-28 13:47:20 +01:00
Maieul BOYER
a67d29af3c feat(oauth2): commented a bit of stuff 2025-10-28 13:47:20 +01:00
Maieul BOYER
66537e2ccb feat(oauth2/user): Implementation of the whole oauth2 pipeline
Auth: user can now login with any oauth2 provider the config list
      account will be created on demands if not already created.
      any oauth2 account is unique (can't link an account to any other
      auth method)
2025-10-28 13:47:20 +01:00
Maieul BOYER
7557a7aa76 feat(oauth2): provider.toml config file with template 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
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
812959b16f feat(auth): fixed JWT using wrong data and SIGTERM handler
- JWT now uses the correct information to determine the user
  (id instead of name)
- A SIGTERM handler has been made, such that docker doesn't use SIGKILL
2025-10-11 14:29:00 +02:00
Raphael
bb43622684
test 2025-10-03 13:31:54 +02:00
Raphael
c1b0833229
test 2025-10-03 13:31:35 +02:00
Maieul BOYER
404735fe22 fixes(eslint): fixing everything that eslint complained about 2025-09-29 11:50:53 +02:00
Raphael
d5e7f57ef2
style(auth/vite): removing the comment on the same line
- Moving the comment below
2025-09-28 22:28:08 +02:00
Raphael
38013b77d3
style(auth): auto-correction of the linter
- using pnpm eslint --fix ./src
2025-09-28 19:03:59 +02:00
Maieul BOYER
c4b1bb2f65 fix(auth): small issues with login process 2025-09-08 14:52:47 +02:00
Maix0
4f8ebc7dd9 feat(otp): use dedicated method to get user's otp secret
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-01 15:47:07 +02:00
Maix0
238dead666 Update src/auth/src/routes/whoami.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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
Raphaël
29a5d38530 fix(routes/OTP): timeout condition check
- The condition was inverted for the expiration of the token will be unvalidated
2025-09-01 15:47:07 +02:00
Raphaël
61adf0f742 fix(routes/login): remove debug message from login.ts
- The debug message was not anymore useful (and not the better way to speak to my console)
2025-09-01 15:47:07 +02:00