diff options
author | Michael Muré <batolettre@gmail.com> | 2019-01-19 16:01:06 +0100 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2019-03-01 22:40:21 +0100 |
commit | 844616baf8dc628360942d57fd69f24e298e08da (patch) | |
tree | 3fd635e08a06de60618d47ab022554a1f78364de /graphql | |
parent | bdbe9e7e8256fff820efe1ce707e7154d517ecb3 (diff) | |
download | git-bug-844616baf8dc628360942d57fd69f24e298e08da.tar.gz |
identity: more progress and fixes
Diffstat (limited to 'graphql')
-rw-r--r-- | graphql/resolvers/identity.go | 36 | ||||
-rw-r--r-- | graphql/resolvers/root.go | 4 |
2 files changed, 40 insertions, 0 deletions
diff --git a/graphql/resolvers/identity.go b/graphql/resolvers/identity.go new file mode 100644 index 00000000..cc68197f --- /dev/null +++ b/graphql/resolvers/identity.go @@ -0,0 +1,36 @@ +package resolvers + +import ( + "context" + + "github.com/MichaelMure/git-bug/identity" +) + +type identityResolver struct{} + +func (identityResolver) Name(ctx context.Context, obj *identity.Interface) (*string, error) { + return nilIfEmpty((*obj).Name()) +} + +func (identityResolver) Email(ctx context.Context, obj *identity.Interface) (*string, error) { + return nilIfEmpty((*obj).Email()) +} + +func (identityResolver) Login(ctx context.Context, obj *identity.Interface) (*string, error) { + return nilIfEmpty((*obj).Login()) +} + +func (identityResolver) DisplayName(ctx context.Context, obj *identity.Interface) (string, error) { + return (*obj).DisplayName(), nil +} + +func (identityResolver) AvatarURL(ctx context.Context, obj *identity.Interface) (*string, error) { + return nilIfEmpty((*obj).AvatarUrl()) +} + +func nilIfEmpty(s string) (*string, error) { + if s == "" { + return nil, nil + } + return &s, nil +} diff --git a/graphql/resolvers/root.go b/graphql/resolvers/root.go index 9b3a730b..cfdfe346 100644 --- a/graphql/resolvers/root.go +++ b/graphql/resolvers/root.go @@ -32,6 +32,10 @@ func (RootResolver) Bug() graph.BugResolver { return &bugResolver{} } +func (r RootResolver) Identity() graph.IdentityResolver { + return &identityResolver{} +} + func (RootResolver) CommentHistoryStep() graph.CommentHistoryStepResolver { return &commentHistoryStepResolver{} } |