Commit Graph

1317 Commits

Author SHA1 Message Date
JakobYde
d804f47f97
Added serialization/deserialization of lists of simple types as root (#761) 2024-07-19 18:30:02 +02:00
Daniele Teti
cc0a5d1281 Improves CustomLogger sample 2024-07-08 21:07:13 +02:00
Daniele Teti
8ac772f871 NEW SAMPLE: Render Binary Contents 2024-07-08 12:57:06 +02:00
Daniele Teti
e2908e388d Removed old sample about jsonrpc 2024-07-02 19:08:56 +02:00
Daniele Teti
113fada45a Delphi 10.2 Tokyo Compatibility Fix (Thanks Mark Lobanov) 2024-06-25 12:02:47 +02:00
Daniele Teti
072fd18392 Removed ENTER/EXIT log entries from LoadDefaultConfig and LoadSystemController 2024-06-19 23:14:01 +02:00
Daniele Teti
f795327a7e Urlmapped boolean parameters accepts: true/false, yes/no, 1/0 as truthy and falsy values 2024-06-19 14:24:01 +02:00
Daniele Teti
a44b26c779 https://github.com/danieleteti/delphimvcframework/issues/754 2024-06-10 00:18:02 +02:00
Daniele Teti
636ad27a83 Added Wizard support for MVCNameCaseDefault 2024-06-09 23:53:25 +02:00
Francisco Zanini
6e07eb8b4f
Fixes serialization of enumerations from dataset (#755)
Co-authored-by: Francisco Zanini <francisco@digifort.com.br>
2024-06-09 18:46:01 +02:00
Daniele Teti
07e16a339f Added MVCNameCaseDefault global config variable (with updated tests and wizard) 2024-06-08 23:05:46 +02:00
Daniele Teti
b6b2a1818e Added more "Response Methods" 2024-05-27 23:00:52 +02:00
Daniele Teti
bdeca614c4 Updated sqids ext lib 2024-05-27 09:07:37 +02:00
Daniele Teti
1f06210979 Added sample for nested and internal partials with Mustache 2024-05-23 15:30:50 +02:00
Daniele Teti
43478dbdbf Added TMVCSqidsEncoder, IMVCSqidsEncoder and relative sample (sqids_showcase.dproj) 2024-05-23 10:04:31 +02:00
Daniele Teti
9edc977bc4 Added OKResponse(const Message: String): IMVCResponse; 2024-05-23 10:02:54 +02:00
Daniele Teti
1a10545794 Improved Sqids in not-nullable types 2024-05-14 23:44:08 +02:00
Daniele Teti
9cd1181e88 Better handling of sqids in nullable types 2024-05-14 23:26:10 +02:00
Daniele Teti
d06d470e45 Added "MVCSerializeAsSqids" attribute. Added Sqids support in Wizard. Renamed ":sqid" converter to ":sqids". Added more tests. 2024-05-10 16:16:47 +02:00
Daniele Teti
7420015c5c Sqids support - base classes + converter mechanism. Added ":sqid" converter. 2024-05-09 23:50:01 +02:00
Daniele Teti
fe5f7d4a72 Preparing for dmvcframework-3.4.2-magnesium-rc1 2024-05-03 00:13:08 +02:00
Daniele Teti
9b414b8665 Delphi Tokyo Compat 2024-05-02 19:14:59 +02:00
rjantz2
d0c3414a5e
Fix crash caused by null value set as a nested record. (#750) 2024-05-01 11:03:49 +02:00
Daniele Teti
d743333741 Updated dmustache to version 2 2024-04-29 15:40:45 +02:00
Marcelo Varela
493d2f21ae
Add Http Only Cookie support (#738)
* HTTP Only Cookie support

* Unit name

* Without chaning the formatting

* Without chaning the formatting

* On logoff check if UseHttpOnly is true
2024-04-29 14:55:58 +02:00
Francisco Zanini
f0bf273e0b
Check if the field is writeable when mapping value to param (#735)
* Return 401 instead 403 when authenticating an user

* Check if the field is writeable when mapping value to param

---------

Co-authored-by: Francisco Zanini <francisco@digifort.com.br>
2024-04-29 14:48:31 +02:00
Daniele Teti
dc29941164 https://github.com/danieleteti/delphimvcframework/issues/746 2024-04-29 12:50:25 +02:00
Daniele Teti
8e7e14151d Profiling can be enabled by the wizard 2024-04-24 17:03:05 +02:00
Daniele Teti
b5b18792d4 Added HTTP Status Code in logs in case of global exception handling 2024-04-23 14:35:20 +02:00
Daniele Teti
2a7a840b13 Added OnSendData callback in TMVCRESTClient 2024-04-23 14:34:40 +02:00
Daniele Teti
2559a00084 Aligned sample data database for activerecorddb 2024-04-22 18:11:53 +02:00
Daniele Teti
c297081c07 Polished some log messages for dotEnv 2024-04-19 18:17:57 +02:00
Daniele Teti
453d4571e2 Wizard can generate or not the dotEnvConfigure call - if not called, a defuault configuration for dotEnv is provided. 2024-04-19 15:58:19 +02:00
Daniele Teti
4c191c3742 Preparing for release 2024-04-19 13:21:45 +02:00
João Antônio Duarte
eba712e902 Fix Linux compilation 2024-04-17 08:11:47 -03:00
João Antônio Duarte
0816f12ed8 Compatibility fix with Delphi 10.4 Sydney 2024-04-17 08:11:16 -03:00
Daniele Teti
d231ebf3cb Changed param order for RegisterType 2024-04-17 09:57:22 +02:00
Daniele Teti
563f184eb2 Code cleanup between TMVCRenderer and TMVCController 2024-04-16 16:39:41 +02:00
Daniele Teti
deff8e6d91 Simplifies content handling in Render(string) 2024-04-16 15:20:50 +02:00
Daniele Teti
80354984e5 Clean some comments 2024-04-16 15:20:18 +02:00
Daniele Teti
51a457e5ec Packages update 2024-04-16 09:30:19 +02:00
Daniele Teti
dea575f3df Modernized FileUpload sample 2024-04-10 17:12:42 +02:00
Daniele Teti
6d1ea32678 Fixed incompatibilities with Delphi Sydney and previous (thanks Mark Lobanov) 2024-04-10 14:19:21 +02:00
Daniele Teti
7332259f25 Default log size = 10KiB 2024-04-09 17:15:11 +02:00
Daniele Teti
9fe57246d4 foAutoGenerated is converted to [foDoNotInsert , foDoNotUpdate] 2024-04-09 17:05:22 +02:00
Daniele Teti
ac78f902ca Small refactoring of JSONRPC controller 2024-04-05 00:01:04 +02:00
Daniele Teti
ff8124742e Sample articles_crud_server updated to use db logger 2024-04-04 16:21:45 +02:00
Daniele Teti
af0984e050 Added
function OKResponse(const Body: TObject): IMVCResponse; overload;
    function OKResponse: IMVCResponse; overload;
    function NotFoundResponse(const Body: TObject): IMVCResponse; overload;
    function NotFoundResponse: IMVCResponse; overload;
    function NoContentResponse: IMVCResponse;
    function UnauthorizedResponse: IMVCResponse;
    function BadRequestResponse: IMVCResponse; overload;
    function BadRequestResponse(const Error: TObject): IMVCResponse; overload;
    function CreatedResponse(const Location: string = ''; const Body: TObject = nil): IMVCResponse;
    function AcceptedResponse(const Location: string = ''; const Body: TObject = nil): IMVCResponse;
    function ConflictResult: IMVCResponse;
    function InternalServerErrorResponse: IMVCResponse;
2024-04-03 16:11:38 +02:00
Daniele Teti
8c80ed7a3e Cleanup TransactionContext, better exception message for no data found. 2024-04-03 14:41:29 +02:00
Daniele Teti
e370718a34 Added EMVCActiveRecordTransactionContext 2024-04-03 09:59:53 +02:00
Daniele Teti
4349f20d95 TransactionContext (WIP) 2024-03-31 18:09:13 +02:00
Daniele Teti
b41e245bbc articles_crud migrated to services container 2024-03-30 00:30:14 +01:00
Daniele Teti
6142c2d929 Container (WIP) - almost ready to be merged into master 2024-03-28 23:57:59 +01:00
Daniele Teti
1920249eb9 ServiceContainerDecorator (WIP) 2024-03-28 16:31:44 +01:00
Daniele Teti
9035aed2e7 ServiceContainer (WIP) - removed params in Resolve 2024-03-27 00:24:00 +01:00
Daniele Teti
cf2450465b ServiceContainer (WIP) 2024-03-27 00:10:48 +01:00
Daniele Teti
b592963a78 ServiceContainer (wip) 2024-03-25 00:15:50 +01:00
Daniele Teti
8aa4ab5f7b ServiceContainer (WIP) - singleton is "singleton per webmodule" 2024-03-24 16:58:08 +01:00
Daniele Teti
f69583373a Injector (WIP) 2024-03-21 18:57:41 +01:00
Daniele Teti
fea6b0c273 Added support for TSQLTimeStampOffset in dataset derialization and deserialization 2024-03-19 16:05:17 +01:00
Daniele Teti
cbc971aaf6 Any exception in TMVCWebResponse.Destroy on logged 2024-03-14 15:03:51 +01:00
Daniele Teti
17747dcf19 Completed new field options (foDoNot*) 2024-03-13 16:45:09 +01:00
Daniele Teti
ab92225d12 First implementation for foDoNotInsert and foDoNotUpdate 2024-03-13 13:00:11 +01:00
João Antônio Duarte
2793808115 Swagger: adding support for defining request body parameters as an array of objects.
Fix https://github.com/danieleteti/delphimvcframework/issues/713
2024-03-09 18:24:20 -03:00
Daniele Teti
eb8d535c9b Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2024-03-08 16:17:42 +01:00
Daniele Teti
3dc4592837 Removed ViewDataSets and all related methods from TMVCController. Use ViewData instead.
https://github.com/danieleteti/delphimvcframework/issues/729
2024-03-08 16:17:30 +01:00
Graham Murt
ec5a804576
Fixed issue where an exception is raised if KEYS() finds no matches and returns null (#733) 2024-03-08 15:26:35 +01:00
Daniele Teti
b9fcc04647 https://github.com/danieleteti/delphimvcframework/issues/728 2024-03-08 12:10:15 +01:00
Francisco Zanini
a7ea6c8369
Return 401 instead 403 when authenticating an user (#734)
Co-authored-by: Francisco Zanini <francisco@digifort.com.br>
2024-02-27 21:17:34 +01:00
Daniele Teti
833195243e Added proper handling of TimeStampWithOffset 2024-02-23 00:30:04 +01:00
Daniele Teti
02c0ae0f37 Added TEXT serializer - Improved content type handling in case of errors and no_route_found cases. 2024-02-22 19:18:34 +01:00
Daniele Teti
f9076a4732 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2024-02-21 23:40:34 +01:00
Daniele Teti
b0e3cfc424 Added functional utils: Filter, Map, Reduce, ForEach 2024-02-21 23:40:25 +01:00
Graham Murt
0ceb7180fa
Added DeleteCacheKey method to TMVCCacheController (#731)
Deletes the specified key(s) from the Redis cache. Pattern matching can be used to delete multiple keys
2024-02-21 23:33:25 +01:00
Daniele Teti
cc5789d56e Now "NoRouteFound" error returns the correct content-type 2024-02-21 14:41:25 +01:00
Daniele Teti
49bbce0959 URLEncoding uses new TNetEncoding broader 2024-02-14 18:03:44 +01:00
Daniele Teti
2be3ba60b7 Removed SimpleConsoleAppender from MOBILE platforms 2024-02-14 18:02:25 +01:00
Daniele Teti
b2ce859b4e https://github.com/danieleteti/delphimvcframework/issues/730 2024-02-12 18:11:48 +01:00
Daniele Teti
8b0d370a85 Merge commit '547fec74b9dcbf32887aad4fdd6348685c654ef2' into feature_filters
# Conflicts:
#	sources/MVCFramework.Filters.CORS.pas
#	sources/MVCFramework.pas
#	unittests/general/Several/LiveServerTestU.pas
2024-02-05 16:30:02 +01:00
Daniele Teti
d1b14eb24a Optimized pooling and cache of frequently used object in mustache and partitioning 2024-01-31 16:00:56 +01:00
Daniele Teti
b42feddffd Less string concats in router 2024-01-25 19:32:04 +01:00
Daniele Teti
745cf3c24b ThereIsBody -> HasBody 2024-01-25 19:31:27 +01:00
Daniele Teti
59afaec81a Updated wizard to use ConsoleLogger 2024-01-24 00:14:26 +01:00
Daniele Teti
40c445668c Now console app logs on console 2024-01-23 17:25:32 +01:00
Daniele Teti
0ccf2b699d UseCommonHeaders for Page and PageFragment 2024-01-23 17:19:48 +01:00
Daniele Teti
7a11512347 Breaking Change! TMVCActiveRecordController uses (and requires) TMVCActiveRecordMiddleware - it doesn't require a TFDConnection on constructor 2024-01-20 10:36:45 +01:00
Daniele Teti
dbe638222e new beta version 3.4.2-magnesium-beta 2024-01-09 09:24:47 +01:00
Daniele Teti
40b709b318 https://github.com/danieleteti/delphimvcframework/issues/721 2024-01-08 16:39:49 +01:00
Daniele Teti
300c7b4d13 Version bump 3.4.1-sodium 2024-01-06 15:23:07 +01:00
Daniele Teti
a2e19a7689 FIX some encoding problems introduced by VSCode replace-in-files >:| 2024-01-03 14:31:28 +01:00
Daniele Teti
f23dd2fa88 Added support for table name and field name with spaces for MySQL and MariaDB 2024-01-03 11:39:53 +01:00
Daniele Teti
90dcd3bdfe Copyright updated to 2010-2024 2024-01-02 17:04:27 +01:00
Daniele Teti
b761b9ac9a Improved encoding caching 2023-12-07 12:14:08 +01:00
Daniele Teti
1121eb4f04 https://github.com/danieleteti/delphimvcframework/issues/716 2023-12-04 16:33:14 +01:00
Daniele Teti
28bd67477e Improved error message in case of HTML responses 2023-11-29 11:22:12 +01:00
Daniele Teti
e0190b3fe8 foVersion (WIP + new sample) 2023-11-27 18:11:49 +01:00
Daniele Teti
3a748821ce Aligned for foVersion 2023-11-27 12:04:30 +01:00
Daniele Teti
d68b102d14 Added TMVCActiveRecord.GetCustomTableName which allows to overwrite the tablename defined in the MVCTableName attribute. Just overwrite the method in descendant classes and return the tablename to use for the current instance. 2023-11-23 22:58:07 +01:00
Daniele Teti
5aa1e07056 Added bit Time Professionals ITA as sponsor 2023-11-13 16:46:35 +01:00
Daniele Teti
4b9cb8b5be Defined conditional "ATHENSORBETTER" (was DELPHI12ORBETTER) 2023-11-07 22:41:44 +01:00