Commit Graph

591 Commits

Author SHA1 Message Date
Daniele Teti
6ce183e493
Merge branch 'master' into SwagDoc 2019-09-25 13:01:59 +02:00
Daniele Teti
701418e994 Added SerializationCallback to TMVCJsonDataObjectSerializer 2019-09-25 09:14:09 +02:00
João Duarte
530edca638 Added overload to render method for types Iinterfaces 2019-09-18 11:53:54 -03: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
698f34354c Added ResponseCreated, ResponseNoContent, ResponseAccepted 2019-09-01 20:36:36 +02:00
Daniele Teti
b58d9ba22a https://github.com/danieleteti/delphimvcframework/issues/263 2019-09-01 12:15:36 +02:00
Daniele Teti
fea37fed42 RenderCreated 2019-08-28 00:18:40 +02:00
Daniele Teti
69bec54b31 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-08-28 00:16:08 +02:00
viniciussanchez
4c1c78fa54 Added QueryParams property of type TDictionary<string, string> like C… 2019-08-23 08:42:20 -03:00
Daniele Teti
898fd91bc9 https://github.com/danieleteti/delphimvcframework/issues/268 2019-08-23 12:16:29 +02:00
Daniele Teti
f86cbcece0 TRESTClient.BasicAuthentication is enabled if UserName <> '' 2019-08-23 12:12:38 +02:00
Daniele Teti
0152d0aac9 FIX https://github.com/danieleteti/delphimvcframework/issues/270 2019-08-23 12:01:33 +02:00
João Antônio Duarte
aeb82ebb63 attribute naming improvement 2019-08-13 15:55:51 -03:00
João Antônio Duarte
a354a80032 improved exception returns 2019-08-13 11:57:42 -03:00
João Antônio Duarte
47a5c35560 Basic Authorization Header Decoding Improvements 2019-08-13 11:50:56 -03:00
João Antônio Duarte
ec2ce12089 Change in JWT middleware error return to be captured by TMVCEngine CustomHandlerException 2019-08-13 11:36:09 -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
João Antônio Duarte
f5d611e432 Bug fixes 2019-08-08 18:36:19 -03:00
Geoffrey Smith
e83f025b09 Merge remote-tracking branch 'joaoduarte1/middlewareswagger_dev' into SwagDoc 2019-08-06 11:01:57 +10:00
Geoffrey Smith
239486cce2 Re-order functions so inline can work 2019-08-06 10:54:45 +10:00
João Antônio Duarte
a8303809b8 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework into middlewareswagger_dev 2019-08-05 14:36:06 -03:00
João Antônio Duarte
2856063fd8 corrections in duplicate mappings 2019-08-05 11:59:35 -03:00
Geoffrey Smith
0d4b82eac3 Add JsonFieldFromRttiTypeInfo to simplify various methods 2019-08-06 00:25:30 +10:00
Geoffrey Smith
b6c75d2a5a Use Constructor parameter to pass in status info 2019-08-06 00:18:39 +10:00
Geoffrey Smith
c54c157dc7 Update Swagger Controller 2019-08-05 21:37:42 +10:00
Daniele Teti
44deb6ce83 Removed some hints for old version of Delphi 2019-08-05 12:55:57 +02:00
Geoffrey Smith
b793d5b65e Change MVCPathParam parameters to have Pattern instead of description 2019-08-03 14:26:57 +10:00
Geoffrey Smith
d9b0677788 Add Attribute with extra info about path parameter 2019-08-03 10:16:34 +10:00
João Antônio Duarte
992cefe92e Added MVCSwagJsonSchemaFieldAttribute to detail field schema when extracting JsonSchema from class 2019-08-02 15:54:52 -03:00
Daniele Teti
cc64a564a8 FIXED compatibility problems with XE7 2019-08-02 12:32:31 +02:00
João Antônio Duarte
85d5518ea1 Improved Swaggerdocapi example
Added JSonSchema creation from object in MVCSwagResponsesAttribute
2019-08-01 18:07:23 -03:00
João Antônio Duarte
439224da4f JWT authentication documentation improvements:
- JWT UrlSegment set to basic authentication format
2019-08-01 17:31:59 -03:00
João Antônio Duarte
69788525c2 improvements on swaggerdocapi example
Added security to methods with MVCRequiresAuthentication attribute
2019-07-31 08:40:11 -03:00
João Antônio Duarte
7d801d94a8 Security Definitions added to documentation when TMVCJWTAuthenticationMiddleware is added to Engine.
The SwaggerDocApi example is not yet functional, I will still make improvements to the example
2019-07-30 18:16:10 -03:00
Geoffrey Smith
e4f57686e2 Add Start of Clientside REST API Generator 2019-07-30 16:29:31 +10:00
João Antônio Duarte
13a88503c7 Initial commit of creation JsonSchema from Tclass 2019-07-29 17:50:12 -03:00
Geoffrey Smith
fcd04089dd Initial Commit of TMVCSwaggerController - Server Swagger Document creator 2019-07-29 23:50:09 +10:00
Geoffrey Smith
f406468754 Add Attributes used for documenting MVC Controllers and Data Structures 2019-07-29 23:47:12 +10:00
Geoffrey Smith
6029777b10 Add back units previously removed from uses clauses 2019-07-29 23:26:33 +10:00
João Antônio Duarte
72424b4910 Added Swag Parameter description 2019-07-29 10:09:55 -03:00
Geoffrey Smith
45acb0437c Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-07-29 22:10:09 +10:00
João Antônio Duarte
f56768d455 Fixes in adding JsonSchema to documentation 2019-07-29 08:58:08 -03:00
João Antônio Duarte
c88a0694ae Warnings Removal
Access violation fixes
2019-07-29 08:37:31 -03:00
João Antônio Duarte
8f86df526d Added API documentation with Swagger 2019-07-27 15:23:48 -03:00
Daniele Teti
0992ada70a https://github.com/danieleteti/delphimvcframework/issues/225 2019-07-27 00:57:37 +02:00
Daniele Teti
b183eddd81 Small improvements in GetContentFields 2019-07-26 21:30:36 +02:00
viniciussanchez
fc4966ef25 Added LowerCase in ContentField name 2019-07-26 14:37:18 -03:00
viniciussanchez
ca5278c4ac Adjusted lazy-loading TDictionary 2019-07-26 14:28:45 -03:00
viniciussanchez
7004afd101 ContentFields property created in class TMVCWebRequest 2019-07-26 13:59:07 -03:00
viniciussanchez
47a2a0592f Render procedure overload to accept StatusCode and JSON as a parameter. 2019-07-26 10:04:19 -03:00
viniciussanchez
338db990fd Remove System.JSON reference 2019-07-26 09:45:40 -03:00
viniciussanchez
ba9b896af8 AErrorMessage default is empty when AErrorCode is 204 (No content) 2019-07-26 09:42:57 -03:00
viniciussanchez
db5b505cf7 IETF - RFC 6750 #244 2019-07-26 08:51:11 -03:00
Daniele Teti
82ba7efa8a
Merge pull request #242 from joaoduarte19/jwt_improvements
JWT Token Encoding Enhancements
2019-07-26 09:34:11 +02:00
Daniele Teti
9470c85514 Some fixes after the merge of https://github.com/danieleteti/delphimvcframework/issues/241 2019-07-24 20:49:08 +02:00
Vinicius Sanchez
a2176c1600
IETF - RCF 7519
#245
2019-07-24 14:33:58 -03:00
Vinicius Sanchez
7acffd4fab
Implemented validation to not give error when not inform NotBefore and IssuedAt 2019-07-24 11:12:05 -03:00
Vinicius Sanchez
f15d02171e
IETF national convention - RFC 6750
#241
*If possible remove parameters to leave in IETF default*
2019-07-24 09:35:28 -03:00
Vinicius Sanchez
ca9cbba3cb
Update MVCFramework.Middleware.JWT.pas 2019-07-23 22:50:57 -03:00
Vinicius Sanchez
180dc2e988
#241 - RFC 6750
The POST verb is not required for Bearer requests. #241 - RFC 6750
2019-07-22 16:51:28 -03:00
João Antônio Duarte
856fa66118 when adding to the JWT Token a Payload containing special characters and accent was not decoded correctly by the client application. It has been fixed by encoding the Token as a Base64 with UTF-8 charset.
System.JSON was changed by JsonDataObjects in unit MVCFramework.JWT
2019-07-19 14:20:46 -03:00
Daniele Teti
56476d449e https://github.com/danieleteti/delphimvcframework/issues/229 2019-07-19 17:23:19 +02:00
Daniele Teti
9af7d3fb54
Merge pull request #236 from joaoduarte19/general_changes
Added parameter to inform string encoding.
2019-07-11 18:27:01 +02:00
Daniele Teti
d77c77758f https://github.com/danieleteti/delphimvcframework/issues/230 2019-07-08 19:26:45 +02: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
geoffsmith82
2e239baacb Remove unneeded Indy file references 2019-07-06 16:11:18 +10:00
João Antônio Duarte
15aa842bf2 Added parameter to inform string encoding. 2019-07-02 15:43:37 -03:00
João Antônio Duarte
4d218ef94a Added support for comparisons with null fields 2019-07-02 11:59:01 -03: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
7363304ba8 Added support for SQLite in MVCActiveRecord 2019-06-24 21:00:17 +02:00
Daniele Teti
0cbcbd51f7
Merge pull request #227 from joaoduarte19/jwt_improvements
JWT middleware improvements
2019-06-24 12:47:26 +02:00
Daniele Teti
cf46ee079e
Merge pull request #226 from geoffsmith82/OnParseAuthentication
Allow Authorization header to be set without getting EIdHTTPUnsupport…
2019-06-24 12:45:43 +02:00
Daniele Teti
935b5d4d70
Merge pull request #222 from marcelologica/master
No set param datatype on TFireDACUtils.ObjectToParameters method
2019-06-20 18:13:22 +02:00
João Antônio Duarte
ed3b2f9731 Added Boolean type support in RQLParser 2019-06-11 16:50:00 -03:00
João Antônio Duarte
d6ff2b5964 JWT Middleware Altered to Allow Insert custom headers Authentication, Username and Password 2019-06-11 14:42:03 -03:00
geoffsmith82
3b42395a1e Allow Authorization header to be set without getting EIdHTTPUnsupportedAuthorisationScheme 2019-06-06 14:54:15 +10:00
Marcelo Varela
b97f305d70 No set param datatype on TFireDACUtils.ObjectToParameters method 2019-05-29 16:27:50 -03: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
39741b08ec Small improvements on webrequest class 2019-05-19 14:20:15 +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
Pedro
b433abc9a3 Add FHTTP.Request.UserAgent when create FHTTP 2019-05-15 11:25:22 -03:00
Pedro
365034a067 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-05-13 13:38:34 -03:00
Daniele Teti
7b39d94537 Support for X-HTTP-Method-Override to work behind corporate firewalls. 2019-05-10 00:47:18 +02:00
Daniele Teti
6a664d608c 3.1.1-beryllium-RC5 2019-05-09 21:00:26 +02:00
Daniele Teti
f1ff9fa94c Sample for HATEOS 2019-05-08 20:20:25 +02:00
Daniele Teti
a05a599931 Simplified HATEOAS support 2019-05-08 09:11:08 +02:00
Daniele Teti
fc28b3ba5e Removed strings indexing 2019-05-02 17:39:17 +02:00
Pedro
231e10aa2f Forcar a inclusao no Create conter a primary key, evitar erro de banco 2019-04-20 09:32:31 -03:00
Daniele Teti
260445c902 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-04-20 12:10:45 +02:00
Daniele Teti
020cdbc0fa Added custom exception handling. Based on work of David Moorhouse (https://github.com/danieleteti/delphimvcframework/issues/191) 2019-04-20 12:10:33 +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
7715a60e8d https://github.com/danieleteti/delphimvcframework/issues/154 2019-04-16 23:36:58 +02:00
Daniele Teti
77e78b24f3 ISSUE https://github.com/danieleteti/delphimvcframework/issues/205 2019-04-16 23:12:56 +02:00
Daniele Teti
703043f67a
Merge pull request #206 from joaoduarte19/tmvccompressionmiddleware_fix
Correction in TMVCCompressionMiddleware
2019-04-03 09:49:05 +02:00
Daniele Teti
8c19e63f3d
Merge pull request #204 from joaoduarte19/rql_changes
RQL Changes
2019-04-03 09:46:42 +02:00
Daniele Teti
d20ef3fe41 Added '/describe' to json-rpc
Added 'MVCInheritable' attribute
2019-04-03 09:45:31 +02:00
João Antônio Duarte
9b240d36e4 Correction in TMVCCompressionMiddleware to not compress ResponseStream of type TFileStream 2019-04-01 18:03:55 -03:00
João Antônio Duarte
2f9f6cfffc Added tests for in operator in rql2sql tool 2019-03-25 11:29:35 -03:00
João Antônio Duarte
b25d8a97f9 Added RQL Operator in.
Example: RQL in(codperson,[1,2,3,4]) results WHERE (codperson IN (1,2,3,4))

Correction in MatchFieldStringValue to Generate Exception when finding end of string without closing quotes.
2019-03-25 11:11:56 -03:00
Daniele Teti
3a0981f207 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-03-19 12:06:35 +01:00
Daniele Teti
e86d004808 Compatibility Issues Fixed 2019-03-19 12:06:25 +01: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
8715a6f21c Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-03-13 09:20:33 -03:00
Pedro
eb27bdabaf Fixed compatibility with linux (NEXTGEN) 2019-03-13 08:38:04 -03:00
Daniele Teti
5da30ed243 Extended support for HATEOAS 2019-03-10 16:29:53 +01:00
Régys Borges da Silveira
09dab846aa Change into class helper TMVCStreamHelper to suporte VCL and FMX strings 2019-03-08 13:45:56 -03:00
Régys Borges da Silveira
15e9d11e7b - Fix to correct read the error message from server. 2019-03-08 10:27:47 -03:00
Daniele Teti
8ee3efc384 dmvcframework-3_1_1-beryllium-RC3 2019-03-08 09:49:33 +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
89ea997cda Removed System.JSON dependency from MVCFramework.Middleware.JWT.pas (thank you to joaoduarte19) 2019-03-06 22:28:22 +01:00
Pedro
c6fa32bcb0 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-03-06 15:27:09 -03:00
João Antônio Duarte
10b234666f Removed references to System.JSON
Improved return of exceptions
2019-03-06 13:38:26 -03:00
Daniele Teti
f7f0ce8548 Fixed! #164 2019-03-06 12:01:00 +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
Pedro
506a187418 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-02-25 08:51:35 -03:00
Pedro
3878be7387 . 2019-02-25 08:48:36 -03:00
Daniele Teti
75e975811b - Improved! In case of unhandled exception TMVCEngine is compliant with the default response content-type (usually it did would reply using text/plain).
- Fix! [issue184](https://github.com/danieleteti/delphimvcframework/issues/184).
2019-02-24 20:43:40 +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
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
Daniele Teti
425a7c5d26
Merge pull request #187 from pedrooliveira01/master
Pedro <pedrooliveira__@hotmail.com>
2019-02-21 11:07:17 +01:00
Régys Borges da Silveira
30a8d3f163 fixes to correct compile in Delphi Tokyo and Rio 2019-02-19 09:05:12 -03:00
Pedro
11a286f3db Pedro <pedrooliveira__@hotmail.com> 2019-02-15 09:21:11 -02:00
Daniele Teti
1acdb86710 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-02-05 18:09:11 +01: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
20a0e88791 Improved FileUpload Sample, better cacheitem handling, improved TemplatePro view engine 2019-02-01 20:11:33 +01:00
João Antônio Duarte
7b8af70a73 Added RQL compiler for MSSQL 2019-01-30 17:49:46 -02:00
Daniele Teti
73573c0130 3.1.1 (beryllium) RC2 2019-01-29 17:59:14 +01:00
Daniele Teti
cd7df5dd36 https://github.com/danieleteti/delphimvcframework/issues/157 2019-01-18 19:04:20 +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
3174504b90 Fix for berlin
https://www.facebook.com/photo.php?fbid=10217757569041117&set=gm.2029342450482217&type=3&theater&ifg=1
2019-01-16 14:24:13 +01:00
Daniele Teti
98197beb01 Added TMVCActiveRecord.Count 2019-01-13 19:18:57 +01:00
Daniele Teti
f09ae31a91 Added PostgreSQL SQLGenerator 2019-01-13 18:57:15 +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
2ec82ee373 JSON-RPC requests can call only functions, while JSON-RPC notifications can call only procedures. 2018-12-12 22:30:13 +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