Commit Graph

154 Commits

Author SHA1 Message Date
Daniele Teti
ee6075d6a2 Improved MVCARAntitiesGenerator (WIP), Improved TMVCActiveRecord.Merge method 2022-08-28 13:06:16 +02:00
Daniele Teti
06ab7af8c8 Improved ActiveRecord middleware (better connections handling in case of huge traffic). New sample "middleware_activerecord" 2022-08-13 15:01:15 +02:00
Daniele Teti
31dee93a3e https://github.com/danieleteti/delphimvcframework/issues/565 2022-08-09 13:02:29 +02:00
Daniele Teti
945f807598 https://github.com/danieleteti/delphimvcframework/issues/564 2022-08-02 23:57:09 +02:00
Daniele Teti
b109c6fed8 https://github.com/danieleteti/delphimvcframework/issues/335 2022-08-02 17:07:14 +02:00
Daniele Teti
4a509b0eb0 - Improved nullable types Python generator
- Unit test refactoring
2022-08-01 19:11:42 +02:00
João Antônio Duarte
140b70ba33 + Adjustments for Delphi Seattle/Berlin compatibility 2022-07-15 15:42:29 -03:00
Daniele Teti
6d0ef7d5a6 + Implemented unit test for GUID support (WIP) 2022-06-23 14:34:01 +02:00
Daniele Teti
ce4616a398 + GUID support for PK (WIP) 2022-06-19 18:57:47 +02:00
Daniele Teti
dfbcadb8fa + First merge with "GUID support for Primary Keys" 2022-06-16 14:05:01 +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
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
07bd70c5ed + Improved TMVCActiveRecord Interbase support 2022-01-26 23:00:32 +01:00
Daniele Teti
a8ce1bb25b + Updated copyright for 2022 2022-01-04 15:44:47 +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
07e16c1e1f - added AddDefaultConnection overload
- added helper methods to IMVCRESTResponse
2021-10-20 11:29:49 +02:00
Daniele Teti
e3eb26e04a + added more unit test for TMVCActiveRecord.Merge method 2021-09-23 22:52:28 +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
João Antônio Duarte
1914c4c8e4 [+] Fix https://github.com/danieleteti/delphimvcframework/issues/501 2021-08-02 09:53:11 -03:00
João Antônio Duarte
9fc7a0111e [+] Fix for compatibility with delphi Berlin. 2021-07-16 18:55:33 -03:00
Daniele Teti
ac2a03a804 [+] added RaiseIfNotFound parameter in TMVCActiveRecord.Update and TMVCActiveRecord.Delete 2021-06-27 15:14:37 +02: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
7a9aa77ed2 [+] Improved MVCAREntitiesGenerator 2021-04-08 00:33:27 +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
5516b49345 no message 2021-04-05 19:35:46 +02:00
Daniele Teti
118e26f89d [+] Fixed some compilation problems with Delphi 10.1 Berlin 2021-01-05 17:01:32 +01:00
Daniele Teti
d9b20d8ce4 Fix border case when using string and widestring params in TMVCActiveRecord 2020-12-18 14:41:01 +01:00
Daniele Teti
afabd2fde6 Better internal unit test irganization for TMVCActiveRecord 2020-12-11 18:53:37 +01:00
Daniele Teti
e5310e626f https://github.com/danieleteti/delphimvcframework/issues/435 2020-10-19 19:41:16 +02:00
Daniele Teti
e0a1a0e950 Added "RaiseExceptionIfNotAvailable" params in TMVCActiverecordConnectionRegistry.GetCurrent 2020-10-17 23:19:05 +02:00
Daniele Teti
057519d550 https://github.com/danieleteti/delphimvcframework/issues/424 2020-09-30 11:16:10 +02:00
Daniele Teti
e9052d9950 Added overload on ExecuteRequest and ExecuteNotification for JSONRPCExecutor - added ClientIP in trace middleware added more checks in activerecord for forgotten attributes 2020-09-25 00:32:55 +02:00
Daniele Teti
761e778aa7 Fixed some package problems for Rio and Sydney 2020-08-30 08:52:21 +02:00
Daniele Teti
a258bae533 Added dynamic properties accessors to TMVCActiveRecord descendants. 2020-08-28 18:04:29 +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
a690bea612 Added foReadonly and foWriteOnly os MVCActiveRecord Field Options 2020-08-11 00:54:42 +02:00
Daniele Teti
0d7fa465fc TableName is no more serialized in ActiveRecord 2020-07-18 20:14:58 +02:00
Daniele Teti
fb87e9e1f4 https://github.com/danieleteti/delphimvcframework/issues/401 2020-07-02 23:19:36 +02:00
Daniele Teti
aaa34ca410 Added "TMVCActiveRecord.SelectOneByRQL", Removed "Context.Request.HeaderNames" 2020-06-22 15:24:20 +02:00
Daniele Teti
aae0105698 Added support for Count(RQL) for all SQLGenerators and all supported RDBMSes 2020-06-19 19:31:34 +02:00
Daniele Teti
92fbdf0043 Added RQL->SQL without order by and limit 2020-06-19 17:48:47 +02:00
Daniele Teti
2787250adb Added Children objects management in TMVCActiveRecord 2020-05-04 09:42:16 +02:00
Daniele Teti
3c2c7e600e Better exception messages for deserialization errors 2020-04-09 17:01:33 +02:00
Daniele Teti
e56fb272a9 https://github.com/danieleteti/delphimvcframework/issues/348
Just for PostgreSQL
2020-04-08 18:04:45 +02:00
Daniele Teti
f99590f50f https://github.com/danieleteti/delphimvcframework/issues/350 2020-04-02 19:26:04 +02:00
Daniele Teti
d577221a71 Now ActiveRecord PrimaryKey can be string, nullablestring, integer, nullableinteger, int64, nullableint64 2020-03-31 16:23:22 +02:00
Daniele Teti
1fd7740048 Added JSONRPC Hooks - Renamed RenderXXX Methods 2020-03-30 13:30:45 +02:00
Daniele Teti
99664f141b Refactoring of some internals structures of TMVCActiveRecord 2020-03-25 11:35:25 +01:00
Daniele Teti
f4e27a2179 Added JSONRPC HOOKS 2020-03-24 17:55:25 +01:00
Daniele Teti
71b6108149 Improved deserialization in cases of derived properties 2020-03-23 18:51:57 +01: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
3218492a6c Correction when converting TField ftGUID to property TGUID in Delphi 10.1 Berlin
Removal of warnings in Delphi 10.1 Berlin
2020-02-21 16:14:15 -03:00
Daniele Teti
c36cd13988 3.2.0-boron-RC4 2020-02-05 23:46:38 +01:00
Daniele Teti
4a78322aef Improvement is Nullable primary keys. Added method "Store" 2020-02-03 13:19:55 +01:00
Daniele Teti
3388354743 Serialization support for all the types in MVCFramework.Nullables 2020-02-03 10:51:40 +01:00
Daniele Teti
4eb5444cb6 Added sequence support fo mvcactiverecord (required for interbase, optional for other dbms) 2020-01-08 15:30:10 +01:00
Daniele Teti
8144baf40c Nulls support in MVCActiveRecord (check activerecord_showcase sample) 2020-01-06 16:49:18 +01:00
Daniele Teti
b097121ee7 First working version of nullable support for mvcactiverecord 2020-01-04 12:54:38 +01:00
Daniele Teti
fdcb617801 Improved error messages for ActiveRecord 2019-12-17 17:34:23 +01:00
Daniele Teti
3793a42b5d Improved router ACCEPT resolution - Improved MSSQLServer support for nvarchar(max) data type 2019-12-17 14:52:11 +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
6297195a5f Fixed FirebirdSQL generator to work with transient fields with no name 2019-11-05 16:57:22 +01:00
Daniele Teti
7997391212 TDataSetHolder.Items -> data
Added new custom serializer for TDataSetHolder
2019-09-30 00:06:23 +02:00
Daniele Teti
44deb6ce83 Removed some hints for old version of Delphi 2019-08-05 12:55:57 +02:00
Daniele Teti
cc64a564a8 FIXED compatibility problems with XE7 2019-08-02 12:32:31 +02: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
Pedro
0a49f8e539 Merge branch 'master' of https://github.com/pedrooliveira01/delphimvcframework 2019-03-18 10:08:43 -03:00
Pedro
45119236cf Add event OnBeforeExecuteSQL (MVCFramework.ActiveRecord.pas)
- For modify SQL before execute

Remove warning in MapTValueToParam

Add Handle UpdateEntity (MVCFramework.ActiveRecordController.pas)
2019-03-18 10:08:34 -03:00
Pedro Oliveira
3afd30b595 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-03-17 13:30:10 -03:00
Daniele Teti
dc2328c89a Added Dict function to easily return a dictionary of strings.
Improved exceptions rendering.
2019-03-16 17:21:42 +01:00
Pedro
10359e9e62 Add into MapColumnToTValue ftFloat 2019-03-14 08:14:12 -03:00
Pedro
eb27bdabaf Fixed compatibility with linux (NEXTGEN) 2019-03-13 08:38:04 -03:00
Pedro
c6fa32bcb0 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-03-06 15:27:09 -03: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
Pedro
3878be7387 . 2019-02-25 08:48:36 -03:00
Daniele Teti
cfb4a3268c - Small fixes on ActiveRecordController and PostgreSQL SQLGenerator 2019-02-21 20:27:43 +01:00
Daniele Teti
a57cc3581f - New! TMVCActiveRecord.DeleteAll deletes all the records from a table
- New! `TMVCActiveRecord.DeleteRQL` deletes records using an `RQL` expression as `where` clause.
- New! Microsoft SQLServer Support in ActiveRecord and RQL (thanks to one of the biggest Delphi based company in Italy which heavily uses DMVCFramework)
- Improved! `ActiveRecordShowCase` sample is much better now.
2019-02-21 18:12:01 +01:00
Pedro
11a286f3db Pedro <pedrooliveira__@hotmail.com> 2019-02-15 09:21:11 -02:00
Daniele Teti
3a0bfcdee7 Now primary Key is the first field in the ActiveRecord Mapping (if exists) 2019-02-05 18:08:54 +01:00
Daniele Teti
1b3dc4ae2c - FIXes for Delphi 10.0 Seattle
- New! `TMVCActiveRecord.Count` method (e.g. `TMVCActiveRecord.Count(TCustomer)` returns the number of records for the entity mapped by the class `TCustomer`)
- Change! `TMVCACtiveRecord.GetByPK<T>` raises an exception if the record is not found
- New! `contains` clause has been added in the RQL compiler for Firebird and Interbase
- New Installation procedure! Just open the project group, build all and install the design-time package (which is `dmvcframeworkDT`)
2019-01-18 18:18:52 +01:00
Daniele Teti
98197beb01 Added TMVCActiveRecord.Count 2019-01-13 19:18:57 +01: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
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
Daniele Teti
29f03e819e Added ability to automatically expose PODO through JSON-RPC interface
FIX https://github.com/danieleteti/delphimvcframework/issues/160
FIX https://www.facebook.com/groups/delphimvcframework/?multi_permalinks=1951719131577883&comment_id=1952551261494670&notif_id=1542833848942998&notif_t=feedback_reaction_generic
2018-11-21 22:14:50 +01:00
Daniele Teti
505710f9cd Small fixes to custom stream json serializer 2018-11-09 18:12:29 +01:00
Daniele Teti
07255a8b23 Refactored MVCActiveRecord framework, added *.SQLGenerators.* units 2018-11-02 21:43:18 +01:00
Daniele Teti
70c1e55e94 New MVCActiveRecord showcase samples
New Unit Tests for Compression in TRESTClient
Updated RQL Parser and compilers
New EntitiesGenerator (alpha)
Improved unittests
Updated landing page
2018-10-23 16:18:50 +02:00
Daniele Teti
96bbb83209 Improved support for MySQL in MVCActiveRecord
Better multi thread handling in MVCActiveRecord
2018-10-14 18:24:07 +02:00