env_serde.dart 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import 'package:json_annotation/json_annotation.dart';
  2. // Run `dart run build_runner build` to generate the json serialization
  3. // the file `env_serde.g.dart` will be generated in the same directory. Rename
  4. // the file to `env_serde.i.dart` because the file is ignored by default.
  5. part 'env_serde.i.dart';
  6. @JsonSerializable()
  7. class AppFlowyEnv {
  8. final SupabaseConfiguration supabase_config;
  9. AppFlowyEnv({required this.supabase_config});
  10. factory AppFlowyEnv.fromJson(Map<String, dynamic> json) =>
  11. _$AppFlowyEnvFromJson(json);
  12. Map<String, dynamic> toJson() => _$AppFlowyEnvToJson(this);
  13. }
  14. @JsonSerializable()
  15. class SupabaseConfiguration {
  16. final String url;
  17. final String key;
  18. final String jwt_secret;
  19. final PostgresConfiguration postgres_config;
  20. SupabaseConfiguration({
  21. required this.url,
  22. required this.key,
  23. required this.jwt_secret,
  24. required this.postgres_config,
  25. });
  26. factory SupabaseConfiguration.fromJson(Map<String, dynamic> json) =>
  27. _$SupabaseConfigurationFromJson(json);
  28. Map<String, dynamic> toJson() => _$SupabaseConfigurationToJson(this);
  29. }
  30. @JsonSerializable()
  31. class PostgresConfiguration {
  32. final String url;
  33. final String user_name;
  34. final String password;
  35. final int port;
  36. PostgresConfiguration({
  37. required this.url,
  38. required this.user_name,
  39. required this.password,
  40. required this.port,
  41. });
  42. factory PostgresConfiguration.fromJson(Map<String, dynamic> json) =>
  43. _$PostgresConfigurationFromJson(json);
  44. Map<String, dynamic> toJson() => _$PostgresConfigurationToJson(this);
  45. }