|
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 |
|
|
2effaf13eb
|
Add AuthComponent.getAuthGuard()
|
2020-09-23 08:46:37 +02:00 |
|
|
75c2b72f57
|
Add Application.getComponent()
|
2020-09-23 08:46:21 +02:00 |
|
|
dfee2645e1
|
Express: add custom bind address setting
|
2020-09-17 21:15:37 +02:00 |
|
|
3a473dd24e
|
Fix error when saving models in transaction when it needs a full update
|
2020-09-15 15:40:58 +02:00 |
|
|
fec607da20
|
ModelQuery: add offset parameter to union()
|
2020-09-11 15:15:15 +02:00 |
|
|
fd6e384a12
|
Logging: improve legibility of sql queries when verbose mode enabled
|
2020-09-11 15:14:40 +02:00 |
|
|
15678e0381
|
Fix relation reducing mistakenly using "in" instead of indexOf >= 0
|
2020-09-10 19:11:32 +02:00 |
|
|
b12d104c78
|
ModelRelations: deduplicate recursive relations on populate()
|
2020-09-08 19:24:05 +02:00 |
|
|
969ab18b96
|
ModelRelation: sort recursive relations by tree
|
2020-09-08 19:11:19 +02:00 |
|
|
892b830dc4
|
Code formatting and cleanup, dependencies upgrade and version 0.22.0-rc.8
|
2020-09-07 14:38:30 +02:00 |
|
|
2f822aa61c
|
ModelRelation: simplify foreign model constructor parameter
|
2020-09-07 14:30:11 +02:00 |
|
|
b88f4e1b64
|
ModelRelation: deduplicate eagerloaded models
|
2020-09-07 14:02:43 +02:00 |
|
|
0e37014667
|
ModelQuery: add nested eagerloading
|
2020-09-07 13:43:02 +02:00 |
|
|
e86356ae74
|
ModelQuery.union(): fix missing subquery variables
|
2020-09-06 16:02:53 +02:00 |
|
|
17685a44be
|
Improve field disambiguation to allow raw values when starting with ",',`
|
2020-09-06 15:44:37 +02:00 |
|
|
c2abb1c87a
|
Model.select(): allow custom select fields
|
2020-09-06 15:09:58 +02:00 |
|
|
4c482fb148
|
ModelQuery: add union()
|
2020-09-06 15:07:11 +02:00 |
|
|
3a4606b328
|
ModelQuery: allow specifying raw value for sortBy()
|
2020-09-06 12:25:53 +02:00 |
|
|
b84c2cdff1
|
Code formatting and cleanup
|
2020-09-06 10:53:28 +02:00 |
|
|
25f890e082
|
Remove unnecessary db query to determine whether a model exists in db
|
2020-09-06 10:45:26 +02:00 |
|
|
f07704c6dc
|
Allow Model classes to override primary key fields
|
2020-09-06 10:23:32 +02:00 |
|
|
f6b326f802
|
Move EMAIL_REGEXP to Validator
|
2020-09-06 10:21:47 +02:00 |
|
|
27bd7400e2
|
ModelQuery: fix backticks on ORDER BY and remove extra useless spaces
|
2020-09-05 16:09:52 +02:00 |
|
|
e403dfa863
|
ModelQuery: fix field disambiguation
|
2020-09-05 15:51:44 +02:00 |
|
|
9e38b003f9
|
Model relations: add recursive query and recursive relation
|
2020-09-05 14:56:19 +02:00 |
|
|
7b739ff056
|
ModelQueryResult: also return model original data
|
2020-09-04 22:44:30 +02:00 |
|
|
e29b6369af
|
ModelQuery: add groupWhere and test it
|
2020-09-04 22:16:20 +02:00 |
|
|
823f5d0d26
|
ModelQuery: fix count() queries
|
2020-09-04 18:51:41 +02:00 |
|
|
6a4898cbda
|
ModelRelation: add pagination
|
2020-09-04 18:01:29 +02:00 |
|
|
1dd22f618c
|
ModelQuery: fix passing missing connection parameter
|
2020-09-04 15:10:11 +02:00 |
|
|
19aafc76bf
|
mysql queries: wrap field names in "`" to avoid conflict with reserved words
also do not add table name to field in select if it is already present
|
2020-09-04 15:09:30 +02:00 |
|
|
bffab3a4dc
|
ModelQuery: actually fix fields conflicts for jointures
ref: 68ff977bcc
|
2020-09-02 16:29:11 +02:00 |
|
|
5a3acf30f4
|
OneModelRelation: add set(), clear() methods
|
2020-09-02 14:08:49 +02:00 |
|
|
4b9b62517b
|
ModelRelation: add count(), has() methods
|
2020-09-02 14:08:35 +02:00 |
|
|
74ffdf8325
|
Model: add equals method
|
2020-09-02 14:07:40 +02:00 |
|
|
68ff977bcc
|
ModelQuery: fix model instantiation field conflict for jointures
|
2020-09-02 11:56:09 +02:00 |
|
|
9db09f83cb
|
Fix ManyThroughModelRelation eagerloading
|
2020-08-30 18:56:27 +02:00 |
|
|
fae5c68cd0
|
Auth: always populate req.models.user, thus reducing db requests
|
2020-08-30 17:31:51 +02:00 |
|
|
28349b791e
|
Fix ModelQuery.count()
|
2020-08-30 13:31:19 +02:00 |
|
|
649fe41be3
|
Mysql: set default charset to utf8mb4 on pools
|
2020-08-30 11:25:26 +02:00 |
|
|
3b94d9beb5
|
Mysql: set default charset to utf8mb4
|
2020-08-30 10:36:25 +02:00 |
|
|
3af1f4a4e5
|
Parse json bodies for application/*+json too
|
2020-08-28 17:40:04 +02:00 |
|
|
25b1e71784
|
CSRFProtectionComponent: give more room for excluding requests
|
2020-08-28 16:52:49 +02:00 |
|
|
813e10c4c7
|
ModelQuery: fix array of values to string conversion
|
2020-08-28 15:40:58 +02:00 |
|
|
fed54b9483
|
Fix access level of Model.autoFill()
|
2020-08-28 15:40:18 +02:00 |
|
|
5bcc63a62c
|
Models: add automatic created_at property value
|
2020-08-28 14:16:25 +02:00 |
|
|
f47f01f147
|
Models: add autoFill method for asynchronous default value load
|
2020-08-28 14:16:06 +02:00 |
|
|
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 |
|