Commit Graph

180 Commits

Author SHA1 Message Date
Daniele Teti
a8ce1bb25b + Updated copyright for 2022 2022-01-04 15:44:47 +01: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
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
Daniele Teti
3f4d006295 [+] added default parameter to StrToJSON* functions 2021-04-06 19:21:53 +02: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
6b0b09b5bb [+] Added type aliases for generic types registered as custom type serializer 2021-02-15 18:17:39 +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
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
Daniele Teti
967a5322a1 https://github.com/danieleteti/delphimvcframework/issues/432 2020-11-27 15:13:17 +01:00
Daniele Teti
6ea08357d3 https://github.com/danieleteti/delphimvcframework/issues/430 2020-11-13 09:31:20 +01:00
Daniele Teti
11c7b397d4 Improved CRUD sample 2020-11-05 15:42:31 +01:00
Daniele Teti
8eaaeac230 Added mechanism to describe dataset metadata (TDatasetHelper) and to initialize a TFDMemTable with such metadata (TFireDACUtils.CreateDataSetFromMeta). Added a new sample to show the mechanism. 2020-09-23 23:33:30 +02:00
Daniele Teti
311be67323 New functionality explained in the jsonrpc samples (TMultiDataset) 2020-09-22 15:18:22 +02:00
Daniele Teti
19fc11a16c https://github.com/danieleteti/delphimvcframework/issues/421 2020-09-21 12:42:38 +02:00
Juliomar Marchetti
5d21f243e6 bugfix
missing semicolon in directive {$ IFDEF NEXTGEN}
2020-09-15 09:16:58 -03:00
Daniele Teti
bee7777f6e Serialization layer refactoring 2020-09-11 13:37:45 +02:00
Daniele Teti
1437d22b9c Improved serialization with recursion 2020-09-11 13:01:56 +02:00
Daniele Teti
af4dc3119f test with internaljsonobject 2020-09-10 23:48:34 +02:00
Raphaël Emourgeon
fd4a545952 Handle RootNode when deserializing a collection of objects (BodyAsListOf). 2020-09-07 11:28:53 +02:00
Daniele Teti
72e3c06952 Removed TMVCRESTClient form samples 2020-09-03 19:57:00 +02:00
Daniele Teti
2f151d6364 Improved TDuckList to handle simple types too 2020-08-25 17:19:28 +02:00
Daniele Teti
7576ab8bf8 Added the ability to deserialize an object starting from an arbitrary node in the JSON (or other format) present in the request body.
Improved the primary key type handling for manual handling in MVCActiveRecord.
Improved activerecord_showcase sample.
2020-08-13 17:40:02 +02:00
Daniele Teti
c05cbfffb7 Improved JSON-RPC Hooks 2020-08-06 17:40:56 +02:00
Daniele Teti
f06ae5f11c Improved name casing resolution for JSON-RPC named params 2020-07-29 00:11:10 +02:00
Daniele Teti
70518f9a4b Relaxed test in deserialization of integer properties from json property of type string 2020-06-29 19:13:04 +02:00
Daniele Teti
a8ee598b9d Small refactoring before 3.2.0-boron final 2020-06-24 00:00:47 +02:00
João Antônio Duarte
a6ffb35b6f Added more tests for serializing/deserializing generic objects 2020-06-23 09:00:39 -03:00
Daniele Teti
7d07b99499 Added "JSON Object -> String property" deserialization 2020-06-22 18:09:12 +02:00
Daniele Teti
e76ece994e Small FIXES for ActiveRecordController 2020-06-18 14:49:06 +02:00
Daniele Teti
ab090a1d2f Changed default TMVCIgnoredFields from [] to nil (to fix a small compiler differences between Delphi Berlin and Tokyo+) 2020-05-19 00:49:34 +02:00
Daniele Teti
a1c6d82198 https://github.com/danieleteti/delphimvcframework/issues/378 2020-05-06 10:49:08 +02:00
Daniele Teti
e0e14be6e5 Added MVCDoNotDeSerializeAttribute (if marked with this attribute, a property is not deserialized) 2020-05-04 12:39:54 +02:00
Daniele Teti
ad339ab8ba Added SPAWebAppSupport parameter (default: true) to TMVCStaticFilesMiddleware 2020-04-30 11:26:32 +02:00
Daniele Teti
8fd7e92c20 Updated code templates for IDE expert 2020-04-29 18:45:01 +02:00
João Antônio Duarte
00f252852e NEXTGEN compilation fix 2020-04-27 11:25:50 -03:00
Daniele Teti
dd64ab4c49 Completed ObjectDict tests 2020-04-21 17:04:04 +02:00
Daniele Teti
d261edb622 Added ncPascalCase, improved ncCamelCase support, improved DataSet Serialization 2020-04-20 17:56:17 +02:00
Daniele Teti
f853b362b3 https://github.com/danieleteti/delphimvcframework/issues/362 2020-04-18 23:32:24 +02:00
Daniele Teti
fc525e9d97 https://github.com/danieleteti/delphimvcframework/issues/363 2020-04-18 15:04:27 +02:00
Daniele Teti
3c2c7e600e Better exception messages for deserialization errors 2020-04-09 17:01:33 +02:00
Daniele Teti
71b6108149 Improved deserialization in cases of derived properties 2020-03-23 18:51:57 +01:00
Daniele Teti
6e1978791f First public version of TMVCAPIBinder 2020-03-20 23:08:45 +01:00
João Antônio Duarte
cd162c5977 Exception handling when receiving value that does not exist in the mapped values.
Search for mapped values case insensitive
2020-03-13 11:58:04 -03:00
João Antônio Duarte
12fcc9b8b4 Warnings removal 2020-03-12 17:19:30 -03:00
Daniele Teti
406ee139fd Renamed "MVCEnumSerializationTypeAttribute" to "MVCEnumSerializationAttribute"
Added "DataTypeName" in MVCActiveRecord to better use specific RDBMS types (e.g. JSON / JSONP data type in PostgreSQL)
2020-03-12 20:37:48 +01:00
João Antônio Duarte
25d2a909ef Added ability to serialize/desserialize types enumerated by an array of mapped values 2020-03-12 14:24:20 -03:00
Andrea Ciotti
2bb620bec2 DataSetToJsonObject serializer: Added TFieldType.ftWord to the list of types to be serialized 2020-03-11 09:03:30 +01:00
Daniele Teti
42cf51b595 All serialization/deserialization unittests pass for nullables!! :-) 2020-02-03 12:11:42 +01:00
Daniele Teti
3388354743 Serialization support for all the types in MVCFramework.Nullables 2020-02-03 10:51:40 +01:00
Daniele Teti
8144baf40c Nulls support in MVCActiveRecord (check activerecord_showcase sample) 2020-01-06 16:49:18 +01:00
Daniele Teti
7552fb6c15 Added Map* methods to TMVCActiveRecord. Improved DataSet serialization for JsonDataObjects. 2019-11-27 19:04:06 +01:00
Daniele Teti
ff38df326d Added class helper for TJsonObject - new method LoadFromString 2019-11-06 15:08:29 +01:00
Daniele Teti
23a108896c JSON properties can be de/serialized verbatim by the default json serializer 2019-11-05 14:40:39 +01:00
Daniele Teti
7ce87edb51 dmvcframework 3.2.0-boron 2019-11-03 16:18:24 +01:00
Daniele Teti
3ccd6b6122 DMVCFramework package includes SwaggerDoc code. 2019-10-24 15:35:39 +02:00
João Antônio Duarte
db9cb7406b Added support for deserialize generic lists without MVCListOf attribute
Unit Tests Added
2019-10-14 18:11:08 -03:00
Daniele Teti
6bdf5547bc Added ToMVCList to wrap any object and try to use as list 2019-10-10 20:16:48 +02:00
João Antônio Duarte
58153c1abf Merge remote-tracking branch 'upstream/master' into serialize_interfaces
# Conflicts:
#	sources/MVCFramework.Serializer.JsonDataObjects.pas
#	sources/MVCFramework.pas
2019-10-09 19:59:04 -03:00
Daniele Teti
8dc7d98a14
Merge branch 'master' into serialization_enums 2019-10-10 00:02:02 +02:00
Daniele Teti
7997391212 TDataSetHolder.Items -> data
Added new custom serializer for TDataSetHolder
2019-09-30 00:06:23 +02:00
João Antônio Duarte
6a88ff38db Merge remote-tracking branch 'upstream/master' into serialization_enums 2019-09-25 11:43:22 -03:00
João Antônio Duarte
3a23d4edf9 Merge remote-tracking branch 'upstream/master' into serialize_interfaces
# Conflicts:
#	sources/MVCFramework.pas
2019-09-25 11:41:11 -03:00
Daniele Teti
701418e994 Added SerializationCallback to TMVCJsonDataObjectSerializer 2019-09-25 09:14:09 +02:00
João Duarte
ef64fbaa55 Improvement to serialize nested interfaces 2019-09-18 08:30:50 -03:00
João Duarte
a184165e47 * Serialization for interfaces
Added support for serialization of interface instances
Added unit test
2019-09-17 20:14:54 -03:00
Daniele Teti
b58d9ba22a https://github.com/danieleteti/delphimvcframework/issues/263 2019-09-01 12:15:36 +02:00
João Antônio Duarte
aeb82ebb63 attribute naming improvement 2019-08-13 15:55:51 -03:00
João Antônio Duarte
fd0e8a23e0 Added serialization support for enumerations like Enumeration Name or Enumeration Ordinality 2019-08-12 16:51:12 -03:00
Daniele Teti
ad38832746 https://github.com/danieleteti/delphimvcframework/issues/230 2019-07-07 17:25:31 +02:00
Daniele Teti
de441f63a3 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-07-06 19:33:24 +02:00
Daniele Teti
689dbdd997 Removed optional custom type serializer from the template 2019-07-06 19:33:11 +02:00
João Antônio Duarte
21b6edbd8d Added custom serializer for TGUID type fields.
Added unit test for this custom type
2019-06-26 14:31:53 -03:00
Daniele Teti
d554964260 Added optional serializers for TBitmap, TPNGImage and TJPEGImage. IDEExpert has been updated. 2019-06-25 17:33:02 +02:00
Daniele Teti
efd170d9ba Merge branch 'master' of https://github.com/pedrooliveira01/delphimvcframework
All conflicts have been fixed
2019-05-19 14:36:17 +02:00
Daniele Teti
01a8195485 FIX FOR RQL "in" clause
FIX FOR https://github.com/danieleteti/delphimvcframework/issues/219
2019-05-19 11:06:34 +02:00
Pedro
a3aa3a8897 Created Serialization and Deserialization of Array (only string and integer, need complete for another types)
Included a test unit "TestSerializeEntityWithArray" and "TestDeserializeEntityWithArray"
2019-05-17 11:15:18 -03:00
Daniele Teti
53bdb8acc0 Improved MVCActiveRecord 2019-05-16 00:17:19 +02:00
Daniele Teti
6a664d608c 3.1.1-beryllium-RC5 2019-05-09 21:00:26 +02:00
Daniele Teti
a05a599931 Simplified HATEOAS support 2019-05-08 09:11:08 +02:00
João Antônio Duarte
6f215e6f9c Fixed bug when serializing dataset. When the first dataset record has a field that is null, it would serialize all records in this field to null, even if the next records have data 2019-04-17 11:52:45 -03:00
Daniele Teti
77e78b24f3 ISSUE https://github.com/danieleteti/delphimvcframework/issues/205 2019-04-16 23:12:56 +02:00
Daniele Teti
d20ef3fe41 Added '/describe' to json-rpc
Added 'MVCInheritable' attribute
2019-04-03 09:45:31 +02:00
Daniele Teti
5da30ed243 Extended support for HATEOAS 2019-03-10 16:29:53 +01:00
Daniele Teti
beb059a0e3 Improved support for HATEOAS in renders 2019-03-08 09:34:03 +01:00
Daniele Teti
98d4b353f4 TMVCConfig.SaveToFile and TMVCConfig.LoadFromFile now use the default serializer 2019-03-08 07:15:58 +01:00
Daniele Teti
9ebb33969a - New overloads for all the Log* calls. Now it is possibile to call LogD(lMyObject) to get logged lMyObject as JSON.
- Added new unit tests for
- Improved `MVCEntitiesGenerator`
2019-03-05 20:57:25 +01:00
João Antônio Duarte
62ead877a6 Added JsonArray desserialization to TDataSet type field in Object 2019-02-22 14:22:52 -03:00
Régys Borges da Silveira
30a8d3f163 fixes to correct compile in Delphi Tokyo and Rio 2019-02-19 09:05:12 -03:00
Daniele Teti
cd7df5dd36 https://github.com/danieleteti/delphimvcframework/issues/157 2019-01-18 19:04:20 +01:00
joao.duarte
8edd6241e6 Bug fix when deserialize object with custom type and JSON with null value 2019-01-10 14:30:40 -02:00
Daniele Teti
8ed859b7d1 New build system based on pyinvoke 2019-01-08 12:48:53 +01:00
Daniele Teti
f64eebff6a Improvements to the JSON-RPC layer, added MAX_REQUEST_SIZE check and config key. UPdated IDE Expert to add the new config key in the generated code. 2018-12-17 00:40:27 +01:00
Daniele Teti
f6c4382291 JSON-RPC Refactoring 2018-12-12 14:48:35 +01:00
Daniele Teti
835fc651da changed serialization jsonrpc result 2018-12-12 11:00:52 +01:00
Daniele Teti
c5800b3354 Added dmvcframework package
Features freeze for 3.1 (lithium)
Working on the planned issues for this milestone https://github.com/danieleteti/delphimvcframework/milestones/3.1%20(helium)
2018-12-09 23:05:01 +01:00
Daniele Teti
d4a23e52fb Removed unit MVCFramework.TypesAliases.pas
Updated JsonDataObjects.pas
2018-11-24 16:57:04 +01:00