From 76e8df8f11ec807cea43ec6f17be2ed1cdcbe47e Mon Sep 17 00:00:00 2001 From: Javad Zobeidi Date: Sat, 21 Sep 2024 02:25:08 +0330 Subject: [PATCH 1/7] chore: upgrade dependencies --- pubspec.yaml | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index 6144386..0d0ccd4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,21 +15,22 @@ environment: sdk: '>=3.0.0 <4.0.0' dependencies: - crypto: ^3.0.3 + crypto: ^3.0.5 dart_jsonwebtoken: ^2.14.0 eloquent: ^3.2.1 - mailer: ^6.1.0 - meta: ^1.15.0 - mime: ^1.0.5 + mailer: ^6.1.2 + meta: ^1.16.0 + mime: ^1.0.6 path: ^1.9.0 sprintf: ^7.0.0 - string_scanner: ^1.2.0 - uuid: ^4.4.0 - mockito: ^5.4.4 + string_scanner: ^1.3.0 + uuid: ^4.5.0 dev_dependencies: - lints: ^3.0.0 - test: ^1.25.5 - http: ^1.2.1 - http_parser: ^4.0.2 - build_runner: ^2.4.11 + lints: ^4.0.0 + test: ^1.25.8 + http: ^1.2.2 + http_parser: ^4.1.0 + build_runner: ^2.4.12 + mockito: ^5.4.4 + \ No newline at end of file From 57d10edc1d294bd959e617a470005c9ea6695409 Mon Sep 17 00:00:00 2001 From: Javad Zobeidi Date: Sat, 21 Sep 2024 02:34:03 +0330 Subject: [PATCH 2/7] Fix json response for api --- lib/src/exception/base_http_exception.dart | 4 ++-- lib/src/http/controller/controller_handler.dart | 10 ++++++---- lib/src/http/request/request_handler.dart | 9 +++++---- lib/src/route/route_handler.dart | 2 +- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/lib/src/exception/base_http_exception.dart b/lib/src/exception/base_http_exception.dart index 940031a..214a1c8 100644 --- a/lib/src/exception/base_http_exception.dart +++ b/lib/src/exception/base_http_exception.dart @@ -14,6 +14,6 @@ class BaseHttpResponseException { }); Response response(bool isJson) => isJson - ? Response.json({'message': message}, code) - : Response.html(message); + ? Response.html(message) + : Response.json(message is Map ? message : {'message': message}, code); } diff --git a/lib/src/http/controller/controller_handler.dart b/lib/src/http/controller/controller_handler.dart index c05d162..12cee03 100644 --- a/lib/src/http/controller/controller_handler.dart +++ b/lib/src/http/controller/controller_handler.dart @@ -28,8 +28,10 @@ class ControllerHandler { response.makeResponse(request.response); } on ValidationException catch (error) { + print(request.headers['accept']); + print(request.headers['accept'].contains('html')); error - .response(request.headers['accept'] == "application/json") + .response(request.headers['accept'].toString().contains('html')) .makeResponse(request.response); } catch (error) { _response(request, error.toString()); @@ -38,14 +40,14 @@ class ControllerHandler { } void _response(Request req, message, [statusCode = 400]) { - if (req.headers['accept'] == "application/json") { + if (req.headers['accept'].toString().contains('html')) { + Response.html(message).makeResponse(req.response); + } else { Response.json( { "message": message, }, statusCode, ).makeResponse(req.response); - } else { - Response.html(message).makeResponse(req.response); } } diff --git a/lib/src/http/request/request_handler.dart b/lib/src/http/request/request_handler.dart index 07086c5..149cbe1 100644 --- a/lib/src/http/request/request_handler.dart +++ b/lib/src/http/request/request_handler.dart @@ -35,7 +35,7 @@ Future httpRequestHandler(HttpRequest req) async { } on BaseHttpResponseException catch (error) { error .response( - req.headers.value('accept') == "application/json", + req.headers.value('accept').toString().contains('html'), ) .makeResponse(req.response); } on InvalidArgumentException catch (e) { @@ -49,14 +49,15 @@ Future httpRequestHandler(HttpRequest req) async { } void _response(req, message) { - if (req.headers.value('accept') == "application/json") { + + if (req.headers.value('accept').toString().contains('html')) { + Response.html(message).makeResponse(req.response); + } else { Response.json( { "message": message, }, 400, ).makeResponse(req.response); - } else { - Response.html(message).makeResponse(req.response); } } diff --git a/lib/src/route/route_handler.dart b/lib/src/route/route_handler.dart index 4bbc5b7..56b1adb 100644 --- a/lib/src/route/route_handler.dart +++ b/lib/src/route/route_handler.dart @@ -20,7 +20,7 @@ RouteData? httpRouteHandler(HttpRequest req) { } else { final isFile = setStaticPath(req); if (isFile == null) { - if (req.headers.value('accept') == "application/json") { + if (!req.headers.value('accept').toString().contains('html')) { throw NotFoundException( message: {'message': 'Not found'}, responseType: ResponseType.json, From 935571f0ed7601ca64e6be2fd2b8d4fa8ca497bb Mon Sep 17 00:00:00 2001 From: Javad Zobeidi Date: Sat, 21 Sep 2024 02:35:54 +0330 Subject: [PATCH 3/7] refactor validation rule `customErrorMessage` to `message` --- lib/src/http/validation/validation_chain/rules/between.dart | 2 +- .../http/validation/validation_chain/rules/confirmed.dart | 2 +- .../http/validation/validation_chain/rules/end_width.dart | 2 +- .../validation/validation_chain/rules/greater_than.dart | 2 +- .../http/validation/validation_chain/rules/in_array.dart | 2 +- .../http/validation/validation_chain/rules/is_alpha.dart | 2 +- .../validation/validation_chain/rules/is_alpha_dash.dart | 2 +- .../validation/validation_chain/rules/is_alpha_numeric.dart | 2 +- .../http/validation/validation_chain/rules/is_array.dart | 2 +- .../http/validation/validation_chain/rules/is_boolean.dart | 2 +- lib/src/http/validation/validation_chain/rules/is_date.dart | 2 +- .../http/validation/validation_chain/rules/is_double.dart | 2 +- .../http/validation/validation_chain/rules/is_email.dart | 2 +- lib/src/http/validation/validation_chain/rules/is_file.dart | 2 +- .../http/validation/validation_chain/rules/is_image.dart | 2 +- .../http/validation/validation_chain/rules/is_integer.dart | 2 +- lib/src/http/validation/validation_chain/rules/is_ip.dart | 2 +- lib/src/http/validation/validation_chain/rules/is_json.dart | 2 +- .../http/validation/validation_chain/rules/is_numeric.dart | 2 +- .../http/validation/validation_chain/rules/is_required.dart | 2 +- .../http/validation/validation_chain/rules/is_string.dart | 2 +- lib/src/http/validation/validation_chain/rules/is_url.dart | 2 +- lib/src/http/validation/validation_chain/rules/is_uuid.dart | 2 +- .../validation/validation_chain/rules/lenght_between.dart | 2 +- .../http/validation/validation_chain/rules/less_than.dart | 2 +- lib/src/http/validation/validation_chain/rules/max.dart | 2 +- .../http/validation/validation_chain/rules/max_lenght.dart | 2 +- lib/src/http/validation/validation_chain/rules/min.dart | 2 +- .../http/validation/validation_chain/rules/min_lenght.dart | 2 +- .../validation/validation_chain/rules/not_in_array.dart | 2 +- .../http/validation/validation_chain/rules/required_if.dart | 2 +- .../validation/validation_chain/rules/required_if_not.dart | 2 +- .../http/validation/validation_chain/rules/start_with.dart | 2 +- .../http/validation/validation_chain/validation_rule.dart | 6 +++--- 34 files changed, 36 insertions(+), 36 deletions(-) diff --git a/lib/src/http/validation/validation_chain/rules/between.dart b/lib/src/http/validation/validation_chain/rules/between.dart index 1ad3a34..b7aa10c 100644 --- a/lib/src/http/validation/validation_chain/rules/between.dart +++ b/lib/src/http/validation/validation_chain/rules/between.dart @@ -6,7 +6,7 @@ class Between extends ValidationRule { Between( {required this.lowerBoundary, required this.higherBoundary, - super.customErrorMessage}); + super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/confirmed.dart b/lib/src/http/validation/validation_chain/rules/confirmed.dart index e89c53a..4f80800 100644 --- a/lib/src/http/validation/validation_chain/rules/confirmed.dart +++ b/lib/src/http/validation/validation_chain/rules/confirmed.dart @@ -1,7 +1,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class Confirmed extends ValidationRule { - Confirmed({super.customErrorMessage}); + Confirmed({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/end_width.dart b/lib/src/http/validation/validation_chain/rules/end_width.dart index 35a7a0b..aa9269b 100644 --- a/lib/src/http/validation/validation_chain/rules/end_width.dart +++ b/lib/src/http/validation/validation_chain/rules/end_width.dart @@ -2,7 +2,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart' class EndWith extends ValidationRule { final String end; - EndWith({required this.end, super.customErrorMessage}); + EndWith({required this.end, super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/greater_than.dart b/lib/src/http/validation/validation_chain/rules/greater_than.dart index 3d1535c..7480b51 100644 --- a/lib/src/http/validation/validation_chain/rules/greater_than.dart +++ b/lib/src/http/validation/validation_chain/rules/greater_than.dart @@ -4,7 +4,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart' class GreaterThan extends ValidationRule { final num compare; - GreaterThan({required this.compare, super.customErrorMessage}); + GreaterThan({required this.compare, super.message}); @override bool validate(value, data) { value = num.parse(value.toString()); diff --git a/lib/src/http/validation/validation_chain/rules/in_array.dart b/lib/src/http/validation/validation_chain/rules/in_array.dart index 6fa01d4..b4c4396 100644 --- a/lib/src/http/validation/validation_chain/rules/in_array.dart +++ b/lib/src/http/validation/validation_chain/rules/in_array.dart @@ -2,7 +2,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart' class InArray extends ValidationRule { final List array; - InArray({required this.array, super.customErrorMessage}); + InArray({required this.array, super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_alpha.dart b/lib/src/http/validation/validation_chain/rules/is_alpha.dart index 1bb79d0..af59464 100644 --- a/lib/src/http/validation/validation_chain/rules/is_alpha.dart +++ b/lib/src/http/validation/validation_chain/rules/is_alpha.dart @@ -2,7 +2,7 @@ import 'package:vania/src/config/defined_regexp.dart'; import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsAlpha extends ValidationRule { - IsAlpha({super.customErrorMessage}); + IsAlpha({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_alpha_dash.dart b/lib/src/http/validation/validation_chain/rules/is_alpha_dash.dart index 89661e9..b0821f1 100644 --- a/lib/src/http/validation/validation_chain/rules/is_alpha_dash.dart +++ b/lib/src/http/validation/validation_chain/rules/is_alpha_dash.dart @@ -2,7 +2,7 @@ import 'package:vania/src/config/defined_regexp.dart'; import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsAlphaDash extends ValidationRule { - IsAlphaDash({super.customErrorMessage}); + IsAlphaDash({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_alpha_numeric.dart b/lib/src/http/validation/validation_chain/rules/is_alpha_numeric.dart index 0755ac1..0fa4509 100644 --- a/lib/src/http/validation/validation_chain/rules/is_alpha_numeric.dart +++ b/lib/src/http/validation/validation_chain/rules/is_alpha_numeric.dart @@ -2,7 +2,7 @@ import 'package:vania/src/config/defined_regexp.dart'; import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsAlphaNumeric extends ValidationRule { - IsAlphaNumeric({super.customErrorMessage}); + IsAlphaNumeric({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_array.dart b/lib/src/http/validation/validation_chain/rules/is_array.dart index 9411655..aaf6a33 100644 --- a/lib/src/http/validation/validation_chain/rules/is_array.dart +++ b/lib/src/http/validation/validation_chain/rules/is_array.dart @@ -1,7 +1,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsArray extends ValidationRule { - IsArray({super.customErrorMessage}); + IsArray({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_boolean.dart b/lib/src/http/validation/validation_chain/rules/is_boolean.dart index 8e4344a..fa7d84d 100644 --- a/lib/src/http/validation/validation_chain/rules/is_boolean.dart +++ b/lib/src/http/validation/validation_chain/rules/is_boolean.dart @@ -1,7 +1,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsBoolean extends ValidationRule { - IsBoolean({super.customErrorMessage}); + IsBoolean({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_date.dart b/lib/src/http/validation/validation_chain/rules/is_date.dart index a462981..d935c25 100644 --- a/lib/src/http/validation/validation_chain/rules/is_date.dart +++ b/lib/src/http/validation/validation_chain/rules/is_date.dart @@ -1,7 +1,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsDate extends ValidationRule { - IsDate({super.customErrorMessage}); + IsDate({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_double.dart b/lib/src/http/validation/validation_chain/rules/is_double.dart index 76b0c9f..799b83a 100644 --- a/lib/src/http/validation/validation_chain/rules/is_double.dart +++ b/lib/src/http/validation/validation_chain/rules/is_double.dart @@ -1,7 +1,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsDouble extends ValidationRule { - IsDouble({super.customErrorMessage}); + IsDouble({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_email.dart b/lib/src/http/validation/validation_chain/rules/is_email.dart index 34584f6..e6ee42d 100644 --- a/lib/src/http/validation/validation_chain/rules/is_email.dart +++ b/lib/src/http/validation/validation_chain/rules/is_email.dart @@ -2,7 +2,7 @@ import 'package:vania/src/config/defined_regexp.dart'; import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsEmail extends ValidationRule { - IsEmail({super.customErrorMessage}); + IsEmail({super.message}); @override bool validate(dynamic value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_file.dart b/lib/src/http/validation/validation_chain/rules/is_file.dart index 731ebbf..61ba352 100644 --- a/lib/src/http/validation/validation_chain/rules/is_file.dart +++ b/lib/src/http/validation/validation_chain/rules/is_file.dart @@ -2,7 +2,7 @@ import 'package:vania/vania.dart'; class IsFile extends ValidationRule { final String args; - IsFile({required this.args, super.customErrorMessage}); + IsFile({required this.args, super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_image.dart b/lib/src/http/validation/validation_chain/rules/is_image.dart index 4facfd0..fefd6b6 100644 --- a/lib/src/http/validation/validation_chain/rules/is_image.dart +++ b/lib/src/http/validation/validation_chain/rules/is_image.dart @@ -2,7 +2,7 @@ import 'package:vania/vania.dart'; class IsImage extends ValidationRule { final String args; - IsImage({required this.args, super.customErrorMessage}); + IsImage({required this.args, super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_integer.dart b/lib/src/http/validation/validation_chain/rules/is_integer.dart index 38ce041..c1216b2 100644 --- a/lib/src/http/validation/validation_chain/rules/is_integer.dart +++ b/lib/src/http/validation/validation_chain/rules/is_integer.dart @@ -1,7 +1,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsInteger extends ValidationRule { - IsInteger({super.customErrorMessage}); + IsInteger({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_ip.dart b/lib/src/http/validation/validation_chain/rules/is_ip.dart index 0669610..ea71cd6 100644 --- a/lib/src/http/validation/validation_chain/rules/is_ip.dart +++ b/lib/src/http/validation/validation_chain/rules/is_ip.dart @@ -2,7 +2,7 @@ import 'package:vania/src/config/defined_regexp.dart'; import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsIp extends ValidationRule { - IsIp({super.customErrorMessage}); + IsIp({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_json.dart b/lib/src/http/validation/validation_chain/rules/is_json.dart index c525e24..67ebbd3 100644 --- a/lib/src/http/validation/validation_chain/rules/is_json.dart +++ b/lib/src/http/validation/validation_chain/rules/is_json.dart @@ -1,7 +1,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsJson extends ValidationRule { - IsJson({super.customErrorMessage}); + IsJson({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_numeric.dart b/lib/src/http/validation/validation_chain/rules/is_numeric.dart index dda68ef..0d27896 100644 --- a/lib/src/http/validation/validation_chain/rules/is_numeric.dart +++ b/lib/src/http/validation/validation_chain/rules/is_numeric.dart @@ -1,7 +1,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsNumeric extends ValidationRule { - IsNumeric({super.customErrorMessage}); + IsNumeric({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_required.dart b/lib/src/http/validation/validation_chain/rules/is_required.dart index e18fff0..b8e7ec0 100644 --- a/lib/src/http/validation/validation_chain/rules/is_required.dart +++ b/lib/src/http/validation/validation_chain/rules/is_required.dart @@ -1,7 +1,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsRequired extends ValidationRule { - IsRequired({super.customErrorMessage}); + IsRequired({super.message}); @override bool validate(dynamic value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_string.dart b/lib/src/http/validation/validation_chain/rules/is_string.dart index 7cabfa7..8c799c8 100644 --- a/lib/src/http/validation/validation_chain/rules/is_string.dart +++ b/lib/src/http/validation/validation_chain/rules/is_string.dart @@ -1,7 +1,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsString extends ValidationRule { - IsString({super.customErrorMessage}); + IsString({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_url.dart b/lib/src/http/validation/validation_chain/rules/is_url.dart index dbdda4b..d8d6054 100644 --- a/lib/src/http/validation/validation_chain/rules/is_url.dart +++ b/lib/src/http/validation/validation_chain/rules/is_url.dart @@ -1,7 +1,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsURL extends ValidationRule { - IsURL({super.customErrorMessage}); + IsURL({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/is_uuid.dart b/lib/src/http/validation/validation_chain/rules/is_uuid.dart index c752d34..b82f69b 100644 --- a/lib/src/http/validation/validation_chain/rules/is_uuid.dart +++ b/lib/src/http/validation/validation_chain/rules/is_uuid.dart @@ -2,7 +2,7 @@ import 'package:vania/src/config/defined_regexp.dart'; import 'package:vania/src/http/validation/validation_chain/validation_rule.dart'; class IsUUID extends ValidationRule { - IsUUID({super.customErrorMessage}); + IsUUID({super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/lenght_between.dart b/lib/src/http/validation/validation_chain/rules/lenght_between.dart index afc6fdf..dadbe29 100644 --- a/lib/src/http/validation/validation_chain/rules/lenght_between.dart +++ b/lib/src/http/validation/validation_chain/rules/lenght_between.dart @@ -4,7 +4,7 @@ class LengthBetween extends ValidationRule { final num lowerBoundary; final num higherBoundary; LengthBetween( - {super.customErrorMessage, + {super.message, required this.lowerBoundary, required this.higherBoundary}); diff --git a/lib/src/http/validation/validation_chain/rules/less_than.dart b/lib/src/http/validation/validation_chain/rules/less_than.dart index 3d3e557..25c3526 100644 --- a/lib/src/http/validation/validation_chain/rules/less_than.dart +++ b/lib/src/http/validation/validation_chain/rules/less_than.dart @@ -2,7 +2,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart' class LessThan extends ValidationRule { final num compare; - LessThan({required this.compare, super.customErrorMessage}); + LessThan({required this.compare, super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/max.dart b/lib/src/http/validation/validation_chain/rules/max.dart index a712a79..e4685c1 100644 --- a/lib/src/http/validation/validation_chain/rules/max.dart +++ b/lib/src/http/validation/validation_chain/rules/max.dart @@ -2,7 +2,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart' class Max extends ValidationRule { final num maxValue; - Max({required this.maxValue, super.customErrorMessage}); + Max({required this.maxValue, super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/max_lenght.dart b/lib/src/http/validation/validation_chain/rules/max_lenght.dart index 9b062e8..b77f490 100644 --- a/lib/src/http/validation/validation_chain/rules/max_lenght.dart +++ b/lib/src/http/validation/validation_chain/rules/max_lenght.dart @@ -2,7 +2,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart' class MaxLength extends ValidationRule { int maxLength; - MaxLength({required this.maxLength, super.customErrorMessage}); + MaxLength({required this.maxLength, super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/min.dart b/lib/src/http/validation/validation_chain/rules/min.dart index 479be72..8e3ee50 100644 --- a/lib/src/http/validation/validation_chain/rules/min.dart +++ b/lib/src/http/validation/validation_chain/rules/min.dart @@ -2,7 +2,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart' class Min extends ValidationRule { final num minValue; - Min({required this.minValue, super.customErrorMessage}); + Min({required this.minValue, super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/min_lenght.dart b/lib/src/http/validation/validation_chain/rules/min_lenght.dart index 8997e02..1361f99 100644 --- a/lib/src/http/validation/validation_chain/rules/min_lenght.dart +++ b/lib/src/http/validation/validation_chain/rules/min_lenght.dart @@ -2,7 +2,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart' class MinLength extends ValidationRule { int minLength; - MinLength({required this.minLength, super.customErrorMessage}); + MinLength({required this.minLength, super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/not_in_array.dart b/lib/src/http/validation/validation_chain/rules/not_in_array.dart index f44c577..f9f3c86 100644 --- a/lib/src/http/validation/validation_chain/rules/not_in_array.dart +++ b/lib/src/http/validation/validation_chain/rules/not_in_array.dart @@ -2,7 +2,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart' class NotInArray extends ValidationRule { final List array; - NotInArray({required this.array, super.customErrorMessage}); + NotInArray({required this.array, super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/required_if.dart b/lib/src/http/validation/validation_chain/rules/required_if.dart index 00d34a5..a5c14db 100644 --- a/lib/src/http/validation/validation_chain/rules/required_if.dart +++ b/lib/src/http/validation/validation_chain/rules/required_if.dart @@ -3,7 +3,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart' class RequiredIf extends ValidationRule { final String payload; - RequiredIf({required this.payload, super.customErrorMessage}); + RequiredIf({required this.payload, super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/required_if_not.dart b/lib/src/http/validation/validation_chain/rules/required_if_not.dart index 95c7e7b..17763fa 100644 --- a/lib/src/http/validation/validation_chain/rules/required_if_not.dart +++ b/lib/src/http/validation/validation_chain/rules/required_if_not.dart @@ -3,7 +3,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart' class RequiredIfNot extends ValidationRule { final String payload; - RequiredIfNot({required this.payload, super.customErrorMessage}); + RequiredIfNot({required this.payload, super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/rules/start_with.dart b/lib/src/http/validation/validation_chain/rules/start_with.dart index 27466f8..f2876a2 100644 --- a/lib/src/http/validation/validation_chain/rules/start_with.dart +++ b/lib/src/http/validation/validation_chain/rules/start_with.dart @@ -2,7 +2,7 @@ import 'package:vania/src/http/validation/validation_chain/validation_rule.dart' class StartWith extends ValidationRule { final String start; - StartWith({required this.start, super.customErrorMessage}); + StartWith({required this.start, super.message}); @override bool validate(value, data) { diff --git a/lib/src/http/validation/validation_chain/validation_rule.dart b/lib/src/http/validation/validation_chain/validation_rule.dart index e5daebb..05b0f4a 100644 --- a/lib/src/http/validation/validation_chain/validation_rule.dart +++ b/lib/src/http/validation/validation_chain/validation_rule.dart @@ -1,7 +1,7 @@ abstract class ValidationRule { - final String? customErrorMessage; - ValidationRule({this.customErrorMessage}); + final String? message; + ValidationRule({this.message}); bool validate(dynamic value, Map data); - String get errorMessage => customErrorMessage ?? getDefaultErrorMessage(''); + String get errorMessage => message ?? getDefaultErrorMessage(''); String getDefaultErrorMessage(String field); } From 22732967075eae9dc139b2977acd51084c52a175 Mon Sep 17 00:00:00 2001 From: Javad Zobeidi Date: Sat, 21 Sep 2024 02:47:31 +0330 Subject: [PATCH 4/7] fix PostgreSQL sslmode (#118) --- lib/src/database/postgresql_driver.dart | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/src/database/postgresql_driver.dart b/lib/src/database/postgresql_driver.dart index 309018e..7bd762a 100644 --- a/lib/src/database/postgresql_driver.dart +++ b/lib/src/database/postgresql_driver.dart @@ -15,20 +15,25 @@ class PostgreSQLDriver implements DatabaseDriver { Future init() async { try { var manager = Manager(); - manager.addConnection({ + Map config = { 'driver': 'pgsql', 'host': env('DB_HOST', '127.0.0.1'), 'port': env('DB_PORT', 5432), 'database': env('DB_DATABASE', 'vania'), 'username': env('DB_USERNAME', 'root'), 'password': env('DB_PASSWORD', ''), - //'sslmode': env('DB_SSL_MODE',true) == true ? 'require' : '', 'pool': env('DB_POOL', false), 'poolsize': env('DB_POOL_SIZE', 0), 'charset': env('DB_CHARSET', 'utf8'), 'prefix': env('DB_PREFIX', ''), 'schema': env('DB_SCHEMA', 'public'), - }); + }; + + if (env('DB_SSL_MODE', false) == true) { + config['sslmode'] = 'require'; + } + + manager.addConnection(config); manager.setAsGlobal(); _connection = await manager.connection(); return this; From 32bca66cb56cc1c54dfcf6942763d4efa28b6425 Mon Sep 17 00:00:00 2001 From: Javad Zobeidi Date: Sat, 21 Sep 2024 02:47:54 +0330 Subject: [PATCH 5/7] chore Dart format --- lib/src/http/controller/controller_handler.dart | 2 +- lib/src/http/request/request_handler.dart | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/src/http/controller/controller_handler.dart b/lib/src/http/controller/controller_handler.dart index 12cee03..4435b9d 100644 --- a/lib/src/http/controller/controller_handler.dart +++ b/lib/src/http/controller/controller_handler.dart @@ -41,7 +41,7 @@ class ControllerHandler { void _response(Request req, message, [statusCode = 400]) { if (req.headers['accept'].toString().contains('html')) { - Response.html(message).makeResponse(req.response); + Response.html(message).makeResponse(req.response); } else { Response.json( { diff --git a/lib/src/http/request/request_handler.dart b/lib/src/http/request/request_handler.dart index 149cbe1..1efe3b2 100644 --- a/lib/src/http/request/request_handler.dart +++ b/lib/src/http/request/request_handler.dart @@ -49,7 +49,6 @@ Future httpRequestHandler(HttpRequest req) async { } void _response(req, message) { - if (req.headers.value('accept').toString().contains('html')) { Response.html(message).makeResponse(req.response); } else { From bfbd9c86c6bf9215a5df80f58128679c2605baf5 Mon Sep 17 00:00:00 2001 From: Javad Zobeidi Date: Sat, 21 Sep 2024 03:02:48 +0330 Subject: [PATCH 6/7] feat enable support for list item submission, ex name[] = 'name' --- lib/src/http/request/request_form_data.dart | 23 +++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/lib/src/http/request/request_form_data.dart b/lib/src/http/request/request_form_data.dart index c8edb31..a2dffdd 100644 --- a/lib/src/http/request/request_form_data.dart +++ b/lib/src/http/request/request_form_data.dart @@ -31,10 +31,25 @@ class RequestFormData { String? inputName = data['name']; if (inputName != null) { + if (data['filename'] == null || data['filename']!.isEmpty) { var value = utf8.decode(await formItem.first); - inputs[inputName] = - int.tryParse(value.toString()) ?? value.toString(); + if (inputName.contains('[]')) { + String clearedInputName = inputName.replaceAll('[]', ''); + if (inputs.containsKey(clearedInputName)) { + if (inputs[clearedInputName] is List) { + inputs[clearedInputName] + .add(int.tryParse(value.toString()) ?? value.toString()); + } + } else { + List valueList = []; + valueList.add(int.tryParse(value.toString()) ?? value.toString()); + inputs[clearedInputName] = valueList; + } + } else { + inputs[inputName] = + int.tryParse(value.toString()) ?? value.toString(); + } } else { RequestFile file = RequestFile( filename: data['filename'].toString(), @@ -42,14 +57,14 @@ class RequestFormData { stream: formItem, ); if (inputName.contains('[]')) { - List files = []; - files.add(file); String clearedInputName = inputName.replaceAll('[]', ''); if (inputs.containsKey(clearedInputName)) { if (inputs[clearedInputName] is List) { inputs[clearedInputName].add(file); } } else { + List files = []; + files.add(file); inputs[clearedInputName] = files; } } else { From ae8ae23e33f55f944b086ee2bcf01ec01926706c Mon Sep 17 00:00:00 2001 From: Javad Zobeidi Date: Sat, 21 Sep 2024 03:04:19 +0330 Subject: [PATCH 7/7] chore Dart format --- lib/src/http/request/request_form_data.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/src/http/request/request_form_data.dart b/lib/src/http/request/request_form_data.dart index a2dffdd..edf2f63 100644 --- a/lib/src/http/request/request_form_data.dart +++ b/lib/src/http/request/request_form_data.dart @@ -31,7 +31,6 @@ class RequestFormData { String? inputName = data['name']; if (inputName != null) { - if (data['filename'] == null || data['filename']!.isEmpty) { var value = utf8.decode(await formItem.first); if (inputName.contains('[]')) {