Commit Graph

313 Commits

Author SHA1 Message Date
05d112a3b3 Remove NunjucksComponent 2021-04-30 13:59:22 +02:00
e385986aca Svelte: refactor many symbols and safe eval backend calls arguments
Also allow dumping function contents by outputing them directly
2021-04-29 16:13:31 +02:00
bd2b7e7579 svelte render: simplify replaces 2021-04-28 17:03:27 +02:00
05069b15d8 Properly use promises in ViewEngine.render(), use ViewEngine for mail and add NunjucksViewEngine 2021-04-28 17:02:49 +02:00
a7f421d2f8 Move request context locals definition to FrontendToolsComponent 2021-04-28 14:10:29 +02:00
c93ea7691e ViewEngine: demote buildDir and publicDir fields 2021-04-28 14:09:02 +02:00
c4f71e569f Move globals to static ViewEngine and add setGlobal() 2021-04-28 14:05:06 +02:00
0c178955ec Fix svelte template replace would recursively replace 2021-04-28 11:00:51 +02:00
fd7a6af98d Remove useless type definitions 2021-04-27 15:43:51 +02:00
58ea522593 Reorganize config params and use view.cache for caching instead of view.dev 2021-04-27 15:08:41 +02:00
91410b1a15 App startup: add http:// before listen address for conveniance 2021-04-27 14:43:27 +02:00
7b2cdb8269 Clear require cache for watch recompiling 2021-04-23 18:20:22 +02:00
053313002c Move svelte compilation to external rollup and add pre-compile-views cli 2021-04-23 15:56:39 +02:00
e5a9b9908d Refactor and make it nicer codewise 2021-04-23 15:56:39 +02:00
29fa5f4e38 Make svelte work 2021-04-23 15:56:06 +02:00
5f0e11efed Add svelte pre-compilation 2021-04-23 15:56:06 +02:00
df59795489 Remove mail spammy log 2021-04-22 18:01:52 +02:00
cfc632ba1a Approval mode: revoke unapproved users auth proofs
Also add tests for auth approval mode
2021-04-22 18:01:13 +02:00
93aa8579c3 Pagination: don't throw on first page when totalCount=0, validate params 2021-04-22 11:42:47 +02:00
12ec9b55f9 Handle SIGTERM exit signals (allows clean exit with systemd) 2021-04-21 13:52:52 +02:00
6973b2600c Upgrade dependencies 2021-03-30 12:10:49 +02:00
9ff832fb6f TestApp: don't ignore commands by default 2021-03-30 12:03:26 +02:00
714e747d6e Application: make start/stop sturdier, catch more stop signals 2021-03-30 12:03:26 +02:00
4cbc73a25f Fix ServeStaticDirectoryComponent while developping swaf
Also move core version detection to Application
2021-03-30 12:03:26 +02:00
69e9f3ce9c Controller: fix route() parsing with regexp params
Also allow numbers in route param names
2021-03-30 12:03:26 +02:00
4692a23696 Properly implement pagination 2021-03-30 12:02:57 +02:00
caae753d74 Allow users to change their username every configurable period of time
Closes #22
2021-02-23 17:43:11 +01:00
dcfb0b8f1c Add Time util class 2021-02-23 17:42:32 +01:00
562431449b Allow users to remove their password in case they forget it
Closes #23
2021-02-20 20:18:03 +01:00
dbf6128747 Fix AddNameToUsersMigration not calling callbacks 2021-01-26 17:56:57 +01:00
d96de4874a Add IF EXISTS to DropNameFromUsers migration to not fail in new installs 2021-01-25 17:45:11 +01:00
aed825c4d6 FormHelperComponent: don't flash empty previous form data 2021-01-25 17:26:42 +01:00
5caa0be862 FormHelperComponent: add field ID prefix to prevent conflicts
Fixes #20
2021-01-25 17:26:42 +01:00
4745ae4e17 Fix session id not available in websocket listeners
Fixes #21
2021-01-25 16:36:15 +01:00
8b98c8cc59 AddNameToUsersMigration: fix can't work when db already has users 2021-01-25 16:22:51 +01:00
4817563dc1 Make models and components available immediately after their migration 2021-01-25 16:21:24 +01:00
8a25f214ab AuthGuard: always provide a string to pending account mail username 2021-01-25 14:37:50 +01:00
b211845f57 Mail: also debug log data 2021-01-25 14:36:27 +01:00
b9ac4d0f05 AddUsedToMagicLinksMigration: delete all magic links after install 2021-01-25 14:07:20 +01:00
449922490f MagicLinkAuthMethod: do not interrupt auth with used magic links 2021-01-25 14:02:58 +01:00
359485170d UserNameComponent: ensure usage of user.name is optional
Fixes #19
2021-01-25 12:47:18 +01:00
2a184e4ff5 Fix published npm package folder structure 2021-01-25 12:37:41 +01:00
f1a8a4ba07 Express.d.ts: normalize session fields case 2021-01-25 10:53:43 +01:00
e4768141bc Simplify RedirectBackComponent into PreviousUrlComponent
Closes #12
2021-01-24 22:42:20 +01:00
19c8b86ff8 Fix express body parsing middlewares corrupting AsyncLocalStorage
Closes #17
2021-01-24 16:35:33 +01:00
1b8ff1428f Add persist session checkbox on login
Makes session not persistent by default
Closes #11
2021-01-24 16:33:33 +01:00
5897b6bf36 Code cleanup: remove debug log from AccountController 2021-01-24 16:33:14 +01:00
1c71f66150 Clean logs from unwanted info and use \t as a delimiter to align
Closes #6
2021-01-22 16:07:27 +01:00
94cb157520 Remove connect-redis that breaks context with RedisStore 2021-01-22 15:55:06 +01:00
8fab93e709 Use AsyncLocalStorage to provide requestId context 2021-01-22 15:54:26 +01:00
49168b5391 Add account management (email addresses management, password management)
Closes #8
Closes #9
2021-01-22 12:22:11 +01:00
784f2c976c Rename base_url setting to public_url 2021-01-21 17:13:05 +01:00
3e0a25874e Auth: fix middleware applied globally and explicitly log them 2021-01-21 15:45:20 +01:00
2c66c66a39 logging: add status code description for redirections 2021-01-21 15:45:20 +01:00
4db7217876 Controller: add useMiddleware method 2020-12-30 14:10:58 +01:00
87b4facea0 Upgrade dependencies and update to express session new typings 2020-12-04 15:24:22 +01:00
70d80d1f0a AuthMethod: add weight to choose when no method was specified 2020-11-16 11:43:14 +01:00
35129cd4f1 PasswordAuthMethod: simplify bad password throw 2020-11-15 15:50:19 +01:00
f99c62a5d9 Increase login fail per ip throttle limit and jail time 2020-11-15 15:49:40 +01:00
124bc8785f MagicLinkUserNameComponent: allow null username 2020-11-15 15:21:26 +01:00
6a65ec723d AuthController: use Validator system for unknown user on login 2020-11-15 15:18:57 +01:00
6eacfdcffa Throttler: log jail triggers 2020-11-15 15:18:49 +01:00
683fe7262b MagicLinkAuthMethod: do not allow register for already existing email 2020-11-15 14:14:56 +01:00
c08d03c8fb MagicLinkUserNameComponent: fix validator property name for "username" 2020-11-15 14:13:57 +01:00
cecf28502e ModelComponent: fix validators not transferred to attached model 2020-11-15 14:13:35 +01:00
42da8a68bb Validation: respond with http 400 instead of 401 2020-11-15 14:12:45 +01:00
b28e2b75b7 Authentication: Improve registration tests and fix register/login overlap 2020-11-15 12:20:57 +01:00
f8c4906a51 PasswordAuthMethod: fix findUserByIdentifier() 2020-11-14 18:16:05 +01:00
b75b227ca1 Add required username to magic link authentication and fix many errors 2020-11-14 17:24:57 +01:00
acc5233185 Error handling: transform single validation errors into a validation bag 2020-11-14 16:25:18 +01:00
9d50c5cc5f Rename project to swaf 2020-11-12 16:11:16 +01:00
efdd81b650 Auth: refactor to support multiple auth factors and add password factor 2020-11-11 19:30:30 +01:00
1fce157104 logging: prevent full logging of errors for silent logs 2020-11-11 19:29:23 +01:00
24d83c73ad Add basic development environment for testing purposes 2020-11-11 19:29:23 +01:00
b8905ea02b Move Controller.validate to static Validator.validate 2020-11-11 19:29:23 +01:00
bb8b44b5a3 ModelFactory: add hasComponent method 2020-11-11 19:29:23 +01:00
ead3c8ce1e Controller: wrap use() middlewares to handle async 2020-11-11 19:29:23 +01:00
79c2f33000 Deprecate legacy migrations
Fix CreateUsersAndUserEmailsTableMigration


sq
2020-11-11 19:29:23 +01:00
03d9826f93 Migration: remove connection parameter from query() method
Closes #5
2020-11-11 19:29:23 +01:00
f20da06d43 logging: also log ip address 2020-11-11 19:29:23 +01:00
a09e92dd96 logging: make silent errors actually silent 2020-11-04 12:52:07 +01:00
570a831172 Mail: remove usage of non-existent config property 2020-11-04 12:11:30 +01:00
d741517cb9 AuthGuard: add separate before and after registration callbacks 2020-11-04 11:55:34 +01:00
c966536950 NunjucksComponent: fix view loaders using cache when in dev env 2020-11-03 17:46:04 +01:00
7c2572cddc Fix validation errors not being flashed correctly 2020-11-03 11:14:13 +01:00
4d0c714dbd Render emails using NunjucksComponent's environment 2020-11-03 10:29:36 +01:00
cfb7bddca6 DropLegacyLogsTable: fix sql syntax 2020-11-02 19:32:56 +01:00
88e5e19730 Replace custom logging system with tslog 2020-11-02 17:50:12 +01:00
93bff1fdca Nunjucks/globals: fix route() context 2020-10-02 12:13:48 +02:00
595a6d4066 ModelQuery: add create() and fix boolean serialization 2020-10-02 12:08:01 +02:00
00c806aa0a Fix log level output 2020-10-02 11:11:01 +02:00
e37184e5ee Add user model to RequireAuth middlewares 2020-10-01 13:59:19 +02:00
f41a456524 Improve typing precision of CacheProvider.get() 2020-10-01 13:58:50 +02:00
79d704083a Add many eslint rules and fix all linting issues 2020-09-28 14:15:22 +02:00
8210642684 Improve logging configuration structure 2020-09-25 22:19:13 +02:00
b736f5f6cb Improve middleware definition and cleanup code 2020-09-25 22:15:57 +02:00
5dc0bd710a Make nunjucks and static file server compatible with pkg 2020-09-24 22:42:55 +02:00
87aae6bb33 Fix some nunjucks globals not properly set and make getCSRFToken dynamic 2020-09-23 16:11:51 +02:00
47e0756930 Add websocketUrl view local 2020-09-23 12:31:19 +02:00
79d3b51f90 Pass a whole Session to WebSocketListeners 2020-09-23 08:55:35 +02:00