Commit graph

313 commits

Author SHA1 Message Date
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
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
26627cd4d7 feat(infra/nginx): Fixed nginx redirection and fixed dockerfiles
- nginx now use "raw" proxy_pass, where it doesnt supply the $uri since
  if only the host is provided, nginx will handle lots of usecases
- pnpm now uses the lockfile correctly
- Docker: use lockfile in all steps
- Docker: install the necessary packages if building from source is
  needed (better-sqlite3 for example)
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
7d0f5c11d6 core(eslint): added Makefile rule to run eslint
Added makefile rule to run eslint (npm@eslint) using an npm script
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
Maieul BOYER
bca385adc9 feat(database): regenerated the sql code and fixed autoincrement on text column 2025-10-11 14:29:00 +02:00
Maix0
8e4081f494
core(ci/husky): Added husky and CI Jobs
* core(package): adding rules in package
* feat(husky): Fixed lint job and miscellaneous fixes
- Changed lint.yml job name
- Fixed pnpm version in package.json to be straight version 10
- Added act in flake.nix to run actions locally
- Added all dist/ files to eslint ignored files
- Fixed Dockerfile to use correct casing (as -> AS)
2025-10-07 22:18:23 +02:00
Raphael
bb43622684
test 2025-10-03 13:31:54 +02:00
Raphael
c1b0833229
test 2025-10-03 13:31:35 +02:00
Raphael
fbc870f240
fix(package/eslint): adding the type module like asked by npmx eslint 2025-09-30 14:46:57 +02:00
Raphael
9424bcf213
fix(package/script): adding a dev script for husky 2025-09-29 14:30:45 +02:00
Raphael
8ef9b323d0
fix(husky): adding precommit lint verification 2025-09-29 12:11:25 +02:00
Raphael
481a99ac27
core(pre-commit): adding a lint check before commit 2025-09-29 12:08:21 +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
8e34b0563a
fix(icons/app): changing the variable name for one not already declared
- The name is now fastify2 because fastify was already declared
2025-09-28 22:32:49 +02:00
Raphael
6f42fe6929
fix!(icons/app): removing the global ignore
- Changing the ts-ignore by ts-execpt-error because safer and more
specific
2025-09-28 22:31:28 +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
c88cc67e0b
style(icons/vite): removing the comment on the same line
- Moving the comment below
2025-09-28 22:27:27 +02:00
Raphael
3566513881
core(package): removing the double package and added it in the src folder
The package for the core of the project is in src/
2025-09-28 21:48:23 +02:00
Raphael
bdcadcf324
style(src/icons): auto-correction of the linter
- using pnpm eslint --fix ./src
2025-09-28 19:04:24 +02:00
Raphael
38013b77d3
style(auth): auto-correction of the linter
- using pnpm eslint --fix ./src
2025-09-28 19:03:59 +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
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
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
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
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
a2b896916e feat(infra): Added way to run custom commands for different services
- new `EXTRA_FILES` docker build args to specify directory to be copied at
  /extra
- run `${SERVICE}/entrypoint.sh` as docker entry point
- added src/empty folder to so if EXTRA_FILES isn't set => use empty
  folder (since no conditional COPY)
2025-08-04 14:33:34 +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
c3d29662ba feat(infra): removed debug commands from Dockerfile 2025-08-03 14:44:19 +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