env_serde.dart 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import 'package:json_annotation/json_annotation.dart';
  2. part 'env_serde.l.dart';
  3. @JsonSerializable()
  4. class AppFlowyEnv {
  5. final SupabaseConfiguration supabase_config;
  6. final SupabaseDBConfig supabase_db_config;
  7. AppFlowyEnv(
  8. {required this.supabase_config, required this.supabase_db_config});
  9. factory AppFlowyEnv.fromJson(Map<String, dynamic> json) =>
  10. _$AppFlowyEnvFromJson(json);
  11. Map<String, dynamic> toJson() => _$AppFlowyEnvToJson(this);
  12. }
  13. @JsonSerializable()
  14. class SupabaseConfiguration {
  15. final String url;
  16. final String key;
  17. final String jwt_secret;
  18. SupabaseConfiguration(
  19. {required this.url, required this.key, required this.jwt_secret});
  20. factory SupabaseConfiguration.fromJson(Map<String, dynamic> json) =>
  21. _$SupabaseConfigurationFromJson(json);
  22. Map<String, dynamic> toJson() => _$SupabaseConfigurationToJson(this);
  23. }
  24. @JsonSerializable()
  25. class SupabaseDBConfig {
  26. final String url;
  27. final String key;
  28. final String jwt_secret;
  29. final CollabTableConfig collab_table_config;
  30. SupabaseDBConfig(
  31. {required this.url,
  32. required this.key,
  33. required this.jwt_secret,
  34. required this.collab_table_config});
  35. factory SupabaseDBConfig.fromJson(Map<String, dynamic> json) =>
  36. _$SupabaseDBConfigFromJson(json);
  37. Map<String, dynamic> toJson() => _$SupabaseDBConfigToJson(this);
  38. }
  39. @JsonSerializable()
  40. class CollabTableConfig {
  41. final String table_name;
  42. final bool enable;
  43. CollabTableConfig({required this.table_name, required this.enable});
  44. factory CollabTableConfig.fromJson(Map<String, dynamic> json) =>
  45. _$CollabTableConfigFromJson(json);
  46. Map<String, dynamic> toJson() => _$CollabTableConfigToJson(this);
  47. }