Browse Source

Updated docker image (#7018)

Thomas Hii 3 years ago
parent
commit
c6a438a40e

+ 3 - 3
frameworks/Dart/angel3/angel3.dockerfile

@@ -1,4 +1,4 @@
-FROM google/dart:latest
+FROM dart:latest
 
 
 COPY ./orm/config /app/config
 COPY ./orm/config /app/config
 COPY ./orm/lib /app/lib
 COPY ./orm/lib /app/lib
@@ -8,7 +8,7 @@ COPY ./orm/web /app/web
 COPY ./orm/*.yaml /app/
 COPY ./orm/*.yaml /app/
 
 
 WORKDIR /app
 WORKDIR /app
-RUN dart pub get
+RUN dart pub upgrade
 
 
 #RUN chmod -R 777 /app/run
 #RUN chmod -R 777 /app/run
 
 
@@ -18,4 +18,4 @@ RUN dart pub get
 # Set environment, start server
 # Set environment, start server
 ENV ANGEL_ENV=production
 ENV ANGEL_ENV=production
 EXPOSE 8080
 EXPOSE 8080
-CMD dart ./run/prod.dart -p 8080 -a 0.0.0.0 -j 20
+CMD dart ./run/prod.dart -p 8080 -a 0.0.0.0 -j 50

+ 1 - 1
frameworks/Dart/angel3/orm/lib/src/config/config.dart

@@ -19,7 +19,7 @@ AngelConfigurer configureServer(FileSystem fileSystem) {
     // See: https://github.com/angel-dart/jael
     // See: https://github.com/angel-dart/jael
     var viewsDirectory = fileSystem.directory('views');
     var viewsDirectory = fileSystem.directory('views');
     var viewCache = <String, Document>{};
     var viewCache = <String, Document>{};
-    jaelTemplatePreload(viewsDirectory, viewCache);
+    await jaelTemplatePreload(viewsDirectory, viewCache);
     await app.configure(jael(viewsDirectory, cache: viewCache));
     await app.configure(jael(viewsDirectory, cache: viewCache));
 
 
     // Apply another plug-ins, i.e. ones that *you* have written.
     // Apply another plug-ins, i.e. ones that *you* have written.

+ 0 - 1
frameworks/Dart/angel3/orm/lib/src/config/plugins/orm.dart

@@ -3,7 +3,6 @@ import 'dart:io';
 import 'package:angel3_framework/angel3_framework.dart';
 import 'package:angel3_framework/angel3_framework.dart';
 import 'package:angel3_orm/angel3_orm.dart';
 import 'package:angel3_orm/angel3_orm.dart';
 import 'package:angel3_orm_postgres/angel3_orm_postgres.dart';
 import 'package:angel3_orm_postgres/angel3_orm_postgres.dart';
-import 'package:postgres/postgres.dart';
 import 'package:postgres_pool/postgres_pool.dart';
 import 'package:postgres_pool/postgres_pool.dart';
 
 
 Future<void> configureServer(Angel app) async {
 Future<void> configureServer(Angel app) async {

+ 18 - 6
frameworks/Dart/angel3/orm/lib/src/models/fortune.g.dart

@@ -36,6 +36,8 @@ class FortuneQuery extends Query<Fortune, FortuneQueryWhere> {
   @override
   @override
   final FortuneQueryValues values = FortuneQueryValues();
   final FortuneQueryValues values = FortuneQueryValues();
 
 
+  List<String> _selectedFields = [];
+
   FortuneQueryWhere? _where;
   FortuneQueryWhere? _where;
 
 
   @override
   @override
@@ -50,7 +52,15 @@ class FortuneQuery extends Query<Fortune, FortuneQueryWhere> {
 
 
   @override
   @override
   List<String> get fields {
   List<String> get fields {
-    return const ['id', 'message'];
+    const _fields = ['id', 'message'];
+    return _selectedFields.isEmpty
+        ? _fields
+        : _fields.where((field) => _selectedFields.contains(field)).toList();
+  }
+
+  FortuneQuery select(List<String> selectedFields) {
+    _selectedFields = selectedFields;
+    return this;
   }
   }
 
 
   @override
   @override
@@ -63,17 +73,19 @@ class FortuneQuery extends Query<Fortune, FortuneQueryWhere> {
     return FortuneQueryWhere(this);
     return FortuneQueryWhere(this);
   }
   }
 
 
-  static Fortune? parseRow(List row) {
+  Optional<Fortune> parseRow(List row) {
     if (row.every((x) => x == null)) {
     if (row.every((x) => x == null)) {
-      return null;
+      return Optional.empty();
     }
     }
-    var model = Fortune(id: (row[0] as int?), message: (row[1] as String?));
-    return model;
+    var model = Fortune(
+        id: fields.contains('id') ? (row[0] as int?) : null,
+        message: fields.contains('message') ? (row[1] as String?) : null);
+    return Optional.of(model);
   }
   }
 
 
   @override
   @override
   Optional<Fortune> deserialize(List row) {
   Optional<Fortune> deserialize(List row) {
-    return Optional.ofNullable(parseRow(row));
+    return parseRow(row);
   }
   }
 }
 }
 
 

+ 19 - 6
frameworks/Dart/angel3/orm/lib/src/models/world.g.dart

@@ -35,6 +35,8 @@ class WorldQuery extends Query<World, WorldQueryWhere> {
   @override
   @override
   final WorldQueryValues values = WorldQueryValues();
   final WorldQueryValues values = WorldQueryValues();
 
 
+  List<String> _selectedFields = [];
+
   WorldQueryWhere? _where;
   WorldQueryWhere? _where;
 
 
   @override
   @override
@@ -49,7 +51,15 @@ class WorldQuery extends Query<World, WorldQueryWhere> {
 
 
   @override
   @override
   List<String> get fields {
   List<String> get fields {
-    return const ['id', 'randomNumber'];
+    const _fields = ['id', 'randomNumber'];
+    return _selectedFields.isEmpty
+        ? _fields
+        : _fields.where((field) => _selectedFields.contains(field)).toList();
+  }
+
+  WorldQuery select(List<String> selectedFields) {
+    _selectedFields = selectedFields;
+    return this;
   }
   }
 
 
   @override
   @override
@@ -62,17 +72,20 @@ class WorldQuery extends Query<World, WorldQueryWhere> {
     return WorldQueryWhere(this);
     return WorldQueryWhere(this);
   }
   }
 
 
-  static World? parseRow(List row) {
+  Optional<World> parseRow(List row) {
     if (row.every((x) => x == null)) {
     if (row.every((x) => x == null)) {
-      return null;
+      return Optional.empty();
     }
     }
-    var model = World(id: (row[0] as int?), randomNumber: (row[1] as int?));
-    return model;
+    var model = World(
+        id: fields.contains('id') ? (row[0] as int?) : null,
+        randomNumber:
+            fields.contains('randomNumber') ? (row[1] as int?) : null);
+    return Optional.of(model);
   }
   }
 
 
   @override
   @override
   Optional<World> deserialize(List row) {
   Optional<World> deserialize(List row) {
-    return Optional.ofNullable(parseRow(row));
+    return parseRow(row);
   }
   }
 }
 }
 
 

+ 5 - 3
frameworks/Dart/angel3/orm/lib/src/routes/controllers/controllers.dart

@@ -1,4 +1,5 @@
 import 'dart:async';
 import 'dart:async';
+import 'dart:convert';
 import 'dart:math';
 import 'dart:math';
 import 'package:angel3_framework/angel3_framework.dart';
 import 'package:angel3_framework/angel3_framework.dart';
 import 'package:angel3_orm/angel3_orm.dart';
 import 'package:angel3_orm/angel3_orm.dart';
@@ -45,10 +46,12 @@ Future configureServer(Angel app) async {
   // Return data in json
   // Return data in json
   app.get('/json', (req, res) => res.json({'message': 'Hello, World!'}));
   app.get('/json', (req, res) => res.json({'message': 'Hello, World!'}));
 
 
+  const reply = "Hello, World!";
+
   // Return data in plaintext
   // Return data in plaintext
   app.get('/plaintext', (req, res) async {
   app.get('/plaintext', (req, res) async {
-    res.write('Hello, World!');
-    res.close();
+    res.contentLength = reply.length;
+    res.write(reply);
   });
   });
 
 
   // Add an entry and sort a list of fortune
   // Add an entry and sort a list of fortune
@@ -66,7 +69,6 @@ Future configureServer(Angel app) async {
     //print('Process Time: ${stopwatch.elapsed.inMilliseconds}ms');
     //print('Process Time: ${stopwatch.elapsed.inMilliseconds}ms');
     //stopwatch.stop();
     //stopwatch.stop();
 
 
-    //res.json(list);
     res.render('listing', {'fortunes': list});
     res.render('listing', {'fortunes': list});
   });
   });
 
 

+ 2 - 0
frameworks/Dart/angel3/orm/lib/src/routes/routes.dart

@@ -56,5 +56,7 @@ AngelConfigurer configureServer(FileSystem fileSystem) {
         return await oldErrorHandler(e, req, res);
         return await oldErrorHandler(e, req, res);
       }
       }
     };
     };
+
+    app.enableCache();
   };
   };
 }
 }

+ 11 - 11
frameworks/Dart/angel3/orm/pubspec.lock

@@ -56,14 +56,14 @@ packages:
       name: angel3_hot
       name: angel3_hot
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
-    version: "4.2.2"
+    version: "4.3.0"
   angel3_http_exception:
   angel3_http_exception:
     dependency: transitive
     dependency: transitive
     description:
     description:
       name: angel3_http_exception
       name: angel3_http_exception
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
-    version: "3.0.2"
+    version: "3.1.0"
   angel3_jael:
   angel3_jael:
     dependency: "direct main"
     dependency: "direct main"
     description:
     description:
@@ -77,21 +77,21 @@ packages:
       name: angel3_migration
       name: angel3_migration
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
-    version: "4.0.2"
+    version: "4.0.3"
   angel3_migration_runner:
   angel3_migration_runner:
     dependency: "direct dev"
     dependency: "direct dev"
     description:
     description:
       name: angel3_migration_runner
       name: angel3_migration_runner
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
-    version: "4.1.0"
+    version: "4.1.1"
   angel3_mock_request:
   angel3_mock_request:
     dependency: transitive
     dependency: transitive
     description:
     description:
       name: angel3_mock_request
       name: angel3_mock_request
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
-    version: "2.0.2"
+    version: "2.1.0"
   angel3_model:
   angel3_model:
     dependency: transitive
     dependency: transitive
     description:
     description:
@@ -105,21 +105,21 @@ packages:
       name: angel3_orm
       name: angel3_orm
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
-    version: "4.0.4"
+    version: "4.0.5"
   angel3_orm_generator:
   angel3_orm_generator:
     dependency: "direct dev"
     dependency: "direct dev"
     description:
     description:
       name: angel3_orm_generator
       name: angel3_orm_generator
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
-    version: "4.1.3"
+    version: "4.3.0"
   angel3_orm_postgres:
   angel3_orm_postgres:
     dependency: "direct main"
     dependency: "direct main"
     description:
     description:
       name: angel3_orm_postgres
       name: angel3_orm_postgres
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
-    version: "3.2.1"
+    version: "3.3.0"
   angel3_production:
   angel3_production:
     dependency: "direct main"
     dependency: "direct main"
     description:
     description:
@@ -168,7 +168,7 @@ packages:
       name: angel3_validate
       name: angel3_validate
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
-    version: "4.0.2"
+    version: "4.1.0"
   angel3_websocket:
   angel3_websocket:
     dependency: transitive
     dependency: transitive
     description:
     description:
@@ -385,7 +385,7 @@ packages:
       name: coverage
       name: coverage
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
-    version: "1.0.3"
+    version: "1.0.4"
   crypto:
   crypto:
     dependency: transitive
     dependency: transitive
     description:
     description:
@@ -833,7 +833,7 @@ packages:
       name: vm_service
       name: vm_service
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
-    version: "7.5.0"
+    version: "8.1.0"
   watcher:
   watcher:
     dependency: transitive
     dependency: transitive
     description:
     description: