| // Copyright 2022 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. |
| |
| import 'dart:convert'; |
| |
| import 'package:json_annotation/json_annotation.dart'; |
| import 'package:meta/meta.dart'; |
| |
| part 'big_query_pull_request_record.g.dart'; |
| |
| @immutable |
| @JsonSerializable() |
| class PullRequestRecord { |
| const PullRequestRecord({ |
| this.prCreatedTimestamp, |
| this.prLandedTimestamp, |
| this.organization, |
| this.repository, |
| this.author, |
| this.prNumber, |
| this.prCommit, |
| this.prRequestType, |
| }); |
| |
| final DateTime? prCreatedTimestamp; |
| final DateTime? prLandedTimestamp; |
| final String? organization; |
| final String? repository; |
| final String? author; |
| final int? prNumber; |
| final String? prCommit; |
| final String? prRequestType; |
| |
| @override |
| String toString() => jsonEncode(toJson()); |
| |
| factory PullRequestRecord.fromJson(Map<String, dynamic> json) => _$PullRequestRecordFromJson(json); |
| |
| Map<String, dynamic> toJson() => _$PullRequestRecordToJson(this); |
| } |