diff --git a/lib/src/commands/init.dart b/lib/src/commands/init.dart index fe1024b..73fb543 100644 --- a/lib/src/commands/init.dart +++ b/lib/src/commands/init.dart @@ -1,4 +1,3 @@ -import "dart:convert"; import "dart:io"; import "package:args/command_runner.dart"; import "package:console/console.dart"; @@ -29,7 +28,7 @@ class InitCommand extends Command { "${Icon.CHECKMARK} Successfully initialized Angel project. Now running pub get..."); _pen(); await _pubGet(projectDir); - await _preBuild(projectDir); + await preBuild(projectDir); var secret = rs.randomAlphaNumeric(32); print('Generated new JWT secret: $secret'); await _key.changeSecret( @@ -79,19 +78,6 @@ class InitCommand extends Command { } } - _preBuild(Directory projectDir) async { - // Run build - var build = await Process.start(Platform.executable, ['tool/build.dart'], - workingDirectory: projectDir.absolute.path); - - stdout.addStream(build.stdout); - stderr.addStream(build.stderr); - - var buildCode = await build.exitCode; - - if (buildCode != 0) throw new Exception('Failed to pre-build resources.'); - } - _pubGet(Directory projectDir) async { var pub = await Process.start("pub", ["get"], workingDirectory: projectDir.absolute.path); @@ -101,3 +87,18 @@ class InitCommand extends Command { print("Pub process exited with code $code"); } } + +preBuild(Directory projectDir) async { + // Run build + print('Pre-building resources...'); + + var build = await Process.start(Platform.executable, ['tool/build.dart'], + workingDirectory: projectDir.absolute.path); + + stdout.addStream(build.stdout); + stderr.addStream(build.stderr); + + var buildCode = await build.exitCode; + + if (buildCode != 0) throw new Exception('Failed to pre-build resources.'); +} diff --git a/lib/src/commands/key.dart b/lib/src/commands/key.dart index 9ca570e..93fff9f 100644 --- a/lib/src/commands/key.dart +++ b/lib/src/commands/key.dart @@ -1,4 +1,3 @@ -import 'dart:convert'; import 'dart:io'; import 'package:args/command_runner.dart'; import 'package:random_string/random_string.dart' as rs; diff --git a/lib/src/commands/service.dart b/lib/src/commands/service.dart index c550a58..4ab13fc 100644 --- a/lib/src/commands/service.dart +++ b/lib/src/commands/service.dart @@ -2,6 +2,7 @@ import 'dart:io'; import 'package:args/command_runner.dart'; import 'package:console/console.dart'; import 'package:id/id.dart'; +import 'init.dart' show preBuild; class ServiceCommand extends Command { final String CUSTOM = 'Custom'; @@ -73,6 +74,7 @@ class ServiceCommand extends Command { var serviceLibrary = new File('lib/src/models/models.dart'); await serviceLibrary.writeAsString("\nexport '$lower.dart';", mode: FileMode.APPEND); + await preBuild(Directory.current); } await testFile.writeAsString(_generateTests(name, type)); @@ -119,6 +121,10 @@ part '$lower.g.dart'; @JsonSerializable() class $name extends MemoryModel with _\$${name}SerializerMixin { + @JsonKey('id') + @override + String id; + @JsonKey('name') String name; @@ -170,6 +176,10 @@ part '$lower.g.dart'; @JsonSerializable() class $name extends Model with _\$${name}SerializerMixin { + @JsonKey('id') + @override + String id; + @JsonKey('name') String name; @@ -193,6 +203,7 @@ class $name extends Model with _\$${name}SerializerMixin { import 'package:angel_framework/angel_framework.dart'; import 'package:angel_mongo/angel_mongo.dart'; import 'package:angel_validate/angel_validate.dart'; +import 'package:angel_validate/server.dart'; import 'package:mongo_dart/mongo_dart.dart'; final Validator ${lower}Schema = new Validator({