| // Copyright 2019 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| /// Storage agnostic data models that originate from the Cocoon backend. |
| /// |
| /// This library contains models that are are deserialized from calls to |
| /// `CocoonService`. While they _may_ be created ephemerally within the app |
| /// itself, models that are UI-specific should live elsewhere (closer to the |
| /// widgets they define). |
| /// |
| /// Every model in this library must: |
| /// 1. Be deeply [immutable], using unmodifiable collections where appropriate |
| /// 2. Not expose what backend store the model originates from (no primary keys) |
| /// 3. Use [JsonSerializable] to define `.fromJson` and `.toJson` functions |
| /// 4. Not depend on the Flutter SDK |
| /// |
| /// To regenerate the JSON serialization code after making model changes: |
| /// ```sh |
| /// dart run build_runner build |
| /// ``` |
| /// |
| /// @docImport 'package:json_annotation/json_annotation.dart'; |
| /// @docImport 'package:meta/meta.dart'; |
| library; |
| |
| export 'src/rpc_model/branch.dart' show Branch; |
| export 'src/rpc_model/build_status_response.dart' |
| show |
| BuildStatus, // |
| BuildStatusResponse; |
| export 'src/rpc_model/commit.dart' show Commit, CommitAuthor; |
| export 'src/rpc_model/commit_status.dart' show CommitStatus; |
| export 'src/rpc_model/content_hash_lookup.dart' show ContentHashLookup; |
| export 'src/rpc_model/merge_group_hooks.dart' |
| show MergeGroupHook, MergeGroupHooks; |
| export 'src/rpc_model/presubmit_guard.dart' |
| show PresubmitGuardResponse, PresubmitGuardStage; |
| export 'src/rpc_model/presubmit_guard_summary.dart' show PresubmitGuardSummary; |
| export 'src/rpc_model/presubmit_job_response.dart' show PresubmitJobResponse; |
| export 'src/rpc_model/suppressed_test.dart' |
| show SuppressedTest, SuppressionUpdate; |
| export 'src/rpc_model/task.dart' show Task; |
| export 'src/rpc_model/tree_status_change.dart' |
| show TreeStatus, TreeStatusChange; |