From 867fde78df72b13eea04330bca98d647eaa7dd9c Mon Sep 17 00:00:00 2001 From: Thomas Hii Date: Sun, 23 Mar 2025 12:30:57 +0800 Subject: [PATCH 1/4] Upgraded Angel3 to run on dart 3.6.1 --- frameworks/Dart/angel3/README.md | 16 +- .../Dart/angel3/angel3-mysql.dockerfile | 2 +- frameworks/Dart/angel3/angel3.dockerfile | 2 +- frameworks/Dart/angel3/benchmark_config.json | 3 + ...{orm_mysql_app.dart => benchmark_app.dart} | 1 - .../orm-mysql/lib/src/config/config.dart | 1 - .../orm-mysql/lib/src/config/plugins/orm.dart | 36 - .../lib/src/config/plugins/plugins.dart | 1 - .../orm-mysql/lib/src/models/fortune.dart | 1 - .../orm-mysql/lib/src/models/fortune.g.dart | 57 +- .../orm-mysql/lib/src/models/world.g.dart | 57 +- .../src/routes/controllers/controllers.dart | 23 +- .../orm-mysql/lib/src/routes/routes.dart | 1 - .../orm-mysql/lib/src/services/services.dart | 1 - frameworks/Dart/angel3/orm-mysql/pubspec.lock | 622 ++++++++++------- frameworks/Dart/angel3/orm-mysql/pubspec.yaml | 60 +- frameworks/Dart/angel3/orm-mysql/run/dev.dart | 2 +- .../Dart/angel3/orm-mysql/run/prod.dart | 25 +- .../Dart/angel3/orm-mysql/test/all_test.dart | 13 +- .../Dart/angel3/orm/lib/benchmark_app.dart | 1 - .../orm/lib/src/config/plugins/orm.dart | 59 +- .../angel3/orm/lib/src/models/fortune.g.dart | 57 +- .../angel3/orm/lib/src/models/world.g.dart | 57 +- .../src/routes/controllers/controllers.dart | 21 +- frameworks/Dart/angel3/orm/pubspec.lock | 643 +++++++++++------- frameworks/Dart/angel3/orm/pubspec.yaml | 60 +- frameworks/Dart/angel3/orm/run/prod.dart | 23 - frameworks/Dart/angel3/orm/test/all_test.dart | 6 +- 28 files changed, 1049 insertions(+), 802 deletions(-) rename frameworks/Dart/angel3/orm-mysql/lib/{orm_mysql_app.dart => benchmark_app.dart} (95%) diff --git a/frameworks/Dart/angel3/README.md b/frameworks/Dart/angel3/README.md index b78d395dab1..865387be4fe 100644 --- a/frameworks/Dart/angel3/README.md +++ b/frameworks/Dart/angel3/README.md @@ -1,10 +1,10 @@ # Angel3 Framework Benchmarking Test -This is the Angel3 framework portion of a [benchmarking test suite](../) comparing a variety of web development platforms. +This is the Angel3 framework portion of a [benchmarking test suite](../) comparing a variety of web development platforms. ## Description -All the tests are implemented using the [Angel3 Framework](https://angel3-framework.web.app) with ORM for Postgresql database enabled. The directory layout follows the standard ORM boilerplate template. +All the tests are implemented using the [Angel3 Framework](https://angel3-framework.web.app) with ORM for Postgresql and MySQL database on Dart 3.6. The directory layout follows the standard ORM boilerplate template. ### Test Type Implementation Source Code @@ -28,24 +28,24 @@ The tests were run with: ### JSON -http://localhost:8080/json + ### PLAINTEXT -http://localhost:8080/plaintext + ### DB -http://localhost:8080/db + ### QUERY -http://localhost:8080/query?queries= + ### UPDATE -http://localhost:8080/updates?queries= + ### FORTUNES -http://localhost:8080/fortunes + diff --git a/frameworks/Dart/angel3/angel3-mysql.dockerfile b/frameworks/Dart/angel3/angel3-mysql.dockerfile index 614663423f4..0a796a8da8e 100644 --- a/frameworks/Dart/angel3/angel3-mysql.dockerfile +++ b/frameworks/Dart/angel3/angel3-mysql.dockerfile @@ -1,4 +1,4 @@ -FROM dart:2.19.6 +FROM dart:3.6.1 COPY ./orm-mysql/config /app/config COPY ./orm-mysql/lib /app/lib diff --git a/frameworks/Dart/angel3/angel3.dockerfile b/frameworks/Dart/angel3/angel3.dockerfile index 47ea08cb073..01c25265247 100644 --- a/frameworks/Dart/angel3/angel3.dockerfile +++ b/frameworks/Dart/angel3/angel3.dockerfile @@ -1,4 +1,4 @@ -FROM dart:2.19.6 +FROM dart:3.6.1 COPY ./orm/config /app/config COPY ./orm/lib /app/lib diff --git a/frameworks/Dart/angel3/benchmark_config.json b/frameworks/Dart/angel3/benchmark_config.json index 98ab2c0fde9..414d3bf1b0e 100644 --- a/frameworks/Dart/angel3/benchmark_config.json +++ b/frameworks/Dart/angel3/benchmark_config.json @@ -26,9 +26,12 @@ "versus": "None" }, "mysql": { + "json_url": "/json", "db_url": "/db", + "plaintext_url": "/plaintext", "query_url": "/query?queries=", "fortune_url": "/fortunes", + "update_url": "/updates?queries=", "port": 8080, "approach": "Realistic", "classification": "Fullstack", diff --git a/frameworks/Dart/angel3/orm-mysql/lib/orm_mysql_app.dart b/frameworks/Dart/angel3/orm-mysql/lib/benchmark_app.dart similarity index 95% rename from frameworks/Dart/angel3/orm-mysql/lib/orm_mysql_app.dart rename to frameworks/Dart/angel3/orm-mysql/lib/benchmark_app.dart index baaf97ce234..f97da4a2ccd 100644 --- a/frameworks/Dart/angel3/orm-mysql/lib/orm_mysql_app.dart +++ b/frameworks/Dart/angel3/orm-mysql/lib/benchmark_app.dart @@ -1,4 +1,3 @@ -/// Your very own web application! import 'dart:async'; import 'package:angel3_framework/angel3_framework.dart'; import 'package:file/local.dart'; diff --git a/frameworks/Dart/angel3/orm-mysql/lib/src/config/config.dart b/frameworks/Dart/angel3/orm-mysql/lib/src/config/config.dart index c485448be83..0f11e856089 100644 --- a/frameworks/Dart/angel3/orm-mysql/lib/src/config/config.dart +++ b/frameworks/Dart/angel3/orm-mysql/lib/src/config/config.dart @@ -1,4 +1,3 @@ -/// Configuration for this Angel instance. import 'package:angel3_configuration/angel3_configuration.dart'; import 'package:angel3_framework/angel3_framework.dart'; import 'package:angel3_jael/angel3_jael.dart'; diff --git a/frameworks/Dart/angel3/orm-mysql/lib/src/config/plugins/orm.dart b/frameworks/Dart/angel3/orm-mysql/lib/src/config/plugins/orm.dart index 04a1549a976..429dd1bed37 100644 --- a/frameworks/Dart/angel3/orm-mysql/lib/src/config/plugins/orm.dart +++ b/frameworks/Dart/angel3/orm-mysql/lib/src/config/plugins/orm.dart @@ -3,45 +3,9 @@ import 'dart:io'; import 'package:angel3_framework/angel3_framework.dart'; import 'package:angel3_orm/angel3_orm.dart'; import 'package:angel3_orm_mysql/angel3_orm_mysql.dart'; -import 'package:mysql1/mysql1.dart'; import 'package:mysql_client/mysql_client.dart'; -// For MariaDb -Future configureServer2(Angel app) async { - try { - var connection = await connectToMariaDb(app.configuration); - var executor = MariaDbExecutor(connection, logger: app.logger); - - app - ..container.registerSingleton(executor) - ..shutdownHooks.add((_) => connection.close()); - } catch (e) { - app.logger.severe("Failed to connect to MariaDB. ORM disabled.", e); - } -} - -// MariaDB connection -Future connectToMariaDb(Map configuration) async { - var mariaDbConfig = configuration['mysql'] as Map? ?? {}; - var settings = ConnectionSettings( - host: mariaDbConfig['host'] as String? ?? 'localhost', - port: mariaDbConfig['port'] as int? ?? 3306, - db: mariaDbConfig['database_name'] as String? ?? - Platform.environment['USER'] ?? - Platform.environment['USERNAME'] ?? - '', - user: mariaDbConfig['username'] as String?, - password: mariaDbConfig['password'] as String?, - timeout: Duration( - seconds: mariaDbConfig['timeout_in_seconds'] as int? ?? 30000), - useSSL: mariaDbConfig['use_ssl'] as bool? ?? false); - - var connection = await MySqlConnection.connect(settings); - return connection; -} - // For Mysql - Future configureServer(Angel app) async { try { var connection = await connectToMysql(app.configuration); diff --git a/frameworks/Dart/angel3/orm-mysql/lib/src/config/plugins/plugins.dart b/frameworks/Dart/angel3/orm-mysql/lib/src/config/plugins/plugins.dart index f6200eb62a2..08ebc81a0bf 100644 --- a/frameworks/Dart/angel3/orm-mysql/lib/src/config/plugins/plugins.dart +++ b/frameworks/Dart/angel3/orm-mysql/lib/src/config/plugins/plugins.dart @@ -1,4 +1,3 @@ -/// Custom plugins go here. import 'dart:async'; import 'package:angel3_framework/angel3_framework.dart'; import 'orm.dart' as orm; diff --git a/frameworks/Dart/angel3/orm-mysql/lib/src/models/fortune.dart b/frameworks/Dart/angel3/orm-mysql/lib/src/models/fortune.dart index 3f0a612c0df..03d2ab4c589 100644 --- a/frameworks/Dart/angel3/orm-mysql/lib/src/models/fortune.dart +++ b/frameworks/Dart/angel3/orm-mysql/lib/src/models/fortune.dart @@ -1,5 +1,4 @@ import 'package:angel3_migration/angel3_migration.dart'; -//import 'package:angel3_model/angel3_model.dart'; import 'package:angel3_serialize/angel3_serialize.dart'; import 'package:angel3_orm/angel3_orm.dart'; import 'package:optional/optional.dart'; diff --git a/frameworks/Dart/angel3/orm-mysql/lib/src/models/fortune.g.dart b/frameworks/Dart/angel3/orm-mysql/lib/src/models/fortune.g.dart index 4f706492a2a..d4bd661a8cd 100644 --- a/frameworks/Dart/angel3/orm-mysql/lib/src/models/fortune.g.dart +++ b/frameworks/Dart/angel3/orm-mysql/lib/src/models/fortune.g.dart @@ -26,8 +26,10 @@ class FortuneMigration extends Migration { // ************************************************************************** class FortuneQuery extends Query { - FortuneQuery({Query? parent, Set? trampoline}) - : super(parent: parent) { + FortuneQuery({ + Query? parent, + Set? trampoline, + }) : super(parent: parent) { trampoline ??= {}; trampoline.add(tableName); _where = FortuneQueryWhere(this); @@ -52,7 +54,10 @@ class FortuneQuery extends Query { @override List get fields { - const _fields = ['id', 'message']; + const _fields = [ + 'id', + 'message', + ]; return _selectedFields.isEmpty ? _fields : _fields.where((field) => _selectedFields.contains(field)).toList(); @@ -78,8 +83,9 @@ class FortuneQuery extends Query { return Optional.empty(); } var model = Fortune( - id: fields.contains('id') ? (row[0] as int?) : null, - message: fields.contains('message') ? (row[1] as String?) : null); + id: fields.contains('id') ? mapToInt(row[0]) : null, + message: fields.contains('message') ? (row[1] as String?) : null, + ); return Optional.of(model); } @@ -91,8 +97,14 @@ class FortuneQuery extends Query { class FortuneQueryWhere extends QueryWhere { FortuneQueryWhere(FortuneQuery query) - : id = NumericSqlExpressionBuilder(query, 'id'), - message = StringSqlExpressionBuilder(query, 'message'); + : id = NumericSqlExpressionBuilder( + query, + 'id', + ), + message = StringSqlExpressionBuilder( + query, + 'message', + ); final NumericSqlExpressionBuilder id; @@ -100,7 +112,10 @@ class FortuneQueryWhere extends QueryWhere { @override List get expressionBuilders { - return [id, message]; + return [ + id, + message, + ]; } } @@ -115,11 +130,13 @@ class FortuneQueryValues extends MapQueryValues { } set id(int? value) => values['id'] = value; + String? get message { return (values['message'] as String?); } set message(String? value) => values['message'] = value; + void copyFrom(Fortune model) { id = model.id; message = model.message; @@ -132,7 +149,10 @@ class FortuneQueryValues extends MapQueryValues { @generatedSerializable class Fortune extends _Fortune { - Fortune({this.id, this.message}); + Fortune({ + this.id, + this.message, + }); @override int? id; @@ -140,7 +160,10 @@ class Fortune extends _Fortune { @override String? message; - Fortune copyWith({int? id, String? message}) { + Fortune copyWith({ + int? id, + String? message, + }) { return Fortune(id: id ?? this.id, message: message ?? this.message); } @@ -151,7 +174,10 @@ class Fortune extends _Fortune { @override int get hashCode { - return hashObjects([id, message]); + return hashObjects([ + id, + message, + ]); } @override @@ -189,22 +215,27 @@ class FortuneSerializer extends Codec { @override FortuneEncoder get encoder => const FortuneEncoder(); + @override FortuneDecoder get decoder => const FortuneDecoder(); + static Fortune fromMap(Map map) { return Fortune(id: map['id'] as int?, message: map['message'] as String?); } static Map toMap(_Fortune? model) { if (model == null) { - return {}; + throw FormatException("Required field [model] cannot be null"); } return {'id': model.id, 'message': model.message}; } } abstract class FortuneFields { - static const List allFields = [id, message]; + static const List allFields = [ + id, + message, + ]; static const String id = 'id'; diff --git a/frameworks/Dart/angel3/orm-mysql/lib/src/models/world.g.dart b/frameworks/Dart/angel3/orm-mysql/lib/src/models/world.g.dart index b5c66b9c5e5..5b51631b790 100644 --- a/frameworks/Dart/angel3/orm-mysql/lib/src/models/world.g.dart +++ b/frameworks/Dart/angel3/orm-mysql/lib/src/models/world.g.dart @@ -26,7 +26,10 @@ class WorldMigration extends Migration { // ************************************************************************** class WorldQuery extends Query { - WorldQuery({Query? parent, Set? trampoline}) : super(parent: parent) { + WorldQuery({ + Query? parent, + Set? trampoline, + }) : super(parent: parent) { trampoline ??= {}; trampoline.add(tableName); _where = WorldQueryWhere(this); @@ -51,7 +54,10 @@ class WorldQuery extends Query { @override List get fields { - const _fields = ['id', 'randomNumber']; + const _fields = [ + 'id', + 'randomNumber', + ]; return _selectedFields.isEmpty ? _fields : _fields.where((field) => _selectedFields.contains(field)).toList(); @@ -77,9 +83,9 @@ class WorldQuery extends Query { return Optional.empty(); } var model = World( - id: fields.contains('id') ? (row[0] as int?) : null, - randomNumber: - fields.contains('randomNumber') ? (row[1] as int?) : null); + id: fields.contains('id') ? mapToInt(row[0]) : null, + randomNumber: fields.contains('randomNumber') ? mapToInt(row[1]) : null, + ); return Optional.of(model); } @@ -91,8 +97,14 @@ class WorldQuery extends Query { class WorldQueryWhere extends QueryWhere { WorldQueryWhere(WorldQuery query) - : id = NumericSqlExpressionBuilder(query, 'id'), - randomNumber = NumericSqlExpressionBuilder(query, 'randomNumber'); + : id = NumericSqlExpressionBuilder( + query, + 'id', + ), + randomNumber = NumericSqlExpressionBuilder( + query, + 'randomNumber', + ); final NumericSqlExpressionBuilder id; @@ -100,7 +112,10 @@ class WorldQueryWhere extends QueryWhere { @override List get expressionBuilders { - return [id, randomNumber]; + return [ + id, + randomNumber, + ]; } } @@ -115,11 +130,13 @@ class WorldQueryValues extends MapQueryValues { } set id(int? value) => values['id'] = value; + int? get randomNumber { return (values['randomNumber'] as int?); } set randomNumber(int? value) => values['randomNumber'] = value; + void copyFrom(World model) { id = model.id; randomNumber = model.randomNumber; @@ -132,7 +149,10 @@ class WorldQueryValues extends MapQueryValues { @generatedSerializable class World extends _World { - World({this.id, this.randomNumber}); + World({ + this.id, + this.randomNumber, + }); @override int? id; @@ -140,7 +160,10 @@ class World extends _World { @override int? randomNumber; - World copyWith({int? id, int? randomNumber}) { + World copyWith({ + int? id, + int? randomNumber, + }) { return World( id: id ?? this.id, randomNumber: randomNumber ?? this.randomNumber); } @@ -154,7 +177,10 @@ class World extends _World { @override int get hashCode { - return hashObjects([id, randomNumber]); + return hashObjects([ + id, + randomNumber, + ]); } @override @@ -192,8 +218,10 @@ class WorldSerializer extends Codec { @override WorldEncoder get encoder => const WorldEncoder(); + @override WorldDecoder get decoder => const WorldDecoder(); + static World fromMap(Map map) { return World( id: map['id'] as int?, randomNumber: map['randomNumber'] as int?); @@ -201,14 +229,17 @@ class WorldSerializer extends Codec { static Map toMap(_World? model) { if (model == null) { - return {}; + throw FormatException("Required field [model] cannot be null"); } return {'id': model.id, 'randomNumber': model.randomNumber}; } } abstract class WorldFields { - static const List allFields = [id, randomNumber]; + static const List allFields = [ + id, + randomNumber, + ]; static const String id = 'id'; diff --git a/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart b/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart index 34fb213ecf9..bffed71151f 100644 --- a/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart +++ b/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart @@ -1,5 +1,4 @@ import 'dart:async'; -import 'dart:convert'; import 'dart:math'; import 'package:angel3_framework/angel3_framework.dart'; import 'package:angel3_orm/angel3_orm.dart'; @@ -12,12 +11,12 @@ Future configureServer(Angel app) async { var executor = app.container.make(); // Generate a random number between 1 and 10000 - int _genRandomId() { + int genRandomId() { var rand = Random(); return rand.nextInt(10000) + 1; } - int _parseQueryCount(String? count) { + int parseQueryCount(String? count) { if (count == null) { return 1; } @@ -30,11 +29,11 @@ Future configureServer(Angel app) async { return limit; } - List _generateIds(int maxCount) { + List generateIds(int maxCount) { var result = []; while (result.length < maxCount) { - var id = _genRandomId(); + var id = genRandomId(); if (!result.contains(id)) { result.add(id); } @@ -74,7 +73,7 @@ Future configureServer(Angel app) async { // Find a random World app.get('/db', (req, res) async { - var id = _genRandomId(); + var id = genRandomId(); var query = WorldQuery()..where?.id.equals(id); var result = await query.get(executor); if (result.isNotEmpty) { @@ -88,9 +87,9 @@ Future configureServer(Angel app) async { app.get('/query', (req, res) async { var params = req.queryParameters; - var queryLimit = _parseQueryCount(params['queries'] as String?); + var queryLimit = parseQueryCount(params['queries'] as String?); - var list = _generateIds(queryLimit); + var list = generateIds(queryLimit); var query = WorldQuery(); var result = []; for (var id in list) { @@ -107,8 +106,8 @@ Future configureServer(Angel app) async { //var stopwatch = Stopwatch()..start(); var params = req.queryParameters; - var queryLimit = _parseQueryCount(params['queries'] as String?); - var listOfIds = _generateIds(queryLimit); + var queryLimit = parseQueryCount(params['queries'] as String?); + var listOfIds = generateIds(queryLimit); var query = WorldQuery(); var result = []; @@ -118,12 +117,12 @@ Future configureServer(Angel app) async { query ..where?.id.equals(optWorld.value.id!) - ..values.randomNumber = _genRandomId(); + ..values.randomNumber = genRandomId(); var updatedRec = await query.updateOne(executor); result.add(updatedRec.value); } - //rint('Process Time: ${stopwatch.elapsed.inMilliseconds}ms'); + //print('Process Time: ${stopwatch.elapsed.inMilliseconds}ms'); //stopwatch.stop(); res.json(result); diff --git a/frameworks/Dart/angel3/orm-mysql/lib/src/routes/routes.dart b/frameworks/Dart/angel3/orm-mysql/lib/src/routes/routes.dart index f09c7af933c..560fc1f8ba9 100644 --- a/frameworks/Dart/angel3/orm-mysql/lib/src/routes/routes.dart +++ b/frameworks/Dart/angel3/orm-mysql/lib/src/routes/routes.dart @@ -1,4 +1,3 @@ -/// This app's route configuration. import 'package:angel3_framework/angel3_framework.dart'; import 'package:angel3_static/angel3_static.dart'; import 'package:file/file.dart'; diff --git a/frameworks/Dart/angel3/orm-mysql/lib/src/services/services.dart b/frameworks/Dart/angel3/orm-mysql/lib/src/services/services.dart index 188d0b89f81..bf1ce7cb251 100644 --- a/frameworks/Dart/angel3/orm-mysql/lib/src/services/services.dart +++ b/frameworks/Dart/angel3/orm-mysql/lib/src/services/services.dart @@ -1,4 +1,3 @@ -/// Declare services here! import 'dart:async'; import 'package:angel3_framework/angel3_framework.dart'; diff --git a/frameworks/Dart/angel3/orm-mysql/pubspec.lock b/frameworks/Dart/angel3/orm-mysql/pubspec.lock index a9ffdd5bb48..bb10156745f 100644 --- a/frameworks/Dart/angel3/orm-mysql/pubspec.lock +++ b/frameworks/Dart/angel3/orm-mysql/pubspec.lock @@ -5,841 +5,977 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - url: "https://pub.dartlang.org" + sha256: dc27559385e905ad30838356c5f5d574014ba39872d732111cd07ac0beff4c57 + url: "https://pub.dev" source: hosted - version: "47.0.0" + version: "80.0.0" analyzer: dependency: transitive description: name: analyzer - url: "https://pub.dartlang.org" + sha256: "192d1c5b944e7e53b24b5586db760db934b177d4147c42fbca8c8c5f1eb8d11e" + url: "https://pub.dev" source: hosted - version: "4.7.0" + version: "7.3.0" angel3_auth: dependency: "direct main" description: name: angel3_auth - url: "https://pub.dartlang.org" + sha256: "3996219fca7a49174c3745732a1e438ec94d55936697f2504196be4f3dbf191a" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_client: dependency: transitive description: name: angel3_client - url: "https://pub.dartlang.org" + sha256: e2886fdb41f243d85003f94127850bdd70f79fa5f7cf1f2b79b4f7029198e9dd + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.0" angel3_configuration: dependency: "direct main" description: name: angel3_configuration - url: "https://pub.dartlang.org" + sha256: f585699cf0ea5376d7ed6310e9fc57ccdd4645e5746ea0bae1fa6c05efe4e810 + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_container: - dependency: transitive + dependency: "direct main" description: name: angel3_container - url: "https://pub.dartlang.org" + sha256: c08ea6b426242861d11109b748792503652a7eb0db4005409c0a031e80820c7f + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_framework: dependency: "direct main" description: name: angel3_framework - url: "https://pub.dartlang.org" + sha256: "91d56825b78846d9294e8aae789362644d4e24df4870d52d6c2cc6d8adf8d2c9" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.5.0" angel3_hot: dependency: "direct dev" description: name: angel3_hot - url: "https://pub.dartlang.org" + sha256: "8e1e7409631a49f05483e2067d1f27f594d558459712311b5ea4317b5519975b" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.0" angel3_http_exception: dependency: transitive description: name: angel3_http_exception - url: "https://pub.dartlang.org" + sha256: "9484b425a1aece1af3f2f0521fba429cd48f0a952521d40281333694c750e4ab" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_jael: dependency: "direct main" description: name: angel3_jael - url: "https://pub.dartlang.org" + sha256: "4ce85198613faff74ac8706065c619e7d6fc609aeb63b2fa7d9dba6f5a981f5c" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_migration: dependency: "direct main" description: name: angel3_migration - url: "https://pub.dartlang.org" + sha256: de7180ce8e48b0fe551c0b96cc83d0cafdcb71de3c75e13b0b08c3fdaf9df351 + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.0" angel3_migration_runner: dependency: "direct dev" description: name: angel3_migration_runner - url: "https://pub.dartlang.org" + sha256: "30596dd82471dcddd35afb8b245c1dd56c8c53bdf77dee5e131c353e37e05f9b" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.1" angel3_mock_request: dependency: transitive description: name: angel3_mock_request - url: "https://pub.dartlang.org" + sha256: "8c8513a649d33c0c0531a120183da558000b4f044a4f30fd3ae22dfe11355a04" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_model: dependency: transitive description: name: angel3_model - url: "https://pub.dartlang.org" + sha256: "9a3f50b02bf119bb160d5f94580940b93973589d9b5949d284d2427b8fb65e16" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_orm: dependency: "direct main" description: name: angel3_orm - url: "https://pub.dartlang.org" + sha256: "9d1831b6b91820e312b52cf4c8c3cebb067be59b47123276fbc7741a01ae2ac5" + url: "https://pub.dev" source: hosted - version: "7.0.1" + version: "8.3.2" angel3_orm_generator: dependency: "direct dev" description: name: angel3_orm_generator - url: "https://pub.dartlang.org" + sha256: "18426152dc86e1f0cd5fab14470f07a5b5ac7dd1b78f7e1bf8986d2625a898ec" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.1" angel3_orm_mysql: dependency: "direct main" description: name: angel3_orm_mysql - url: "https://pub.dartlang.org" + sha256: "63e7a6c36a0e492b89b4677bec9f79042d098063bbecb920705ab60d4415a3c6" + url: "https://pub.dev" source: hosted - version: "7.0.1" + version: "8.3.1" angel3_production: dependency: "direct main" description: name: angel3_production - url: "https://pub.dartlang.org" + sha256: "286d4b6dcd5e4297eea3db93cb419282ca14ef920f77439ef7b42c6229ab6219" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.1" angel3_route: dependency: transitive description: name: angel3_route - url: "https://pub.dartlang.org" + sha256: f2ebf4b134e13f804271d4e164a92de5dd25ad0bb651303df2c9e6fb397f32a8 + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.0" angel3_serialize: dependency: "direct main" description: name: angel3_serialize - url: "https://pub.dartlang.org" + sha256: "4a4658b8af0d0eec6b8816699f137367c6af7c6f6a1f83a84e43fee55f892f5e" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_serialize_generator: dependency: "direct dev" description: name: angel3_serialize_generator - url: "https://pub.dartlang.org" + sha256: "0fd91dd1162f5c0d1b3c0f2734f48787202693926e6d6c97bca18658c8b812f4" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.1" angel3_static: dependency: "direct main" description: name: angel3_static - url: "https://pub.dartlang.org" + sha256: "534e827500304fa4e95f3613b130aad832dc65681b9a4c47a83891f65b04b554" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_test: dependency: "direct dev" description: name: angel3_test - url: "https://pub.dartlang.org" + sha256: "2ae3d83f83fb6c0834948b4ae3afc02da8c7ee38da3e164bd455564267e39ff8" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_validate: dependency: "direct main" description: name: angel3_validate - url: "https://pub.dartlang.org" + sha256: "661ef636583b0e60b35756d3d296d2ef7b257277fa703a494278ace9fcbe4f0c" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_websocket: dependency: transitive description: name: angel3_websocket - url: "https://pub.dartlang.org" + sha256: "160399b1898d5fd9c8294b4321691567687d9d86d8940aea83cc528b85427229" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.0" args: dependency: transitive description: name: args - url: "https://pub.dartlang.org" + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 + url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.7.0" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" + url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.13.0" belatuk_code_buffer: dependency: transitive description: name: belatuk_code_buffer - url: "https://pub.dartlang.org" + sha256: "06c4329570e2cb72cb808c5f19d2004865b7c1f18447d4af16d465776416ccfc" + url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.3.0" belatuk_combinator: dependency: transitive description: name: belatuk_combinator - url: "https://pub.dartlang.org" + sha256: "0c54ddf1a6a7c94585c55a5852ccc13ad1a871e3e0709d3322d0286eb7afb7d7" + url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.3.0" belatuk_html_builder: dependency: transitive description: name: belatuk_html_builder - url: "https://pub.dartlang.org" + sha256: "0bdd783a54aa7435c86231b319bfffa06259aea6df59dbec62d351456062e67f" + url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.3.0" belatuk_http_server: dependency: transitive description: name: belatuk_http_server - url: "https://pub.dartlang.org" + sha256: "2a4ae9409f3586a95a3393b924c86fd38c30d955aa2437070c3198a1ec0a1686" + url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.5.0" belatuk_json_serializer: dependency: transitive description: name: belatuk_json_serializer - url: "https://pub.dartlang.org" + sha256: b0b6ee6b4aa0552d84b487c5d1a97f72c9d5c4cbc4e2828f57e24635d5d75be8 + url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "7.3.0" belatuk_merge_map: dependency: transitive description: name: belatuk_merge_map - url: "https://pub.dartlang.org" + sha256: "1eb3c77417598e1d40c11d8d93b3c7bb5f10ca0977b2f942c623698bf3745f43" + url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.3.0" belatuk_pretty_logging: dependency: "direct main" description: name: belatuk_pretty_logging - url: "https://pub.dartlang.org" + sha256: "29fb3127ce58643e59fc4510ce41fa4d795f56997cbc661dffdf07e9a65e7021" + url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "6.3.0" belatuk_pub_sub: dependency: transitive description: name: belatuk_pub_sub - url: "https://pub.dartlang.org" + sha256: "08c4f458165f7e2d76a3a4796e94092b98579aedd1fc8a64f39cfbbd18db249d" + url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "6.4.0" belatuk_range_header: dependency: transitive description: name: belatuk_range_header - url: "https://pub.dartlang.org" + sha256: "78f315c8a53415a04a77dee3fcec6f867bac77d2e5d3e13ffc7532d1800adc53" + url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "6.4.0" belatuk_symbol_table: dependency: transitive description: name: belatuk_symbol_table - url: "https://pub.dartlang.org" + sha256: "154f50623b2c5a669561588d86a445f97cf081de6e690ba9bc866dcd98508f50" + url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.3.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" buffer: dependency: transitive description: name: buffer - url: "https://pub.dartlang.org" + sha256: "389da2ec2c16283c8787e0adaede82b1842102f8c8aae2f49003a766c5c6b3d1" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.3" build: dependency: transitive description: name: build - url: "https://pub.dartlang.org" + sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0 + url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.4.2" build_config: dependency: transitive description: name: build_config - url: "https://pub.dartlang.org" + sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.2" build_daemon: dependency: transitive description: name: build_daemon - url: "https://pub.dartlang.org" + sha256: "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa" + url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "4.0.4" build_resolvers: dependency: transitive description: name: build_resolvers - url: "https://pub.dartlang.org" + sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 + url: "https://pub.dev" source: hosted - version: "2.0.10" + version: "2.4.4" build_runner: dependency: "direct dev" description: name: build_runner - url: "https://pub.dartlang.org" + sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" + url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.4.15" build_runner_core: dependency: transitive description: name: build_runner_core - url: "https://pub.dartlang.org" + sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" + url: "https://pub.dev" source: hosted - version: "7.2.4" + version: "8.0.0" built_collection: dependency: transitive description: name: built_collection - url: "https://pub.dartlang.org" + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" source: hosted version: "5.1.1" built_value: dependency: transitive description: name: built_value - url: "https://pub.dartlang.org" + sha256: ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4 + url: "https://pub.dev" source: hosted - version: "8.4.1" + version: "8.9.5" charcode: dependency: transitive description: name: charcode - url: "https://pub.dartlang.org" + sha256: fb0f1107cac15a5ea6ef0a6ef71a807b9e4267c713bb93e00e92d737cc8dbd8a + url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.4.0" checked_yaml: dependency: transitive description: name: checked_yaml - url: "https://pub.dartlang.org" + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.3" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" code_builder: dependency: transitive description: name: code_builder - url: "https://pub.dartlang.org" + sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" + url: "https://pub.dev" source: hosted - version: "4.3.0" + version: "4.10.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.19.1" convert: dependency: transitive description: name: convert - url: "https://pub.dartlang.org" + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 + url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.1.2" coverage: dependency: transitive description: name: coverage - url: "https://pub.dartlang.org" + sha256: e3493833ea012784c740e341952298f1cc77f1f01b1bbc3eb4eecf6984fb7f43 + url: "https://pub.dev" source: hosted - version: "1.6.0" + version: "1.11.1" crypto: dependency: transitive description: name: crypto - url: "https://pub.dartlang.org" + sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" + url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.0.6" dart_style: dependency: transitive description: name: dart_style - url: "https://pub.dartlang.org" + sha256: "27eb0ae77836989a3bc541ce55595e8ceee0992807f14511552a898ddd0d88ac" + url: "https://pub.dev" source: hosted - version: "2.2.4" + version: "3.0.1" dotenv: dependency: transitive description: name: dotenv - url: "https://pub.dartlang.org" + sha256: "379e64b6fc82d3df29461d349a1796ecd2c436c480d4653f3af6872eccbc90e1" + url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "4.2.0" file: - dependency: transitive + dependency: "direct main" description: name: file - url: "https://pub.dartlang.org" + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 + url: "https://pub.dev" source: hosted - version: "6.1.4" + version: "7.0.1" fixnum: dependency: transitive description: name: fixnum - url: "https://pub.dartlang.org" + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be + url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.1.1" frontend_server_client: dependency: transitive description: name: frontend_server_client - url: "https://pub.dartlang.org" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 + url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "4.0.0" glob: dependency: transitive description: name: glob - url: "https://pub.dartlang.org" + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.3" graphs: dependency: transitive description: name: graphs - url: "https://pub.dartlang.org" + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.3.2" http: dependency: transitive description: name: http - url: "https://pub.dartlang.org" + sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f + url: "https://pub.dev" source: hosted - version: "0.13.5" + version: "1.3.0" http2: dependency: transitive description: name: http2 - url: "https://pub.dartlang.org" + sha256: "382d3aefc5bd6dc68c6b892d7664f29b5beb3251611ae946a98d35158a82bbfa" + url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.3.1" http_multi_server: dependency: transitive description: name: http_multi_server - url: "https://pub.dartlang.org" + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 + url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "4.1.2" inflection3: dependency: transitive description: name: inflection3 - url: "https://pub.dartlang.org" + sha256: cb54689bcfe3c0168a6979ee3191df584dcef4f870c5ef41c798bcb35ff5aca3 + url: "https://pub.dev" source: hosted version: "0.5.3+2" intl: dependency: transitive description: name: intl - url: "https://pub.dartlang.org" + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" + url: "https://pub.dev" source: hosted - version: "0.17.0" + version: "0.20.2" io: dependency: "direct dev" description: name: io - url: "https://pub.dartlang.org" + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b + url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.5" jael3: dependency: "direct main" description: name: jael3 - url: "https://pub.dartlang.org" + sha256: bee0b8d328898dac9008caf7392400d03bc2035a3dd9acebe7ebee052ef9132b + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.2.0" jael3_preprocessor: dependency: transitive description: name: jael3_preprocessor - url: "https://pub.dartlang.org" + sha256: "8e70b92608e61c032f08bed82fa63b82e26b4ede4f4924b81bd75329fae9e9b8" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.2.0" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf + url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.7.1" json_annotation: dependency: transitive description: name: json_annotation - url: "https://pub.dartlang.org" + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" source: hosted - version: "4.6.0" + version: "4.9.0" json_rpc_2: dependency: transitive description: name: json_rpc_2 - url: "https://pub.dartlang.org" + sha256: "246b321532f0e8e2ba474b4d757eaa558ae4fdd0688fdbc1e1ca9705f9b8ca0e" + url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.0.3" lints: dependency: "direct dev" description: name: lints - url: "https://pub.dartlang.org" + sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 + url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "5.1.1" logging: dependency: "direct main" description: name: logging - url: "https://pub.dartlang.org" + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.3.0" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + url: "https://pub.dev" source: hosted - version: "0.12.12" + version: "0.12.17" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.16.0" mime: dependency: transitive description: name: mime - url: "https://pub.dartlang.org" + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "2.0.0" mysql1: dependency: transitive description: name: mysql1 - url: "https://pub.dartlang.org" + sha256: "68aec7003d2abc85769bafa1777af3f4a390a90c31032b89636758ff8eb839e9" + url: "https://pub.dev" source: hosted version: "0.20.0" mysql_client: - dependency: transitive + dependency: "direct main" description: name: mysql_client - url: "https://pub.dartlang.org" + sha256: "6a0fdcbe3e0721c637f97ad24649be2f70dbce2b21ede8f962910e640f753fc2" + url: "https://pub.dev" source: hosted - version: "0.0.26" + version: "0.0.27" node_preamble: dependency: transitive description: name: node_preamble - url: "https://pub.dartlang.org" + sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" + url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.2" optional: dependency: "direct main" description: name: optional - url: "https://pub.dartlang.org" + sha256: f80327d7a3335a0be68418072668043c7ab291df575c21aa42e0c5633641da39 + url: "https://pub.dev" source: hosted version: "6.1.0+1" package_config: dependency: transitive description: name: package_config - url: "https://pub.dartlang.org" + sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.2.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + url: "https://pub.dev" source: hosted - version: "1.8.2" - pedantic: - dependency: transitive - description: - name: pedantic - url: "https://pub.dartlang.org" - source: hosted - version: "1.11.1" + version: "1.9.1" pool: dependency: transitive description: name: pool - url: "https://pub.dartlang.org" + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" source: hosted version: "1.5.1" postgres: dependency: transitive description: name: postgres - url: "https://pub.dartlang.org" + sha256: "7a7f9805d33e41cb14fa22535959f3af51843a792015cdbd8f2fa78bcd1b501b" + url: "https://pub.dev" source: hosted - version: "2.5.2" + version: "3.5.4" pub_semver: dependency: transitive description: name: pub_semver - url: "https://pub.dartlang.org" + sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" + url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.2.0" pubspec_parse: dependency: transitive description: name: pubspec_parse - url: "https://pub.dartlang.org" + sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" + url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.5.0" quiver: dependency: transitive description: name: quiver - url: "https://pub.dartlang.org" + sha256: ea0b925899e64ecdfbf9c7becb60d5b50e706ade44a85b2363be2a22d88117d2 + url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.2" recase: dependency: transitive description: name: recase - url: "https://pub.dartlang.org" + sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 + url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.1.0" sasl_scram: dependency: transitive description: name: sasl_scram - url: "https://pub.dartlang.org" + sha256: a47207a436eb650f8fdcf54a2e2587b850dc3caef9973ce01f332b07a6fc9cb9 + url: "https://pub.dev" source: hosted version: "0.1.1" saslprep: dependency: transitive description: name: saslprep - url: "https://pub.dartlang.org" + sha256: "3d421d10be9513bf4459c17c5e70e7b8bc718c9fc5ad4ba5eb4f5fd27396f740" + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.0.3" shelf: dependency: transitive description: name: shelf - url: "https://pub.dartlang.org" + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 + url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.2" shelf_packages_handler: dependency: transitive description: name: shelf_packages_handler - url: "https://pub.dartlang.org" + sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" + url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" shelf_static: dependency: transitive description: name: shelf_static - url: "https://pub.dartlang.org" + sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3 + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.3" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - url: "https://pub.dartlang.org" + sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "3.0.0" source_gen: dependency: transitive description: name: source_gen - url: "https://pub.dartlang.org" + sha256: "35c8150ece9e8c8d263337a265153c3329667640850b9304861faea59fc98f6b" + url: "https://pub.dev" source: hosted - version: "1.2.3" + version: "2.0.0" source_map_stack_trace: dependency: transitive description: name: source_map_stack_trace - url: "https://pub.dartlang.org" + sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" source_maps: dependency: transitive description: name: source_maps - url: "https://pub.dartlang.org" + sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812" + url: "https://pub.dev" source: hosted - version: "0.10.10" + version: "0.10.13" source_span: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.1" + sprintf: + dependency: transitive + description: + name: sprintf + sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" + url: "https://pub.dev" + source: hosted + version: "7.0.0" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.4" stream_transform: dependency: transitive description: name: stream_transform - url: "https://pub.dartlang.org" + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 + url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.4.1" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test: dependency: "direct dev" description: name: test - url: "https://pub.dartlang.org" + sha256: "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e" + url: "https://pub.dev" source: hosted - version: "1.21.6" + version: "1.25.15" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + url: "https://pub.dev" source: hosted - version: "0.4.14" + version: "0.7.4" test_core: dependency: transitive description: name: test_core - url: "https://pub.dartlang.org" + sha256: "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa" + url: "https://pub.dev" source: hosted - version: "0.4.18" + version: "0.6.8" timing: dependency: transitive description: name: timing - url: "https://pub.dartlang.org" + sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" + url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.0.2" tuple: dependency: transitive description: name: tuple - url: "https://pub.dartlang.org" + sha256: a97ce2013f240b2f3807bcbaf218765b6f301c3eff91092bcfa23a039e7dd151 + url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.0.2" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.4.0" unorm_dart: dependency: transitive description: name: unorm_dart - url: "https://pub.dartlang.org" + sha256: "23d8bf65605401a6a32cff99435fed66ef3dab3ddcad3454059165df46496a3b" + url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.3.0" uuid: dependency: transitive description: name: uuid - url: "https://pub.dartlang.org" + sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff + url: "https://pub.dev" source: hosted - version: "3.0.6" + version: "4.5.1" vm_service: dependency: transitive description: name: vm_service - url: "https://pub.dartlang.org" + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 + url: "https://pub.dev" source: hosted - version: "9.4.0" + version: "15.0.0" watcher: dependency: transitive description: name: watcher - url: "https://pub.dartlang.org" + sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" + url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.1.1" + web: + dependency: transitive + description: + name: web + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + url: "https://pub.dev" + source: hosted + version: "0.1.6" web_socket_channel: dependency: transitive description: name: web_socket_channel - url: "https://pub.dartlang.org" + sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5" + url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "3.0.2" webkit_inspection_protocol: dependency: transitive description: name: webkit_inspection_protocol - url: "https://pub.dartlang.org" + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" + url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" yaml: dependency: transitive description: name: yaml - url: "https://pub.dartlang.org" + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce + url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.3" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=3.6.0 <4.0.0" diff --git a/frameworks/Dart/angel3/orm-mysql/pubspec.yaml b/frameworks/Dart/angel3/orm-mysql/pubspec.yaml index 4744712db06..1cd83585e76 100644 --- a/frameworks/Dart/angel3/orm-mysql/pubspec.yaml +++ b/frameworks/Dart/angel3/orm-mysql/pubspec.yaml @@ -1,40 +1,38 @@ name: orm_mysql_app -version: 1.0.0 +version: 2.0.0 description: A basic starter application template for Angel3 framework publish_to: none environment: - sdk: '>=2.17.0 <3.0.0' + sdk: '>=3.6.0 <4.0.0' + dependencies: - angel3_auth: ^7.0.0 - angel3_configuration: ^7.0.0 - angel3_framework: ^7.0.0 - angel3_jael: ^7.0.0 - angel3_migration: ^7.0.0 - angel3_orm: ^7.0.0 - angel3_orm_mysql: ^7.0.0 - angel3_serialize: ^7.0.0 - angel3_production: ^7.0.0 - angel3_static: ^7.0.0 - angel3_validate: ^7.0.0 - jael3: ^7.0.0 - belatuk_pretty_logging: ^5.0.0 + angel3_auth: ^8.3.0 + angel3_configuration: ^8.3.0 + angel3_framework: ^8.5.0 + angel3_jael: ^8.3.0 + angel3_migration: ^8.3.0 + angel3_orm: ^8.3.0 + angel3_orm_mysql: ^8.3.0 + angel3_serialize: ^8.3.0 + angel3_production: ^8.3.0 + angel3_static: ^8.3.0 + angel3_validate: ^8.3.0 + jael3: ^8.0.0 + belatuk_pretty_logging: ^6.0.0 optional: ^6.0.0 - logging: ^1.0.0 + logging: ^1.2.0 + angel3_container: ^8.3.0 + file: ^7.0.1 + mysql_client: ^0.0.27 + dev_dependencies: - angel3_hot: ^7.0.0 - angel3_migration_runner: ^7.0.0 - angel3_orm_generator: ^7.0.0 - angel3_serialize_generator: ^7.0.0 - angel3_test: ^7.0.0 - build_runner: ^2.0.3 + angel3_hot: ^8.0.0 + angel3_migration_runner: ^8.0.0 + angel3_orm_generator: ^8.0.0 + angel3_serialize_generator: ^8.0.0 + angel3_test: ^8.0.0 + build_runner: ^2.4.0 io: ^1.0.0 - test: ^1.17.5 - lints: ^2.0.0 -# dependency_overrides: -# angel3_orm: -# path: ../../../../../belatuk/packages/orm/angel_orm -# angel3_orm_postgres: -# path: ../../../../../belatuk/packages/orm/angel_orm_postgres -# angel3_jael: -# path: ../../../../../belatuk/packages/jael/angel_jael + test: ^1.25.0 + lints: ^5.0.0 \ No newline at end of file diff --git a/frameworks/Dart/angel3/orm-mysql/run/dev.dart b/frameworks/Dart/angel3/orm-mysql/run/dev.dart index cecd1abacbf..33b104e04be 100644 --- a/frameworks/Dart/angel3/orm-mysql/run/dev.dart +++ b/frameworks/Dart/angel3/orm-mysql/run/dev.dart @@ -4,7 +4,7 @@ import 'package:belatuk_pretty_logging/belatuk_pretty_logging.dart'; import 'package:angel3_container/mirrors.dart'; import 'package:angel3_framework/angel3_framework.dart'; import 'package:angel3_hot/angel3_hot.dart'; -import 'package:orm_mysql_app/orm_mysql_app.dart'; +import 'package:orm_mysql_app/benchmark_app.dart'; void main() async { // Watch the config/ and web/ directories for changes, and hot-reload the server. diff --git a/frameworks/Dart/angel3/orm-mysql/run/prod.dart b/frameworks/Dart/angel3/orm-mysql/run/prod.dart index 158bc09a567..dfcda79585a 100644 --- a/frameworks/Dart/angel3/orm-mysql/run/prod.dart +++ b/frameworks/Dart/angel3/orm-mysql/run/prod.dart @@ -1,29 +1,6 @@ import 'package:angel3_container/mirrors.dart'; import 'package:angel3_production/angel3_production.dart'; -import 'package:orm_mysql_app/orm_mysql_app.dart'; +import 'package:orm_mysql_app/benchmark_app.dart'; -// NOTE: By default, the Runner class does not use the `MirrorsReflector`, or any -// reflector, by default. -// -// If your application is using any sort of functionality reliant on annotations or reflection, -// either include the MirrorsReflector, or use a static reflector variant. -// -// The following use cases require reflection: -// * Use of Controllers, via @Expose() or @ExposeWS() -// * Use of dependency injection into constructors, whether in controllers or plain `container.make` calls -// * Use of the `ioc` function in any route -// -// The `MirrorsReflector` from `package:angel_container/mirrors.dart` is by far the most convenient pattern, -// so use it if possible. -// -// However, the following alternatives exist: -// * Generation via `package:angel_container_generator` -// * Creating an instance of `StaticReflector` -// * Manually implementing the `Reflector` interface (cumbersome; not recommended) -// -// As of January 4th, 2018, the documentation has not yet been updated to state this, -// so in the meantime, visit the Angel chat for further questions: -// -// https://gitter.im/angel_dart/discussion void main(List args) => Runner('Angel3', configureServer, reflector: MirrorsReflector()).run(args); diff --git a/frameworks/Dart/angel3/orm-mysql/test/all_test.dart b/frameworks/Dart/angel3/orm-mysql/test/all_test.dart index 4fed3057fb5..e8025b27b28 100644 --- a/frameworks/Dart/angel3/orm-mysql/test/all_test.dart +++ b/frameworks/Dart/angel3/orm-mysql/test/all_test.dart @@ -1,22 +1,17 @@ import 'package:angel3_framework/angel3_framework.dart'; import 'package:angel3_test/angel3_test.dart'; import 'package:test/test.dart'; -import 'package:orm_mysql_app/orm_mysql_app.dart'; +import 'package:orm_mysql_app/benchmark_app.dart'; -// Angel also includes facilities to make testing easier. +// Angel3 also includes facilities to make testing easier. // -// `package:angel_test` ships a client that can test -// both plain HTTP and WebSockets. +// `package:angel3_test` ships a client that can test both plain HTTP and WebSockets. // // Tests do not require your server to actually be mounted on a port, // so they will run faster than they would in other frameworks, where you // would have to first bind a socket, and then account for network latency. // -// See the documentation here: -// https://github.com/angel-dart/test -// -// If you are unfamiliar with Dart's advanced testing library, you can read up -// here: +// If you are unfamiliar with Dart's advanced testing library, you can read up here: // https://github.com/dart-lang/test void main() async { diff --git a/frameworks/Dart/angel3/orm/lib/benchmark_app.dart b/frameworks/Dart/angel3/orm/lib/benchmark_app.dart index baaf97ce234..f97da4a2ccd 100644 --- a/frameworks/Dart/angel3/orm/lib/benchmark_app.dart +++ b/frameworks/Dart/angel3/orm/lib/benchmark_app.dart @@ -1,4 +1,3 @@ -/// Your very own web application! import 'dart:async'; import 'package:angel3_framework/angel3_framework.dart'; import 'package:file/local.dart'; diff --git a/frameworks/Dart/angel3/orm/lib/src/config/plugins/orm.dart b/frameworks/Dart/angel3/orm/lib/src/config/plugins/orm.dart index 87d9defb170..5700708d619 100644 --- a/frameworks/Dart/angel3/orm/lib/src/config/plugins/orm.dart +++ b/frameworks/Dart/angel3/orm/lib/src/config/plugins/orm.dart @@ -3,45 +3,23 @@ import 'dart:io'; import 'package:angel3_framework/angel3_framework.dart'; import 'package:angel3_orm/angel3_orm.dart'; import 'package:angel3_orm_postgres/angel3_orm_postgres.dart'; -import 'package:postgres_pool/postgres_pool.dart'; +import 'package:postgres/postgres.dart'; Future configureServer(Angel app) async { var logger = app.environment.isProduction ? null : app.logger; - var connection = await connectToPostgres(app.configuration); - await connection.open(); - var executor = PostgreSqlExecutor(connection, logger: logger); - - //var executor = await connectToPostgresPool(app.configuration, logger); + var connector = await pooledPostgresConnections(app.configuration); + var executor = PostgreSqlPoolExecutor(connector, logger: logger); app ..container.registerSingleton(executor) - ..shutdownHooks.add((_) => connection.close()); -// ..shutdownHooks.add((_) => executor.close()); -} - -Future connectToPostgres(Map configuration) async { - var postgresConfig = configuration['postgres'] as Map? ?? {}; - var connection = PostgreSQLConnection( - postgresConfig['host'] as String? ?? 'localhost', - postgresConfig['port'] as int? ?? 5432, - postgresConfig['database_name'] as String? ?? - Platform.environment['USER'] ?? - Platform.environment['USERNAME'] ?? - '', - username: postgresConfig['username'] as String?, - password: postgresConfig['password'] as String?, - timeZone: postgresConfig['time_zone'] as String? ?? 'UTC', - timeoutInSeconds: postgresConfig['timeout_in_seconds'] as int? ?? 30, - useSSL: postgresConfig['use_ssl'] as bool? ?? false); - return connection; + ..shutdownHooks.add((_) => connector.close()); } -Future connectToPostgresPool( - Map configuration, dynamic logger) async { +Future> pooledPostgresConnections(Map configuration) async { var postgresConfig = configuration['postgres'] as Map? ?? {}; - var _pool = PgPool( - PgEndpoint( + return Pool.withEndpoints([ + Endpoint( host: postgresConfig['host'] as String? ?? 'localhost', port: postgresConfig['port'] as int? ?? 5432, database: postgresConfig['database_name'] as String? ?? @@ -49,18 +27,13 @@ Future connectToPostgresPool( Platform.environment['USERNAME'] ?? '', username: postgresConfig['username'] as String?, - password: postgresConfig['password'] as String?), - settings: PgPoolSettings() - ..maxConnectionAge = Duration(hours: 1) - ..concurrency = 10, - ); - - // Run sql to create the tables in a transaction - //await _pool.runTx((conn) async { - // for (var s in schemas) { - // await conn.execute(await File('test/migrations/$s.sql').readAsString()); - // } - //}); - - return PostgreSqlPoolExecutor(_pool, logger: logger); + password: postgresConfig['password'] as String?) + ], + settings: PoolSettings( + maxConnectionAge: Duration(hours: 1), + maxConnectionCount: 20, + connectTimeout: Duration( + seconds: postgresConfig['timeout_in_seconds'] as int? ?? 30), + timeZone: postgresConfig['time_zone'] as String? ?? 'UTC', + sslMode: SslMode.disable)); } diff --git a/frameworks/Dart/angel3/orm/lib/src/models/fortune.g.dart b/frameworks/Dart/angel3/orm/lib/src/models/fortune.g.dart index 4f706492a2a..d4bd661a8cd 100644 --- a/frameworks/Dart/angel3/orm/lib/src/models/fortune.g.dart +++ b/frameworks/Dart/angel3/orm/lib/src/models/fortune.g.dart @@ -26,8 +26,10 @@ class FortuneMigration extends Migration { // ************************************************************************** class FortuneQuery extends Query { - FortuneQuery({Query? parent, Set? trampoline}) - : super(parent: parent) { + FortuneQuery({ + Query? parent, + Set? trampoline, + }) : super(parent: parent) { trampoline ??= {}; trampoline.add(tableName); _where = FortuneQueryWhere(this); @@ -52,7 +54,10 @@ class FortuneQuery extends Query { @override List get fields { - const _fields = ['id', 'message']; + const _fields = [ + 'id', + 'message', + ]; return _selectedFields.isEmpty ? _fields : _fields.where((field) => _selectedFields.contains(field)).toList(); @@ -78,8 +83,9 @@ class FortuneQuery extends Query { return Optional.empty(); } var model = Fortune( - id: fields.contains('id') ? (row[0] as int?) : null, - message: fields.contains('message') ? (row[1] as String?) : null); + id: fields.contains('id') ? mapToInt(row[0]) : null, + message: fields.contains('message') ? (row[1] as String?) : null, + ); return Optional.of(model); } @@ -91,8 +97,14 @@ class FortuneQuery extends Query { class FortuneQueryWhere extends QueryWhere { FortuneQueryWhere(FortuneQuery query) - : id = NumericSqlExpressionBuilder(query, 'id'), - message = StringSqlExpressionBuilder(query, 'message'); + : id = NumericSqlExpressionBuilder( + query, + 'id', + ), + message = StringSqlExpressionBuilder( + query, + 'message', + ); final NumericSqlExpressionBuilder id; @@ -100,7 +112,10 @@ class FortuneQueryWhere extends QueryWhere { @override List get expressionBuilders { - return [id, message]; + return [ + id, + message, + ]; } } @@ -115,11 +130,13 @@ class FortuneQueryValues extends MapQueryValues { } set id(int? value) => values['id'] = value; + String? get message { return (values['message'] as String?); } set message(String? value) => values['message'] = value; + void copyFrom(Fortune model) { id = model.id; message = model.message; @@ -132,7 +149,10 @@ class FortuneQueryValues extends MapQueryValues { @generatedSerializable class Fortune extends _Fortune { - Fortune({this.id, this.message}); + Fortune({ + this.id, + this.message, + }); @override int? id; @@ -140,7 +160,10 @@ class Fortune extends _Fortune { @override String? message; - Fortune copyWith({int? id, String? message}) { + Fortune copyWith({ + int? id, + String? message, + }) { return Fortune(id: id ?? this.id, message: message ?? this.message); } @@ -151,7 +174,10 @@ class Fortune extends _Fortune { @override int get hashCode { - return hashObjects([id, message]); + return hashObjects([ + id, + message, + ]); } @override @@ -189,22 +215,27 @@ class FortuneSerializer extends Codec { @override FortuneEncoder get encoder => const FortuneEncoder(); + @override FortuneDecoder get decoder => const FortuneDecoder(); + static Fortune fromMap(Map map) { return Fortune(id: map['id'] as int?, message: map['message'] as String?); } static Map toMap(_Fortune? model) { if (model == null) { - return {}; + throw FormatException("Required field [model] cannot be null"); } return {'id': model.id, 'message': model.message}; } } abstract class FortuneFields { - static const List allFields = [id, message]; + static const List allFields = [ + id, + message, + ]; static const String id = 'id'; diff --git a/frameworks/Dart/angel3/orm/lib/src/models/world.g.dart b/frameworks/Dart/angel3/orm/lib/src/models/world.g.dart index b5c66b9c5e5..5b51631b790 100644 --- a/frameworks/Dart/angel3/orm/lib/src/models/world.g.dart +++ b/frameworks/Dart/angel3/orm/lib/src/models/world.g.dart @@ -26,7 +26,10 @@ class WorldMigration extends Migration { // ************************************************************************** class WorldQuery extends Query { - WorldQuery({Query? parent, Set? trampoline}) : super(parent: parent) { + WorldQuery({ + Query? parent, + Set? trampoline, + }) : super(parent: parent) { trampoline ??= {}; trampoline.add(tableName); _where = WorldQueryWhere(this); @@ -51,7 +54,10 @@ class WorldQuery extends Query { @override List get fields { - const _fields = ['id', 'randomNumber']; + const _fields = [ + 'id', + 'randomNumber', + ]; return _selectedFields.isEmpty ? _fields : _fields.where((field) => _selectedFields.contains(field)).toList(); @@ -77,9 +83,9 @@ class WorldQuery extends Query { return Optional.empty(); } var model = World( - id: fields.contains('id') ? (row[0] as int?) : null, - randomNumber: - fields.contains('randomNumber') ? (row[1] as int?) : null); + id: fields.contains('id') ? mapToInt(row[0]) : null, + randomNumber: fields.contains('randomNumber') ? mapToInt(row[1]) : null, + ); return Optional.of(model); } @@ -91,8 +97,14 @@ class WorldQuery extends Query { class WorldQueryWhere extends QueryWhere { WorldQueryWhere(WorldQuery query) - : id = NumericSqlExpressionBuilder(query, 'id'), - randomNumber = NumericSqlExpressionBuilder(query, 'randomNumber'); + : id = NumericSqlExpressionBuilder( + query, + 'id', + ), + randomNumber = NumericSqlExpressionBuilder( + query, + 'randomNumber', + ); final NumericSqlExpressionBuilder id; @@ -100,7 +112,10 @@ class WorldQueryWhere extends QueryWhere { @override List get expressionBuilders { - return [id, randomNumber]; + return [ + id, + randomNumber, + ]; } } @@ -115,11 +130,13 @@ class WorldQueryValues extends MapQueryValues { } set id(int? value) => values['id'] = value; + int? get randomNumber { return (values['randomNumber'] as int?); } set randomNumber(int? value) => values['randomNumber'] = value; + void copyFrom(World model) { id = model.id; randomNumber = model.randomNumber; @@ -132,7 +149,10 @@ class WorldQueryValues extends MapQueryValues { @generatedSerializable class World extends _World { - World({this.id, this.randomNumber}); + World({ + this.id, + this.randomNumber, + }); @override int? id; @@ -140,7 +160,10 @@ class World extends _World { @override int? randomNumber; - World copyWith({int? id, int? randomNumber}) { + World copyWith({ + int? id, + int? randomNumber, + }) { return World( id: id ?? this.id, randomNumber: randomNumber ?? this.randomNumber); } @@ -154,7 +177,10 @@ class World extends _World { @override int get hashCode { - return hashObjects([id, randomNumber]); + return hashObjects([ + id, + randomNumber, + ]); } @override @@ -192,8 +218,10 @@ class WorldSerializer extends Codec { @override WorldEncoder get encoder => const WorldEncoder(); + @override WorldDecoder get decoder => const WorldDecoder(); + static World fromMap(Map map) { return World( id: map['id'] as int?, randomNumber: map['randomNumber'] as int?); @@ -201,14 +229,17 @@ class WorldSerializer extends Codec { static Map toMap(_World? model) { if (model == null) { - return {}; + throw FormatException("Required field [model] cannot be null"); } return {'id': model.id, 'randomNumber': model.randomNumber}; } } abstract class WorldFields { - static const List allFields = [id, randomNumber]; + static const List allFields = [ + id, + randomNumber, + ]; static const String id = 'id'; diff --git a/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart b/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart index 81e4ac83e4d..bffed71151f 100644 --- a/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart +++ b/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart @@ -1,5 +1,4 @@ import 'dart:async'; -import 'dart:convert'; import 'dart:math'; import 'package:angel3_framework/angel3_framework.dart'; import 'package:angel3_orm/angel3_orm.dart'; @@ -12,12 +11,12 @@ Future configureServer(Angel app) async { var executor = app.container.make(); // Generate a random number between 1 and 10000 - int _genRandomId() { + int genRandomId() { var rand = Random(); return rand.nextInt(10000) + 1; } - int _parseQueryCount(String? count) { + int parseQueryCount(String? count) { if (count == null) { return 1; } @@ -30,11 +29,11 @@ Future configureServer(Angel app) async { return limit; } - List _generateIds(int maxCount) { + List generateIds(int maxCount) { var result = []; while (result.length < maxCount) { - var id = _genRandomId(); + var id = genRandomId(); if (!result.contains(id)) { result.add(id); } @@ -74,7 +73,7 @@ Future configureServer(Angel app) async { // Find a random World app.get('/db', (req, res) async { - var id = _genRandomId(); + var id = genRandomId(); var query = WorldQuery()..where?.id.equals(id); var result = await query.get(executor); if (result.isNotEmpty) { @@ -88,9 +87,9 @@ Future configureServer(Angel app) async { app.get('/query', (req, res) async { var params = req.queryParameters; - var queryLimit = _parseQueryCount(params['queries'] as String?); + var queryLimit = parseQueryCount(params['queries'] as String?); - var list = _generateIds(queryLimit); + var list = generateIds(queryLimit); var query = WorldQuery(); var result = []; for (var id in list) { @@ -107,8 +106,8 @@ Future configureServer(Angel app) async { //var stopwatch = Stopwatch()..start(); var params = req.queryParameters; - var queryLimit = _parseQueryCount(params['queries'] as String?); - var listOfIds = _generateIds(queryLimit); + var queryLimit = parseQueryCount(params['queries'] as String?); + var listOfIds = generateIds(queryLimit); var query = WorldQuery(); var result = []; @@ -118,7 +117,7 @@ Future configureServer(Angel app) async { query ..where?.id.equals(optWorld.value.id!) - ..values.randomNumber = _genRandomId(); + ..values.randomNumber = genRandomId(); var updatedRec = await query.updateOne(executor); result.add(updatedRec.value); } diff --git a/frameworks/Dart/angel3/orm/pubspec.lock b/frameworks/Dart/angel3/orm/pubspec.lock index 875804ad750..10a54530573 100644 --- a/frameworks/Dart/angel3/orm/pubspec.lock +++ b/frameworks/Dart/angel3/orm/pubspec.lock @@ -5,862 +5,977 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - url: "https://pub.dartlang.org" + sha256: dc27559385e905ad30838356c5f5d574014ba39872d732111cd07ac0beff4c57 + url: "https://pub.dev" source: hosted - version: "47.0.0" + version: "80.0.0" analyzer: dependency: transitive description: name: analyzer - url: "https://pub.dartlang.org" + sha256: "192d1c5b944e7e53b24b5586db760db934b177d4147c42fbca8c8c5f1eb8d11e" + url: "https://pub.dev" source: hosted - version: "4.7.0" + version: "7.3.0" angel3_auth: dependency: "direct main" description: name: angel3_auth - url: "https://pub.dartlang.org" + sha256: "3996219fca7a49174c3745732a1e438ec94d55936697f2504196be4f3dbf191a" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_client: dependency: transitive description: name: angel3_client - url: "https://pub.dartlang.org" + sha256: e2886fdb41f243d85003f94127850bdd70f79fa5f7cf1f2b79b4f7029198e9dd + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.0" angel3_configuration: dependency: "direct main" description: name: angel3_configuration - url: "https://pub.dartlang.org" + sha256: f585699cf0ea5376d7ed6310e9fc57ccdd4645e5746ea0bae1fa6c05efe4e810 + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_container: - dependency: transitive + dependency: "direct main" description: name: angel3_container - url: "https://pub.dartlang.org" + sha256: c08ea6b426242861d11109b748792503652a7eb0db4005409c0a031e80820c7f + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_framework: dependency: "direct main" description: name: angel3_framework - url: "https://pub.dartlang.org" + sha256: "91d56825b78846d9294e8aae789362644d4e24df4870d52d6c2cc6d8adf8d2c9" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.5.0" angel3_hot: dependency: "direct dev" description: name: angel3_hot - url: "https://pub.dartlang.org" + sha256: "8e1e7409631a49f05483e2067d1f27f594d558459712311b5ea4317b5519975b" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.0" angel3_http_exception: dependency: transitive description: name: angel3_http_exception - url: "https://pub.dartlang.org" + sha256: "9484b425a1aece1af3f2f0521fba429cd48f0a952521d40281333694c750e4ab" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_jael: dependency: "direct main" description: name: angel3_jael - url: "https://pub.dartlang.org" + sha256: "4ce85198613faff74ac8706065c619e7d6fc609aeb63b2fa7d9dba6f5a981f5c" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_migration: dependency: "direct main" description: name: angel3_migration - url: "https://pub.dartlang.org" + sha256: de7180ce8e48b0fe551c0b96cc83d0cafdcb71de3c75e13b0b08c3fdaf9df351 + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.0" angel3_migration_runner: dependency: "direct dev" description: name: angel3_migration_runner - url: "https://pub.dartlang.org" + sha256: "30596dd82471dcddd35afb8b245c1dd56c8c53bdf77dee5e131c353e37e05f9b" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.1" angel3_mock_request: dependency: transitive description: name: angel3_mock_request - url: "https://pub.dartlang.org" + sha256: "8c8513a649d33c0c0531a120183da558000b4f044a4f30fd3ae22dfe11355a04" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_model: dependency: transitive description: name: angel3_model - url: "https://pub.dartlang.org" + sha256: "9a3f50b02bf119bb160d5f94580940b93973589d9b5949d284d2427b8fb65e16" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_orm: dependency: "direct main" description: name: angel3_orm - url: "https://pub.dartlang.org" + sha256: "9d1831b6b91820e312b52cf4c8c3cebb067be59b47123276fbc7741a01ae2ac5" + url: "https://pub.dev" source: hosted - version: "7.0.1" + version: "8.3.2" angel3_orm_generator: dependency: "direct dev" description: name: angel3_orm_generator - url: "https://pub.dartlang.org" + sha256: "18426152dc86e1f0cd5fab14470f07a5b5ac7dd1b78f7e1bf8986d2625a898ec" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.1" angel3_orm_postgres: dependency: "direct main" description: name: angel3_orm_postgres - url: "https://pub.dartlang.org" + sha256: "7ecaec40b62b8d573ee72b1694f97353be4b6581b4da847d4bfe857f2540bd29" + url: "https://pub.dev" source: hosted - version: "7.0.1" + version: "8.3.1" angel3_production: dependency: "direct main" description: name: angel3_production - url: "https://pub.dartlang.org" + sha256: "286d4b6dcd5e4297eea3db93cb419282ca14ef920f77439ef7b42c6229ab6219" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.1" angel3_route: dependency: transitive description: name: angel3_route - url: "https://pub.dartlang.org" + sha256: f2ebf4b134e13f804271d4e164a92de5dd25ad0bb651303df2c9e6fb397f32a8 + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.0" angel3_serialize: dependency: "direct main" description: name: angel3_serialize - url: "https://pub.dartlang.org" + sha256: "4a4658b8af0d0eec6b8816699f137367c6af7c6f6a1f83a84e43fee55f892f5e" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_serialize_generator: dependency: "direct dev" description: name: angel3_serialize_generator - url: "https://pub.dartlang.org" + sha256: "0fd91dd1162f5c0d1b3c0f2734f48787202693926e6d6c97bca18658c8b812f4" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.1" angel3_static: dependency: "direct main" description: name: angel3_static - url: "https://pub.dartlang.org" + sha256: "534e827500304fa4e95f3613b130aad832dc65681b9a4c47a83891f65b04b554" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_test: dependency: "direct dev" description: name: angel3_test - url: "https://pub.dartlang.org" + sha256: "2ae3d83f83fb6c0834948b4ae3afc02da8c7ee38da3e164bd455564267e39ff8" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_validate: dependency: "direct main" description: name: angel3_validate - url: "https://pub.dartlang.org" + sha256: "661ef636583b0e60b35756d3d296d2ef7b257277fa703a494278ace9fcbe4f0c" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.3.0" angel3_websocket: dependency: transitive description: name: angel3_websocket - url: "https://pub.dartlang.org" + sha256: "160399b1898d5fd9c8294b4321691567687d9d86d8940aea83cc528b85427229" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.4.0" args: dependency: transitive description: name: args - url: "https://pub.dartlang.org" + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 + url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.7.0" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" + url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.13.0" belatuk_code_buffer: dependency: transitive description: name: belatuk_code_buffer - url: "https://pub.dartlang.org" + sha256: "06c4329570e2cb72cb808c5f19d2004865b7c1f18447d4af16d465776416ccfc" + url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.3.0" belatuk_combinator: dependency: transitive description: name: belatuk_combinator - url: "https://pub.dartlang.org" + sha256: "0c54ddf1a6a7c94585c55a5852ccc13ad1a871e3e0709d3322d0286eb7afb7d7" + url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.3.0" belatuk_html_builder: dependency: transitive description: name: belatuk_html_builder - url: "https://pub.dartlang.org" + sha256: "0bdd783a54aa7435c86231b319bfffa06259aea6df59dbec62d351456062e67f" + url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.3.0" belatuk_http_server: dependency: transitive description: name: belatuk_http_server - url: "https://pub.dartlang.org" + sha256: "2a4ae9409f3586a95a3393b924c86fd38c30d955aa2437070c3198a1ec0a1686" + url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.5.0" belatuk_json_serializer: dependency: transitive description: name: belatuk_json_serializer - url: "https://pub.dartlang.org" + sha256: b0b6ee6b4aa0552d84b487c5d1a97f72c9d5c4cbc4e2828f57e24635d5d75be8 + url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "7.3.0" belatuk_merge_map: dependency: transitive description: name: belatuk_merge_map - url: "https://pub.dartlang.org" + sha256: "1eb3c77417598e1d40c11d8d93b3c7bb5f10ca0977b2f942c623698bf3745f43" + url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.3.0" belatuk_pretty_logging: dependency: "direct main" description: name: belatuk_pretty_logging - url: "https://pub.dartlang.org" + sha256: "29fb3127ce58643e59fc4510ce41fa4d795f56997cbc661dffdf07e9a65e7021" + url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "6.3.0" belatuk_pub_sub: dependency: transitive description: name: belatuk_pub_sub - url: "https://pub.dartlang.org" + sha256: "08c4f458165f7e2d76a3a4796e94092b98579aedd1fc8a64f39cfbbd18db249d" + url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "6.4.0" belatuk_range_header: dependency: transitive description: name: belatuk_range_header - url: "https://pub.dartlang.org" + sha256: "78f315c8a53415a04a77dee3fcec6f867bac77d2e5d3e13ffc7532d1800adc53" + url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "6.4.0" belatuk_symbol_table: dependency: transitive description: name: belatuk_symbol_table - url: "https://pub.dartlang.org" + sha256: "154f50623b2c5a669561588d86a445f97cf081de6e690ba9bc866dcd98508f50" + url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.3.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" buffer: dependency: transitive description: name: buffer - url: "https://pub.dartlang.org" + sha256: "389da2ec2c16283c8787e0adaede82b1842102f8c8aae2f49003a766c5c6b3d1" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.3" build: dependency: transitive description: name: build - url: "https://pub.dartlang.org" + sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0 + url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.4.2" build_config: dependency: transitive description: name: build_config - url: "https://pub.dartlang.org" + sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.2" build_daemon: dependency: transitive description: name: build_daemon - url: "https://pub.dartlang.org" + sha256: "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa" + url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "4.0.4" build_resolvers: dependency: transitive description: name: build_resolvers - url: "https://pub.dartlang.org" + sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 + url: "https://pub.dev" source: hosted - version: "2.0.9" + version: "2.4.4" build_runner: dependency: "direct dev" description: name: build_runner - url: "https://pub.dartlang.org" + sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" + url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.4.15" build_runner_core: dependency: transitive description: name: build_runner_core - url: "https://pub.dartlang.org" + sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" + url: "https://pub.dev" source: hosted - version: "7.2.3" + version: "8.0.0" built_collection: dependency: transitive description: name: built_collection - url: "https://pub.dartlang.org" + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" source: hosted version: "5.1.1" built_value: dependency: transitive description: name: built_value - url: "https://pub.dartlang.org" + sha256: ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4 + url: "https://pub.dev" source: hosted - version: "8.4.1" + version: "8.9.5" charcode: dependency: transitive description: name: charcode - url: "https://pub.dartlang.org" + sha256: fb0f1107cac15a5ea6ef0a6ef71a807b9e4267c713bb93e00e92d737cc8dbd8a + url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.4.0" checked_yaml: dependency: transitive description: name: checked_yaml - url: "https://pub.dartlang.org" + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.3" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" code_builder: dependency: transitive description: name: code_builder - url: "https://pub.dartlang.org" + sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" + url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "4.10.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.19.1" convert: dependency: transitive description: name: convert - url: "https://pub.dartlang.org" + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 + url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.1.2" coverage: dependency: transitive description: name: coverage - url: "https://pub.dartlang.org" + sha256: e3493833ea012784c740e341952298f1cc77f1f01b1bbc3eb4eecf6984fb7f43 + url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "1.11.1" crypto: dependency: transitive description: name: crypto - url: "https://pub.dartlang.org" + sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" + url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.0.6" dart_style: dependency: transitive description: name: dart_style - url: "https://pub.dartlang.org" + sha256: "27eb0ae77836989a3bc541ce55595e8ceee0992807f14511552a898ddd0d88ac" + url: "https://pub.dev" source: hosted - version: "2.2.3" + version: "3.0.1" dotenv: dependency: transitive description: name: dotenv - url: "https://pub.dartlang.org" - source: hosted - version: "4.0.1" - executor: - dependency: transitive - description: - name: executor - url: "https://pub.dartlang.org" + sha256: "379e64b6fc82d3df29461d349a1796ecd2c436c480d4653f3af6872eccbc90e1" + url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "4.2.0" file: - dependency: transitive + dependency: "direct main" description: name: file - url: "https://pub.dartlang.org" + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 + url: "https://pub.dev" source: hosted - version: "6.1.4" + version: "7.0.1" fixnum: dependency: transitive description: name: fixnum - url: "https://pub.dartlang.org" + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be + url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.1.1" frontend_server_client: dependency: transitive description: name: frontend_server_client - url: "https://pub.dartlang.org" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 + url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "4.0.0" glob: dependency: transitive description: name: glob - url: "https://pub.dartlang.org" + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.3" graphs: dependency: transitive description: name: graphs - url: "https://pub.dartlang.org" + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.3.2" http: dependency: transitive description: name: http - url: "https://pub.dartlang.org" + sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f + url: "https://pub.dev" source: hosted - version: "0.13.5" + version: "1.3.0" http2: dependency: transitive description: name: http2 - url: "https://pub.dartlang.org" + sha256: "382d3aefc5bd6dc68c6b892d7664f29b5beb3251611ae946a98d35158a82bbfa" + url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.3.1" http_multi_server: dependency: transitive description: name: http_multi_server - url: "https://pub.dartlang.org" + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 + url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "4.1.2" inflection3: dependency: transitive description: name: inflection3 - url: "https://pub.dartlang.org" + sha256: cb54689bcfe3c0168a6979ee3191df584dcef4f870c5ef41c798bcb35ff5aca3 + url: "https://pub.dev" source: hosted version: "0.5.3+2" intl: dependency: transitive description: name: intl - url: "https://pub.dartlang.org" + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" + url: "https://pub.dev" source: hosted - version: "0.17.0" + version: "0.20.2" io: dependency: "direct dev" description: name: io - url: "https://pub.dartlang.org" + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b + url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.5" jael3: dependency: "direct main" description: name: jael3 - url: "https://pub.dartlang.org" + sha256: bee0b8d328898dac9008caf7392400d03bc2035a3dd9acebe7ebee052ef9132b + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.2.0" jael3_preprocessor: dependency: transitive description: name: jael3_preprocessor - url: "https://pub.dartlang.org" + sha256: "8e70b92608e61c032f08bed82fa63b82e26b4ede4f4924b81bd75329fae9e9b8" + url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "8.2.0" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf + url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.7.1" json_annotation: dependency: transitive description: name: json_annotation - url: "https://pub.dartlang.org" + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" source: hosted - version: "4.6.0" + version: "4.9.0" json_rpc_2: dependency: transitive description: name: json_rpc_2 - url: "https://pub.dartlang.org" + sha256: "246b321532f0e8e2ba474b4d757eaa558ae4fdd0688fdbc1e1ca9705f9b8ca0e" + url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.0.3" lints: dependency: "direct dev" description: name: lints - url: "https://pub.dartlang.org" + sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 + url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "5.1.1" logging: dependency: "direct main" description: name: logging - url: "https://pub.dartlang.org" + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.3.0" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + url: "https://pub.dev" source: hosted - version: "0.12.12" + version: "0.12.17" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.16.0" mime: dependency: transitive description: name: mime - url: "https://pub.dartlang.org" + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "2.0.0" mysql1: dependency: transitive description: name: mysql1 - url: "https://pub.dartlang.org" + sha256: "68aec7003d2abc85769bafa1777af3f4a390a90c31032b89636758ff8eb839e9" + url: "https://pub.dev" source: hosted version: "0.20.0" mysql_client: dependency: transitive description: name: mysql_client - url: "https://pub.dartlang.org" + sha256: "6a0fdcbe3e0721c637f97ad24649be2f70dbce2b21ede8f962910e640f753fc2" + url: "https://pub.dev" source: hosted - version: "0.0.25" + version: "0.0.27" node_preamble: dependency: transitive description: name: node_preamble - url: "https://pub.dartlang.org" + sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" + url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.2" optional: dependency: "direct main" description: name: optional - url: "https://pub.dartlang.org" + sha256: f80327d7a3335a0be68418072668043c7ab291df575c21aa42e0c5633641da39 + url: "https://pub.dev" source: hosted version: "6.1.0+1" package_config: dependency: transitive description: name: package_config - url: "https://pub.dartlang.org" + sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.2.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" - source: hosted - version: "1.8.2" - pedantic: - dependency: transitive - description: - name: pedantic - url: "https://pub.dartlang.org" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.9.1" pool: dependency: transitive description: name: pool - url: "https://pub.dartlang.org" + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" source: hosted version: "1.5.1" postgres: - dependency: transitive + dependency: "direct main" description: name: postgres - url: "https://pub.dartlang.org" - source: hosted - version: "2.4.6" - postgres_pool: - dependency: transitive - description: - name: postgres_pool - url: "https://pub.dartlang.org" + sha256: "7a7f9805d33e41cb14fa22535959f3af51843a792015cdbd8f2fa78bcd1b501b" + url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "3.5.4" pub_semver: dependency: transitive description: name: pub_semver - url: "https://pub.dartlang.org" + sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" + url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.2.0" pubspec_parse: dependency: transitive description: name: pubspec_parse - url: "https://pub.dartlang.org" + sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" + url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.5.0" quiver: dependency: transitive description: name: quiver - url: "https://pub.dartlang.org" + sha256: ea0b925899e64ecdfbf9c7becb60d5b50e706ade44a85b2363be2a22d88117d2 + url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.2" recase: dependency: transitive description: name: recase - url: "https://pub.dartlang.org" + sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 + url: "https://pub.dev" source: hosted - version: "4.0.0" - retry: - dependency: transitive - description: - name: retry - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.0" + version: "4.1.0" sasl_scram: dependency: transitive description: name: sasl_scram - url: "https://pub.dartlang.org" + sha256: a47207a436eb650f8fdcf54a2e2587b850dc3caef9973ce01f332b07a6fc9cb9 + url: "https://pub.dev" source: hosted version: "0.1.1" saslprep: dependency: transitive description: name: saslprep - url: "https://pub.dartlang.org" + sha256: "3d421d10be9513bf4459c17c5e70e7b8bc718c9fc5ad4ba5eb4f5fd27396f740" + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.0.3" shelf: dependency: transitive description: name: shelf - url: "https://pub.dartlang.org" + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 + url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.2" shelf_packages_handler: dependency: transitive description: name: shelf_packages_handler - url: "https://pub.dartlang.org" + sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" + url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" shelf_static: dependency: transitive description: name: shelf_static - url: "https://pub.dartlang.org" + sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3 + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.3" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - url: "https://pub.dartlang.org" + sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "3.0.0" source_gen: dependency: transitive description: name: source_gen - url: "https://pub.dartlang.org" + sha256: "35c8150ece9e8c8d263337a265153c3329667640850b9304861faea59fc98f6b" + url: "https://pub.dev" source: hosted - version: "1.2.2" + version: "2.0.0" source_map_stack_trace: dependency: transitive description: name: source_map_stack_trace - url: "https://pub.dartlang.org" + sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" source_maps: dependency: transitive description: name: source_maps - url: "https://pub.dartlang.org" + sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812" + url: "https://pub.dev" source: hosted - version: "0.10.10" + version: "0.10.13" source_span: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.1" + sprintf: + dependency: transitive + description: + name: sprintf + sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" + url: "https://pub.dev" + source: hosted + version: "7.0.0" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.4" stream_transform: dependency: transitive description: name: stream_transform - url: "https://pub.dartlang.org" + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 + url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.4.1" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test: dependency: "direct dev" description: name: test - url: "https://pub.dartlang.org" + sha256: "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e" + url: "https://pub.dev" source: hosted - version: "1.21.5" + version: "1.25.15" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + url: "https://pub.dev" source: hosted - version: "0.4.13" + version: "0.7.4" test_core: dependency: transitive description: name: test_core - url: "https://pub.dartlang.org" + sha256: "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa" + url: "https://pub.dev" source: hosted - version: "0.4.17" + version: "0.6.8" timing: dependency: transitive description: name: timing - url: "https://pub.dartlang.org" + sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" + url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.0.2" tuple: dependency: transitive description: name: tuple - url: "https://pub.dartlang.org" + sha256: a97ce2013f240b2f3807bcbaf218765b6f301c3eff91092bcfa23a039e7dd151 + url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.0.2" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.4.0" unorm_dart: dependency: transitive description: name: unorm_dart - url: "https://pub.dartlang.org" + sha256: "23d8bf65605401a6a32cff99435fed66ef3dab3ddcad3454059165df46496a3b" + url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.3.0" uuid: dependency: transitive description: name: uuid - url: "https://pub.dartlang.org" + sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff + url: "https://pub.dev" source: hosted - version: "3.0.6" + version: "4.5.1" vm_service: dependency: transitive description: name: vm_service - url: "https://pub.dartlang.org" + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 + url: "https://pub.dev" source: hosted - version: "9.3.0" + version: "15.0.0" watcher: dependency: transitive description: name: watcher - url: "https://pub.dartlang.org" + sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + web: + dependency: transitive + description: + name: web + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" + url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.1.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + url: "https://pub.dev" + source: hosted + version: "0.1.6" web_socket_channel: dependency: transitive description: name: web_socket_channel - url: "https://pub.dartlang.org" + sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5" + url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "3.0.2" webkit_inspection_protocol: dependency: transitive description: name: webkit_inspection_protocol - url: "https://pub.dartlang.org" + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" + url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" yaml: dependency: transitive description: name: yaml - url: "https://pub.dartlang.org" + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce + url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.3" sdks: - dart: ">=2.18.0-146.0.dev <3.0.0" + dart: ">=3.6.0 <4.0.0" diff --git a/frameworks/Dart/angel3/orm/pubspec.yaml b/frameworks/Dart/angel3/orm/pubspec.yaml index 299c020ff43..bea8b753b68 100644 --- a/frameworks/Dart/angel3/orm/pubspec.yaml +++ b/frameworks/Dart/angel3/orm/pubspec.yaml @@ -1,40 +1,38 @@ name: benchmark_app -version: 1.0.0 +version: 2.0.0 description: A basic starter application template for Angel3 framework publish_to: none environment: - sdk: '>=2.17.0 <3.0.0' + sdk: '>=3.6.0 <4.0.0' + dependencies: - angel3_auth: ^7.0.0 - angel3_configuration: ^7.0.0 - angel3_framework: ^7.0.0 - angel3_jael: ^7.0.0 - angel3_migration: ^7.0.0 - angel3_orm: ^7.0.0 - angel3_orm_postgres: ^7.0.0 - angel3_serialize: ^7.0.0 - angel3_production: ^7.0.0 - angel3_static: ^7.0.0 - angel3_validate: ^7.0.0 - jael3: ^7.0.0 - belatuk_pretty_logging: ^5.0.0 + angel3_auth: ^8.3.0 + angel3_configuration: ^8.3.0 + angel3_framework: ^8.5.0 + angel3_jael: ^8.3.0 + angel3_migration: ^8.4.0 + angel3_orm: ^8.3.0 + angel3_orm_postgres: ^8.3.0 + angel3_serialize: ^8.3.0 + angel3_production: ^8.3.0 + angel3_static: ^8.3.0 + angel3_validate: ^8.3.0 + jael3: ^8.0.0 + belatuk_pretty_logging: ^6.0.0 + postgres: ^3.5.0 optional: ^6.0.0 - logging: ^1.0.0 + logging: ^1.3.0 + angel3_container: ^8.3.0 + file: ^7.0.1 + dev_dependencies: - angel3_hot: ^7.0.0 - angel3_migration_runner: ^7.0.0 - angel3_orm_generator: ^7.0.0 - angel3_serialize_generator: ^7.0.0 - angel3_test: ^7.0.0 - build_runner: ^2.0.3 + angel3_hot: ^8.3.0 + angel3_migration_runner: ^8.3.0 + angel3_orm_generator: ^8.3.0 + angel3_serialize_generator: ^8.3.0 + angel3_test: ^8.3.0 + build_runner: ^2.4.0 io: ^1.0.0 - test: ^1.17.5 - lints: ^2.0.0 -#dependency_overrides: -# angel3_orm: -# path: ../../../../../belatuk/packages/orm/angel_orm -# angel3_orm_postgres: -# path: ../../../../../belatuk/packages/orm/angel_orm_postgres -# angel3_jael: -# path: ../../../../../belatuk/packages/jael/angel_jael + test: ^1.25.0 + lints: ^5.0.0 \ No newline at end of file diff --git a/frameworks/Dart/angel3/orm/run/prod.dart b/frameworks/Dart/angel3/orm/run/prod.dart index cf7c0c692e4..62cb1486a2f 100644 --- a/frameworks/Dart/angel3/orm/run/prod.dart +++ b/frameworks/Dart/angel3/orm/run/prod.dart @@ -2,28 +2,5 @@ import 'package:angel3_container/mirrors.dart'; import 'package:angel3_production/angel3_production.dart'; import 'package:benchmark_app/benchmark_app.dart'; -// NOTE: By default, the Runner class does not use the `MirrorsReflector`, or any -// reflector, by default. -// -// If your application is using any sort of functionality reliant on annotations or reflection, -// either include the MirrorsReflector, or use a static reflector variant. -// -// The following use cases require reflection: -// * Use of Controllers, via @Expose() or @ExposeWS() -// * Use of dependency injection into constructors, whether in controllers or plain `container.make` calls -// * Use of the `ioc` function in any route -// -// The `MirrorsReflector` from `package:angel_container/mirrors.dart` is by far the most convenient pattern, -// so use it if possible. -// -// However, the following alternatives exist: -// * Generation via `package:angel_container_generator` -// * Creating an instance of `StaticReflector` -// * Manually implementing the `Reflector` interface (cumbersome; not recommended) -// -// As of January 4th, 2018, the documentation has not yet been updated to state this, -// so in the meantime, visit the Angel chat for further questions: -// -// https://gitter.im/angel_dart/discussion void main(List args) => Runner('Angel3', configureServer, reflector: MirrorsReflector()).run(args); diff --git a/frameworks/Dart/angel3/orm/test/all_test.dart b/frameworks/Dart/angel3/orm/test/all_test.dart index 8a5dad86ead..01978ff328f 100644 --- a/frameworks/Dart/angel3/orm/test/all_test.dart +++ b/frameworks/Dart/angel3/orm/test/all_test.dart @@ -5,16 +5,12 @@ import 'package:benchmark_app/benchmark_app.dart'; // Angel also includes facilities to make testing easier. // -// `package:angel_test` ships a client that can test -// both plain HTTP and WebSockets. +// `package:angel3_test` ships a client that can test both plain HTTP and WebSockets. // // Tests do not require your server to actually be mounted on a port, // so they will run faster than they would in other frameworks, where you // would have to first bind a socket, and then account for network latency. // -// See the documentation here: -// https://github.com/angel-dart/test -// // If you are unfamiliar with Dart's advanced testing library, you can read up // here: // https://github.com/dart-lang/test From d01c7008196d85c4323216fa748466ef0641b0b0 Mon Sep 17 00:00:00 2001 From: Thomas Hii Date: Sun, 23 Mar 2025 17:49:07 +0800 Subject: [PATCH 2/4] Fixed update error --- .../Dart/angel3/orm-mysql/config/default.yaml | 1 - .../lib/src/routes/controllers/controllers.dart | 16 ++-------------- frameworks/Dart/angel3/orm/config/default.yaml | 1 - .../lib/src/routes/controllers/controllers.dart | 16 ++-------------- 4 files changed, 4 insertions(+), 30 deletions(-) diff --git a/frameworks/Dart/angel3/orm-mysql/config/default.yaml b/frameworks/Dart/angel3/orm-mysql/config/default.yaml index 3363993352c..4771b8ef9ff 100644 --- a/frameworks/Dart/angel3/orm-mysql/config/default.yaml +++ b/frameworks/Dart/angel3/orm-mysql/config/default.yaml @@ -2,7 +2,6 @@ host: 127.0.0.1 port: 8080 mysql: - #host: localhost host: tfb-database port: 3306 database_name: hello_world diff --git a/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart b/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart index bffed71151f..771995d66a9 100644 --- a/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart +++ b/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart @@ -55,19 +55,12 @@ Future configureServer(Angel app) async { // Add an entry and sort a list of fortune app.get('/fortunes', (req, res) async { - //var stopwatch = Stopwatch()..start(); - var list = await FortuneQuery().get(executor); - //print('Query Time: ${stopwatch.elapsed.inMilliseconds}ms'); - list.add( Fortune(id: 0, message: 'Additional fortune added at request time.')); list.sort((a, b) => a.message?.compareTo(b.message ?? '') ?? 0); - //print('Process Time: ${stopwatch.elapsed.inMilliseconds}ms'); - //stopwatch.stop(); - res.render('listing', {'fortunes': list}); }); @@ -90,9 +83,9 @@ Future configureServer(Angel app) async { var queryLimit = parseQueryCount(params['queries'] as String?); var list = generateIds(queryLimit); - var query = WorldQuery(); var result = []; for (var id in list) { + var query = WorldQuery(); query.where?.id.equals(id); var optWorld = await query.getOne(executor); result.add(optWorld.value); @@ -103,15 +96,13 @@ Future configureServer(Angel app) async { // Update a list of worlds app.get('/updates', (req, res) async { - //var stopwatch = Stopwatch()..start(); - var params = req.queryParameters; var queryLimit = parseQueryCount(params['queries'] as String?); var listOfIds = generateIds(queryLimit); - var query = WorldQuery(); var result = []; for (var id in listOfIds) { + var query = WorldQuery(); query.where?.id.equals(id); var optWorld = await query.getOne(executor); @@ -122,9 +113,6 @@ Future configureServer(Angel app) async { result.add(updatedRec.value); } - //print('Process Time: ${stopwatch.elapsed.inMilliseconds}ms'); - //stopwatch.stop(); - res.json(result); }); } diff --git a/frameworks/Dart/angel3/orm/config/default.yaml b/frameworks/Dart/angel3/orm/config/default.yaml index e43fde7a80c..11a3f44e235 100644 --- a/frameworks/Dart/angel3/orm/config/default.yaml +++ b/frameworks/Dart/angel3/orm/config/default.yaml @@ -2,7 +2,6 @@ host: 127.0.0.1 port: 8080 postgres: - #host: localhost host: tfb-database port: 5432 database_name: hello_world diff --git a/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart b/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart index bffed71151f..771995d66a9 100644 --- a/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart +++ b/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart @@ -55,19 +55,12 @@ Future configureServer(Angel app) async { // Add an entry and sort a list of fortune app.get('/fortunes', (req, res) async { - //var stopwatch = Stopwatch()..start(); - var list = await FortuneQuery().get(executor); - //print('Query Time: ${stopwatch.elapsed.inMilliseconds}ms'); - list.add( Fortune(id: 0, message: 'Additional fortune added at request time.')); list.sort((a, b) => a.message?.compareTo(b.message ?? '') ?? 0); - //print('Process Time: ${stopwatch.elapsed.inMilliseconds}ms'); - //stopwatch.stop(); - res.render('listing', {'fortunes': list}); }); @@ -90,9 +83,9 @@ Future configureServer(Angel app) async { var queryLimit = parseQueryCount(params['queries'] as String?); var list = generateIds(queryLimit); - var query = WorldQuery(); var result = []; for (var id in list) { + var query = WorldQuery(); query.where?.id.equals(id); var optWorld = await query.getOne(executor); result.add(optWorld.value); @@ -103,15 +96,13 @@ Future configureServer(Angel app) async { // Update a list of worlds app.get('/updates', (req, res) async { - //var stopwatch = Stopwatch()..start(); - var params = req.queryParameters; var queryLimit = parseQueryCount(params['queries'] as String?); var listOfIds = generateIds(queryLimit); - var query = WorldQuery(); var result = []; for (var id in listOfIds) { + var query = WorldQuery(); query.where?.id.equals(id); var optWorld = await query.getOne(executor); @@ -122,9 +113,6 @@ Future configureServer(Angel app) async { result.add(updatedRec.value); } - //print('Process Time: ${stopwatch.elapsed.inMilliseconds}ms'); - //stopwatch.stop(); - res.json(result); }); } From 43cccbe9956ea15260927784594bce4e583a978c Mon Sep 17 00:00:00 2001 From: Thomas Hii Date: Sun, 23 Mar 2025 18:20:08 +0800 Subject: [PATCH 3/4] Updated ORM query --- .../orm-mysql/lib/src/routes/controllers/controllers.dart | 6 +++--- .../angel3/orm/lib/src/routes/controllers/controllers.dart | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart b/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart index 771995d66a9..633e9936489 100644 --- a/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart +++ b/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart @@ -103,11 +103,11 @@ Future configureServer(Angel app) async { var result = []; for (var id in listOfIds) { var query = WorldQuery(); - query.where?.id.equals(id); - var optWorld = await query.getOne(executor); + //query.where?.id.equals(id); + //var optWorld = await query.getOne(executor); query - ..where?.id.equals(optWorld.value.id!) + ..where?.id.equals(id) ..values.randomNumber = genRandomId(); var updatedRec = await query.updateOne(executor); result.add(updatedRec.value); diff --git a/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart b/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart index 771995d66a9..633e9936489 100644 --- a/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart +++ b/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart @@ -103,11 +103,11 @@ Future configureServer(Angel app) async { var result = []; for (var id in listOfIds) { var query = WorldQuery(); - query.where?.id.equals(id); - var optWorld = await query.getOne(executor); + //query.where?.id.equals(id); + //var optWorld = await query.getOne(executor); query - ..where?.id.equals(optWorld.value.id!) + ..where?.id.equals(id) ..values.randomNumber = genRandomId(); var updatedRec = await query.updateOne(executor); result.add(updatedRec.value); From f73732040aaf19ad2ad6ca3992fcbe7529e3d0ea Mon Sep 17 00:00:00 2001 From: Thomas Hii Date: Sun, 23 Mar 2025 18:32:07 +0800 Subject: [PATCH 4/4] Updated ORM query --- .../orm-mysql/lib/src/routes/controllers/controllers.dart | 6 +++--- .../angel3/orm/lib/src/routes/controllers/controllers.dart | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart b/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart index 633e9936489..771995d66a9 100644 --- a/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart +++ b/frameworks/Dart/angel3/orm-mysql/lib/src/routes/controllers/controllers.dart @@ -103,11 +103,11 @@ Future configureServer(Angel app) async { var result = []; for (var id in listOfIds) { var query = WorldQuery(); - //query.where?.id.equals(id); - //var optWorld = await query.getOne(executor); + query.where?.id.equals(id); + var optWorld = await query.getOne(executor); query - ..where?.id.equals(id) + ..where?.id.equals(optWorld.value.id!) ..values.randomNumber = genRandomId(); var updatedRec = await query.updateOne(executor); result.add(updatedRec.value); diff --git a/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart b/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart index 633e9936489..771995d66a9 100644 --- a/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart +++ b/frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart @@ -103,11 +103,11 @@ Future configureServer(Angel app) async { var result = []; for (var id in listOfIds) { var query = WorldQuery(); - //query.where?.id.equals(id); - //var optWorld = await query.getOne(executor); + query.where?.id.equals(id); + var optWorld = await query.getOne(executor); query - ..where?.id.equals(id) + ..where?.id.equals(optWorld.value.id!) ..values.randomNumber = genRandomId(); var updatedRec = await query.updateOne(executor); result.add(updatedRec.value);