aboutsummaryrefslogtreecommitdiffstats
path: root/graphql/resolvers/identity.go
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2019-01-19 16:01:06 +0100
committerMichael Muré <batolettre@gmail.com>2019-03-01 22:40:21 +0100
commit844616baf8dc628360942d57fd69f24e298e08da (patch)
tree3fd635e08a06de60618d47ab022554a1f78364de /graphql/resolvers/identity.go
parentbdbe9e7e8256fff820efe1ce707e7154d517ecb3 (diff)
downloadgit-bug-844616baf8dc628360942d57fd69f24e298e08da.tar.gz
identity: more progress and fixes
Diffstat (limited to 'graphql/resolvers/identity.go')
-rw-r--r--graphql/resolvers/identity.go36
1 files changed, 36 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
+}