diff --git a/build.yaml b/build.yaml index ce84366..b192950 100644 --- a/build.yaml +++ b/build.yaml @@ -25,9 +25,10 @@ targets: options: schema_mapping: - schema: lib/github.schema.json - output: lib/graphql/gh_user.dart - queries_glob: lib/graphql/user.graphql + output: lib/graphql/github_user.dart + queries_glob: lib/graphql/github_user.graphql resolve_type_field: __typename + add_query_prefix: true scalar_mapping: - graphql_type: URI dart_type: String diff --git a/lib/graphql/gh_user.dart b/lib/graphql/github_user.dart similarity index 83% rename from lib/graphql/gh_user.dart rename to lib/graphql/github_user.dart index 0970999..19cf9e6 100644 --- a/lib/graphql/gh_user.dart +++ b/lib/graphql/github_user.dart @@ -4,34 +4,35 @@ import 'package:artemis/artemis.dart'; import 'package:json_annotation/json_annotation.dart'; import 'package:equatable/equatable.dart'; import 'package:gql/ast.dart'; -part 'gh_user.g.dart'; +part 'github_user.g.dart'; @JsonSerializable(explicitToJson: true) -class GhUser with EquatableMixin { - GhUser(); +class GithubUser with EquatableMixin { + GithubUser(); - factory GhUser.fromJson(Map json) => _$GhUserFromJson(json); + factory GithubUser.fromJson(Map json) => + _$GithubUserFromJson(json); - RepositoryOwner repositoryOwner; + GithubUserRepositoryOwner repositoryOwner; @override List get props => [repositoryOwner]; - Map toJson() => _$GhUserToJson(this); + Map toJson() => _$GithubUserToJson(this); } @JsonSerializable(explicitToJson: true) -class RepositoryOwner with EquatableMixin { - RepositoryOwner(); +class GithubUserRepositoryOwner with EquatableMixin { + GithubUserRepositoryOwner(); - factory RepositoryOwner.fromJson(Map json) { + factory GithubUserRepositoryOwner.fromJson(Map json) { switch (json['__typename'].toString()) { case 'User': - return User.fromJson(json); + return GithubUserUser.fromJson(json); case 'Organization': - return Organization.fromJson(json); + return GithubUserOrganization.fromJson(json); default: } - return _$RepositoryOwnerFromJson(json); + return _$GithubUserRepositoryOwnerFromJson(json); } @JsonKey(name: '__typename') @@ -42,31 +43,32 @@ class RepositoryOwner with EquatableMixin { Map toJson() { switch (resolveType) { case 'User': - return (this as User).toJson(); + return (this as GithubUserUser).toJson(); case 'Organization': - return (this as Organization).toJson(); + return (this as GithubUserOrganization).toJson(); default: } - return _$RepositoryOwnerToJson(this); + return _$GithubUserRepositoryOwnerToJson(this); } } @JsonSerializable(explicitToJson: true) -class User extends AuditEntryActor +class GithubUserUser extends GithubUserAuditEntryActor with EquatableMixin implements - Node, - Actor, - RegistryPackageOwner, - RegistryPackageSearch, - ProjectOwner, - RepositoryOwner, - UniformResourceLocatable, - ProfileOwner, - Sponsorable { - User(); + GithubUserNode, + GithubUserActor, + GithubUserRegistryPackageOwner, + GithubUserRegistryPackageSearch, + GithubUserProjectOwner, + GithubUserRepositoryOwner, + GithubUserUniformResourceLocatable, + GithubUserProfileOwner, + GithubUserSponsorable { + GithubUserUser(); - factory User.fromJson(Map json) => _$UserFromJson(json); + factory GithubUserUser.fromJson(Map json) => + _$GithubUserUserFromJson(json); String login; @@ -84,15 +86,15 @@ class User extends AuditEntryActor String websiteUrl; - StarredRepositoryConnection starredRepositories; + GithubUserStarredRepositoryConnection starredRepositories; - FollowerConnection followers; + GithubUserFollowerConnection followers; - FollowingConnection following; + GithubUserFollowingConnection following; - RepositoryConnection repositories; + GithubUserRepositoryConnection repositories; - PinnableItemConnection pinnedItems; + GithubUserPinnableItemConnection pinnedItems; bool viewerCanFollow; @@ -124,86 +126,88 @@ class User extends AuditEntryActor url, resolveType ]; - Map toJson() => _$UserToJson(this); + Map toJson() => _$GithubUserUserToJson(this); } @JsonSerializable(explicitToJson: true) -class StarredRepositoryConnection with EquatableMixin { - StarredRepositoryConnection(); +class GithubUserStarredRepositoryConnection with EquatableMixin { + GithubUserStarredRepositoryConnection(); - factory StarredRepositoryConnection.fromJson(Map json) => - _$StarredRepositoryConnectionFromJson(json); + factory GithubUserStarredRepositoryConnection.fromJson( + Map json) => + _$GithubUserStarredRepositoryConnectionFromJson(json); int totalCount; @override List get props => [totalCount]; - Map toJson() => _$StarredRepositoryConnectionToJson(this); + Map toJson() => + _$GithubUserStarredRepositoryConnectionToJson(this); } @JsonSerializable(explicitToJson: true) -class FollowerConnection with EquatableMixin { - FollowerConnection(); +class GithubUserFollowerConnection with EquatableMixin { + GithubUserFollowerConnection(); - factory FollowerConnection.fromJson(Map json) => - _$FollowerConnectionFromJson(json); + factory GithubUserFollowerConnection.fromJson(Map json) => + _$GithubUserFollowerConnectionFromJson(json); int totalCount; @override List get props => [totalCount]; - Map toJson() => _$FollowerConnectionToJson(this); + Map toJson() => _$GithubUserFollowerConnectionToJson(this); } @JsonSerializable(explicitToJson: true) -class FollowingConnection with EquatableMixin { - FollowingConnection(); +class GithubUserFollowingConnection with EquatableMixin { + GithubUserFollowingConnection(); - factory FollowingConnection.fromJson(Map json) => - _$FollowingConnectionFromJson(json); + factory GithubUserFollowingConnection.fromJson(Map json) => + _$GithubUserFollowingConnectionFromJson(json); int totalCount; @override List get props => [totalCount]; - Map toJson() => _$FollowingConnectionToJson(this); + Map toJson() => _$GithubUserFollowingConnectionToJson(this); } @JsonSerializable(explicitToJson: true) -class RepositoryConnection with EquatableMixin { - RepositoryConnection(); +class GithubUserRepositoryConnection with EquatableMixin { + GithubUserRepositoryConnection(); - factory RepositoryConnection.fromJson(Map json) => - _$RepositoryConnectionFromJson(json); + factory GithubUserRepositoryConnection.fromJson(Map json) => + _$GithubUserRepositoryConnectionFromJson(json); int totalCount; - List nodes; + List nodes; @override List get props => [totalCount, nodes]; - Map toJson() => _$RepositoryConnectionToJson(this); + Map toJson() => _$GithubUserRepositoryConnectionToJson(this); } @JsonSerializable(explicitToJson: true) -class Repository extends PinnableItem +class GithubUserRepository extends GithubUserPinnableItem with EquatableMixin implements - Node, - ProjectOwner, - RegistryPackageOwner, - RegistryPackageSearch, - Subscribable, - Starrable, - UniformResourceLocatable, - RepositoryInfo { - Repository(); + GithubUserNode, + GithubUserProjectOwner, + GithubUserRegistryPackageOwner, + GithubUserRegistryPackageSearch, + GithubUserSubscribable, + GithubUserStarrable, + GithubUserUniformResourceLocatable, + GithubUserRepositoryInfo { + GithubUserRepository(); - factory Repository.fromJson(Map json) => - _$RepositoryFromJson(json); + factory GithubUserRepository.fromJson(Map json) => + _$GithubUserRepositoryFromJson(json); @override - RepositoryOwner owner; + GithubUserRepositoryOwner owner; @override String name; @@ -218,11 +222,11 @@ class Repository extends PinnableItem bool isFork; @override - StargazerConnection stargazers; + GithubUserStargazerConnection stargazers; - RepositoryConnection forks; + GithubUserRepositoryConnection forks; - Language primaryLanguage; + GithubUserLanguage primaryLanguage; @override @JsonKey(name: '__typename') @@ -240,29 +244,29 @@ class Repository extends PinnableItem primaryLanguage, resolveType ]; - Map toJson() => _$RepositoryToJson(this); + Map toJson() => _$GithubUserRepositoryToJson(this); } @JsonSerializable(explicitToJson: true) -class StargazerConnection with EquatableMixin { - StargazerConnection(); +class GithubUserStargazerConnection with EquatableMixin { + GithubUserStargazerConnection(); - factory StargazerConnection.fromJson(Map json) => - _$StargazerConnectionFromJson(json); + factory GithubUserStargazerConnection.fromJson(Map json) => + _$GithubUserStargazerConnectionFromJson(json); int totalCount; @override List get props => [totalCount]; - Map toJson() => _$StargazerConnectionToJson(this); + Map toJson() => _$GithubUserStargazerConnectionToJson(this); } @JsonSerializable(explicitToJson: true) -class Language with EquatableMixin implements Node { - Language(); +class GithubUserLanguage with EquatableMixin implements GithubUserNode { + GithubUserLanguage(); - factory Language.fromJson(Map json) => - _$LanguageFromJson(json); + factory GithubUserLanguage.fromJson(Map json) => + _$GithubUserLanguageFromJson(json); String color; @@ -274,135 +278,139 @@ class Language with EquatableMixin implements Node { @override List get props => [color, name, resolveType]; - Map toJson() => _$LanguageToJson(this); + Map toJson() => _$GithubUserLanguageToJson(this); } @JsonSerializable(explicitToJson: true) -class Node with EquatableMixin { - Node(); +class GithubUserNode with EquatableMixin { + GithubUserNode(); - factory Node.fromJson(Map json) => _$NodeFromJson(json); + factory GithubUserNode.fromJson(Map json) => + _$GithubUserNodeFromJson(json); @JsonKey(name: '__typename') String resolveType; @override List get props => [resolveType]; - Map toJson() => _$NodeToJson(this); + Map toJson() => _$GithubUserNodeToJson(this); } @JsonSerializable(explicitToJson: true) -class PinnableItem with EquatableMixin { - PinnableItem(); +class GithubUserPinnableItem with EquatableMixin { + GithubUserPinnableItem(); - factory PinnableItem.fromJson(Map json) => - _$PinnableItemFromJson(json); + factory GithubUserPinnableItem.fromJson(Map json) => + _$GithubUserPinnableItemFromJson(json); @override List get props => []; - Map toJson() => _$PinnableItemToJson(this); + Map toJson() => _$GithubUserPinnableItemToJson(this); } @JsonSerializable(explicitToJson: true) -class ProjectOwner with EquatableMixin { - ProjectOwner(); +class GithubUserProjectOwner with EquatableMixin { + GithubUserProjectOwner(); - factory ProjectOwner.fromJson(Map json) => - _$ProjectOwnerFromJson(json); + factory GithubUserProjectOwner.fromJson(Map json) => + _$GithubUserProjectOwnerFromJson(json); @JsonKey(name: '__typename') String resolveType; @override List get props => [resolveType]; - Map toJson() => _$ProjectOwnerToJson(this); + Map toJson() => _$GithubUserProjectOwnerToJson(this); } @JsonSerializable(explicitToJson: true) -class RegistryPackageOwner with EquatableMixin { - RegistryPackageOwner(); +class GithubUserRegistryPackageOwner with EquatableMixin { + GithubUserRegistryPackageOwner(); - factory RegistryPackageOwner.fromJson(Map json) => - _$RegistryPackageOwnerFromJson(json); + factory GithubUserRegistryPackageOwner.fromJson(Map json) => + _$GithubUserRegistryPackageOwnerFromJson(json); @JsonKey(name: '__typename') String resolveType; @override List get props => [resolveType]; - Map toJson() => _$RegistryPackageOwnerToJson(this); + Map toJson() => _$GithubUserRegistryPackageOwnerToJson(this); } @JsonSerializable(explicitToJson: true) -class RegistryPackageSearch with EquatableMixin { - RegistryPackageSearch(); +class GithubUserRegistryPackageSearch with EquatableMixin { + GithubUserRegistryPackageSearch(); - factory RegistryPackageSearch.fromJson(Map json) => - _$RegistryPackageSearchFromJson(json); + factory GithubUserRegistryPackageSearch.fromJson(Map json) => + _$GithubUserRegistryPackageSearchFromJson(json); @JsonKey(name: '__typename') String resolveType; @override List get props => [resolveType]; - Map toJson() => _$RegistryPackageSearchToJson(this); + Map toJson() => + _$GithubUserRegistryPackageSearchToJson(this); } @JsonSerializable(explicitToJson: true) -class Subscribable with EquatableMixin { - Subscribable(); +class GithubUserSubscribable with EquatableMixin { + GithubUserSubscribable(); - factory Subscribable.fromJson(Map json) => - _$SubscribableFromJson(json); + factory GithubUserSubscribable.fromJson(Map json) => + _$GithubUserSubscribableFromJson(json); @JsonKey(name: '__typename') String resolveType; @override List get props => [resolveType]; - Map toJson() => _$SubscribableToJson(this); + Map toJson() => _$GithubUserSubscribableToJson(this); } @JsonSerializable(explicitToJson: true) -class Starrable with EquatableMixin { - Starrable(); +class GithubUserStarrable with EquatableMixin { + GithubUserStarrable(); - factory Starrable.fromJson(Map json) => - _$StarrableFromJson(json); + factory GithubUserStarrable.fromJson(Map json) => + _$GithubUserStarrableFromJson(json); - StargazerConnection stargazers; + GithubUserStargazerConnection stargazers; @JsonKey(name: '__typename') String resolveType; @override List get props => [stargazers, resolveType]; - Map toJson() => _$StarrableToJson(this); + Map toJson() => _$GithubUserStarrableToJson(this); } @JsonSerializable(explicitToJson: true) -class UniformResourceLocatable with EquatableMixin { - UniformResourceLocatable(); +class GithubUserUniformResourceLocatable with EquatableMixin { + GithubUserUniformResourceLocatable(); - factory UniformResourceLocatable.fromJson(Map json) => - _$UniformResourceLocatableFromJson(json); + factory GithubUserUniformResourceLocatable.fromJson( + Map json) => + _$GithubUserUniformResourceLocatableFromJson(json); @JsonKey(name: '__typename') String resolveType; @override List get props => [resolveType]; - Map toJson() => _$UniformResourceLocatableToJson(this); + Map toJson() => + _$GithubUserUniformResourceLocatableToJson(this); } @JsonSerializable(explicitToJson: true) -class RepositoryInfo with EquatableMixin { - RepositoryInfo(); +class GithubUserRepositoryInfo with EquatableMixin { + GithubUserRepositoryInfo(); - factory RepositoryInfo.fromJson(Map json) => - _$RepositoryInfoFromJson(json); + factory GithubUserRepositoryInfo.fromJson(Map json) => + _$GithubUserRepositoryInfoFromJson(json); - RepositoryOwner owner; + GithubUserRepositoryOwner owner; String name; @@ -418,42 +426,45 @@ class RepositoryInfo with EquatableMixin { @override List get props => [owner, name, description, isPrivate, isFork, resolveType]; - Map toJson() => _$RepositoryInfoToJson(this); + Map toJson() => _$GithubUserRepositoryInfoToJson(this); } @JsonSerializable(explicitToJson: true) -class PinnableItemConnection with EquatableMixin { - PinnableItemConnection(); +class GithubUserPinnableItemConnection with EquatableMixin { + GithubUserPinnableItemConnection(); - factory PinnableItemConnection.fromJson(Map json) => - _$PinnableItemConnectionFromJson(json); + factory GithubUserPinnableItemConnection.fromJson( + Map json) => + _$GithubUserPinnableItemConnectionFromJson(json); int totalCount; - List nodes; + List nodes; @override List get props => [totalCount, nodes]; - Map toJson() => _$PinnableItemConnectionToJson(this); + Map toJson() => + _$GithubUserPinnableItemConnectionToJson(this); } @JsonSerializable(explicitToJson: true) -class AuditEntryActor with EquatableMixin { - AuditEntryActor(); +class GithubUserAuditEntryActor with EquatableMixin { + GithubUserAuditEntryActor(); - factory AuditEntryActor.fromJson(Map json) => - _$AuditEntryActorFromJson(json); + factory GithubUserAuditEntryActor.fromJson(Map json) => + _$GithubUserAuditEntryActorFromJson(json); @override List get props => []; - Map toJson() => _$AuditEntryActorToJson(this); + Map toJson() => _$GithubUserAuditEntryActorToJson(this); } @JsonSerializable(explicitToJson: true) -class Actor with EquatableMixin { - Actor(); +class GithubUserActor with EquatableMixin { + GithubUserActor(); - factory Actor.fromJson(Map json) => _$ActorFromJson(json); + factory GithubUserActor.fromJson(Map json) => + _$GithubUserActorFromJson(json); String login; @@ -466,15 +477,15 @@ class Actor with EquatableMixin { @override List get props => [login, avatarUrl, url, resolveType]; - Map toJson() => _$ActorToJson(this); + Map toJson() => _$GithubUserActorToJson(this); } @JsonSerializable(explicitToJson: true) -class ProfileOwner with EquatableMixin { - ProfileOwner(); +class GithubUserProfileOwner with EquatableMixin { + GithubUserProfileOwner(); - factory ProfileOwner.fromJson(Map json) => - _$ProfileOwnerFromJson(json); + factory GithubUserProfileOwner.fromJson(Map json) => + _$GithubUserProfileOwnerFromJson(json); String login; @@ -486,7 +497,7 @@ class ProfileOwner with EquatableMixin { String websiteUrl; - PinnableItemConnection pinnedItems; + GithubUserPinnableItemConnection pinnedItems; @JsonKey(name: '__typename') String resolveType; @@ -494,42 +505,42 @@ class ProfileOwner with EquatableMixin { @override List get props => [login, name, location, email, websiteUrl, pinnedItems, resolveType]; - Map toJson() => _$ProfileOwnerToJson(this); + Map toJson() => _$GithubUserProfileOwnerToJson(this); } @JsonSerializable(explicitToJson: true) -class Sponsorable with EquatableMixin { - Sponsorable(); +class GithubUserSponsorable with EquatableMixin { + GithubUserSponsorable(); - factory Sponsorable.fromJson(Map json) => - _$SponsorableFromJson(json); + factory GithubUserSponsorable.fromJson(Map json) => + _$GithubUserSponsorableFromJson(json); @JsonKey(name: '__typename') String resolveType; @override List get props => [resolveType]; - Map toJson() => _$SponsorableToJson(this); + Map toJson() => _$GithubUserSponsorableToJson(this); } @JsonSerializable(explicitToJson: true) -class Organization extends AuditEntryActor +class GithubUserOrganization extends GithubUserAuditEntryActor with EquatableMixin implements - Node, - Actor, - RegistryPackageOwner, - RegistryPackageSearch, - ProjectOwner, - RepositoryOwner, - UniformResourceLocatable, - MemberStatusable, - ProfileOwner, - Sponsorable { - Organization(); + GithubUserNode, + GithubUserActor, + GithubUserRegistryPackageOwner, + GithubUserRegistryPackageSearch, + GithubUserProjectOwner, + GithubUserRepositoryOwner, + GithubUserUniformResourceLocatable, + GithubUserMemberStatusable, + GithubUserProfileOwner, + GithubUserSponsorable { + GithubUserOrganization(); - factory Organization.fromJson(Map json) => - _$OrganizationFromJson(json); + factory GithubUserOrganization.fromJson(Map json) => + _$GithubUserOrganizationFromJson(json); String login; @@ -547,11 +558,11 @@ class Organization extends AuditEntryActor String url; - PinnableItemConnection pinnedItems; + GithubUserPinnableItemConnection pinnedItems; - PinnableItemConnection pinnableItems; + GithubUserPinnableItemConnection pinnableItems; - OrganizationMemberConnection membersWithRole; + GithubUserOrganizationMemberConnection membersWithRole; @override @JsonKey(name: '__typename') @@ -572,54 +583,56 @@ class Organization extends AuditEntryActor membersWithRole, resolveType ]; - Map toJson() => _$OrganizationToJson(this); + Map toJson() => _$GithubUserOrganizationToJson(this); } @JsonSerializable(explicitToJson: true) -class OrganizationMemberConnection with EquatableMixin { - OrganizationMemberConnection(); +class GithubUserOrganizationMemberConnection with EquatableMixin { + GithubUserOrganizationMemberConnection(); - factory OrganizationMemberConnection.fromJson(Map json) => - _$OrganizationMemberConnectionFromJson(json); + factory GithubUserOrganizationMemberConnection.fromJson( + Map json) => + _$GithubUserOrganizationMemberConnectionFromJson(json); int totalCount; @override List get props => [totalCount]; - Map toJson() => _$OrganizationMemberConnectionToJson(this); + Map toJson() => + _$GithubUserOrganizationMemberConnectionToJson(this); } @JsonSerializable(explicitToJson: true) -class MemberStatusable with EquatableMixin { - MemberStatusable(); +class GithubUserMemberStatusable with EquatableMixin { + GithubUserMemberStatusable(); - factory MemberStatusable.fromJson(Map json) => - _$MemberStatusableFromJson(json); + factory GithubUserMemberStatusable.fromJson(Map json) => + _$GithubUserMemberStatusableFromJson(json); @JsonKey(name: '__typename') String resolveType; @override List get props => [resolveType]; - Map toJson() => _$MemberStatusableToJson(this); + Map toJson() => _$GithubUserMemberStatusableToJson(this); } @JsonSerializable(explicitToJson: true) -class GhUserArguments extends JsonSerializable with EquatableMixin { - GhUserArguments({this.login}); +class GithubUserArguments extends JsonSerializable with EquatableMixin { + GithubUserArguments({this.login}); - factory GhUserArguments.fromJson(Map json) => - _$GhUserArgumentsFromJson(json); + factory GithubUserArguments.fromJson(Map json) => + _$GithubUserArgumentsFromJson(json); final String login; @override List get props => [login]; - Map toJson() => _$GhUserArgumentsToJson(this); + Map toJson() => _$GithubUserArgumentsToJson(this); } -class GhUserQuery extends GraphQLQuery { - GhUserQuery({this.variables}); +class GithubUserQuery extends GraphQLQuery { + GithubUserQuery({this.variables}); @override final DocumentNode document = DocumentNode(definitions: [ @@ -1414,13 +1427,13 @@ class GhUserQuery extends GraphQLQuery { ]); @override - final String operationName = 'gh_user'; + final String operationName = 'github_user'; @override - final GhUserArguments variables; + final GithubUserArguments variables; @override List get props => [document, operationName, variables]; @override - GhUser parse(Map json) => GhUser.fromJson(json); + GithubUser parse(Map json) => GithubUser.fromJson(json); } diff --git a/lib/graphql/gh_user.g.dart b/lib/graphql/github_user.g.dart similarity index 50% rename from lib/graphql/gh_user.g.dart rename to lib/graphql/github_user.g.dart index 3ae3a65..80fb8b9 100644 --- a/lib/graphql/gh_user.g.dart +++ b/lib/graphql/github_user.g.dart @@ -1,34 +1,38 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -part of 'gh_user.dart'; +part of 'github_user.dart'; // ************************************************************************** // JsonSerializableGenerator // ************************************************************************** -GhUser _$GhUserFromJson(Map json) { - return GhUser() +GithubUser _$GithubUserFromJson(Map json) { + return GithubUser() ..repositoryOwner = json['repositoryOwner'] == null ? null - : RepositoryOwner.fromJson( + : GithubUserRepositoryOwner.fromJson( json['repositoryOwner'] as Map); } -Map _$GhUserToJson(GhUser instance) => { +Map _$GithubUserToJson(GithubUser instance) => + { 'repositoryOwner': instance.repositoryOwner?.toJson(), }; -RepositoryOwner _$RepositoryOwnerFromJson(Map json) { - return RepositoryOwner()..resolveType = json['__typename'] as String; +GithubUserRepositoryOwner _$GithubUserRepositoryOwnerFromJson( + Map json) { + return GithubUserRepositoryOwner() + ..resolveType = json['__typename'] as String; } -Map _$RepositoryOwnerToJson(RepositoryOwner instance) => +Map _$GithubUserRepositoryOwnerToJson( + GithubUserRepositoryOwner instance) => { '__typename': instance.resolveType, }; -User _$UserFromJson(Map json) { - return User() +GithubUserUser _$GithubUserUserFromJson(Map json) { + return GithubUserUser() ..login = json['login'] as String ..name = json['name'] as String ..avatarUrl = json['avatarUrl'] as String @@ -39,22 +43,23 @@ User _$UserFromJson(Map json) { ..websiteUrl = json['websiteUrl'] as String ..starredRepositories = json['starredRepositories'] == null ? null - : StarredRepositoryConnection.fromJson( + : GithubUserStarredRepositoryConnection.fromJson( json['starredRepositories'] as Map) ..followers = json['followers'] == null ? null - : FollowerConnection.fromJson(json['followers'] as Map) + : GithubUserFollowerConnection.fromJson( + json['followers'] as Map) ..following = json['following'] == null ? null - : FollowingConnection.fromJson( + : GithubUserFollowingConnection.fromJson( json['following'] as Map) ..repositories = json['repositories'] == null ? null - : RepositoryConnection.fromJson( + : GithubUserRepositoryConnection.fromJson( json['repositories'] as Map) ..pinnedItems = json['pinnedItems'] == null ? null - : PinnableItemConnection.fromJson( + : GithubUserPinnableItemConnection.fromJson( json['pinnedItems'] as Map) ..viewerCanFollow = json['viewerCanFollow'] as bool ..viewerIsFollowing = json['viewerIsFollowing'] as bool @@ -62,7 +67,8 @@ User _$UserFromJson(Map json) { ..resolveType = json['__typename'] as String; } -Map _$UserToJson(User instance) => { +Map _$GithubUserUserToJson(GithubUserUser instance) => + { 'login': instance.login, 'name': instance.name, 'avatarUrl': instance.avatarUrl, @@ -82,75 +88,86 @@ Map _$UserToJson(User instance) => { '__typename': instance.resolveType, }; -StarredRepositoryConnection _$StarredRepositoryConnectionFromJson( +GithubUserStarredRepositoryConnection + _$GithubUserStarredRepositoryConnectionFromJson(Map json) { + return GithubUserStarredRepositoryConnection() + ..totalCount = json['totalCount'] as int; +} + +Map _$GithubUserStarredRepositoryConnectionToJson( + GithubUserStarredRepositoryConnection instance) => + { + 'totalCount': instance.totalCount, + }; + +GithubUserFollowerConnection _$GithubUserFollowerConnectionFromJson( Map json) { - return StarredRepositoryConnection()..totalCount = json['totalCount'] as int; + return GithubUserFollowerConnection()..totalCount = json['totalCount'] as int; } -Map _$StarredRepositoryConnectionToJson( - StarredRepositoryConnection instance) => +Map _$GithubUserFollowerConnectionToJson( + GithubUserFollowerConnection instance) => { 'totalCount': instance.totalCount, }; -FollowerConnection _$FollowerConnectionFromJson(Map json) { - return FollowerConnection()..totalCount = json['totalCount'] as int; +GithubUserFollowingConnection _$GithubUserFollowingConnectionFromJson( + Map json) { + return GithubUserFollowingConnection() + ..totalCount = json['totalCount'] as int; } -Map _$FollowerConnectionToJson(FollowerConnection instance) => +Map _$GithubUserFollowingConnectionToJson( + GithubUserFollowingConnection instance) => { 'totalCount': instance.totalCount, }; -FollowingConnection _$FollowingConnectionFromJson(Map json) { - return FollowingConnection()..totalCount = json['totalCount'] as int; -} - -Map _$FollowingConnectionToJson( - FollowingConnection instance) => - { - 'totalCount': instance.totalCount, - }; - -RepositoryConnection _$RepositoryConnectionFromJson(Map json) { - return RepositoryConnection() +GithubUserRepositoryConnection _$GithubUserRepositoryConnectionFromJson( + Map json) { + return GithubUserRepositoryConnection() ..totalCount = json['totalCount'] as int ..nodes = (json['nodes'] as List) - ?.map((e) => - e == null ? null : Repository.fromJson(e as Map)) + ?.map((e) => e == null + ? null + : GithubUserRepository.fromJson(e as Map)) ?.toList(); } -Map _$RepositoryConnectionToJson( - RepositoryConnection instance) => +Map _$GithubUserRepositoryConnectionToJson( + GithubUserRepositoryConnection instance) => { 'totalCount': instance.totalCount, 'nodes': instance.nodes?.map((e) => e?.toJson())?.toList(), }; -Repository _$RepositoryFromJson(Map json) { - return Repository() +GithubUserRepository _$GithubUserRepositoryFromJson(Map json) { + return GithubUserRepository() ..owner = json['owner'] == null ? null - : RepositoryOwner.fromJson(json['owner'] as Map) + : GithubUserRepositoryOwner.fromJson( + json['owner'] as Map) ..name = json['name'] as String ..description = json['description'] as String ..isPrivate = json['isPrivate'] as bool ..isFork = json['isFork'] as bool ..stargazers = json['stargazers'] == null ? null - : StargazerConnection.fromJson( + : GithubUserStargazerConnection.fromJson( json['stargazers'] as Map) ..forks = json['forks'] == null ? null - : RepositoryConnection.fromJson(json['forks'] as Map) + : GithubUserRepositoryConnection.fromJson( + json['forks'] as Map) ..primaryLanguage = json['primaryLanguage'] == null ? null - : Language.fromJson(json['primaryLanguage'] as Map) + : GithubUserLanguage.fromJson( + json['primaryLanguage'] as Map) ..resolveType = json['__typename'] as String; } -Map _$RepositoryToJson(Repository instance) => +Map _$GithubUserRepositoryToJson( + GithubUserRepository instance) => { 'owner': instance.owner?.toJson(), 'name': instance.name, @@ -163,113 +180,131 @@ Map _$RepositoryToJson(Repository instance) => '__typename': instance.resolveType, }; -StargazerConnection _$StargazerConnectionFromJson(Map json) { - return StargazerConnection()..totalCount = json['totalCount'] as int; +GithubUserStargazerConnection _$GithubUserStargazerConnectionFromJson( + Map json) { + return GithubUserStargazerConnection() + ..totalCount = json['totalCount'] as int; } -Map _$StargazerConnectionToJson( - StargazerConnection instance) => +Map _$GithubUserStargazerConnectionToJson( + GithubUserStargazerConnection instance) => { 'totalCount': instance.totalCount, }; -Language _$LanguageFromJson(Map json) { - return Language() +GithubUserLanguage _$GithubUserLanguageFromJson(Map json) { + return GithubUserLanguage() ..color = json['color'] as String ..name = json['name'] as String ..resolveType = json['__typename'] as String; } -Map _$LanguageToJson(Language instance) => { +Map _$GithubUserLanguageToJson(GithubUserLanguage instance) => + { 'color': instance.color, 'name': instance.name, '__typename': instance.resolveType, }; -Node _$NodeFromJson(Map json) { - return Node()..resolveType = json['__typename'] as String; +GithubUserNode _$GithubUserNodeFromJson(Map json) { + return GithubUserNode()..resolveType = json['__typename'] as String; } -Map _$NodeToJson(Node instance) => { +Map _$GithubUserNodeToJson(GithubUserNode instance) => + { '__typename': instance.resolveType, }; -PinnableItem _$PinnableItemFromJson(Map json) { - return PinnableItem(); +GithubUserPinnableItem _$GithubUserPinnableItemFromJson( + Map json) { + return GithubUserPinnableItem(); } -Map _$PinnableItemToJson(PinnableItem instance) => +Map _$GithubUserPinnableItemToJson( + GithubUserPinnableItem instance) => {}; -ProjectOwner _$ProjectOwnerFromJson(Map json) { - return ProjectOwner()..resolveType = json['__typename'] as String; -} - -Map _$ProjectOwnerToJson(ProjectOwner instance) => - { - '__typename': instance.resolveType, - }; - -RegistryPackageOwner _$RegistryPackageOwnerFromJson(Map json) { - return RegistryPackageOwner()..resolveType = json['__typename'] as String; -} - -Map _$RegistryPackageOwnerToJson( - RegistryPackageOwner instance) => - { - '__typename': instance.resolveType, - }; - -RegistryPackageSearch _$RegistryPackageSearchFromJson( +GithubUserProjectOwner _$GithubUserProjectOwnerFromJson( Map json) { - return RegistryPackageSearch()..resolveType = json['__typename'] as String; + return GithubUserProjectOwner()..resolveType = json['__typename'] as String; } -Map _$RegistryPackageSearchToJson( - RegistryPackageSearch instance) => +Map _$GithubUserProjectOwnerToJson( + GithubUserProjectOwner instance) => { '__typename': instance.resolveType, }; -Subscribable _$SubscribableFromJson(Map json) { - return Subscribable()..resolveType = json['__typename'] as String; +GithubUserRegistryPackageOwner _$GithubUserRegistryPackageOwnerFromJson( + Map json) { + return GithubUserRegistryPackageOwner() + ..resolveType = json['__typename'] as String; } -Map _$SubscribableToJson(Subscribable instance) => +Map _$GithubUserRegistryPackageOwnerToJson( + GithubUserRegistryPackageOwner instance) => { '__typename': instance.resolveType, }; -Starrable _$StarrableFromJson(Map json) { - return Starrable() +GithubUserRegistryPackageSearch _$GithubUserRegistryPackageSearchFromJson( + Map json) { + return GithubUserRegistryPackageSearch() + ..resolveType = json['__typename'] as String; +} + +Map _$GithubUserRegistryPackageSearchToJson( + GithubUserRegistryPackageSearch instance) => + { + '__typename': instance.resolveType, + }; + +GithubUserSubscribable _$GithubUserSubscribableFromJson( + Map json) { + return GithubUserSubscribable()..resolveType = json['__typename'] as String; +} + +Map _$GithubUserSubscribableToJson( + GithubUserSubscribable instance) => + { + '__typename': instance.resolveType, + }; + +GithubUserStarrable _$GithubUserStarrableFromJson(Map json) { + return GithubUserStarrable() ..stargazers = json['stargazers'] == null ? null - : StargazerConnection.fromJson( + : GithubUserStargazerConnection.fromJson( json['stargazers'] as Map) ..resolveType = json['__typename'] as String; } -Map _$StarrableToJson(Starrable instance) => { +Map _$GithubUserStarrableToJson( + GithubUserStarrable instance) => + { 'stargazers': instance.stargazers?.toJson(), '__typename': instance.resolveType, }; -UniformResourceLocatable _$UniformResourceLocatableFromJson( +GithubUserUniformResourceLocatable _$GithubUserUniformResourceLocatableFromJson( Map json) { - return UniformResourceLocatable()..resolveType = json['__typename'] as String; + return GithubUserUniformResourceLocatable() + ..resolveType = json['__typename'] as String; } -Map _$UniformResourceLocatableToJson( - UniformResourceLocatable instance) => +Map _$GithubUserUniformResourceLocatableToJson( + GithubUserUniformResourceLocatable instance) => { '__typename': instance.resolveType, }; -RepositoryInfo _$RepositoryInfoFromJson(Map json) { - return RepositoryInfo() +GithubUserRepositoryInfo _$GithubUserRepositoryInfoFromJson( + Map json) { + return GithubUserRepositoryInfo() ..owner = json['owner'] == null ? null - : RepositoryOwner.fromJson(json['owner'] as Map) + : GithubUserRepositoryOwner.fromJson( + json['owner'] as Map) ..name = json['name'] as String ..description = json['description'] as String ..isPrivate = json['isPrivate'] as bool @@ -277,7 +312,8 @@ RepositoryInfo _$RepositoryInfoFromJson(Map json) { ..resolveType = json['__typename'] as String; } -Map _$RepositoryInfoToJson(RepositoryInfo instance) => +Map _$GithubUserRepositoryInfoToJson( + GithubUserRepositoryInfo instance) => { 'owner': instance.owner?.toJson(), 'name': instance.name, @@ -287,47 +323,52 @@ Map _$RepositoryInfoToJson(RepositoryInfo instance) => '__typename': instance.resolveType, }; -PinnableItemConnection _$PinnableItemConnectionFromJson( +GithubUserPinnableItemConnection _$GithubUserPinnableItemConnectionFromJson( Map json) { - return PinnableItemConnection() + return GithubUserPinnableItemConnection() ..totalCount = json['totalCount'] as int ..nodes = (json['nodes'] as List) - ?.map((e) => - e == null ? null : PinnableItem.fromJson(e as Map)) + ?.map((e) => e == null + ? null + : GithubUserPinnableItem.fromJson(e as Map)) ?.toList(); } -Map _$PinnableItemConnectionToJson( - PinnableItemConnection instance) => +Map _$GithubUserPinnableItemConnectionToJson( + GithubUserPinnableItemConnection instance) => { 'totalCount': instance.totalCount, 'nodes': instance.nodes?.map((e) => e?.toJson())?.toList(), }; -AuditEntryActor _$AuditEntryActorFromJson(Map json) { - return AuditEntryActor(); +GithubUserAuditEntryActor _$GithubUserAuditEntryActorFromJson( + Map json) { + return GithubUserAuditEntryActor(); } -Map _$AuditEntryActorToJson(AuditEntryActor instance) => +Map _$GithubUserAuditEntryActorToJson( + GithubUserAuditEntryActor instance) => {}; -Actor _$ActorFromJson(Map json) { - return Actor() +GithubUserActor _$GithubUserActorFromJson(Map json) { + return GithubUserActor() ..login = json['login'] as String ..avatarUrl = json['avatarUrl'] as String ..url = json['url'] as String ..resolveType = json['__typename'] as String; } -Map _$ActorToJson(Actor instance) => { +Map _$GithubUserActorToJson(GithubUserActor instance) => + { 'login': instance.login, 'avatarUrl': instance.avatarUrl, 'url': instance.url, '__typename': instance.resolveType, }; -ProfileOwner _$ProfileOwnerFromJson(Map json) { - return ProfileOwner() +GithubUserProfileOwner _$GithubUserProfileOwnerFromJson( + Map json) { + return GithubUserProfileOwner() ..login = json['login'] as String ..name = json['name'] as String ..location = json['location'] as String @@ -335,12 +376,13 @@ ProfileOwner _$ProfileOwnerFromJson(Map json) { ..websiteUrl = json['websiteUrl'] as String ..pinnedItems = json['pinnedItems'] == null ? null - : PinnableItemConnection.fromJson( + : GithubUserPinnableItemConnection.fromJson( json['pinnedItems'] as Map) ..resolveType = json['__typename'] as String; } -Map _$ProfileOwnerToJson(ProfileOwner instance) => +Map _$GithubUserProfileOwnerToJson( + GithubUserProfileOwner instance) => { 'login': instance.login, 'name': instance.name, @@ -351,17 +393,20 @@ Map _$ProfileOwnerToJson(ProfileOwner instance) => '__typename': instance.resolveType, }; -Sponsorable _$SponsorableFromJson(Map json) { - return Sponsorable()..resolveType = json['__typename'] as String; +GithubUserSponsorable _$GithubUserSponsorableFromJson( + Map json) { + return GithubUserSponsorable()..resolveType = json['__typename'] as String; } -Map _$SponsorableToJson(Sponsorable instance) => +Map _$GithubUserSponsorableToJson( + GithubUserSponsorable instance) => { '__typename': instance.resolveType, }; -Organization _$OrganizationFromJson(Map json) { - return Organization() +GithubUserOrganization _$GithubUserOrganizationFromJson( + Map json) { + return GithubUserOrganization() ..login = json['login'] as String ..name = json['name'] as String ..avatarUrl = json['avatarUrl'] as String @@ -372,20 +417,21 @@ Organization _$OrganizationFromJson(Map json) { ..url = json['url'] as String ..pinnedItems = json['pinnedItems'] == null ? null - : PinnableItemConnection.fromJson( + : GithubUserPinnableItemConnection.fromJson( json['pinnedItems'] as Map) ..pinnableItems = json['pinnableItems'] == null ? null - : PinnableItemConnection.fromJson( + : GithubUserPinnableItemConnection.fromJson( json['pinnableItems'] as Map) ..membersWithRole = json['membersWithRole'] == null ? null - : OrganizationMemberConnection.fromJson( + : GithubUserOrganizationMemberConnection.fromJson( json['membersWithRole'] as Map) ..resolveType = json['__typename'] as String; } -Map _$OrganizationToJson(Organization instance) => +Map _$GithubUserOrganizationToJson( + GithubUserOrganization instance) => { 'login': instance.login, 'name': instance.name, @@ -401,33 +447,39 @@ Map _$OrganizationToJson(Organization instance) => '__typename': instance.resolveType, }; -OrganizationMemberConnection _$OrganizationMemberConnectionFromJson( - Map json) { - return OrganizationMemberConnection()..totalCount = json['totalCount'] as int; +GithubUserOrganizationMemberConnection + _$GithubUserOrganizationMemberConnectionFromJson( + Map json) { + return GithubUserOrganizationMemberConnection() + ..totalCount = json['totalCount'] as int; } -Map _$OrganizationMemberConnectionToJson( - OrganizationMemberConnection instance) => +Map _$GithubUserOrganizationMemberConnectionToJson( + GithubUserOrganizationMemberConnection instance) => { 'totalCount': instance.totalCount, }; -MemberStatusable _$MemberStatusableFromJson(Map json) { - return MemberStatusable()..resolveType = json['__typename'] as String; +GithubUserMemberStatusable _$GithubUserMemberStatusableFromJson( + Map json) { + return GithubUserMemberStatusable() + ..resolveType = json['__typename'] as String; } -Map _$MemberStatusableToJson(MemberStatusable instance) => +Map _$GithubUserMemberStatusableToJson( + GithubUserMemberStatusable instance) => { '__typename': instance.resolveType, }; -GhUserArguments _$GhUserArgumentsFromJson(Map json) { - return GhUserArguments( +GithubUserArguments _$GithubUserArgumentsFromJson(Map json) { + return GithubUserArguments( login: json['login'] as String, ); } -Map _$GhUserArgumentsToJson(GhUserArguments instance) => +Map _$GithubUserArgumentsToJson( + GithubUserArguments instance) => { 'login': instance.login, }; diff --git a/lib/graphql/user.graphql b/lib/graphql/github_user.graphql similarity index 100% rename from lib/graphql/user.graphql rename to lib/graphql/github_user.graphql diff --git a/lib/screens/user.dart b/lib/screens/user.dart index 9de71e7..717156f 100644 --- a/lib/screens/user.dart +++ b/lib/screens/user.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; -import 'package:git_touch/graphql/gh_user.dart'; +import 'package:git_touch/graphql/github_user.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; import 'package:git_touch/screens/settings.dart'; @@ -26,10 +26,10 @@ class UserScreen extends StatelessWidget { UserScreen(this.login); - Future _query(BuildContext context) async { + Future _query(BuildContext context) async { final data = await Provider.of(context) .gqlClient - .execute(GhUserQuery(variables: GhUserArguments(login: login))); + .execute(GithubUserQuery(variables: GithubUserArguments(login: login))); return data.data.repositoryOwner; } @@ -48,10 +48,10 @@ class UserScreen extends StatelessWidget { } } - Iterable _buildPinnedItems( - Iterable pinnedItems, Iterable repositories) { + Iterable _buildPinnedItems(Iterable pinnedItems, + Iterable repositories) { String title; - Iterable items = []; + Iterable items = []; if (pinnedItems.isNotEmpty) { title = 'pinned repositories'; @@ -74,8 +74,8 @@ class UserScreen extends StatelessWidget { ]; } - Widget _buildUser( - BuildContext context, User user, List contributions) { + Widget _buildUser(BuildContext context, GithubUserUser user, + List contributions) { final theme = Provider.of(context); return Column( crossAxisAlignment: CrossAxisAlignment.stretch, @@ -158,15 +158,16 @@ class UserScreen extends StatelessWidget { ), ..._buildPinnedItems( user.pinnedItems.nodes - .where((n) => n is Repository) - .cast(), + .where((n) => n is GithubUserRepository) + .cast(), user.repositories.nodes), CommonStyle.verticalGap, ], ); } - Widget _buildOrganization(BuildContext context, Organization payload) { + Widget _buildOrganization( + BuildContext context, GithubUserOrganization payload) { return Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ @@ -228,11 +229,11 @@ class UserScreen extends StatelessWidget { ), ..._buildPinnedItems( payload.pinnedItems.nodes - .where((n) => n is Repository) - .cast(), + .where((n) => n is GithubUserRepository) + .cast(), payload.pinnableItems.nodes - .where((n) => n is Repository) - .cast(), + .where((n) => n is GithubUserRepository) + .cast(), ), CommonStyle.verticalGap, ], @@ -242,14 +243,14 @@ class UserScreen extends StatelessWidget { @override Widget build(BuildContext context) { return RefreshStatefulScaffold< - Tuple2>>( + Tuple2>>( fetchData: () async { final vs = await Future.wait([ _query(context), _fetchContributions(context), ]); - return Tuple2( - vs[0] as RepositoryOwner, vs[1] as List); + return Tuple2(vs[0] as GithubUserRepositoryOwner, + vs[1] as List); }, title: AppBarTitle('User'), // TODO: actionBuilder: (data, _) { @@ -262,7 +263,7 @@ class UserScreen extends StatelessWidget { final payload = data.item1; switch (payload.resolveType) { case 'User': - final user = payload as User; + final user = payload as GithubUserUser; if (login == null) { return ActionEntry( iconData: Icons.settings, @@ -300,7 +301,7 @@ class UserScreen extends StatelessWidget { } break; case 'Organization': - final organization = payload as Organization; + final organization = payload as GithubUserOrganization; return ActionButton( title: 'Organization Actions', items: [ @@ -318,9 +319,10 @@ class UserScreen extends StatelessWidget { final payload = data.item1; switch (payload.resolveType) { case 'User': - return _buildUser(context, payload as User, data.item2); + return _buildUser(context, payload as GithubUserUser, data.item2); case 'Organization': - return _buildOrganization(context, payload as Organization); + return _buildOrganization( + context, payload as GithubUserOrganization); default: return null; } diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index 4f799a4..2a30c59 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -5,8 +5,6 @@ import 'package:flutter/gestures.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/screens/user.dart'; import 'package:git_touch/widgets/border_view.dart'; -import 'package:git_touch/widgets/repository_item.dart'; -import 'package:git_touch/widgets/table_view.dart'; import 'package:intl/intl.dart'; import 'package:primer/primer.dart'; import 'package:provider/provider.dart'; diff --git a/lib/widgets/repository_item.dart b/lib/widgets/repository_item.dart index 0398051..8e02c9c 100644 --- a/lib/widgets/repository_item.dart +++ b/lib/widgets/repository_item.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; -import 'package:git_touch/graphql/gh_user.dart'; +import 'package:git_touch/graphql/github_user.dart'; import 'package:git_touch/models/gitea.dart'; import 'package:git_touch/models/gitlab.dart'; import 'package:git_touch/models/theme.dart'; @@ -82,9 +82,10 @@ class RepositoryItem extends StatelessWidget { ? [] : payload['repositoryTopics']['nodes']; - RepositoryItem.github(Repository payload, {this.inRepoScreen = false}) - : this.owner = (payload.owner as User).login, - this.avatarUrl = (payload.owner as User).avatarUrl, + RepositoryItem.github(GithubUserRepository payload, + {this.inRepoScreen = false}) + : this.owner = (payload.owner as GithubUserUser).login, + this.avatarUrl = (payload.owner as GithubUserUser).avatarUrl, this.name = payload.name, this.description = payload.description, this.iconData = Octicons.repo, // TODO: @@ -92,8 +93,8 @@ class RepositoryItem extends StatelessWidget { this.forkCount = payload.forks.totalCount, this.primaryLanguageName = payload.primaryLanguage?.name, this.primaryLanguageColor = payload.primaryLanguage?.color, - this.screenBuilder = ((_) => - RepositoryScreen((payload.owner as User).login, payload.name)), + this.screenBuilder = ((_) => RepositoryScreen( + (payload.owner as GithubUserUser).login, payload.name)), this.topics = []; // TODO: // this.topics = payload['repositoryTopics'] == null // ? []