Commit Graph

144 Commits

Author SHA1 Message Date
Alice Gaudon 25f890e082 Remove unnecessary db query to determine whether a model exists in db 2020-09-06 10:45:26 +02:00
Alice Gaudon f07704c6dc Allow Model classes to override primary key fields 2020-09-06 10:23:32 +02:00
Alice Gaudon f6b326f802 Move EMAIL_REGEXP to Validator 2020-09-06 10:21:47 +02:00
Alice Gaudon 27bd7400e2 ModelQuery: fix backticks on ORDER BY and remove extra useless spaces 2020-09-05 16:09:52 +02:00
Alice Gaudon e403dfa863 ModelQuery: fix field disambiguation 2020-09-05 15:51:44 +02:00
Alice Gaudon 9e38b003f9 Model relations: add recursive query and recursive relation 2020-09-05 14:56:19 +02:00
Alice Gaudon 7b739ff056 ModelQueryResult: also return model original data 2020-09-04 22:44:30 +02:00
Alice Gaudon e29b6369af ModelQuery: add groupWhere and test it 2020-09-04 22:16:20 +02:00
Alice Gaudon 823f5d0d26 ModelQuery: fix count() queries 2020-09-04 18:51:41 +02:00
Alice Gaudon 6a4898cbda ModelRelation: add pagination 2020-09-04 18:01:29 +02:00
Alice Gaudon 1dd22f618c ModelQuery: fix passing missing connection parameter 2020-09-04 15:10:11 +02:00
Alice Gaudon 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
Alice Gaudon bffab3a4dc ModelQuery: actually fix fields conflicts for jointures
ref: 68ff977bcc
2020-09-02 16:29:11 +02:00
Alice Gaudon 5a3acf30f4 OneModelRelation: add set(), clear() methods 2020-09-02 14:08:49 +02:00
Alice Gaudon 4b9b62517b ModelRelation: add count(), has() methods 2020-09-02 14:08:35 +02:00
Alice Gaudon 74ffdf8325 Model: add equals method 2020-09-02 14:07:40 +02:00
Alice Gaudon 68ff977bcc ModelQuery: fix model instantiation field conflict for jointures 2020-09-02 11:56:09 +02:00
Alice Gaudon 9db09f83cb Fix ManyThroughModelRelation eagerloading 2020-08-30 18:56:27 +02:00
Alice Gaudon fae5c68cd0 Auth: always populate req.models.user, thus reducing db requests 2020-08-30 17:31:51 +02:00
Alice Gaudon 28349b791e Fix ModelQuery.count() 2020-08-30 13:31:19 +02:00
Alice Gaudon 649fe41be3 Mysql: set default charset to utf8mb4 on pools 2020-08-30 11:25:26 +02:00
Alice Gaudon 3b94d9beb5 Mysql: set default charset to utf8mb4 2020-08-30 10:36:25 +02:00
Alice Gaudon 3af1f4a4e5 Parse json bodies for application/*+json too 2020-08-28 17:40:04 +02:00
Alice Gaudon 25b1e71784 CSRFProtectionComponent: give more room for excluding requests 2020-08-28 16:52:49 +02:00
Alice Gaudon 813e10c4c7 ModelQuery: fix array of values to string conversion 2020-08-28 15:40:58 +02:00
Alice Gaudon fed54b9483 Fix access level of Model.autoFill() 2020-08-28 15:40:18 +02:00
Alice Gaudon 5bcc63a62c Models: add automatic created_at property value 2020-08-28 14:16:25 +02:00
Alice Gaudon f47f01f147 Models: add autoFill method for asynchronous default value load 2020-08-28 14:16:06 +02:00
Alice Gaudon 4ab615c457 Validator: break on first failed step to avoid further errors 2020-08-26 15:02:24 +02:00
Alice Gaudon 66ec3c0b47 Validator: add more information when exception is thrown in verifyStep 2020-08-26 14:56:34 +02:00
Alice Gaudon b245bec0d0 Lazy load ModelRelation query modifiers 2020-08-26 14:41:40 +02:00
Alice Gaudon 72c4f972a0 Cache model existence to support insert + update in the same transaction 2020-08-26 14:18:02 +02:00
Alice Gaudon 5930a85617 mysql count(): optimize requested fields 2020-08-26 14:05:06 +02:00
Alice Gaudon 38a9c6ad15 user registration: fix late user save for when a user id is needed 2020-08-26 14:03:41 +02:00
Alice Gaudon 84f2f7118a Csrf protection test: migrate to supertest 2020-08-05 12:06:21 +02:00
Alice Gaudon 76811dd0b8 Add more tests for Model 2020-08-05 10:45:13 +02:00
Alice Gaudon cc884f7096 ModelRelation eagerloading: don't make an SQL query when there is nothing to fetch 2020-07-29 16:17:48 +02:00
Alice Gaudon 8ca4c1a791 Security field validation: disclose missing field name 2020-07-29 16:16:42 +02:00
Alice Gaudon bdb7e55b00 Fix user approval backend 2020-07-28 15:03:18 +02:00
Alice Gaudon fb1a09baf8 ModelRelation/getOrFail: don't fail when 0 model where found 2020-07-28 15:02:50 +02:00
Alice Gaudon 37ed42b37d Fix model queries values not matching placeholder count 2020-07-28 15:02:08 +02:00
Alice Gaudon 31f974c0a6 Serve static files extra early to avoid useless middlewares execution 2020-07-28 12:11:41 +02:00
Alice Gaudon 272688da26 Reduce the amount of SQL requests made for authentication 2020-07-28 12:10:29 +02:00
Alice Gaudon 95632f5880 Fix throttler not triggering when maxCount > 1 2020-07-28 11:17:28 +02:00
Alice Gaudon 97b2d3b94c ModelQuery: throw an error when fed with nonexistent relation 2020-07-28 10:33:45 +02:00
Alice Gaudon df651f2661 Make BackendController helper accept external backend links for its view 2020-07-28 10:04:15 +02:00
Alice Gaudon 3a4755ce98 Give the redirectBack function its own Component back 2020-07-28 10:03:25 +02:00
Alice Gaudon 6b85a538c1 ManyModelRelation: fix eagerloading not working 2020-07-27 10:57:19 +02:00
Alice Gaudon 8746ad2ea3 ModelQuery: fix is null / is not null checks 2020-07-27 10:56:43 +02:00
Alice Gaudon 2bbe4db5fe ModelRelation: add post-query filters 2020-07-27 10:56:10 +02:00