Commit Graph

1051 Commits

Author SHA1 Message Date
Daniele Teti
617d6ffa4a https://github.com/danieleteti/delphimvcframework/issues/514 (partial) 2022-06-15 12:02:11 +02:00
Daniele Teti
db0de0f402 https://github.com/danieleteti/delphimvcframework/issues/560 2022-06-14 15:31:27 +02:00
Daniele Teti
5b7bda8d5b Merge branch 'master' into feature_jsonrpc_records 2022-06-14 15:16:46 +02:00
Daniele Teti
af8a728acc + Merge https://github.com/danieleteti/delphimvcframework/pull/559
+ Small changes for MSSQL compatibility
2022-06-14 15:05:04 +02:00
azapater
1ab553d3fb #558 - Implements "starts" operator in RQL parser
The parser has been tested in Firebird but not in the rest of database platforms. I've tried to guess the code, but further testing would be needed.
2022-06-10 00:28:34 +02:00
Marcelo Jaloto
c069a618f6 Simple improvement for when serializing the TMVCResponse object to a Json string; 2022-05-31 15:43:22 -03:00
Marcelo Jaloto
8f25550899 issue 556 - Add override support in the method TRoleBasedAuthHandler.OnAuthorization; 2022-05-26 15:06:35 -03:00
Daniele Teti
63cc2aa4c6 + First changes to allow records as JSONRPC parameters 2022-05-25 15:13:49 +02:00
Marcelo Jaloto
dd4f7f0afd New improvements for use with fields of primary key of kind Guid; 2022-05-13 12:23:00 -03:00
Marcelo Jaloto
88f42572f7 Adds new custom attribute, MVCSerializeGuidWithoutBracesAttribute, in the model class to define a field of type TGuid if at the time of attribute serialization the value of the guid field will be obtained without braces; 2022-05-13 12:19:59 -03:00
Marcelo Jaloto
80dc7f141a Fixes bug when a Active Record field primary key is a Guid. See more issue 552; 2022-05-13 12:15:32 -03:00
Daniele Teti
0fac2dd2fa https://github.com/danieleteti/delphimvcframework/issues/550 2022-04-12 12:12:08 +02:00
Daniele Teti
ff9fe81426 https://github.com/danieleteti/delphimvcframework/issues/533 2022-04-05 17:17:35 +02:00
Daniele Teti
52640cb1fb https://github.com/danieleteti/delphimvcframework/issues/548 (WIP) 2022-04-04 14:48:39 +02:00
Daniele Teti
d750b19e55 https://github.com/danieleteti/delphimvcframework/issues/548 (WIP) 2022-04-04 13:08:50 +02:00
Daniele Teti
56dc4ede47 https://github.com/danieleteti/delphimvcframework/issues/548 (WIP) 2022-04-04 13:05:34 +02:00
Daniele Teti
c10cb7417e + MVCFramework.SignalHandling (WIP) 2022-04-01 17:59:21 +02:00
Daniele Teti
347c5fb2fd + Added support for API versioning in Swagger UI
+ Added Swagger API Versioning Sample (swagger_api_versioning_primer)
2022-04-01 16:49:29 +02:00
Daniele Teti
b5ddf9fe6a Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2022-04-01 12:53:45 +02:00
Daniele Teti
c1eee8f175 More work about https://github.com/danieleteti/delphimvcframework/issues/538 (thanks to https://github.com/fastbike) 2022-04-01 12:53:13 +02:00
Marcelo Jaloto
c0a7f2ac00
Issue #546 - Formmat swagger.json file for when needed to investigate in the Swagger Editor. (#547) 2022-04-01 00:29:39 +02:00
Marcelo Jaloto
4a4ce3e8ef Issue #546 - Formmat swagger.json file for when needed to investigate in the Swagger Editor. 2022-03-31 18:43:34 -03:00
Daniele Teti
594b3a36a9 https://github.com/danieleteti/delphimvcframework/issues/538 (WIP) 2022-03-31 16:43:32 +02:00
Daniele Teti
96bb67a29d + Samples are compilable with Delphi 10.2 Tokyo or better 2022-03-31 09:31:11 +02:00
Daniele Teti
98fd21ac8f https://github.com/danieleteti/delphimvcframework/issues/530 2022-03-25 11:49:22 +01:00
Daniele Teti
578a581f4b https://github.com/danieleteti/delphimvcframework/issues/539 2022-03-25 11:25:31 +01:00
Daniele Teti
78ef7c01a9 https://github.com/danieleteti/delphimvcframework/issues/544 2022-03-25 11:02:09 +01:00
Daniele Teti
c2d3cbc859 https://github.com/danieleteti/delphimvcframework/issues/542 2022-03-25 10:49:12 +01:00
Julio Senha
ec075cd2fe
Update MVCFramework.Router.pas (#543) 2022-03-22 12:38:57 +01:00
Daniele Teti
07bd70c5ed + Improved TMVCActiveRecord Interbase support 2022-01-26 23:00:32 +01:00
Daniele Teti
7a2b6458fd Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2022-01-21 18:33:14 +01:00
Daniele Teti
cf3c3d8adf + Removed ViewJSON reference from Mustache View Engine 2022-01-21 18:33:00 +01:00
João Antônio Duarte
762d983e5b + Improved adding Body of TStream type in RESTClient to allow adding Binary Streams 2022-01-18 11:58:39 -03:00
Daniele Teti
e698987a0e + Removed some HINTS/WARNINGS (thanks to the Compatibility Mantainer Mark Lobanov) 2022-01-12 11:16:49 +01:00
Daniele Teti
e7972048c8 + final version for the new SWAGGER engine (Sponsored by CENTRO SOFTWARE) 2022-01-11 15:30:40 +01:00
Daniele Teti
a8ce1bb25b + Updated copyright for 2022 2022-01-04 15:44:47 +01:00
Daniele Teti
4b635b9daf Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2021-12-31 18:06:42 +01:00
Daniele Teti
fd7f508c1b + Swagger for inherited controllers amost works 2021-12-31 18:00:54 +01:00
João Antônio Duarte
dbffee6ff6 [+] Fix https://github.com/danieleteti/delphimvcframework/issues/537 2021-12-30 17:34:52 -03:00
Daniele Teti
f1fa322632 + CustomIntfObject support 2021-12-30 00:45:19 +01:00
Daniele Teti
810282b89e + added eLua server side view support. eLua views requires Lua dlls so the LuaViewEngine is not included in the core but in the sample folder 2021-12-30 00:36:35 +01:00
Daniele Teti
f3e8def287 + Added "LogException", fixed some IFDEFs to correctly compile on mobile platforms 2021-12-27 10:13:23 +01:00
Daniele Teti
17cc5d5eea + Compatibility fix for Delphi 10.2 Tokyo 2021-11-23 18:03:48 +01:00
Daniele Teti
02de5b11ea - Added default filtering for TMVCActiveRecord descendants (more info ASAP)
- Added partitioning for `TMVCActiveRecord descendants` (more info ASAP)

- After a big refactoring (*"I love to delete code" -- cit. Daniele Teti*), support a new SQLGenerator is just 2 (two) methods away!
2021-11-21 19:27:06 +01:00
Daniele Teti
3360dea516 + completed tests for default filtering and partitioning (just for PostgreSQL) (WIP for other RDBMSes) 2021-11-19 00:34:37 +01:00
Daniele Teti
c231e6540e + added test for default filtering 2021-11-18 17:52:06 +01:00
Daniele Teti
5550819fca + Fixed a bug in RQL' MaxRecordCount
+ Implemented Table Partitioning (WIP)
2021-11-18 00:49:12 +01:00
Daniele Teti
49518a311b + table filtering (WIP) 2021-11-17 15:36:20 +01:00
Daniele Teti
eceefb2366 + removed inline var for older delphi versions still supported 2021-11-05 09:27:28 +01:00
Daniele Teti
a5a147c91d https://github.com/danieleteti/delphimvcframework/issues/526 2021-11-02 12:03:22 +01:00
João Antônio Duarte
58e53dd9b0 + Added Host and BasePath parameters to the Swagger middleware to make it possible to define a custom BaseURL for the documentation 2021-10-21 20:18:49 -03:00
Daniele Teti
07e16c1e1f - added AddDefaultConnection overload
- added helper methods to IMVCRESTResponse
2021-10-20 11:29:49 +02:00
Daniele Teti
d2157919fe + added overloaded constructors to all MVCFrom* attributes (allows to pass a default values as string, integer and boolean) 2021-10-07 10:08:53 +02:00
Daniele Teti
79407d71e1 - create include files to easily mantain aligned all the dpks
- still facing with this issue in Delphi 11 Alexandria (https://quality.embarcadero.com/browse/RSP-35516). Compression works, but the debugger catches an exception raised in "normal cases".
2021-09-29 19:30:14 +02:00
Daniele Teti
ddf1ba1aca - Improved lazy loading for Context.Data property 2021-09-26 18:17:13 +02:00
Daniele Teti
e3eb26e04a + added more unit test for TMVCActiveRecord.Merge method 2021-09-23 22:52:28 +02:00
Daniele Teti
0927e3c449 + there is a bug in Delphi 11 Alexandria (https://quality.embarcadero.com/browse/RSP-35516) which forced us to disable GZip support in compression middleware. Now, in Alexandria, any GZip-only request is not compressed. Deflate still is supported. 2021-09-17 10:46:34 +02:00
Daniele Teti
c1220c8917 + renamed folder outputcompression to middleware_compression 2021-09-17 10:45:11 +02:00
Daniele Teti
27223a0a93 +added unit MVCFramework.Utils.pas which will contains all the 'simple functions' used in end user controllers 2021-09-15 14:24:39 +02:00
Daniele Teti
0bd8d5f4ea + Support for Delphi 11 Alexandria 2021-09-09 23:56:56 +02:00
Daniele Teti
624f474a16 + updated MVCFramework.ActiveRecordController render methods to use ObjectDict 2021-09-09 23:06:49 +02:00
Daniele Teti
d00b551c14 + improved messages rendering 2021-08-31 17:05:11 +02:00
Daniele Teti
14ff525c30 + first version of push/persist messages 2021-08-19 17:58:19 +02:00
Daniele Teti
4986d9ba3f New! Added the new MVCOwned attribute which allows to auto-create nested objects in the deserialization phase. This will not change the current behavior, you ned to explocitly define a property (or a field) as MVCOwned to allows the serialization to create or destroy object for you. 2021-08-17 15:10:58 +02:00
Daniele Teti
6837182cc3 + updated copyright header 2021-08-15 18:39:55 +02:00
Daniele Teti
56c3732011 + TMVCJWTBlackListMiddleware has been moved in unit MVCFramework.Middleware.JWT and MVCFramework.Middleware.JWTBlackList has been removed 2021-08-15 16:01:20 +02:00
Daniele Teti
b5e255ffe0 + Not JWTBlackList middleware returns 204 instead of 200 when a token is blacklisted
+ Improved JWTBlackList sample
2021-08-15 15:55:18 +02:00
Daniele Teti
e8334bfdb9 + TMVCJWTBlackListMiddleware 2021-08-14 00:48:37 +02:00
Daniele Teti
9e07af91dc + Added new default parameter to TMVCActiveRecord.RemoveDefaultConnection and TMVCActiveRecord.RemoveConnection to avoid exceptions in case of not initialized connection. 2021-08-13 18:05:48 +02:00
Daniele Teti
c97e90077d Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2021-08-13 17:06:24 +02:00
Daniele Teti
444e085d4f + request content type are decoded only for mtPut, mtPost, mtPatch
+ added XMLDoc comment to rest client methods which directly maps HTTP VERBS
2021-08-13 17:06:15 +02:00
João Antônio Duarte
f5334c0e60 [+] Fix https://github.com/danieleteti/delphimvcframework/issues/512 2021-08-11 07:50:35 -03:00
Daniele Teti
cde2fb2d69 https://github.com/danieleteti/delphimvcframework/issues/511 2021-08-11 00:33:47 +02:00
Daniele Teti
c28c5f0832 https://github.com/danieleteti/delphimvcframework/issues/513 2021-08-11 00:21:04 +02:00
João Antônio Duarte
147bef3556 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2021-08-02 09:54:08 -03:00
João Antônio Duarte
1914c4c8e4 [+] Fix https://github.com/danieleteti/delphimvcframework/issues/501 2021-08-02 09:53:11 -03:00
Daniele Teti
33bad2c9ee Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2021-07-28 10:40:05 +02:00
Daniele Teti
c8e8a007f2 https://github.com/danieleteti/delphimvcframework/issues/509 2021-07-28 10:39:54 +02:00
Microcom-Bjarne
61204caa07
Introducing a way to handle poor column names, that conflicts with reserved words. (#499) 2021-07-27 15:02:49 +02:00
Daniele Teti
a408b8fe49 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2021-07-22 19:13:32 +02:00
Daniele Teti
0ac7cf2158 [+] All hooks methods in JWT Middleware are now virtual - it is useful to migrate to dmvcframework from other rest framework 2021-07-22 19:13:23 +02:00
João Antônio Duarte
9fc7a0111e [+] Fix for compatibility with delphi Berlin. 2021-07-16 18:55:33 -03:00
Daniele Teti
c7bb9858ef [+] Added Context.Request.Query method which returns the RawWebRequest property 2021-07-03 11:30:05 +02:00
Daniele Teti
ac2a03a804 [+] added RaiseIfNotFound parameter in TMVCActiveRecord.Update and TMVCActiveRecord.Delete 2021-06-27 15:14:37 +02:00
Daniele Teti
afc593fe4e MVCFromBody can inject raw body as string into actions parameter 2021-06-12 18:30:07 +02:00
João Antônio Duarte
d51e9f006b [+] Fixed Schema JSON Swagger generation for array and TList type fields.FieldName
Fix https://github.com/danieleteti/delphimvcframework/issues/502
2021-06-11 14:36:47 +02:00
João A. Duarte
c0baeb34a0
Serializer improvements (#486)
* Added support for custom serializers for lists

* Added custom serializer sample for Spring collections
2021-06-01 15:10:45 +02:00
João Antônio Duarte
832d71d436 [+] Fix https://github.com/danieleteti/delphimvcframework/issues/492 2021-05-19 16:17:47 -03:00
João Antônio Duarte
f4808734bc [+] Fix for compatibility with Delphi Tokyo 2021-05-18 12:05:29 -03:00
Daniele Teti
4938f08e8c Merge branch 'feature_activerecord_merge' 2021-05-14 18:27:50 +02:00
Daniele Teti
f1511b4109 https://github.com/danieleteti/delphimvcframework/issues/496 2021-05-14 18:26:46 +02:00
João Antônio Duarte
b4b217dc91 [+] Added support for the length of string fields in the Swagger JsonSchema definition 2021-05-12 10:26:55 -03:00
Daniele Teti
662d86e57a completed merge - working on the master_details sample 2021-05-03 19:29:01 +02:00
Daniele Teti
962bd6fbf3 Almost completed merge method for tmvcactiverecord 2021-04-29 22:52:28 +02:00
Daniele Teti
d9ebea3d0f [+] Almost complete work on MultiExecutor - we need an elegant and efficient way to handle primary keys of multiple types 2021-04-27 22:57:15 +02:00
Daniele Teti
13a6d1a6af [+] Introduced TMVCUnitOfWork - still doesn't work 2021-04-26 23:01:31 +02:00
Daniele Teti
57f9992bb4 First version of 'merge' method - used to create a UOW in case of updating a list of active records 2021-04-25 22:40:06 +02:00
Daniele Teti
0a3e0243ba [+] Now the injectable parameters can be defined with a default value 2021-04-21 18:19:51 +02:00
Daniele Teti
0f5587361f [+] Added MVCFromBodyAttribute, MVCFromQueryStringAttribute, MVCFromHeaderAttribute, MVCFromCookieAttribute] 2021-04-21 12:22:09 +02:00
João Antônio Duarte
0ca88bc02c [+] Fixed memory leaks 2021-04-14 10:53:02 -03:00
João Antônio Duarte
e7e5ce5cdf [+] Added ability to access or assign a serializer to the TMVCRESTClient 2021-04-11 17:37:14 -03:00
Daniele Teti
7a9aa77ed2 [+] Improved MVCAREntitiesGenerator 2021-04-08 00:33:27 +02:00
Daniele Teti
c5409443a0 [+] Added "Data" property to the TJWT class. This property is of type TObject but the JWTMiddleware injects TMVCWebRequest during the token generation. Is useful to affect the JWT generation considering some data coming from the client. 2021-04-08 00:00:08 +02:00
Daniele Teti
a478508850 [+] Added ability to show the entities managed by the TMVCActiveRecordController directly in the /system/describeserver.info 2021-04-07 23:58:02 +02:00
Daniele Teti
79f4dd1384 [+] Fixed a problem with parameter names when when fields contains spaces 2021-04-07 19:40:23 +02:00
Daniele Teti
f0c29801ea [+] All article CRUD samples in one project group 2021-04-07 19:14:12 +02:00
Daniele Teti
585207e8c5 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2021-04-07 09:16:45 +02:00
Daniele Teti
f736c72e5b [+] Regression for "with spaces". More work needed. 2021-04-07 09:16:28 +02:00
João Antônio Duarte
b0df0b1f5a [+] Improved SnakeCase conversion 2021-04-06 19:50:50 -03:00
Daniele Teti
3f4d006295 [+] added default parameter to StrToJSON* functions 2021-04-06 19:21:53 +02:00
Daniele Teti
5516b49345 no message 2021-04-05 19:35:46 +02:00
João Antônio Duarte
468229545d [+] Added constant for HTTP status code 429 2021-03-26 11:03:22 -03:00
Daniele Teti
8ec3d5dbad Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2021-03-24 11:01:04 +01:00
Daniele Teti
e4a3ed87da Removed the standard log line in case of CustomExceptionHandling; now the custom handler can write all, and only, the logs it needs 2021-03-24 10:58:20 +01:00
João Antônio Duarte
d4ffc1329f [+] Improved exception return when executing request in TMVCRESTClient 2021-03-23 09:23:56 -03:00
Daniele Teti
5a83991991 [+] Added XML support in TMVCActiveRecord for backend PostgreSQL 2021-03-20 00:30:20 +01:00
João Antônio Duarte
d101ff8fcd [+] Improved Swagger Json Schema generation 2021-03-04 10:58:52 -03:00
Daniele Teti
7870b20907 [+] Improved built runner 2021-03-04 14:29:13 +01:00
Daniele Teti
b845afc7af [+] Improved folder detect in static files middleware 2021-03-03 23:16:55 +01:00
Daniele Teti
e8a08a4a78 https://github.com/danieleteti/delphimvcframework/issues/488 2021-03-03 18:42:59 +01:00
Daniele Teti
2db238918e [+] Improved proxy generation routes for JSONRPC 2021-03-02 18:03:08 +01:00
Daniele Teti
4139fc4a26 [+] Added URLEncode, URLDecode 2021-02-25 10:50:57 +01:00
Daniele Teti
244c70084e [+] Improved ThreadSafeQueue
[+] Added MVCJSONRPCAllowGET attribute
2021-02-23 18:00:32 +01:00
João Antônio Duarte
779bbee6df [+] Fix https://github.com/danieleteti/delphimvcframework/issues/484 2021-02-16 19:09:46 -03:00
Daniele Teti
c55bfea9da [+] Small improvement in custom type serialisers 2021-02-15 18:28:45 +01:00
Daniele Teti
6b0b09b5bb [+] Added type aliases for generic types registered as custom type serializer 2021-02-15 18:17:39 +01:00
Daniele Teti
444628ef5b [+] FIX for LRU 2021-02-12 18:48:50 +01:00
Daniele Teti
dbd46c8042 [+] More test for LRUCache 2021-02-12 18:44:43 +01:00
Daniele Teti
088b8b3240 [+] improved unit test architecture 2021-02-10 11:26:14 +01:00
João Antônio Duarte
618a087c86 Small improvement to get the URL in TMVCRESTClient 2021-02-05 16:03:33 -03:00
Daniele Teti
2c79ff6c6a [+] Unit test refactoring 2021-02-04 14:11:33 +01:00
Daniele Teti
4b8491a47c [+] Small optimizations in router and core 2021-02-03 16:04:36 +01:00
Daniele Teti
d1b2970d28
Merge pull request #474 from joaoduarte19/path_prefix_improvements
Changed how PathPrefix is used in calculating the method route
2021-02-03 15:23:41 +01:00
Sven Harazim
6d70d49bec
Update MVCFramework.Server.Impl.pas 2021-02-03 13:21:01 +01:00
Sven Harazim
027a1d93a2 fix for #403 and MVCFramework.Server.Impl 2021-02-03 13:19:05 +01:00
João Antônio Duarte
e038f43543 Changed how PathPrefix is used in calculating the method route 2021-01-29 15:30:09 -03:00
João Antônio Duarte
65d03ad065 fix for https://github.com/danieleteti/delphimvcframework/issues/472 2021-01-28 11:56:20 -03:00
Daniele Teti
77ad5ecd10 [+] fix for nil objects in lists during serialization
[+] preparing for 3.2.2-nitrogen
2021-01-27 20:25:35 +01:00
João Antônio Duarte
196e7cf59f Fix for https://github.com/danieleteti/delphimvcframework/issues/470 2021-01-22 11:37:57 -03:00
João Antônio Duarte
6d1c216924 Merge remote-tracking branch 'upstream/master' 2021-01-15 19:47:28 +01:00
João Antônio Duarte
5faeff0868 Expose headers in TMVCRESTClient. 2021-01-15 19:31:33 +01:00
João Antônio Duarte
5f4c708865 Merge remote-tracking branch 'upstream/master' 2021-01-13 18:49:05 -03:00
João Antônio Duarte
166c8c669d Fixed property deserialization of type TMVCStringDictionary 2021-01-13 18:43:16 -03:00
João Antônio Duarte
46104f0158 Added comment about the use of the gLocalTimeStampAsUTC variable 2021-01-11 15:29:31 -03:00
João Antônio Duarte
ccd144e485 Add parameter to set local time as UTC 2021-01-11 14:35:44 -03:00
João Antônio Duarte
b3bc2b795f Removed Warning under Linux compilation: W1073 Combining signed type and unsigned 64-bit type - treated as an unsigned type 2021-01-07 14:39:46 -03:00
Daniele Teti
118e26f89d [+] Fixed some compilation problems with Delphi 10.1 Berlin 2021-01-05 17:01:32 +01:00
João Antônio Duarte
0f7c682bf7 Added Swagger support for DMVCFramework nullable types. Fix #453 2020-12-29 09:49:43 -03:00
Daniele Teti
d9b20d8ce4 Fix border case when using string and widestring params in TMVCActiveRecord 2020-12-18 14:41:01 +01:00
João Antônio Duarte
112bf48101 Added request hooks to TMVCRESTClient 2020-12-16 20:05:39 -03:00