Commit Graph

316 Commits

Author SHA1 Message Date
4ab615c457 Validator: break on first failed step to avoid further errors 2020-08-26 15:02:24 +02:00
66ec3c0b47 Validator: add more information when exception is thrown in verifyStep 2020-08-26 14:56:34 +02:00
b245bec0d0 Lazy load ModelRelation query modifiers 2020-08-26 14:41:40 +02:00
72c4f972a0 Cache model existence to support insert + update in the same transaction 2020-08-26 14:18:02 +02:00
5930a85617 mysql count(): optimize requested fields 2020-08-26 14:05:06 +02:00
38a9c6ad15 user registration: fix late user save for when a user id is needed 2020-08-26 14:03:41 +02:00
84f2f7118a Csrf protection test: migrate to supertest 2020-08-05 12:06:21 +02:00
76811dd0b8 Add more tests for Model 2020-08-05 10:45:13 +02:00
cc884f7096 ModelRelation eagerloading: don't make an SQL query when there is nothing to fetch 2020-07-29 16:17:48 +02:00
8ca4c1a791 Security field validation: disclose missing field name 2020-07-29 16:16:42 +02:00
bdb7e55b00 Fix user approval backend 2020-07-28 15:03:18 +02:00
fb1a09baf8 ModelRelation/getOrFail: don't fail when 0 model where found 2020-07-28 15:02:50 +02:00
37ed42b37d Fix model queries values not matching placeholder count 2020-07-28 15:02:08 +02:00
31f974c0a6 Serve static files extra early to avoid useless middlewares execution 2020-07-28 12:11:41 +02:00
272688da26 Reduce the amount of SQL requests made for authentication 2020-07-28 12:10:29 +02:00
95632f5880 Fix throttler not triggering when maxCount > 1 2020-07-28 11:17:28 +02:00
97b2d3b94c ModelQuery: throw an error when fed with nonexistent relation 2020-07-28 10:33:45 +02:00
df651f2661 Make BackendController helper accept external backend links for its view 2020-07-28 10:04:15 +02:00
3a4755ce98 Give the redirectBack function its own Component back 2020-07-28 10:03:25 +02:00
6b85a538c1 ManyModelRelation: fix eagerloading not working 2020-07-27 10:57:19 +02:00
8746ad2ea3 ModelQuery: fix is null / is not null checks 2020-07-27 10:56:43 +02:00
2bbe4db5fe ModelRelation: add post-query filters 2020-07-27 10:56:10 +02:00
e046a77aa8 ModelFactory: remove loadRelation method (unused) 2020-07-27 10:54:59 +02:00
51addd947b Model: fix getById 2020-07-27 10:54:08 +02:00
5ca1ddef43 Move responsability of table field from ModelFactory to Model (static) 2020-07-27 10:53:46 +02:00
be6e659ca2 ModelFactory: refactor make into create 2020-07-27 10:52:39 +02:00
b179afdaf5 nunjucks: override default dump filter to allow circular dependencies 2020-07-26 11:37:36 +02:00
21b7def9e4 Fix some model refactor usages 2020-07-26 11:37:01 +02:00
a79e2292d7 Greatly simplify authentication system 2020-07-25 10:33:20 +02:00
40181a973b Fix user schema 2020-07-24 16:13:15 +02:00
c0dd48d064 Fix missing fields by default and fix model construction flow 2020-07-24 15:40:40 +02:00
24de732167 Improve approval mode component security, reliability and usage 2020-07-24 13:00:20 +02:00
7a1656ea7f Change public_url config field name to base_url 2020-07-24 12:59:44 +02:00
7f398c1d4e Make models extendable 2020-07-24 12:58:06 +02:00
f127abbc74 Finish promoting email views and add backend controller 2020-07-20 17:32:32 +02:00
6618e874e0 mail: switch from deprecated TLS usage to STARTTLS 2020-07-20 11:29:10 +02:00
fe772c4e14 WebSocketListener: make cookies+session optional 2020-07-19 17:37:10 +02:00
4291f73a55 WebSocketListener: add app field getter 2020-07-19 12:21:56 +02:00
197b963e4c Add cache interface 2020-07-19 12:01:22 +02:00
e9a20c82ed Fix chmod check and relax mail 2020-07-15 15:39:08 +02:00
583a5a92de Fix config file security check access path 2020-07-15 15:22:16 +02:00
249098a587 Enforce config file permissions 2020-07-15 15:13:52 +02:00
9ce345d99d Don't start in production if important security fields are misconfigured 2020-07-15 15:06:29 +02:00
74dac9b314 Trust loopback proxy 2020-07-15 12:35:14 +02:00
eb935bf52a Fix auth redirect_uri chain 2020-07-15 12:31:07 +02:00
634edda704 RedirectBackComponent: fix it and integrate it into NunjucksComponent 2020-07-15 10:24:01 +02:00
6885f3da1c Add configurable maxAge for session cookie, defaults to 30 days 2020-07-14 15:06:46 +02:00
d6266e4396 Promote auth view to core 2020-07-14 15:06:30 +02:00
c2b35b473d Fix magic link buttons url scheme 2020-07-12 11:54:19 +02:00
3561614f96 Promote some views to wms-core 2020-07-12 11:47:47 +02:00
7da68f2715 Fix magic link lobby email display 2020-07-12 10:32:21 +02:00
172b977fcf Improve reliability of RedirectBackComponent 2020-07-11 12:09:05 +02:00
0e96a285ac Properly split routing in 2 steps: init, handle 2020-07-11 11:46:16 +02:00
4b8a3b307d Integrate file upload form middleware into controllers 2020-07-11 11:08:57 +02:00
6cf153c36b Use gzip compression 2020-07-09 14:18:05 +02:00
6bdfc9b4b7 Add CSRF route excluders 2020-07-08 13:28:22 +02:00
5b80c3ac07 Add 401 unauthorized http error 2020-07-08 11:33:13 +02:00
724d59daba Fix core version grabbing 2020-07-08 11:09:27 +02:00
afdfadd34e Add CsrfProtectionComponent tests and fix missing promise await 2020-07-08 10:58:57 +02:00
001e24488b Add option to disable command line arguments when instanciating an app 2020-07-08 09:52:16 +02:00
e72bb08a66 Add frontend support for custom flashed data keys 2020-07-06 10:42:46 +02:00
ca39c3e538 Fix mail settings and add mail from 2020-06-27 18:15:02 +02:00
b043513fe8 Bug fixes and app settings 2020-06-27 17:12:50 +02:00
10257b8294 ManyModelRelation: add cloneReduceToOne method 2020-06-27 14:58:39 +02:00
ec5b2b9aa0 Revamp model system
- Add model relations
- Get rid of SQL_CALC_FOUND_ROWS (deprecated)
- Eager loading
2020-06-27 14:45:05 +02:00
c8157b7bb0 Add optional user approval mode 2020-06-16 15:28:44 +02:00
94286dc833 auto update: add git fetch command 2020-06-15 12:58:27 +02:00
9363873898 Format response for validation errors 2020-06-15 12:58:15 +02:00
9d63564719 Promote ValidationBag error handling to Application wide level 2020-06-14 21:48:50 +02:00
fa3e5bdb19 Support route parameter regex in controller route function 2020-06-14 21:48:19 +02:00
fa42b8991b Add query customization to model pagination 2020-06-14 21:47:51 +02:00
362343171c Add non-verbose mode for mysql query logging 2020-06-14 21:47:36 +02:00
a15d496c53 Use formidable instead of multer 2020-06-14 21:47:18 +02:00
adf380c19d Add request parsing middlewares to controllers 2020-06-14 17:33:37 +02:00
a2ef0f6a42 Fix http requests logging 2020-06-14 16:04:50 +02:00
98566811c3 Provide extended option to urlencoded middleware 2020-06-14 15:08:56 +02:00
6026037aa8 Add support for authenticating user against custom request-proof matching 2020-06-14 11:59:02 +02:00
8755a152a6 Add PUT and DELETE REST methods to controllers 2020-06-14 11:43:49 +02:00
e63b5d21fe Add left join to query builder 2020-06-14 11:43:31 +02:00
e965303777 Add logging full http requests cli arg 2020-06-14 11:43:00 +02:00
e2cb322001 Fix some models properties 2020-06-14 11:41:44 +02:00
499c66240b Add command line interface and allow rolling back migrations 2020-06-05 14:32:39 +02:00
91b9e51a7d Wrap each migration in a transaction 2020-06-04 17:27:05 +02:00
0970ff3116 Make model primaryKey dynamic (allows for composite primary keys) 2020-06-04 14:59:41 +02:00
b85fbe6c21 Log accept header for every request 2020-06-04 10:15:24 +02:00
6a4b44035e Add MailController helper class 2020-06-03 14:14:42 +02:00
8ccf073139 Add MagicLinkAuthController helper class 2020-06-03 13:44:47 +02:00
384bd2fc17 Fix magic_link view data 2020-05-10 00:26:15 +02:00
309344d1c0 Fix missing fields when creating a new MagicLink 2020-05-09 23:38:06 +02:00
e574b6e778 Add magic links 2020-05-09 23:23:19 +02:00
26fdc94e9b Add UserEmail.fromUser() 2020-05-05 17:17:29 +02:00
924104f700 Add auto update component 2020-05-05 15:19:23 +02:00
424a86fe53 Validator: add custom value transform function for display
+ Version 0.4.22
2020-05-04 22:06:20 +02:00
0591daf93f Fix route regexps aren't global
+ Version 0.4.21
2020-05-02 11:35:04 +02:00
fc5344c629 Fix bad place of use for redis pass 2020-04-25 18:32:00 +02:00
6868411aa7 Add configurable redis pass 2020-04-25 18:26:46 +02:00
e1b5e7fdad Add Controller.validate and automatically handle validation errors 2020-04-25 16:09:47 +02:00
49fc92df5c Add UserEmail.getMainFromUser 2020-04-25 16:09:13 +02:00
b13d70bfc0 Improve validation messages and add more validation rules 2020-04-25 16:08:53 +02:00
8882df4c0d Improve verbosity of auth error 2020-04-25 16:08:20 +02:00
0207ad5001 Add register callback to optionally save more models 2020-04-25 09:36:20 +02:00
faeafbd68d Pass session to auth methods 2020-04-25 09:35:49 +02:00
9b7ec1e516 Nunjucks: distinguish application version from core version 2020-04-25 09:35:25 +02:00
d676caa3dc Add validate method to Controller (for forms) 2020-04-25 09:33:33 +02:00
b401c9732c Add minLength and maxLength to Validator 2020-04-25 09:33:15 +02:00
de777bc844 Make redis prefix configurable 2020-04-25 09:32:59 +02:00
ad20894565 Add auth utils parts 2020-04-24 12:34:41 +02:00
7db6c0e0c7 Add retry in indication to TooManyRequests http error 2020-04-24 11:17:58 +02:00
3397fd8216 Fix jail logic 2020-04-24 11:13:29 +02:00
2d22e702ab Fix TooManyRequests http code 2020-04-24 11:11:03 +02:00
7cac813a24 Add throttling utils
See https://gitlab.com/ArisuOngaku/wms/issues/35
2020-04-24 10:54:21 +02:00
3bf4f93b74 Force an application to register migrations 2020-04-23 16:03:54 +02:00
6469de499f Add NunjucksComponent 2020-04-23 11:18:23 +02:00
1c661cee5e Switch to local npm registry publishing and move ts type deps to dev 2020-04-23 11:16:05 +02:00
b94e772269 Add missing dependencies and remove useless index.js 2020-04-22 18:06:15 +02:00
662d12df68 Add sources 2020-04-22 17:49:58 +02:00