gen_graph.go

   1// Code generated by github.com/vektah/gqlgen, DO NOT EDIT.
   2
   3package graph
   4
   5import (
   6	"bytes"
   7	context "context"
   8	fmt "fmt"
   9	strconv "strconv"
  10	time "time"
  11
  12	bug "github.com/MichaelMure/git-bug/bug"
  13	operations "github.com/MichaelMure/git-bug/bug/operations"
  14	models "github.com/MichaelMure/git-bug/graphql/models"
  15	graphql "github.com/vektah/gqlgen/graphql"
  16	introspection "github.com/vektah/gqlgen/neelance/introspection"
  17	query "github.com/vektah/gqlgen/neelance/query"
  18	schema "github.com/vektah/gqlgen/neelance/schema"
  19)
  20
  21// MakeExecutableSchema creates an ExecutableSchema from the Resolvers interface.
  22func MakeExecutableSchema(resolvers Resolvers) graphql.ExecutableSchema {
  23	return &executableSchema{resolvers: resolvers}
  24}
  25
  26// NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
  27func NewExecutableSchema(resolvers ResolverRoot) graphql.ExecutableSchema {
  28	return MakeExecutableSchema(shortMapper{r: resolvers})
  29}
  30
  31type Resolvers interface {
  32	AddCommentOperation_date(ctx context.Context, obj *operations.AddCommentOperation) (time.Time, error)
  33
  34	Bug_status(ctx context.Context, obj *bug.Snapshot) (models.Status, error)
  35
  36	Bug_comments(ctx context.Context, obj *bug.Snapshot, after *string, before *string, first *int, last *int) (models.CommentConnection, error)
  37	Bug_operations(ctx context.Context, obj *bug.Snapshot, after *string, before *string, first *int, last *int) (models.OperationConnection, error)
  38
  39	CreateOperation_date(ctx context.Context, obj *operations.CreateOperation) (time.Time, error)
  40
  41	LabelChangeOperation_date(ctx context.Context, obj *operations.LabelChangeOperation) (time.Time, error)
  42
  43	Mutation_newBug(ctx context.Context, repoRef *string, title string, message string) (bug.Snapshot, error)
  44	Mutation_addComment(ctx context.Context, repoRef *string, prefix string, message string) (bug.Snapshot, error)
  45	Mutation_changeLabels(ctx context.Context, repoRef *string, prefix string, added []string, removed []string) (bug.Snapshot, error)
  46	Mutation_open(ctx context.Context, repoRef *string, prefix string) (bug.Snapshot, error)
  47	Mutation_close(ctx context.Context, repoRef *string, prefix string) (bug.Snapshot, error)
  48	Mutation_setTitle(ctx context.Context, repoRef *string, prefix string, title string) (bug.Snapshot, error)
  49	Mutation_commit(ctx context.Context, repoRef *string, prefix string) (bug.Snapshot, error)
  50
  51	Query_defaultRepository(ctx context.Context) (*models.Repository, error)
  52	Query_repository(ctx context.Context, id string) (*models.Repository, error)
  53
  54	Repository_allBugs(ctx context.Context, obj *models.Repository, after *string, before *string, first *int, last *int) (models.BugConnection, error)
  55	Repository_bug(ctx context.Context, obj *models.Repository, prefix string) (*bug.Snapshot, error)
  56
  57	SetStatusOperation_date(ctx context.Context, obj *operations.SetStatusOperation) (time.Time, error)
  58	SetStatusOperation_status(ctx context.Context, obj *operations.SetStatusOperation) (models.Status, error)
  59
  60	SetTitleOperation_date(ctx context.Context, obj *operations.SetTitleOperation) (time.Time, error)
  61}
  62
  63type ResolverRoot interface {
  64	AddCommentOperation() AddCommentOperationResolver
  65	Bug() BugResolver
  66	CreateOperation() CreateOperationResolver
  67	LabelChangeOperation() LabelChangeOperationResolver
  68	Mutation() MutationResolver
  69	Query() QueryResolver
  70	Repository() RepositoryResolver
  71	SetStatusOperation() SetStatusOperationResolver
  72	SetTitleOperation() SetTitleOperationResolver
  73}
  74type AddCommentOperationResolver interface {
  75	Date(ctx context.Context, obj *operations.AddCommentOperation) (time.Time, error)
  76}
  77type BugResolver interface {
  78	Status(ctx context.Context, obj *bug.Snapshot) (models.Status, error)
  79
  80	Comments(ctx context.Context, obj *bug.Snapshot, after *string, before *string, first *int, last *int) (models.CommentConnection, error)
  81	Operations(ctx context.Context, obj *bug.Snapshot, after *string, before *string, first *int, last *int) (models.OperationConnection, error)
  82}
  83type CreateOperationResolver interface {
  84	Date(ctx context.Context, obj *operations.CreateOperation) (time.Time, error)
  85}
  86type LabelChangeOperationResolver interface {
  87	Date(ctx context.Context, obj *operations.LabelChangeOperation) (time.Time, error)
  88}
  89type MutationResolver interface {
  90	NewBug(ctx context.Context, repoRef *string, title string, message string) (bug.Snapshot, error)
  91	AddComment(ctx context.Context, repoRef *string, prefix string, message string) (bug.Snapshot, error)
  92	ChangeLabels(ctx context.Context, repoRef *string, prefix string, added []string, removed []string) (bug.Snapshot, error)
  93	Open(ctx context.Context, repoRef *string, prefix string) (bug.Snapshot, error)
  94	Close(ctx context.Context, repoRef *string, prefix string) (bug.Snapshot, error)
  95	SetTitle(ctx context.Context, repoRef *string, prefix string, title string) (bug.Snapshot, error)
  96	Commit(ctx context.Context, repoRef *string, prefix string) (bug.Snapshot, error)
  97}
  98type QueryResolver interface {
  99	DefaultRepository(ctx context.Context) (*models.Repository, error)
 100	Repository(ctx context.Context, id string) (*models.Repository, error)
 101}
 102type RepositoryResolver interface {
 103	AllBugs(ctx context.Context, obj *models.Repository, after *string, before *string, first *int, last *int) (models.BugConnection, error)
 104	Bug(ctx context.Context, obj *models.Repository, prefix string) (*bug.Snapshot, error)
 105}
 106type SetStatusOperationResolver interface {
 107	Date(ctx context.Context, obj *operations.SetStatusOperation) (time.Time, error)
 108	Status(ctx context.Context, obj *operations.SetStatusOperation) (models.Status, error)
 109}
 110type SetTitleOperationResolver interface {
 111	Date(ctx context.Context, obj *operations.SetTitleOperation) (time.Time, error)
 112}
 113
 114type shortMapper struct {
 115	r ResolverRoot
 116}
 117
 118func (s shortMapper) AddCommentOperation_date(ctx context.Context, obj *operations.AddCommentOperation) (time.Time, error) {
 119	return s.r.AddCommentOperation().Date(ctx, obj)
 120}
 121
 122func (s shortMapper) Bug_status(ctx context.Context, obj *bug.Snapshot) (models.Status, error) {
 123	return s.r.Bug().Status(ctx, obj)
 124}
 125
 126func (s shortMapper) Bug_comments(ctx context.Context, obj *bug.Snapshot, after *string, before *string, first *int, last *int) (models.CommentConnection, error) {
 127	return s.r.Bug().Comments(ctx, obj, after, before, first, last)
 128}
 129
 130func (s shortMapper) Bug_operations(ctx context.Context, obj *bug.Snapshot, after *string, before *string, first *int, last *int) (models.OperationConnection, error) {
 131	return s.r.Bug().Operations(ctx, obj, after, before, first, last)
 132}
 133
 134func (s shortMapper) CreateOperation_date(ctx context.Context, obj *operations.CreateOperation) (time.Time, error) {
 135	return s.r.CreateOperation().Date(ctx, obj)
 136}
 137
 138func (s shortMapper) LabelChangeOperation_date(ctx context.Context, obj *operations.LabelChangeOperation) (time.Time, error) {
 139	return s.r.LabelChangeOperation().Date(ctx, obj)
 140}
 141
 142func (s shortMapper) Mutation_newBug(ctx context.Context, repoRef *string, title string, message string) (bug.Snapshot, error) {
 143	return s.r.Mutation().NewBug(ctx, repoRef, title, message)
 144}
 145
 146func (s shortMapper) Mutation_addComment(ctx context.Context, repoRef *string, prefix string, message string) (bug.Snapshot, error) {
 147	return s.r.Mutation().AddComment(ctx, repoRef, prefix, message)
 148}
 149
 150func (s shortMapper) Mutation_changeLabels(ctx context.Context, repoRef *string, prefix string, added []string, removed []string) (bug.Snapshot, error) {
 151	return s.r.Mutation().ChangeLabels(ctx, repoRef, prefix, added, removed)
 152}
 153
 154func (s shortMapper) Mutation_open(ctx context.Context, repoRef *string, prefix string) (bug.Snapshot, error) {
 155	return s.r.Mutation().Open(ctx, repoRef, prefix)
 156}
 157
 158func (s shortMapper) Mutation_close(ctx context.Context, repoRef *string, prefix string) (bug.Snapshot, error) {
 159	return s.r.Mutation().Close(ctx, repoRef, prefix)
 160}
 161
 162func (s shortMapper) Mutation_setTitle(ctx context.Context, repoRef *string, prefix string, title string) (bug.Snapshot, error) {
 163	return s.r.Mutation().SetTitle(ctx, repoRef, prefix, title)
 164}
 165
 166func (s shortMapper) Mutation_commit(ctx context.Context, repoRef *string, prefix string) (bug.Snapshot, error) {
 167	return s.r.Mutation().Commit(ctx, repoRef, prefix)
 168}
 169
 170func (s shortMapper) Query_defaultRepository(ctx context.Context) (*models.Repository, error) {
 171	return s.r.Query().DefaultRepository(ctx)
 172}
 173
 174func (s shortMapper) Query_repository(ctx context.Context, id string) (*models.Repository, error) {
 175	return s.r.Query().Repository(ctx, id)
 176}
 177
 178func (s shortMapper) Repository_allBugs(ctx context.Context, obj *models.Repository, after *string, before *string, first *int, last *int) (models.BugConnection, error) {
 179	return s.r.Repository().AllBugs(ctx, obj, after, before, first, last)
 180}
 181
 182func (s shortMapper) Repository_bug(ctx context.Context, obj *models.Repository, prefix string) (*bug.Snapshot, error) {
 183	return s.r.Repository().Bug(ctx, obj, prefix)
 184}
 185
 186func (s shortMapper) SetStatusOperation_date(ctx context.Context, obj *operations.SetStatusOperation) (time.Time, error) {
 187	return s.r.SetStatusOperation().Date(ctx, obj)
 188}
 189
 190func (s shortMapper) SetStatusOperation_status(ctx context.Context, obj *operations.SetStatusOperation) (models.Status, error) {
 191	return s.r.SetStatusOperation().Status(ctx, obj)
 192}
 193
 194func (s shortMapper) SetTitleOperation_date(ctx context.Context, obj *operations.SetTitleOperation) (time.Time, error) {
 195	return s.r.SetTitleOperation().Date(ctx, obj)
 196}
 197
 198type executableSchema struct {
 199	resolvers Resolvers
 200}
 201
 202func (e *executableSchema) Schema() *schema.Schema {
 203	return parsedSchema
 204}
 205
 206func (e *executableSchema) Query(ctx context.Context, op *query.Operation) *graphql.Response {
 207	ec := executionContext{graphql.GetRequestContext(ctx), e.resolvers}
 208
 209	buf := ec.RequestMiddleware(ctx, func(ctx context.Context) []byte {
 210		data := ec._Query(ctx, op.Selections)
 211		var buf bytes.Buffer
 212		data.MarshalGQL(&buf)
 213		return buf.Bytes()
 214	})
 215
 216	return &graphql.Response{
 217		Data:   buf,
 218		Errors: ec.Errors,
 219	}
 220}
 221
 222func (e *executableSchema) Mutation(ctx context.Context, op *query.Operation) *graphql.Response {
 223	ec := executionContext{graphql.GetRequestContext(ctx), e.resolvers}
 224
 225	buf := ec.RequestMiddleware(ctx, func(ctx context.Context) []byte {
 226		data := ec._Mutation(ctx, op.Selections)
 227		var buf bytes.Buffer
 228		data.MarshalGQL(&buf)
 229		return buf.Bytes()
 230	})
 231
 232	return &graphql.Response{
 233		Data:   buf,
 234		Errors: ec.Errors,
 235	}
 236}
 237
 238func (e *executableSchema) Subscription(ctx context.Context, op *query.Operation) func() *graphql.Response {
 239	return graphql.OneShot(graphql.ErrorResponse(ctx, "subscriptions are not supported"))
 240}
 241
 242type executionContext struct {
 243	*graphql.RequestContext
 244
 245	resolvers Resolvers
 246}
 247
 248var addCommentOperationImplementors = []string{"AddCommentOperation", "Operation", "Authored"}
 249
 250// nolint: gocyclo, errcheck, gas, goconst
 251func (ec *executionContext) _AddCommentOperation(ctx context.Context, sel []query.Selection, obj *operations.AddCommentOperation) graphql.Marshaler {
 252	fields := graphql.CollectFields(ec.Doc, sel, addCommentOperationImplementors, ec.Variables)
 253
 254	out := graphql.NewOrderedMap(len(fields))
 255	for i, field := range fields {
 256		out.Keys[i] = field.Alias
 257
 258		switch field.Name {
 259		case "__typename":
 260			out.Values[i] = graphql.MarshalString("AddCommentOperation")
 261		case "author":
 262			out.Values[i] = ec._AddCommentOperation_author(ctx, field, obj)
 263		case "date":
 264			out.Values[i] = ec._AddCommentOperation_date(ctx, field, obj)
 265		case "message":
 266			out.Values[i] = ec._AddCommentOperation_message(ctx, field, obj)
 267		default:
 268			panic("unknown field " + strconv.Quote(field.Name))
 269		}
 270	}
 271
 272	return out
 273}
 274
 275func (ec *executionContext) _AddCommentOperation_author(ctx context.Context, field graphql.CollectedField, obj *operations.AddCommentOperation) graphql.Marshaler {
 276	rctx := graphql.GetResolverContext(ctx)
 277	rctx.Object = "AddCommentOperation"
 278	rctx.Args = nil
 279	rctx.Field = field
 280	rctx.PushField(field.Alias)
 281	defer rctx.Pop()
 282	res := obj.Author
 283	return ec._Person(ctx, field.Selections, &res)
 284}
 285
 286func (ec *executionContext) _AddCommentOperation_date(ctx context.Context, field graphql.CollectedField, obj *operations.AddCommentOperation) graphql.Marshaler {
 287	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
 288		Object: "AddCommentOperation",
 289		Args:   nil,
 290		Field:  field,
 291	})
 292	return graphql.Defer(func() (ret graphql.Marshaler) {
 293		defer func() {
 294			if r := recover(); r != nil {
 295				userErr := ec.Recover(ctx, r)
 296				ec.Error(ctx, userErr)
 297				ret = graphql.Null
 298			}
 299		}()
 300
 301		resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
 302			return ec.resolvers.AddCommentOperation_date(ctx, obj)
 303		})
 304		if err != nil {
 305			ec.Error(ctx, err)
 306			return graphql.Null
 307		}
 308		if resTmp == nil {
 309			return graphql.Null
 310		}
 311		res := resTmp.(time.Time)
 312		return graphql.MarshalTime(res)
 313	})
 314}
 315
 316func (ec *executionContext) _AddCommentOperation_message(ctx context.Context, field graphql.CollectedField, obj *operations.AddCommentOperation) graphql.Marshaler {
 317	rctx := graphql.GetResolverContext(ctx)
 318	rctx.Object = "AddCommentOperation"
 319	rctx.Args = nil
 320	rctx.Field = field
 321	rctx.PushField(field.Alias)
 322	defer rctx.Pop()
 323	res := obj.Message
 324	return graphql.MarshalString(res)
 325}
 326
 327var bugImplementors = []string{"Bug"}
 328
 329// nolint: gocyclo, errcheck, gas, goconst
 330func (ec *executionContext) _Bug(ctx context.Context, sel []query.Selection, obj *bug.Snapshot) graphql.Marshaler {
 331	fields := graphql.CollectFields(ec.Doc, sel, bugImplementors, ec.Variables)
 332
 333	out := graphql.NewOrderedMap(len(fields))
 334	for i, field := range fields {
 335		out.Keys[i] = field.Alias
 336
 337		switch field.Name {
 338		case "__typename":
 339			out.Values[i] = graphql.MarshalString("Bug")
 340		case "id":
 341			out.Values[i] = ec._Bug_id(ctx, field, obj)
 342		case "humanId":
 343			out.Values[i] = ec._Bug_humanId(ctx, field, obj)
 344		case "title":
 345			out.Values[i] = ec._Bug_title(ctx, field, obj)
 346		case "status":
 347			out.Values[i] = ec._Bug_status(ctx, field, obj)
 348		case "labels":
 349			out.Values[i] = ec._Bug_labels(ctx, field, obj)
 350		case "comments":
 351			out.Values[i] = ec._Bug_comments(ctx, field, obj)
 352		case "operations":
 353			out.Values[i] = ec._Bug_operations(ctx, field, obj)
 354		default:
 355			panic("unknown field " + strconv.Quote(field.Name))
 356		}
 357	}
 358
 359	return out
 360}
 361
 362func (ec *executionContext) _Bug_id(ctx context.Context, field graphql.CollectedField, obj *bug.Snapshot) graphql.Marshaler {
 363	rctx := graphql.GetResolverContext(ctx)
 364	rctx.Object = "Bug"
 365	rctx.Args = nil
 366	rctx.Field = field
 367	rctx.PushField(field.Alias)
 368	defer rctx.Pop()
 369	res := obj.Id()
 370	return graphql.MarshalString(res)
 371}
 372
 373func (ec *executionContext) _Bug_humanId(ctx context.Context, field graphql.CollectedField, obj *bug.Snapshot) graphql.Marshaler {
 374	rctx := graphql.GetResolverContext(ctx)
 375	rctx.Object = "Bug"
 376	rctx.Args = nil
 377	rctx.Field = field
 378	rctx.PushField(field.Alias)
 379	defer rctx.Pop()
 380	res := obj.HumanId()
 381	return graphql.MarshalString(res)
 382}
 383
 384func (ec *executionContext) _Bug_title(ctx context.Context, field graphql.CollectedField, obj *bug.Snapshot) graphql.Marshaler {
 385	rctx := graphql.GetResolverContext(ctx)
 386	rctx.Object = "Bug"
 387	rctx.Args = nil
 388	rctx.Field = field
 389	rctx.PushField(field.Alias)
 390	defer rctx.Pop()
 391	res := obj.Title
 392	return graphql.MarshalString(res)
 393}
 394
 395func (ec *executionContext) _Bug_status(ctx context.Context, field graphql.CollectedField, obj *bug.Snapshot) graphql.Marshaler {
 396	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
 397		Object: "Bug",
 398		Args:   nil,
 399		Field:  field,
 400	})
 401	return graphql.Defer(func() (ret graphql.Marshaler) {
 402		defer func() {
 403			if r := recover(); r != nil {
 404				userErr := ec.Recover(ctx, r)
 405				ec.Error(ctx, userErr)
 406				ret = graphql.Null
 407			}
 408		}()
 409
 410		resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
 411			return ec.resolvers.Bug_status(ctx, obj)
 412		})
 413		if err != nil {
 414			ec.Error(ctx, err)
 415			return graphql.Null
 416		}
 417		if resTmp == nil {
 418			return graphql.Null
 419		}
 420		res := resTmp.(models.Status)
 421		return res
 422	})
 423}
 424
 425func (ec *executionContext) _Bug_labels(ctx context.Context, field graphql.CollectedField, obj *bug.Snapshot) graphql.Marshaler {
 426	rctx := graphql.GetResolverContext(ctx)
 427	rctx.Object = "Bug"
 428	rctx.Args = nil
 429	rctx.Field = field
 430	rctx.PushField(field.Alias)
 431	defer rctx.Pop()
 432	res := obj.Labels
 433	arr1 := graphql.Array{}
 434	for idx1 := range res {
 435		arr1 = append(arr1, func() graphql.Marshaler {
 436			rctx := graphql.GetResolverContext(ctx)
 437			rctx.PushIndex(idx1)
 438			defer rctx.Pop()
 439			return res[idx1]
 440		}())
 441	}
 442	return arr1
 443}
 444
 445func (ec *executionContext) _Bug_comments(ctx context.Context, field graphql.CollectedField, obj *bug.Snapshot) graphql.Marshaler {
 446	args := map[string]interface{}{}
 447	var arg0 *string
 448	if tmp, ok := field.Args["after"]; ok {
 449		var err error
 450		var ptr1 string
 451		if tmp != nil {
 452			ptr1, err = graphql.UnmarshalString(tmp)
 453			arg0 = &ptr1
 454		}
 455
 456		if err != nil {
 457			ec.Error(ctx, err)
 458			return graphql.Null
 459		}
 460	}
 461	args["after"] = arg0
 462	var arg1 *string
 463	if tmp, ok := field.Args["before"]; ok {
 464		var err error
 465		var ptr1 string
 466		if tmp != nil {
 467			ptr1, err = graphql.UnmarshalString(tmp)
 468			arg1 = &ptr1
 469		}
 470
 471		if err != nil {
 472			ec.Error(ctx, err)
 473			return graphql.Null
 474		}
 475	}
 476	args["before"] = arg1
 477	var arg2 *int
 478	if tmp, ok := field.Args["first"]; ok {
 479		var err error
 480		var ptr1 int
 481		if tmp != nil {
 482			ptr1, err = graphql.UnmarshalInt(tmp)
 483			arg2 = &ptr1
 484		}
 485
 486		if err != nil {
 487			ec.Error(ctx, err)
 488			return graphql.Null
 489		}
 490	}
 491	args["first"] = arg2
 492	var arg3 *int
 493	if tmp, ok := field.Args["last"]; ok {
 494		var err error
 495		var ptr1 int
 496		if tmp != nil {
 497			ptr1, err = graphql.UnmarshalInt(tmp)
 498			arg3 = &ptr1
 499		}
 500
 501		if err != nil {
 502			ec.Error(ctx, err)
 503			return graphql.Null
 504		}
 505	}
 506	args["last"] = arg3
 507	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
 508		Object: "Bug",
 509		Args:   args,
 510		Field:  field,
 511	})
 512	return graphql.Defer(func() (ret graphql.Marshaler) {
 513		defer func() {
 514			if r := recover(); r != nil {
 515				userErr := ec.Recover(ctx, r)
 516				ec.Error(ctx, userErr)
 517				ret = graphql.Null
 518			}
 519		}()
 520
 521		resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
 522			return ec.resolvers.Bug_comments(ctx, obj, args["after"].(*string), args["before"].(*string), args["first"].(*int), args["last"].(*int))
 523		})
 524		if err != nil {
 525			ec.Error(ctx, err)
 526			return graphql.Null
 527		}
 528		if resTmp == nil {
 529			return graphql.Null
 530		}
 531		res := resTmp.(models.CommentConnection)
 532		return ec._CommentConnection(ctx, field.Selections, &res)
 533	})
 534}
 535
 536func (ec *executionContext) _Bug_operations(ctx context.Context, field graphql.CollectedField, obj *bug.Snapshot) graphql.Marshaler {
 537	args := map[string]interface{}{}
 538	var arg0 *string
 539	if tmp, ok := field.Args["after"]; ok {
 540		var err error
 541		var ptr1 string
 542		if tmp != nil {
 543			ptr1, err = graphql.UnmarshalString(tmp)
 544			arg0 = &ptr1
 545		}
 546
 547		if err != nil {
 548			ec.Error(ctx, err)
 549			return graphql.Null
 550		}
 551	}
 552	args["after"] = arg0
 553	var arg1 *string
 554	if tmp, ok := field.Args["before"]; ok {
 555		var err error
 556		var ptr1 string
 557		if tmp != nil {
 558			ptr1, err = graphql.UnmarshalString(tmp)
 559			arg1 = &ptr1
 560		}
 561
 562		if err != nil {
 563			ec.Error(ctx, err)
 564			return graphql.Null
 565		}
 566	}
 567	args["before"] = arg1
 568	var arg2 *int
 569	if tmp, ok := field.Args["first"]; ok {
 570		var err error
 571		var ptr1 int
 572		if tmp != nil {
 573			ptr1, err = graphql.UnmarshalInt(tmp)
 574			arg2 = &ptr1
 575		}
 576
 577		if err != nil {
 578			ec.Error(ctx, err)
 579			return graphql.Null
 580		}
 581	}
 582	args["first"] = arg2
 583	var arg3 *int
 584	if tmp, ok := field.Args["last"]; ok {
 585		var err error
 586		var ptr1 int
 587		if tmp != nil {
 588			ptr1, err = graphql.UnmarshalInt(tmp)
 589			arg3 = &ptr1
 590		}
 591
 592		if err != nil {
 593			ec.Error(ctx, err)
 594			return graphql.Null
 595		}
 596	}
 597	args["last"] = arg3
 598	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
 599		Object: "Bug",
 600		Args:   args,
 601		Field:  field,
 602	})
 603	return graphql.Defer(func() (ret graphql.Marshaler) {
 604		defer func() {
 605			if r := recover(); r != nil {
 606				userErr := ec.Recover(ctx, r)
 607				ec.Error(ctx, userErr)
 608				ret = graphql.Null
 609			}
 610		}()
 611
 612		resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
 613			return ec.resolvers.Bug_operations(ctx, obj, args["after"].(*string), args["before"].(*string), args["first"].(*int), args["last"].(*int))
 614		})
 615		if err != nil {
 616			ec.Error(ctx, err)
 617			return graphql.Null
 618		}
 619		if resTmp == nil {
 620			return graphql.Null
 621		}
 622		res := resTmp.(models.OperationConnection)
 623		return ec._OperationConnection(ctx, field.Selections, &res)
 624	})
 625}
 626
 627var bugConnectionImplementors = []string{"BugConnection"}
 628
 629// nolint: gocyclo, errcheck, gas, goconst
 630func (ec *executionContext) _BugConnection(ctx context.Context, sel []query.Selection, obj *models.BugConnection) graphql.Marshaler {
 631	fields := graphql.CollectFields(ec.Doc, sel, bugConnectionImplementors, ec.Variables)
 632
 633	out := graphql.NewOrderedMap(len(fields))
 634	for i, field := range fields {
 635		out.Keys[i] = field.Alias
 636
 637		switch field.Name {
 638		case "__typename":
 639			out.Values[i] = graphql.MarshalString("BugConnection")
 640		case "edges":
 641			out.Values[i] = ec._BugConnection_edges(ctx, field, obj)
 642		case "nodes":
 643			out.Values[i] = ec._BugConnection_nodes(ctx, field, obj)
 644		case "pageInfo":
 645			out.Values[i] = ec._BugConnection_pageInfo(ctx, field, obj)
 646		case "totalCount":
 647			out.Values[i] = ec._BugConnection_totalCount(ctx, field, obj)
 648		default:
 649			panic("unknown field " + strconv.Quote(field.Name))
 650		}
 651	}
 652
 653	return out
 654}
 655
 656func (ec *executionContext) _BugConnection_edges(ctx context.Context, field graphql.CollectedField, obj *models.BugConnection) graphql.Marshaler {
 657	rctx := graphql.GetResolverContext(ctx)
 658	rctx.Object = "BugConnection"
 659	rctx.Args = nil
 660	rctx.Field = field
 661	rctx.PushField(field.Alias)
 662	defer rctx.Pop()
 663	res := obj.Edges
 664	arr1 := graphql.Array{}
 665	for idx1 := range res {
 666		arr1 = append(arr1, func() graphql.Marshaler {
 667			rctx := graphql.GetResolverContext(ctx)
 668			rctx.PushIndex(idx1)
 669			defer rctx.Pop()
 670			return ec._BugEdge(ctx, field.Selections, &res[idx1])
 671		}())
 672	}
 673	return arr1
 674}
 675
 676func (ec *executionContext) _BugConnection_nodes(ctx context.Context, field graphql.CollectedField, obj *models.BugConnection) graphql.Marshaler {
 677	rctx := graphql.GetResolverContext(ctx)
 678	rctx.Object = "BugConnection"
 679	rctx.Args = nil
 680	rctx.Field = field
 681	rctx.PushField(field.Alias)
 682	defer rctx.Pop()
 683	res := obj.Nodes
 684	arr1 := graphql.Array{}
 685	for idx1 := range res {
 686		arr1 = append(arr1, func() graphql.Marshaler {
 687			rctx := graphql.GetResolverContext(ctx)
 688			rctx.PushIndex(idx1)
 689			defer rctx.Pop()
 690			return ec._Bug(ctx, field.Selections, &res[idx1])
 691		}())
 692	}
 693	return arr1
 694}
 695
 696func (ec *executionContext) _BugConnection_pageInfo(ctx context.Context, field graphql.CollectedField, obj *models.BugConnection) graphql.Marshaler {
 697	rctx := graphql.GetResolverContext(ctx)
 698	rctx.Object = "BugConnection"
 699	rctx.Args = nil
 700	rctx.Field = field
 701	rctx.PushField(field.Alias)
 702	defer rctx.Pop()
 703	res := obj.PageInfo
 704	return ec._PageInfo(ctx, field.Selections, &res)
 705}
 706
 707func (ec *executionContext) _BugConnection_totalCount(ctx context.Context, field graphql.CollectedField, obj *models.BugConnection) graphql.Marshaler {
 708	rctx := graphql.GetResolverContext(ctx)
 709	rctx.Object = "BugConnection"
 710	rctx.Args = nil
 711	rctx.Field = field
 712	rctx.PushField(field.Alias)
 713	defer rctx.Pop()
 714	res := obj.TotalCount
 715	return graphql.MarshalInt(res)
 716}
 717
 718var bugEdgeImplementors = []string{"BugEdge"}
 719
 720// nolint: gocyclo, errcheck, gas, goconst
 721func (ec *executionContext) _BugEdge(ctx context.Context, sel []query.Selection, obj *models.BugEdge) graphql.Marshaler {
 722	fields := graphql.CollectFields(ec.Doc, sel, bugEdgeImplementors, ec.Variables)
 723
 724	out := graphql.NewOrderedMap(len(fields))
 725	for i, field := range fields {
 726		out.Keys[i] = field.Alias
 727
 728		switch field.Name {
 729		case "__typename":
 730			out.Values[i] = graphql.MarshalString("BugEdge")
 731		case "cursor":
 732			out.Values[i] = ec._BugEdge_cursor(ctx, field, obj)
 733		case "node":
 734			out.Values[i] = ec._BugEdge_node(ctx, field, obj)
 735		default:
 736			panic("unknown field " + strconv.Quote(field.Name))
 737		}
 738	}
 739
 740	return out
 741}
 742
 743func (ec *executionContext) _BugEdge_cursor(ctx context.Context, field graphql.CollectedField, obj *models.BugEdge) graphql.Marshaler {
 744	rctx := graphql.GetResolverContext(ctx)
 745	rctx.Object = "BugEdge"
 746	rctx.Args = nil
 747	rctx.Field = field
 748	rctx.PushField(field.Alias)
 749	defer rctx.Pop()
 750	res := obj.Cursor
 751	return graphql.MarshalString(res)
 752}
 753
 754func (ec *executionContext) _BugEdge_node(ctx context.Context, field graphql.CollectedField, obj *models.BugEdge) graphql.Marshaler {
 755	rctx := graphql.GetResolverContext(ctx)
 756	rctx.Object = "BugEdge"
 757	rctx.Args = nil
 758	rctx.Field = field
 759	rctx.PushField(field.Alias)
 760	defer rctx.Pop()
 761	res := obj.Node
 762	return ec._Bug(ctx, field.Selections, &res)
 763}
 764
 765var commentImplementors = []string{"Comment", "Authored"}
 766
 767// nolint: gocyclo, errcheck, gas, goconst
 768func (ec *executionContext) _Comment(ctx context.Context, sel []query.Selection, obj *bug.Comment) graphql.Marshaler {
 769	fields := graphql.CollectFields(ec.Doc, sel, commentImplementors, ec.Variables)
 770
 771	out := graphql.NewOrderedMap(len(fields))
 772	for i, field := range fields {
 773		out.Keys[i] = field.Alias
 774
 775		switch field.Name {
 776		case "__typename":
 777			out.Values[i] = graphql.MarshalString("Comment")
 778		case "author":
 779			out.Values[i] = ec._Comment_author(ctx, field, obj)
 780		case "message":
 781			out.Values[i] = ec._Comment_message(ctx, field, obj)
 782		default:
 783			panic("unknown field " + strconv.Quote(field.Name))
 784		}
 785	}
 786
 787	return out
 788}
 789
 790func (ec *executionContext) _Comment_author(ctx context.Context, field graphql.CollectedField, obj *bug.Comment) graphql.Marshaler {
 791	rctx := graphql.GetResolverContext(ctx)
 792	rctx.Object = "Comment"
 793	rctx.Args = nil
 794	rctx.Field = field
 795	rctx.PushField(field.Alias)
 796	defer rctx.Pop()
 797	res := obj.Author
 798	return ec._Person(ctx, field.Selections, &res)
 799}
 800
 801func (ec *executionContext) _Comment_message(ctx context.Context, field graphql.CollectedField, obj *bug.Comment) graphql.Marshaler {
 802	rctx := graphql.GetResolverContext(ctx)
 803	rctx.Object = "Comment"
 804	rctx.Args = nil
 805	rctx.Field = field
 806	rctx.PushField(field.Alias)
 807	defer rctx.Pop()
 808	res := obj.Message
 809	return graphql.MarshalString(res)
 810}
 811
 812var commentConnectionImplementors = []string{"CommentConnection"}
 813
 814// nolint: gocyclo, errcheck, gas, goconst
 815func (ec *executionContext) _CommentConnection(ctx context.Context, sel []query.Selection, obj *models.CommentConnection) graphql.Marshaler {
 816	fields := graphql.CollectFields(ec.Doc, sel, commentConnectionImplementors, ec.Variables)
 817
 818	out := graphql.NewOrderedMap(len(fields))
 819	for i, field := range fields {
 820		out.Keys[i] = field.Alias
 821
 822		switch field.Name {
 823		case "__typename":
 824			out.Values[i] = graphql.MarshalString("CommentConnection")
 825		case "edges":
 826			out.Values[i] = ec._CommentConnection_edges(ctx, field, obj)
 827		case "nodes":
 828			out.Values[i] = ec._CommentConnection_nodes(ctx, field, obj)
 829		case "pageInfo":
 830			out.Values[i] = ec._CommentConnection_pageInfo(ctx, field, obj)
 831		case "totalCount":
 832			out.Values[i] = ec._CommentConnection_totalCount(ctx, field, obj)
 833		default:
 834			panic("unknown field " + strconv.Quote(field.Name))
 835		}
 836	}
 837
 838	return out
 839}
 840
 841func (ec *executionContext) _CommentConnection_edges(ctx context.Context, field graphql.CollectedField, obj *models.CommentConnection) graphql.Marshaler {
 842	rctx := graphql.GetResolverContext(ctx)
 843	rctx.Object = "CommentConnection"
 844	rctx.Args = nil
 845	rctx.Field = field
 846	rctx.PushField(field.Alias)
 847	defer rctx.Pop()
 848	res := obj.Edges
 849	arr1 := graphql.Array{}
 850	for idx1 := range res {
 851		arr1 = append(arr1, func() graphql.Marshaler {
 852			rctx := graphql.GetResolverContext(ctx)
 853			rctx.PushIndex(idx1)
 854			defer rctx.Pop()
 855			return ec._CommentEdge(ctx, field.Selections, &res[idx1])
 856		}())
 857	}
 858	return arr1
 859}
 860
 861func (ec *executionContext) _CommentConnection_nodes(ctx context.Context, field graphql.CollectedField, obj *models.CommentConnection) graphql.Marshaler {
 862	rctx := graphql.GetResolverContext(ctx)
 863	rctx.Object = "CommentConnection"
 864	rctx.Args = nil
 865	rctx.Field = field
 866	rctx.PushField(field.Alias)
 867	defer rctx.Pop()
 868	res := obj.Nodes
 869	arr1 := graphql.Array{}
 870	for idx1 := range res {
 871		arr1 = append(arr1, func() graphql.Marshaler {
 872			rctx := graphql.GetResolverContext(ctx)
 873			rctx.PushIndex(idx1)
 874			defer rctx.Pop()
 875			return ec._Comment(ctx, field.Selections, &res[idx1])
 876		}())
 877	}
 878	return arr1
 879}
 880
 881func (ec *executionContext) _CommentConnection_pageInfo(ctx context.Context, field graphql.CollectedField, obj *models.CommentConnection) graphql.Marshaler {
 882	rctx := graphql.GetResolverContext(ctx)
 883	rctx.Object = "CommentConnection"
 884	rctx.Args = nil
 885	rctx.Field = field
 886	rctx.PushField(field.Alias)
 887	defer rctx.Pop()
 888	res := obj.PageInfo
 889	return ec._PageInfo(ctx, field.Selections, &res)
 890}
 891
 892func (ec *executionContext) _CommentConnection_totalCount(ctx context.Context, field graphql.CollectedField, obj *models.CommentConnection) graphql.Marshaler {
 893	rctx := graphql.GetResolverContext(ctx)
 894	rctx.Object = "CommentConnection"
 895	rctx.Args = nil
 896	rctx.Field = field
 897	rctx.PushField(field.Alias)
 898	defer rctx.Pop()
 899	res := obj.TotalCount
 900	return graphql.MarshalInt(res)
 901}
 902
 903var commentEdgeImplementors = []string{"CommentEdge"}
 904
 905// nolint: gocyclo, errcheck, gas, goconst
 906func (ec *executionContext) _CommentEdge(ctx context.Context, sel []query.Selection, obj *models.CommentEdge) graphql.Marshaler {
 907	fields := graphql.CollectFields(ec.Doc, sel, commentEdgeImplementors, ec.Variables)
 908
 909	out := graphql.NewOrderedMap(len(fields))
 910	for i, field := range fields {
 911		out.Keys[i] = field.Alias
 912
 913		switch field.Name {
 914		case "__typename":
 915			out.Values[i] = graphql.MarshalString("CommentEdge")
 916		case "cursor":
 917			out.Values[i] = ec._CommentEdge_cursor(ctx, field, obj)
 918		case "node":
 919			out.Values[i] = ec._CommentEdge_node(ctx, field, obj)
 920		default:
 921			panic("unknown field " + strconv.Quote(field.Name))
 922		}
 923	}
 924
 925	return out
 926}
 927
 928func (ec *executionContext) _CommentEdge_cursor(ctx context.Context, field graphql.CollectedField, obj *models.CommentEdge) graphql.Marshaler {
 929	rctx := graphql.GetResolverContext(ctx)
 930	rctx.Object = "CommentEdge"
 931	rctx.Args = nil
 932	rctx.Field = field
 933	rctx.PushField(field.Alias)
 934	defer rctx.Pop()
 935	res := obj.Cursor
 936	return graphql.MarshalString(res)
 937}
 938
 939func (ec *executionContext) _CommentEdge_node(ctx context.Context, field graphql.CollectedField, obj *models.CommentEdge) graphql.Marshaler {
 940	rctx := graphql.GetResolverContext(ctx)
 941	rctx.Object = "CommentEdge"
 942	rctx.Args = nil
 943	rctx.Field = field
 944	rctx.PushField(field.Alias)
 945	defer rctx.Pop()
 946	res := obj.Node
 947	return ec._Comment(ctx, field.Selections, &res)
 948}
 949
 950var createOperationImplementors = []string{"CreateOperation", "Operation", "Authored"}
 951
 952// nolint: gocyclo, errcheck, gas, goconst
 953func (ec *executionContext) _CreateOperation(ctx context.Context, sel []query.Selection, obj *operations.CreateOperation) graphql.Marshaler {
 954	fields := graphql.CollectFields(ec.Doc, sel, createOperationImplementors, ec.Variables)
 955
 956	out := graphql.NewOrderedMap(len(fields))
 957	for i, field := range fields {
 958		out.Keys[i] = field.Alias
 959
 960		switch field.Name {
 961		case "__typename":
 962			out.Values[i] = graphql.MarshalString("CreateOperation")
 963		case "author":
 964			out.Values[i] = ec._CreateOperation_author(ctx, field, obj)
 965		case "date":
 966			out.Values[i] = ec._CreateOperation_date(ctx, field, obj)
 967		case "title":
 968			out.Values[i] = ec._CreateOperation_title(ctx, field, obj)
 969		case "message":
 970			out.Values[i] = ec._CreateOperation_message(ctx, field, obj)
 971		default:
 972			panic("unknown field " + strconv.Quote(field.Name))
 973		}
 974	}
 975
 976	return out
 977}
 978
 979func (ec *executionContext) _CreateOperation_author(ctx context.Context, field graphql.CollectedField, obj *operations.CreateOperation) graphql.Marshaler {
 980	rctx := graphql.GetResolverContext(ctx)
 981	rctx.Object = "CreateOperation"
 982	rctx.Args = nil
 983	rctx.Field = field
 984	rctx.PushField(field.Alias)
 985	defer rctx.Pop()
 986	res := obj.Author
 987	return ec._Person(ctx, field.Selections, &res)
 988}
 989
 990func (ec *executionContext) _CreateOperation_date(ctx context.Context, field graphql.CollectedField, obj *operations.CreateOperation) graphql.Marshaler {
 991	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
 992		Object: "CreateOperation",
 993		Args:   nil,
 994		Field:  field,
 995	})
 996	return graphql.Defer(func() (ret graphql.Marshaler) {
 997		defer func() {
 998			if r := recover(); r != nil {
 999				userErr := ec.Recover(ctx, r)
1000				ec.Error(ctx, userErr)
1001				ret = graphql.Null
1002			}
1003		}()
1004
1005		resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
1006			return ec.resolvers.CreateOperation_date(ctx, obj)
1007		})
1008		if err != nil {
1009			ec.Error(ctx, err)
1010			return graphql.Null
1011		}
1012		if resTmp == nil {
1013			return graphql.Null
1014		}
1015		res := resTmp.(time.Time)
1016		return graphql.MarshalTime(res)
1017	})
1018}
1019
1020func (ec *executionContext) _CreateOperation_title(ctx context.Context, field graphql.CollectedField, obj *operations.CreateOperation) graphql.Marshaler {
1021	rctx := graphql.GetResolverContext(ctx)
1022	rctx.Object = "CreateOperation"
1023	rctx.Args = nil
1024	rctx.Field = field
1025	rctx.PushField(field.Alias)
1026	defer rctx.Pop()
1027	res := obj.Title
1028	return graphql.MarshalString(res)
1029}
1030
1031func (ec *executionContext) _CreateOperation_message(ctx context.Context, field graphql.CollectedField, obj *operations.CreateOperation) graphql.Marshaler {
1032	rctx := graphql.GetResolverContext(ctx)
1033	rctx.Object = "CreateOperation"
1034	rctx.Args = nil
1035	rctx.Field = field
1036	rctx.PushField(field.Alias)
1037	defer rctx.Pop()
1038	res := obj.Message
1039	return graphql.MarshalString(res)
1040}
1041
1042var labelChangeOperationImplementors = []string{"LabelChangeOperation", "Operation", "Authored"}
1043
1044// nolint: gocyclo, errcheck, gas, goconst
1045func (ec *executionContext) _LabelChangeOperation(ctx context.Context, sel []query.Selection, obj *operations.LabelChangeOperation) graphql.Marshaler {
1046	fields := graphql.CollectFields(ec.Doc, sel, labelChangeOperationImplementors, ec.Variables)
1047
1048	out := graphql.NewOrderedMap(len(fields))
1049	for i, field := range fields {
1050		out.Keys[i] = field.Alias
1051
1052		switch field.Name {
1053		case "__typename":
1054			out.Values[i] = graphql.MarshalString("LabelChangeOperation")
1055		case "author":
1056			out.Values[i] = ec._LabelChangeOperation_author(ctx, field, obj)
1057		case "date":
1058			out.Values[i] = ec._LabelChangeOperation_date(ctx, field, obj)
1059		case "added":
1060			out.Values[i] = ec._LabelChangeOperation_added(ctx, field, obj)
1061		case "removed":
1062			out.Values[i] = ec._LabelChangeOperation_removed(ctx, field, obj)
1063		default:
1064			panic("unknown field " + strconv.Quote(field.Name))
1065		}
1066	}
1067
1068	return out
1069}
1070
1071func (ec *executionContext) _LabelChangeOperation_author(ctx context.Context, field graphql.CollectedField, obj *operations.LabelChangeOperation) graphql.Marshaler {
1072	rctx := graphql.GetResolverContext(ctx)
1073	rctx.Object = "LabelChangeOperation"
1074	rctx.Args = nil
1075	rctx.Field = field
1076	rctx.PushField(field.Alias)
1077	defer rctx.Pop()
1078	res := obj.Author
1079	return ec._Person(ctx, field.Selections, &res)
1080}
1081
1082func (ec *executionContext) _LabelChangeOperation_date(ctx context.Context, field graphql.CollectedField, obj *operations.LabelChangeOperation) graphql.Marshaler {
1083	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
1084		Object: "LabelChangeOperation",
1085		Args:   nil,
1086		Field:  field,
1087	})
1088	return graphql.Defer(func() (ret graphql.Marshaler) {
1089		defer func() {
1090			if r := recover(); r != nil {
1091				userErr := ec.Recover(ctx, r)
1092				ec.Error(ctx, userErr)
1093				ret = graphql.Null
1094			}
1095		}()
1096
1097		resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
1098			return ec.resolvers.LabelChangeOperation_date(ctx, obj)
1099		})
1100		if err != nil {
1101			ec.Error(ctx, err)
1102			return graphql.Null
1103		}
1104		if resTmp == nil {
1105			return graphql.Null
1106		}
1107		res := resTmp.(time.Time)
1108		return graphql.MarshalTime(res)
1109	})
1110}
1111
1112func (ec *executionContext) _LabelChangeOperation_added(ctx context.Context, field graphql.CollectedField, obj *operations.LabelChangeOperation) graphql.Marshaler {
1113	rctx := graphql.GetResolverContext(ctx)
1114	rctx.Object = "LabelChangeOperation"
1115	rctx.Args = nil
1116	rctx.Field = field
1117	rctx.PushField(field.Alias)
1118	defer rctx.Pop()
1119	res := obj.Added
1120	arr1 := graphql.Array{}
1121	for idx1 := range res {
1122		arr1 = append(arr1, func() graphql.Marshaler {
1123			rctx := graphql.GetResolverContext(ctx)
1124			rctx.PushIndex(idx1)
1125			defer rctx.Pop()
1126			return res[idx1]
1127		}())
1128	}
1129	return arr1
1130}
1131
1132func (ec *executionContext) _LabelChangeOperation_removed(ctx context.Context, field graphql.CollectedField, obj *operations.LabelChangeOperation) graphql.Marshaler {
1133	rctx := graphql.GetResolverContext(ctx)
1134	rctx.Object = "LabelChangeOperation"
1135	rctx.Args = nil
1136	rctx.Field = field
1137	rctx.PushField(field.Alias)
1138	defer rctx.Pop()
1139	res := obj.Removed
1140	arr1 := graphql.Array{}
1141	for idx1 := range res {
1142		arr1 = append(arr1, func() graphql.Marshaler {
1143			rctx := graphql.GetResolverContext(ctx)
1144			rctx.PushIndex(idx1)
1145			defer rctx.Pop()
1146			return res[idx1]
1147		}())
1148	}
1149	return arr1
1150}
1151
1152var mutationImplementors = []string{"Mutation"}
1153
1154// nolint: gocyclo, errcheck, gas, goconst
1155func (ec *executionContext) _Mutation(ctx context.Context, sel []query.Selection) graphql.Marshaler {
1156	fields := graphql.CollectFields(ec.Doc, sel, mutationImplementors, ec.Variables)
1157
1158	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
1159		Object: "Mutation",
1160	})
1161
1162	out := graphql.NewOrderedMap(len(fields))
1163	for i, field := range fields {
1164		out.Keys[i] = field.Alias
1165
1166		switch field.Name {
1167		case "__typename":
1168			out.Values[i] = graphql.MarshalString("Mutation")
1169		case "newBug":
1170			out.Values[i] = ec._Mutation_newBug(ctx, field)
1171		case "addComment":
1172			out.Values[i] = ec._Mutation_addComment(ctx, field)
1173		case "changeLabels":
1174			out.Values[i] = ec._Mutation_changeLabels(ctx, field)
1175		case "open":
1176			out.Values[i] = ec._Mutation_open(ctx, field)
1177		case "close":
1178			out.Values[i] = ec._Mutation_close(ctx, field)
1179		case "setTitle":
1180			out.Values[i] = ec._Mutation_setTitle(ctx, field)
1181		case "commit":
1182			out.Values[i] = ec._Mutation_commit(ctx, field)
1183		default:
1184			panic("unknown field " + strconv.Quote(field.Name))
1185		}
1186	}
1187
1188	return out
1189}
1190
1191func (ec *executionContext) _Mutation_newBug(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
1192	args := map[string]interface{}{}
1193	var arg0 *string
1194	if tmp, ok := field.Args["repoRef"]; ok {
1195		var err error
1196		var ptr1 string
1197		if tmp != nil {
1198			ptr1, err = graphql.UnmarshalString(tmp)
1199			arg0 = &ptr1
1200		}
1201
1202		if err != nil {
1203			ec.Error(ctx, err)
1204			return graphql.Null
1205		}
1206	}
1207	args["repoRef"] = arg0
1208	var arg1 string
1209	if tmp, ok := field.Args["title"]; ok {
1210		var err error
1211		arg1, err = graphql.UnmarshalString(tmp)
1212		if err != nil {
1213			ec.Error(ctx, err)
1214			return graphql.Null
1215		}
1216	}
1217	args["title"] = arg1
1218	var arg2 string
1219	if tmp, ok := field.Args["message"]; ok {
1220		var err error
1221		arg2, err = graphql.UnmarshalString(tmp)
1222		if err != nil {
1223			ec.Error(ctx, err)
1224			return graphql.Null
1225		}
1226	}
1227	args["message"] = arg2
1228	rctx := graphql.GetResolverContext(ctx)
1229	rctx.Object = "Mutation"
1230	rctx.Args = args
1231	rctx.Field = field
1232	rctx.PushField(field.Alias)
1233	defer rctx.Pop()
1234	resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
1235		return ec.resolvers.Mutation_newBug(ctx, args["repoRef"].(*string), args["title"].(string), args["message"].(string))
1236	})
1237	if err != nil {
1238		ec.Error(ctx, err)
1239		return graphql.Null
1240	}
1241	if resTmp == nil {
1242		return graphql.Null
1243	}
1244	res := resTmp.(bug.Snapshot)
1245	return ec._Bug(ctx, field.Selections, &res)
1246}
1247
1248func (ec *executionContext) _Mutation_addComment(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
1249	args := map[string]interface{}{}
1250	var arg0 *string
1251	if tmp, ok := field.Args["repoRef"]; ok {
1252		var err error
1253		var ptr1 string
1254		if tmp != nil {
1255			ptr1, err = graphql.UnmarshalString(tmp)
1256			arg0 = &ptr1
1257		}
1258
1259		if err != nil {
1260			ec.Error(ctx, err)
1261			return graphql.Null
1262		}
1263	}
1264	args["repoRef"] = arg0
1265	var arg1 string
1266	if tmp, ok := field.Args["prefix"]; ok {
1267		var err error
1268		arg1, err = graphql.UnmarshalString(tmp)
1269		if err != nil {
1270			ec.Error(ctx, err)
1271			return graphql.Null
1272		}
1273	}
1274	args["prefix"] = arg1
1275	var arg2 string
1276	if tmp, ok := field.Args["message"]; ok {
1277		var err error
1278		arg2, err = graphql.UnmarshalString(tmp)
1279		if err != nil {
1280			ec.Error(ctx, err)
1281			return graphql.Null
1282		}
1283	}
1284	args["message"] = arg2
1285	rctx := graphql.GetResolverContext(ctx)
1286	rctx.Object = "Mutation"
1287	rctx.Args = args
1288	rctx.Field = field
1289	rctx.PushField(field.Alias)
1290	defer rctx.Pop()
1291	resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
1292		return ec.resolvers.Mutation_addComment(ctx, args["repoRef"].(*string), args["prefix"].(string), args["message"].(string))
1293	})
1294	if err != nil {
1295		ec.Error(ctx, err)
1296		return graphql.Null
1297	}
1298	if resTmp == nil {
1299		return graphql.Null
1300	}
1301	res := resTmp.(bug.Snapshot)
1302	return ec._Bug(ctx, field.Selections, &res)
1303}
1304
1305func (ec *executionContext) _Mutation_changeLabels(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
1306	args := map[string]interface{}{}
1307	var arg0 *string
1308	if tmp, ok := field.Args["repoRef"]; ok {
1309		var err error
1310		var ptr1 string
1311		if tmp != nil {
1312			ptr1, err = graphql.UnmarshalString(tmp)
1313			arg0 = &ptr1
1314		}
1315
1316		if err != nil {
1317			ec.Error(ctx, err)
1318			return graphql.Null
1319		}
1320	}
1321	args["repoRef"] = arg0
1322	var arg1 string
1323	if tmp, ok := field.Args["prefix"]; ok {
1324		var err error
1325		arg1, err = graphql.UnmarshalString(tmp)
1326		if err != nil {
1327			ec.Error(ctx, err)
1328			return graphql.Null
1329		}
1330	}
1331	args["prefix"] = arg1
1332	var arg2 []string
1333	if tmp, ok := field.Args["added"]; ok {
1334		var err error
1335		var rawIf1 []interface{}
1336		if tmp != nil {
1337			if tmp1, ok := tmp.([]interface{}); ok {
1338				rawIf1 = tmp1
1339			}
1340		}
1341		arg2 = make([]string, len(rawIf1))
1342		for idx1 := range rawIf1 {
1343			arg2[idx1], err = graphql.UnmarshalString(rawIf1[idx1])
1344		}
1345		if err != nil {
1346			ec.Error(ctx, err)
1347			return graphql.Null
1348		}
1349	}
1350	args["added"] = arg2
1351	var arg3 []string
1352	if tmp, ok := field.Args["removed"]; ok {
1353		var err error
1354		var rawIf1 []interface{}
1355		if tmp != nil {
1356			if tmp1, ok := tmp.([]interface{}); ok {
1357				rawIf1 = tmp1
1358			}
1359		}
1360		arg3 = make([]string, len(rawIf1))
1361		for idx1 := range rawIf1 {
1362			arg3[idx1], err = graphql.UnmarshalString(rawIf1[idx1])
1363		}
1364		if err != nil {
1365			ec.Error(ctx, err)
1366			return graphql.Null
1367		}
1368	}
1369	args["removed"] = arg3
1370	rctx := graphql.GetResolverContext(ctx)
1371	rctx.Object = "Mutation"
1372	rctx.Args = args
1373	rctx.Field = field
1374	rctx.PushField(field.Alias)
1375	defer rctx.Pop()
1376	resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
1377		return ec.resolvers.Mutation_changeLabels(ctx, args["repoRef"].(*string), args["prefix"].(string), args["added"].([]string), args["removed"].([]string))
1378	})
1379	if err != nil {
1380		ec.Error(ctx, err)
1381		return graphql.Null
1382	}
1383	if resTmp == nil {
1384		return graphql.Null
1385	}
1386	res := resTmp.(bug.Snapshot)
1387	return ec._Bug(ctx, field.Selections, &res)
1388}
1389
1390func (ec *executionContext) _Mutation_open(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
1391	args := map[string]interface{}{}
1392	var arg0 *string
1393	if tmp, ok := field.Args["repoRef"]; ok {
1394		var err error
1395		var ptr1 string
1396		if tmp != nil {
1397			ptr1, err = graphql.UnmarshalString(tmp)
1398			arg0 = &ptr1
1399		}
1400
1401		if err != nil {
1402			ec.Error(ctx, err)
1403			return graphql.Null
1404		}
1405	}
1406	args["repoRef"] = arg0
1407	var arg1 string
1408	if tmp, ok := field.Args["prefix"]; ok {
1409		var err error
1410		arg1, err = graphql.UnmarshalString(tmp)
1411		if err != nil {
1412			ec.Error(ctx, err)
1413			return graphql.Null
1414		}
1415	}
1416	args["prefix"] = arg1
1417	rctx := graphql.GetResolverContext(ctx)
1418	rctx.Object = "Mutation"
1419	rctx.Args = args
1420	rctx.Field = field
1421	rctx.PushField(field.Alias)
1422	defer rctx.Pop()
1423	resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
1424		return ec.resolvers.Mutation_open(ctx, args["repoRef"].(*string), args["prefix"].(string))
1425	})
1426	if err != nil {
1427		ec.Error(ctx, err)
1428		return graphql.Null
1429	}
1430	if resTmp == nil {
1431		return graphql.Null
1432	}
1433	res := resTmp.(bug.Snapshot)
1434	return ec._Bug(ctx, field.Selections, &res)
1435}
1436
1437func (ec *executionContext) _Mutation_close(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
1438	args := map[string]interface{}{}
1439	var arg0 *string
1440	if tmp, ok := field.Args["repoRef"]; ok {
1441		var err error
1442		var ptr1 string
1443		if tmp != nil {
1444			ptr1, err = graphql.UnmarshalString(tmp)
1445			arg0 = &ptr1
1446		}
1447
1448		if err != nil {
1449			ec.Error(ctx, err)
1450			return graphql.Null
1451		}
1452	}
1453	args["repoRef"] = arg0
1454	var arg1 string
1455	if tmp, ok := field.Args["prefix"]; ok {
1456		var err error
1457		arg1, err = graphql.UnmarshalString(tmp)
1458		if err != nil {
1459			ec.Error(ctx, err)
1460			return graphql.Null
1461		}
1462	}
1463	args["prefix"] = arg1
1464	rctx := graphql.GetResolverContext(ctx)
1465	rctx.Object = "Mutation"
1466	rctx.Args = args
1467	rctx.Field = field
1468	rctx.PushField(field.Alias)
1469	defer rctx.Pop()
1470	resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
1471		return ec.resolvers.Mutation_close(ctx, args["repoRef"].(*string), args["prefix"].(string))
1472	})
1473	if err != nil {
1474		ec.Error(ctx, err)
1475		return graphql.Null
1476	}
1477	if resTmp == nil {
1478		return graphql.Null
1479	}
1480	res := resTmp.(bug.Snapshot)
1481	return ec._Bug(ctx, field.Selections, &res)
1482}
1483
1484func (ec *executionContext) _Mutation_setTitle(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
1485	args := map[string]interface{}{}
1486	var arg0 *string
1487	if tmp, ok := field.Args["repoRef"]; ok {
1488		var err error
1489		var ptr1 string
1490		if tmp != nil {
1491			ptr1, err = graphql.UnmarshalString(tmp)
1492			arg0 = &ptr1
1493		}
1494
1495		if err != nil {
1496			ec.Error(ctx, err)
1497			return graphql.Null
1498		}
1499	}
1500	args["repoRef"] = arg0
1501	var arg1 string
1502	if tmp, ok := field.Args["prefix"]; ok {
1503		var err error
1504		arg1, err = graphql.UnmarshalString(tmp)
1505		if err != nil {
1506			ec.Error(ctx, err)
1507			return graphql.Null
1508		}
1509	}
1510	args["prefix"] = arg1
1511	var arg2 string
1512	if tmp, ok := field.Args["title"]; ok {
1513		var err error
1514		arg2, err = graphql.UnmarshalString(tmp)
1515		if err != nil {
1516			ec.Error(ctx, err)
1517			return graphql.Null
1518		}
1519	}
1520	args["title"] = arg2
1521	rctx := graphql.GetResolverContext(ctx)
1522	rctx.Object = "Mutation"
1523	rctx.Args = args
1524	rctx.Field = field
1525	rctx.PushField(field.Alias)
1526	defer rctx.Pop()
1527	resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
1528		return ec.resolvers.Mutation_setTitle(ctx, args["repoRef"].(*string), args["prefix"].(string), args["title"].(string))
1529	})
1530	if err != nil {
1531		ec.Error(ctx, err)
1532		return graphql.Null
1533	}
1534	if resTmp == nil {
1535		return graphql.Null
1536	}
1537	res := resTmp.(bug.Snapshot)
1538	return ec._Bug(ctx, field.Selections, &res)
1539}
1540
1541func (ec *executionContext) _Mutation_commit(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
1542	args := map[string]interface{}{}
1543	var arg0 *string
1544	if tmp, ok := field.Args["repoRef"]; ok {
1545		var err error
1546		var ptr1 string
1547		if tmp != nil {
1548			ptr1, err = graphql.UnmarshalString(tmp)
1549			arg0 = &ptr1
1550		}
1551
1552		if err != nil {
1553			ec.Error(ctx, err)
1554			return graphql.Null
1555		}
1556	}
1557	args["repoRef"] = arg0
1558	var arg1 string
1559	if tmp, ok := field.Args["prefix"]; ok {
1560		var err error
1561		arg1, err = graphql.UnmarshalString(tmp)
1562		if err != nil {
1563			ec.Error(ctx, err)
1564			return graphql.Null
1565		}
1566	}
1567	args["prefix"] = arg1
1568	rctx := graphql.GetResolverContext(ctx)
1569	rctx.Object = "Mutation"
1570	rctx.Args = args
1571	rctx.Field = field
1572	rctx.PushField(field.Alias)
1573	defer rctx.Pop()
1574	resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
1575		return ec.resolvers.Mutation_commit(ctx, args["repoRef"].(*string), args["prefix"].(string))
1576	})
1577	if err != nil {
1578		ec.Error(ctx, err)
1579		return graphql.Null
1580	}
1581	if resTmp == nil {
1582		return graphql.Null
1583	}
1584	res := resTmp.(bug.Snapshot)
1585	return ec._Bug(ctx, field.Selections, &res)
1586}
1587
1588var operationConnectionImplementors = []string{"OperationConnection"}
1589
1590// nolint: gocyclo, errcheck, gas, goconst
1591func (ec *executionContext) _OperationConnection(ctx context.Context, sel []query.Selection, obj *models.OperationConnection) graphql.Marshaler {
1592	fields := graphql.CollectFields(ec.Doc, sel, operationConnectionImplementors, ec.Variables)
1593
1594	out := graphql.NewOrderedMap(len(fields))
1595	for i, field := range fields {
1596		out.Keys[i] = field.Alias
1597
1598		switch field.Name {
1599		case "__typename":
1600			out.Values[i] = graphql.MarshalString("OperationConnection")
1601		case "edges":
1602			out.Values[i] = ec._OperationConnection_edges(ctx, field, obj)
1603		case "nodes":
1604			out.Values[i] = ec._OperationConnection_nodes(ctx, field, obj)
1605		case "pageInfo":
1606			out.Values[i] = ec._OperationConnection_pageInfo(ctx, field, obj)
1607		case "totalCount":
1608			out.Values[i] = ec._OperationConnection_totalCount(ctx, field, obj)
1609		default:
1610			panic("unknown field " + strconv.Quote(field.Name))
1611		}
1612	}
1613
1614	return out
1615}
1616
1617func (ec *executionContext) _OperationConnection_edges(ctx context.Context, field graphql.CollectedField, obj *models.OperationConnection) graphql.Marshaler {
1618	rctx := graphql.GetResolverContext(ctx)
1619	rctx.Object = "OperationConnection"
1620	rctx.Args = nil
1621	rctx.Field = field
1622	rctx.PushField(field.Alias)
1623	defer rctx.Pop()
1624	res := obj.Edges
1625	arr1 := graphql.Array{}
1626	for idx1 := range res {
1627		arr1 = append(arr1, func() graphql.Marshaler {
1628			rctx := graphql.GetResolverContext(ctx)
1629			rctx.PushIndex(idx1)
1630			defer rctx.Pop()
1631			return ec._OperationEdge(ctx, field.Selections, &res[idx1])
1632		}())
1633	}
1634	return arr1
1635}
1636
1637func (ec *executionContext) _OperationConnection_nodes(ctx context.Context, field graphql.CollectedField, obj *models.OperationConnection) graphql.Marshaler {
1638	rctx := graphql.GetResolverContext(ctx)
1639	rctx.Object = "OperationConnection"
1640	rctx.Args = nil
1641	rctx.Field = field
1642	rctx.PushField(field.Alias)
1643	defer rctx.Pop()
1644	res := obj.Nodes
1645	arr1 := graphql.Array{}
1646	for idx1 := range res {
1647		arr1 = append(arr1, func() graphql.Marshaler {
1648			rctx := graphql.GetResolverContext(ctx)
1649			rctx.PushIndex(idx1)
1650			defer rctx.Pop()
1651			return ec._Operation(ctx, field.Selections, &res[idx1])
1652		}())
1653	}
1654	return arr1
1655}
1656
1657func (ec *executionContext) _OperationConnection_pageInfo(ctx context.Context, field graphql.CollectedField, obj *models.OperationConnection) graphql.Marshaler {
1658	rctx := graphql.GetResolverContext(ctx)
1659	rctx.Object = "OperationConnection"
1660	rctx.Args = nil
1661	rctx.Field = field
1662	rctx.PushField(field.Alias)
1663	defer rctx.Pop()
1664	res := obj.PageInfo
1665	return ec._PageInfo(ctx, field.Selections, &res)
1666}
1667
1668func (ec *executionContext) _OperationConnection_totalCount(ctx context.Context, field graphql.CollectedField, obj *models.OperationConnection) graphql.Marshaler {
1669	rctx := graphql.GetResolverContext(ctx)
1670	rctx.Object = "OperationConnection"
1671	rctx.Args = nil
1672	rctx.Field = field
1673	rctx.PushField(field.Alias)
1674	defer rctx.Pop()
1675	res := obj.TotalCount
1676	return graphql.MarshalInt(res)
1677}
1678
1679var operationEdgeImplementors = []string{"OperationEdge"}
1680
1681// nolint: gocyclo, errcheck, gas, goconst
1682func (ec *executionContext) _OperationEdge(ctx context.Context, sel []query.Selection, obj *models.OperationEdge) graphql.Marshaler {
1683	fields := graphql.CollectFields(ec.Doc, sel, operationEdgeImplementors, ec.Variables)
1684
1685	out := graphql.NewOrderedMap(len(fields))
1686	for i, field := range fields {
1687		out.Keys[i] = field.Alias
1688
1689		switch field.Name {
1690		case "__typename":
1691			out.Values[i] = graphql.MarshalString("OperationEdge")
1692		case "cursor":
1693			out.Values[i] = ec._OperationEdge_cursor(ctx, field, obj)
1694		case "node":
1695			out.Values[i] = ec._OperationEdge_node(ctx, field, obj)
1696		default:
1697			panic("unknown field " + strconv.Quote(field.Name))
1698		}
1699	}
1700
1701	return out
1702}
1703
1704func (ec *executionContext) _OperationEdge_cursor(ctx context.Context, field graphql.CollectedField, obj *models.OperationEdge) graphql.Marshaler {
1705	rctx := graphql.GetResolverContext(ctx)
1706	rctx.Object = "OperationEdge"
1707	rctx.Args = nil
1708	rctx.Field = field
1709	rctx.PushField(field.Alias)
1710	defer rctx.Pop()
1711	res := obj.Cursor
1712	return graphql.MarshalString(res)
1713}
1714
1715func (ec *executionContext) _OperationEdge_node(ctx context.Context, field graphql.CollectedField, obj *models.OperationEdge) graphql.Marshaler {
1716	rctx := graphql.GetResolverContext(ctx)
1717	rctx.Object = "OperationEdge"
1718	rctx.Args = nil
1719	rctx.Field = field
1720	rctx.PushField(field.Alias)
1721	defer rctx.Pop()
1722	res := obj.Node
1723	return ec._Operation(ctx, field.Selections, &res)
1724}
1725
1726var pageInfoImplementors = []string{"PageInfo"}
1727
1728// nolint: gocyclo, errcheck, gas, goconst
1729func (ec *executionContext) _PageInfo(ctx context.Context, sel []query.Selection, obj *models.PageInfo) graphql.Marshaler {
1730	fields := graphql.CollectFields(ec.Doc, sel, pageInfoImplementors, ec.Variables)
1731
1732	out := graphql.NewOrderedMap(len(fields))
1733	for i, field := range fields {
1734		out.Keys[i] = field.Alias
1735
1736		switch field.Name {
1737		case "__typename":
1738			out.Values[i] = graphql.MarshalString("PageInfo")
1739		case "hasNextPage":
1740			out.Values[i] = ec._PageInfo_hasNextPage(ctx, field, obj)
1741		case "hasPreviousPage":
1742			out.Values[i] = ec._PageInfo_hasPreviousPage(ctx, field, obj)
1743		default:
1744			panic("unknown field " + strconv.Quote(field.Name))
1745		}
1746	}
1747
1748	return out
1749}
1750
1751func (ec *executionContext) _PageInfo_hasNextPage(ctx context.Context, field graphql.CollectedField, obj *models.PageInfo) graphql.Marshaler {
1752	rctx := graphql.GetResolverContext(ctx)
1753	rctx.Object = "PageInfo"
1754	rctx.Args = nil
1755	rctx.Field = field
1756	rctx.PushField(field.Alias)
1757	defer rctx.Pop()
1758	res := obj.HasNextPage
1759	return graphql.MarshalBoolean(res)
1760}
1761
1762func (ec *executionContext) _PageInfo_hasPreviousPage(ctx context.Context, field graphql.CollectedField, obj *models.PageInfo) graphql.Marshaler {
1763	rctx := graphql.GetResolverContext(ctx)
1764	rctx.Object = "PageInfo"
1765	rctx.Args = nil
1766	rctx.Field = field
1767	rctx.PushField(field.Alias)
1768	defer rctx.Pop()
1769	res := obj.HasPreviousPage
1770	return graphql.MarshalBoolean(res)
1771}
1772
1773var personImplementors = []string{"Person"}
1774
1775// nolint: gocyclo, errcheck, gas, goconst
1776func (ec *executionContext) _Person(ctx context.Context, sel []query.Selection, obj *bug.Person) graphql.Marshaler {
1777	fields := graphql.CollectFields(ec.Doc, sel, personImplementors, ec.Variables)
1778
1779	out := graphql.NewOrderedMap(len(fields))
1780	for i, field := range fields {
1781		out.Keys[i] = field.Alias
1782
1783		switch field.Name {
1784		case "__typename":
1785			out.Values[i] = graphql.MarshalString("Person")
1786		case "email":
1787			out.Values[i] = ec._Person_email(ctx, field, obj)
1788		case "name":
1789			out.Values[i] = ec._Person_name(ctx, field, obj)
1790		default:
1791			panic("unknown field " + strconv.Quote(field.Name))
1792		}
1793	}
1794
1795	return out
1796}
1797
1798func (ec *executionContext) _Person_email(ctx context.Context, field graphql.CollectedField, obj *bug.Person) graphql.Marshaler {
1799	rctx := graphql.GetResolverContext(ctx)
1800	rctx.Object = "Person"
1801	rctx.Args = nil
1802	rctx.Field = field
1803	rctx.PushField(field.Alias)
1804	defer rctx.Pop()
1805	res := obj.Email
1806	return graphql.MarshalString(res)
1807}
1808
1809func (ec *executionContext) _Person_name(ctx context.Context, field graphql.CollectedField, obj *bug.Person) graphql.Marshaler {
1810	rctx := graphql.GetResolverContext(ctx)
1811	rctx.Object = "Person"
1812	rctx.Args = nil
1813	rctx.Field = field
1814	rctx.PushField(field.Alias)
1815	defer rctx.Pop()
1816	res := obj.Name
1817	return graphql.MarshalString(res)
1818}
1819
1820var queryImplementors = []string{"Query"}
1821
1822// nolint: gocyclo, errcheck, gas, goconst
1823func (ec *executionContext) _Query(ctx context.Context, sel []query.Selection) graphql.Marshaler {
1824	fields := graphql.CollectFields(ec.Doc, sel, queryImplementors, ec.Variables)
1825
1826	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
1827		Object: "Query",
1828	})
1829
1830	out := graphql.NewOrderedMap(len(fields))
1831	for i, field := range fields {
1832		out.Keys[i] = field.Alias
1833
1834		switch field.Name {
1835		case "__typename":
1836			out.Values[i] = graphql.MarshalString("Query")
1837		case "defaultRepository":
1838			out.Values[i] = ec._Query_defaultRepository(ctx, field)
1839		case "repository":
1840			out.Values[i] = ec._Query_repository(ctx, field)
1841		case "__schema":
1842			out.Values[i] = ec._Query___schema(ctx, field)
1843		case "__type":
1844			out.Values[i] = ec._Query___type(ctx, field)
1845		default:
1846			panic("unknown field " + strconv.Quote(field.Name))
1847		}
1848	}
1849
1850	return out
1851}
1852
1853func (ec *executionContext) _Query_defaultRepository(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
1854	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
1855		Object: "Query",
1856		Args:   nil,
1857		Field:  field,
1858	})
1859	return graphql.Defer(func() (ret graphql.Marshaler) {
1860		defer func() {
1861			if r := recover(); r != nil {
1862				userErr := ec.Recover(ctx, r)
1863				ec.Error(ctx, userErr)
1864				ret = graphql.Null
1865			}
1866		}()
1867
1868		resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
1869			return ec.resolvers.Query_defaultRepository(ctx)
1870		})
1871		if err != nil {
1872			ec.Error(ctx, err)
1873			return graphql.Null
1874		}
1875		if resTmp == nil {
1876			return graphql.Null
1877		}
1878		res := resTmp.(*models.Repository)
1879		if res == nil {
1880			return graphql.Null
1881		}
1882		return ec._Repository(ctx, field.Selections, res)
1883	})
1884}
1885
1886func (ec *executionContext) _Query_repository(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
1887	args := map[string]interface{}{}
1888	var arg0 string
1889	if tmp, ok := field.Args["id"]; ok {
1890		var err error
1891		arg0, err = graphql.UnmarshalString(tmp)
1892		if err != nil {
1893			ec.Error(ctx, err)
1894			return graphql.Null
1895		}
1896	}
1897	args["id"] = arg0
1898	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
1899		Object: "Query",
1900		Args:   args,
1901		Field:  field,
1902	})
1903	return graphql.Defer(func() (ret graphql.Marshaler) {
1904		defer func() {
1905			if r := recover(); r != nil {
1906				userErr := ec.Recover(ctx, r)
1907				ec.Error(ctx, userErr)
1908				ret = graphql.Null
1909			}
1910		}()
1911
1912		resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
1913			return ec.resolvers.Query_repository(ctx, args["id"].(string))
1914		})
1915		if err != nil {
1916			ec.Error(ctx, err)
1917			return graphql.Null
1918		}
1919		if resTmp == nil {
1920			return graphql.Null
1921		}
1922		res := resTmp.(*models.Repository)
1923		if res == nil {
1924			return graphql.Null
1925		}
1926		return ec._Repository(ctx, field.Selections, res)
1927	})
1928}
1929
1930func (ec *executionContext) _Query___schema(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
1931	rctx := graphql.GetResolverContext(ctx)
1932	rctx.Object = "Query"
1933	rctx.Args = nil
1934	rctx.Field = field
1935	rctx.PushField(field.Alias)
1936	defer rctx.Pop()
1937	res := ec.introspectSchema()
1938	if res == nil {
1939		return graphql.Null
1940	}
1941	return ec.___Schema(ctx, field.Selections, res)
1942}
1943
1944func (ec *executionContext) _Query___type(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
1945	args := map[string]interface{}{}
1946	var arg0 string
1947	if tmp, ok := field.Args["name"]; ok {
1948		var err error
1949		arg0, err = graphql.UnmarshalString(tmp)
1950		if err != nil {
1951			ec.Error(ctx, err)
1952			return graphql.Null
1953		}
1954	}
1955	args["name"] = arg0
1956	rctx := graphql.GetResolverContext(ctx)
1957	rctx.Object = "Query"
1958	rctx.Args = args
1959	rctx.Field = field
1960	rctx.PushField(field.Alias)
1961	defer rctx.Pop()
1962	res := ec.introspectType(args["name"].(string))
1963	if res == nil {
1964		return graphql.Null
1965	}
1966	return ec.___Type(ctx, field.Selections, res)
1967}
1968
1969var repositoryImplementors = []string{"Repository"}
1970
1971// nolint: gocyclo, errcheck, gas, goconst
1972func (ec *executionContext) _Repository(ctx context.Context, sel []query.Selection, obj *models.Repository) graphql.Marshaler {
1973	fields := graphql.CollectFields(ec.Doc, sel, repositoryImplementors, ec.Variables)
1974
1975	out := graphql.NewOrderedMap(len(fields))
1976	for i, field := range fields {
1977		out.Keys[i] = field.Alias
1978
1979		switch field.Name {
1980		case "__typename":
1981			out.Values[i] = graphql.MarshalString("Repository")
1982		case "allBugs":
1983			out.Values[i] = ec._Repository_allBugs(ctx, field, obj)
1984		case "bug":
1985			out.Values[i] = ec._Repository_bug(ctx, field, obj)
1986		default:
1987			panic("unknown field " + strconv.Quote(field.Name))
1988		}
1989	}
1990
1991	return out
1992}
1993
1994func (ec *executionContext) _Repository_allBugs(ctx context.Context, field graphql.CollectedField, obj *models.Repository) graphql.Marshaler {
1995	args := map[string]interface{}{}
1996	var arg0 *string
1997	if tmp, ok := field.Args["after"]; ok {
1998		var err error
1999		var ptr1 string
2000		if tmp != nil {
2001			ptr1, err = graphql.UnmarshalString(tmp)
2002			arg0 = &ptr1
2003		}
2004
2005		if err != nil {
2006			ec.Error(ctx, err)
2007			return graphql.Null
2008		}
2009	}
2010	args["after"] = arg0
2011	var arg1 *string
2012	if tmp, ok := field.Args["before"]; ok {
2013		var err error
2014		var ptr1 string
2015		if tmp != nil {
2016			ptr1, err = graphql.UnmarshalString(tmp)
2017			arg1 = &ptr1
2018		}
2019
2020		if err != nil {
2021			ec.Error(ctx, err)
2022			return graphql.Null
2023		}
2024	}
2025	args["before"] = arg1
2026	var arg2 *int
2027	if tmp, ok := field.Args["first"]; ok {
2028		var err error
2029		var ptr1 int
2030		if tmp != nil {
2031			ptr1, err = graphql.UnmarshalInt(tmp)
2032			arg2 = &ptr1
2033		}
2034
2035		if err != nil {
2036			ec.Error(ctx, err)
2037			return graphql.Null
2038		}
2039	}
2040	args["first"] = arg2
2041	var arg3 *int
2042	if tmp, ok := field.Args["last"]; ok {
2043		var err error
2044		var ptr1 int
2045		if tmp != nil {
2046			ptr1, err = graphql.UnmarshalInt(tmp)
2047			arg3 = &ptr1
2048		}
2049
2050		if err != nil {
2051			ec.Error(ctx, err)
2052			return graphql.Null
2053		}
2054	}
2055	args["last"] = arg3
2056	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
2057		Object: "Repository",
2058		Args:   args,
2059		Field:  field,
2060	})
2061	return graphql.Defer(func() (ret graphql.Marshaler) {
2062		defer func() {
2063			if r := recover(); r != nil {
2064				userErr := ec.Recover(ctx, r)
2065				ec.Error(ctx, userErr)
2066				ret = graphql.Null
2067			}
2068		}()
2069
2070		resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
2071			return ec.resolvers.Repository_allBugs(ctx, obj, args["after"].(*string), args["before"].(*string), args["first"].(*int), args["last"].(*int))
2072		})
2073		if err != nil {
2074			ec.Error(ctx, err)
2075			return graphql.Null
2076		}
2077		if resTmp == nil {
2078			return graphql.Null
2079		}
2080		res := resTmp.(models.BugConnection)
2081		return ec._BugConnection(ctx, field.Selections, &res)
2082	})
2083}
2084
2085func (ec *executionContext) _Repository_bug(ctx context.Context, field graphql.CollectedField, obj *models.Repository) graphql.Marshaler {
2086	args := map[string]interface{}{}
2087	var arg0 string
2088	if tmp, ok := field.Args["prefix"]; ok {
2089		var err error
2090		arg0, err = graphql.UnmarshalString(tmp)
2091		if err != nil {
2092			ec.Error(ctx, err)
2093			return graphql.Null
2094		}
2095	}
2096	args["prefix"] = arg0
2097	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
2098		Object: "Repository",
2099		Args:   args,
2100		Field:  field,
2101	})
2102	return graphql.Defer(func() (ret graphql.Marshaler) {
2103		defer func() {
2104			if r := recover(); r != nil {
2105				userErr := ec.Recover(ctx, r)
2106				ec.Error(ctx, userErr)
2107				ret = graphql.Null
2108			}
2109		}()
2110
2111		resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
2112			return ec.resolvers.Repository_bug(ctx, obj, args["prefix"].(string))
2113		})
2114		if err != nil {
2115			ec.Error(ctx, err)
2116			return graphql.Null
2117		}
2118		if resTmp == nil {
2119			return graphql.Null
2120		}
2121		res := resTmp.(*bug.Snapshot)
2122		if res == nil {
2123			return graphql.Null
2124		}
2125		return ec._Bug(ctx, field.Selections, res)
2126	})
2127}
2128
2129var setStatusOperationImplementors = []string{"SetStatusOperation", "Operation", "Authored"}
2130
2131// nolint: gocyclo, errcheck, gas, goconst
2132func (ec *executionContext) _SetStatusOperation(ctx context.Context, sel []query.Selection, obj *operations.SetStatusOperation) graphql.Marshaler {
2133	fields := graphql.CollectFields(ec.Doc, sel, setStatusOperationImplementors, ec.Variables)
2134
2135	out := graphql.NewOrderedMap(len(fields))
2136	for i, field := range fields {
2137		out.Keys[i] = field.Alias
2138
2139		switch field.Name {
2140		case "__typename":
2141			out.Values[i] = graphql.MarshalString("SetStatusOperation")
2142		case "author":
2143			out.Values[i] = ec._SetStatusOperation_author(ctx, field, obj)
2144		case "date":
2145			out.Values[i] = ec._SetStatusOperation_date(ctx, field, obj)
2146		case "status":
2147			out.Values[i] = ec._SetStatusOperation_status(ctx, field, obj)
2148		default:
2149			panic("unknown field " + strconv.Quote(field.Name))
2150		}
2151	}
2152
2153	return out
2154}
2155
2156func (ec *executionContext) _SetStatusOperation_author(ctx context.Context, field graphql.CollectedField, obj *operations.SetStatusOperation) graphql.Marshaler {
2157	rctx := graphql.GetResolverContext(ctx)
2158	rctx.Object = "SetStatusOperation"
2159	rctx.Args = nil
2160	rctx.Field = field
2161	rctx.PushField(field.Alias)
2162	defer rctx.Pop()
2163	res := obj.Author
2164	return ec._Person(ctx, field.Selections, &res)
2165}
2166
2167func (ec *executionContext) _SetStatusOperation_date(ctx context.Context, field graphql.CollectedField, obj *operations.SetStatusOperation) graphql.Marshaler {
2168	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
2169		Object: "SetStatusOperation",
2170		Args:   nil,
2171		Field:  field,
2172	})
2173	return graphql.Defer(func() (ret graphql.Marshaler) {
2174		defer func() {
2175			if r := recover(); r != nil {
2176				userErr := ec.Recover(ctx, r)
2177				ec.Error(ctx, userErr)
2178				ret = graphql.Null
2179			}
2180		}()
2181
2182		resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
2183			return ec.resolvers.SetStatusOperation_date(ctx, obj)
2184		})
2185		if err != nil {
2186			ec.Error(ctx, err)
2187			return graphql.Null
2188		}
2189		if resTmp == nil {
2190			return graphql.Null
2191		}
2192		res := resTmp.(time.Time)
2193		return graphql.MarshalTime(res)
2194	})
2195}
2196
2197func (ec *executionContext) _SetStatusOperation_status(ctx context.Context, field graphql.CollectedField, obj *operations.SetStatusOperation) graphql.Marshaler {
2198	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
2199		Object: "SetStatusOperation",
2200		Args:   nil,
2201		Field:  field,
2202	})
2203	return graphql.Defer(func() (ret graphql.Marshaler) {
2204		defer func() {
2205			if r := recover(); r != nil {
2206				userErr := ec.Recover(ctx, r)
2207				ec.Error(ctx, userErr)
2208				ret = graphql.Null
2209			}
2210		}()
2211
2212		resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
2213			return ec.resolvers.SetStatusOperation_status(ctx, obj)
2214		})
2215		if err != nil {
2216			ec.Error(ctx, err)
2217			return graphql.Null
2218		}
2219		if resTmp == nil {
2220			return graphql.Null
2221		}
2222		res := resTmp.(models.Status)
2223		return res
2224	})
2225}
2226
2227var setTitleOperationImplementors = []string{"SetTitleOperation", "Operation", "Authored"}
2228
2229// nolint: gocyclo, errcheck, gas, goconst
2230func (ec *executionContext) _SetTitleOperation(ctx context.Context, sel []query.Selection, obj *operations.SetTitleOperation) graphql.Marshaler {
2231	fields := graphql.CollectFields(ec.Doc, sel, setTitleOperationImplementors, ec.Variables)
2232
2233	out := graphql.NewOrderedMap(len(fields))
2234	for i, field := range fields {
2235		out.Keys[i] = field.Alias
2236
2237		switch field.Name {
2238		case "__typename":
2239			out.Values[i] = graphql.MarshalString("SetTitleOperation")
2240		case "author":
2241			out.Values[i] = ec._SetTitleOperation_author(ctx, field, obj)
2242		case "date":
2243			out.Values[i] = ec._SetTitleOperation_date(ctx, field, obj)
2244		case "title":
2245			out.Values[i] = ec._SetTitleOperation_title(ctx, field, obj)
2246		default:
2247			panic("unknown field " + strconv.Quote(field.Name))
2248		}
2249	}
2250
2251	return out
2252}
2253
2254func (ec *executionContext) _SetTitleOperation_author(ctx context.Context, field graphql.CollectedField, obj *operations.SetTitleOperation) graphql.Marshaler {
2255	rctx := graphql.GetResolverContext(ctx)
2256	rctx.Object = "SetTitleOperation"
2257	rctx.Args = nil
2258	rctx.Field = field
2259	rctx.PushField(field.Alias)
2260	defer rctx.Pop()
2261	res := obj.Author
2262	return ec._Person(ctx, field.Selections, &res)
2263}
2264
2265func (ec *executionContext) _SetTitleOperation_date(ctx context.Context, field graphql.CollectedField, obj *operations.SetTitleOperation) graphql.Marshaler {
2266	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
2267		Object: "SetTitleOperation",
2268		Args:   nil,
2269		Field:  field,
2270	})
2271	return graphql.Defer(func() (ret graphql.Marshaler) {
2272		defer func() {
2273			if r := recover(); r != nil {
2274				userErr := ec.Recover(ctx, r)
2275				ec.Error(ctx, userErr)
2276				ret = graphql.Null
2277			}
2278		}()
2279
2280		resTmp, err := ec.ResolverMiddleware(ctx, func(ctx context.Context) (interface{}, error) {
2281			return ec.resolvers.SetTitleOperation_date(ctx, obj)
2282		})
2283		if err != nil {
2284			ec.Error(ctx, err)
2285			return graphql.Null
2286		}
2287		if resTmp == nil {
2288			return graphql.Null
2289		}
2290		res := resTmp.(time.Time)
2291		return graphql.MarshalTime(res)
2292	})
2293}
2294
2295func (ec *executionContext) _SetTitleOperation_title(ctx context.Context, field graphql.CollectedField, obj *operations.SetTitleOperation) graphql.Marshaler {
2296	rctx := graphql.GetResolverContext(ctx)
2297	rctx.Object = "SetTitleOperation"
2298	rctx.Args = nil
2299	rctx.Field = field
2300	rctx.PushField(field.Alias)
2301	defer rctx.Pop()
2302	res := obj.Title
2303	return graphql.MarshalString(res)
2304}
2305
2306var __DirectiveImplementors = []string{"__Directive"}
2307
2308// nolint: gocyclo, errcheck, gas, goconst
2309func (ec *executionContext) ___Directive(ctx context.Context, sel []query.Selection, obj *introspection.Directive) graphql.Marshaler {
2310	fields := graphql.CollectFields(ec.Doc, sel, __DirectiveImplementors, ec.Variables)
2311
2312	out := graphql.NewOrderedMap(len(fields))
2313	for i, field := range fields {
2314		out.Keys[i] = field.Alias
2315
2316		switch field.Name {
2317		case "__typename":
2318			out.Values[i] = graphql.MarshalString("__Directive")
2319		case "name":
2320			out.Values[i] = ec.___Directive_name(ctx, field, obj)
2321		case "description":
2322			out.Values[i] = ec.___Directive_description(ctx, field, obj)
2323		case "locations":
2324			out.Values[i] = ec.___Directive_locations(ctx, field, obj)
2325		case "args":
2326			out.Values[i] = ec.___Directive_args(ctx, field, obj)
2327		default:
2328			panic("unknown field " + strconv.Quote(field.Name))
2329		}
2330	}
2331
2332	return out
2333}
2334
2335func (ec *executionContext) ___Directive_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) graphql.Marshaler {
2336	rctx := graphql.GetResolverContext(ctx)
2337	rctx.Object = "__Directive"
2338	rctx.Args = nil
2339	rctx.Field = field
2340	rctx.PushField(field.Alias)
2341	defer rctx.Pop()
2342	res := obj.Name()
2343	return graphql.MarshalString(res)
2344}
2345
2346func (ec *executionContext) ___Directive_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) graphql.Marshaler {
2347	rctx := graphql.GetResolverContext(ctx)
2348	rctx.Object = "__Directive"
2349	rctx.Args = nil
2350	rctx.Field = field
2351	rctx.PushField(field.Alias)
2352	defer rctx.Pop()
2353	res := obj.Description()
2354	if res == nil {
2355		return graphql.Null
2356	}
2357	return graphql.MarshalString(*res)
2358}
2359
2360func (ec *executionContext) ___Directive_locations(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) graphql.Marshaler {
2361	rctx := graphql.GetResolverContext(ctx)
2362	rctx.Object = "__Directive"
2363	rctx.Args = nil
2364	rctx.Field = field
2365	rctx.PushField(field.Alias)
2366	defer rctx.Pop()
2367	res := obj.Locations()
2368	arr1 := graphql.Array{}
2369	for idx1 := range res {
2370		arr1 = append(arr1, func() graphql.Marshaler {
2371			rctx := graphql.GetResolverContext(ctx)
2372			rctx.PushIndex(idx1)
2373			defer rctx.Pop()
2374			return graphql.MarshalString(res[idx1])
2375		}())
2376	}
2377	return arr1
2378}
2379
2380func (ec *executionContext) ___Directive_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) graphql.Marshaler {
2381	rctx := graphql.GetResolverContext(ctx)
2382	rctx.Object = "__Directive"
2383	rctx.Args = nil
2384	rctx.Field = field
2385	rctx.PushField(field.Alias)
2386	defer rctx.Pop()
2387	res := obj.Args()
2388	arr1 := graphql.Array{}
2389	for idx1 := range res {
2390		arr1 = append(arr1, func() graphql.Marshaler {
2391			rctx := graphql.GetResolverContext(ctx)
2392			rctx.PushIndex(idx1)
2393			defer rctx.Pop()
2394			return ec.___InputValue(ctx, field.Selections, &res[idx1])
2395		}())
2396	}
2397	return arr1
2398}
2399
2400var __EnumValueImplementors = []string{"__EnumValue"}
2401
2402// nolint: gocyclo, errcheck, gas, goconst
2403func (ec *executionContext) ___EnumValue(ctx context.Context, sel []query.Selection, obj *introspection.EnumValue) graphql.Marshaler {
2404	fields := graphql.CollectFields(ec.Doc, sel, __EnumValueImplementors, ec.Variables)
2405
2406	out := graphql.NewOrderedMap(len(fields))
2407	for i, field := range fields {
2408		out.Keys[i] = field.Alias
2409
2410		switch field.Name {
2411		case "__typename":
2412			out.Values[i] = graphql.MarshalString("__EnumValue")
2413		case "name":
2414			out.Values[i] = ec.___EnumValue_name(ctx, field, obj)
2415		case "description":
2416			out.Values[i] = ec.___EnumValue_description(ctx, field, obj)
2417		case "isDeprecated":
2418			out.Values[i] = ec.___EnumValue_isDeprecated(ctx, field, obj)
2419		case "deprecationReason":
2420			out.Values[i] = ec.___EnumValue_deprecationReason(ctx, field, obj)
2421		default:
2422			panic("unknown field " + strconv.Quote(field.Name))
2423		}
2424	}
2425
2426	return out
2427}
2428
2429func (ec *executionContext) ___EnumValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) graphql.Marshaler {
2430	rctx := graphql.GetResolverContext(ctx)
2431	rctx.Object = "__EnumValue"
2432	rctx.Args = nil
2433	rctx.Field = field
2434	rctx.PushField(field.Alias)
2435	defer rctx.Pop()
2436	res := obj.Name()
2437	return graphql.MarshalString(res)
2438}
2439
2440func (ec *executionContext) ___EnumValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) graphql.Marshaler {
2441	rctx := graphql.GetResolverContext(ctx)
2442	rctx.Object = "__EnumValue"
2443	rctx.Args = nil
2444	rctx.Field = field
2445	rctx.PushField(field.Alias)
2446	defer rctx.Pop()
2447	res := obj.Description()
2448	if res == nil {
2449		return graphql.Null
2450	}
2451	return graphql.MarshalString(*res)
2452}
2453
2454func (ec *executionContext) ___EnumValue_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) graphql.Marshaler {
2455	rctx := graphql.GetResolverContext(ctx)
2456	rctx.Object = "__EnumValue"
2457	rctx.Args = nil
2458	rctx.Field = field
2459	rctx.PushField(field.Alias)
2460	defer rctx.Pop()
2461	res := obj.IsDeprecated()
2462	return graphql.MarshalBoolean(res)
2463}
2464
2465func (ec *executionContext) ___EnumValue_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) graphql.Marshaler {
2466	rctx := graphql.GetResolverContext(ctx)
2467	rctx.Object = "__EnumValue"
2468	rctx.Args = nil
2469	rctx.Field = field
2470	rctx.PushField(field.Alias)
2471	defer rctx.Pop()
2472	res := obj.DeprecationReason()
2473	if res == nil {
2474		return graphql.Null
2475	}
2476	return graphql.MarshalString(*res)
2477}
2478
2479var __FieldImplementors = []string{"__Field"}
2480
2481// nolint: gocyclo, errcheck, gas, goconst
2482func (ec *executionContext) ___Field(ctx context.Context, sel []query.Selection, obj *introspection.Field) graphql.Marshaler {
2483	fields := graphql.CollectFields(ec.Doc, sel, __FieldImplementors, ec.Variables)
2484
2485	out := graphql.NewOrderedMap(len(fields))
2486	for i, field := range fields {
2487		out.Keys[i] = field.Alias
2488
2489		switch field.Name {
2490		case "__typename":
2491			out.Values[i] = graphql.MarshalString("__Field")
2492		case "name":
2493			out.Values[i] = ec.___Field_name(ctx, field, obj)
2494		case "description":
2495			out.Values[i] = ec.___Field_description(ctx, field, obj)
2496		case "args":
2497			out.Values[i] = ec.___Field_args(ctx, field, obj)
2498		case "type":
2499			out.Values[i] = ec.___Field_type(ctx, field, obj)
2500		case "isDeprecated":
2501			out.Values[i] = ec.___Field_isDeprecated(ctx, field, obj)
2502		case "deprecationReason":
2503			out.Values[i] = ec.___Field_deprecationReason(ctx, field, obj)
2504		default:
2505			panic("unknown field " + strconv.Quote(field.Name))
2506		}
2507	}
2508
2509	return out
2510}
2511
2512func (ec *executionContext) ___Field_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler {
2513	rctx := graphql.GetResolverContext(ctx)
2514	rctx.Object = "__Field"
2515	rctx.Args = nil
2516	rctx.Field = field
2517	rctx.PushField(field.Alias)
2518	defer rctx.Pop()
2519	res := obj.Name()
2520	return graphql.MarshalString(res)
2521}
2522
2523func (ec *executionContext) ___Field_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler {
2524	rctx := graphql.GetResolverContext(ctx)
2525	rctx.Object = "__Field"
2526	rctx.Args = nil
2527	rctx.Field = field
2528	rctx.PushField(field.Alias)
2529	defer rctx.Pop()
2530	res := obj.Description()
2531	if res == nil {
2532		return graphql.Null
2533	}
2534	return graphql.MarshalString(*res)
2535}
2536
2537func (ec *executionContext) ___Field_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler {
2538	rctx := graphql.GetResolverContext(ctx)
2539	rctx.Object = "__Field"
2540	rctx.Args = nil
2541	rctx.Field = field
2542	rctx.PushField(field.Alias)
2543	defer rctx.Pop()
2544	res := obj.Args()
2545	arr1 := graphql.Array{}
2546	for idx1 := range res {
2547		arr1 = append(arr1, func() graphql.Marshaler {
2548			rctx := graphql.GetResolverContext(ctx)
2549			rctx.PushIndex(idx1)
2550			defer rctx.Pop()
2551			return ec.___InputValue(ctx, field.Selections, &res[idx1])
2552		}())
2553	}
2554	return arr1
2555}
2556
2557func (ec *executionContext) ___Field_type(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler {
2558	rctx := graphql.GetResolverContext(ctx)
2559	rctx.Object = "__Field"
2560	rctx.Args = nil
2561	rctx.Field = field
2562	rctx.PushField(field.Alias)
2563	defer rctx.Pop()
2564	res := obj.Type()
2565	return ec.___Type(ctx, field.Selections, &res)
2566}
2567
2568func (ec *executionContext) ___Field_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler {
2569	rctx := graphql.GetResolverContext(ctx)
2570	rctx.Object = "__Field"
2571	rctx.Args = nil
2572	rctx.Field = field
2573	rctx.PushField(field.Alias)
2574	defer rctx.Pop()
2575	res := obj.IsDeprecated()
2576	return graphql.MarshalBoolean(res)
2577}
2578
2579func (ec *executionContext) ___Field_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler {
2580	rctx := graphql.GetResolverContext(ctx)
2581	rctx.Object = "__Field"
2582	rctx.Args = nil
2583	rctx.Field = field
2584	rctx.PushField(field.Alias)
2585	defer rctx.Pop()
2586	res := obj.DeprecationReason()
2587	if res == nil {
2588		return graphql.Null
2589	}
2590	return graphql.MarshalString(*res)
2591}
2592
2593var __InputValueImplementors = []string{"__InputValue"}
2594
2595// nolint: gocyclo, errcheck, gas, goconst
2596func (ec *executionContext) ___InputValue(ctx context.Context, sel []query.Selection, obj *introspection.InputValue) graphql.Marshaler {
2597	fields := graphql.CollectFields(ec.Doc, sel, __InputValueImplementors, ec.Variables)
2598
2599	out := graphql.NewOrderedMap(len(fields))
2600	for i, field := range fields {
2601		out.Keys[i] = field.Alias
2602
2603		switch field.Name {
2604		case "__typename":
2605			out.Values[i] = graphql.MarshalString("__InputValue")
2606		case "name":
2607			out.Values[i] = ec.___InputValue_name(ctx, field, obj)
2608		case "description":
2609			out.Values[i] = ec.___InputValue_description(ctx, field, obj)
2610		case "type":
2611			out.Values[i] = ec.___InputValue_type(ctx, field, obj)
2612		case "defaultValue":
2613			out.Values[i] = ec.___InputValue_defaultValue(ctx, field, obj)
2614		default:
2615			panic("unknown field " + strconv.Quote(field.Name))
2616		}
2617	}
2618
2619	return out
2620}
2621
2622func (ec *executionContext) ___InputValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) graphql.Marshaler {
2623	rctx := graphql.GetResolverContext(ctx)
2624	rctx.Object = "__InputValue"
2625	rctx.Args = nil
2626	rctx.Field = field
2627	rctx.PushField(field.Alias)
2628	defer rctx.Pop()
2629	res := obj.Name()
2630	return graphql.MarshalString(res)
2631}
2632
2633func (ec *executionContext) ___InputValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) graphql.Marshaler {
2634	rctx := graphql.GetResolverContext(ctx)
2635	rctx.Object = "__InputValue"
2636	rctx.Args = nil
2637	rctx.Field = field
2638	rctx.PushField(field.Alias)
2639	defer rctx.Pop()
2640	res := obj.Description()
2641	if res == nil {
2642		return graphql.Null
2643	}
2644	return graphql.MarshalString(*res)
2645}
2646
2647func (ec *executionContext) ___InputValue_type(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) graphql.Marshaler {
2648	rctx := graphql.GetResolverContext(ctx)
2649	rctx.Object = "__InputValue"
2650	rctx.Args = nil
2651	rctx.Field = field
2652	rctx.PushField(field.Alias)
2653	defer rctx.Pop()
2654	res := obj.Type()
2655	return ec.___Type(ctx, field.Selections, &res)
2656}
2657
2658func (ec *executionContext) ___InputValue_defaultValue(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) graphql.Marshaler {
2659	rctx := graphql.GetResolverContext(ctx)
2660	rctx.Object = "__InputValue"
2661	rctx.Args = nil
2662	rctx.Field = field
2663	rctx.PushField(field.Alias)
2664	defer rctx.Pop()
2665	res := obj.DefaultValue()
2666	if res == nil {
2667		return graphql.Null
2668	}
2669	return graphql.MarshalString(*res)
2670}
2671
2672var __SchemaImplementors = []string{"__Schema"}
2673
2674// nolint: gocyclo, errcheck, gas, goconst
2675func (ec *executionContext) ___Schema(ctx context.Context, sel []query.Selection, obj *introspection.Schema) graphql.Marshaler {
2676	fields := graphql.CollectFields(ec.Doc, sel, __SchemaImplementors, ec.Variables)
2677
2678	out := graphql.NewOrderedMap(len(fields))
2679	for i, field := range fields {
2680		out.Keys[i] = field.Alias
2681
2682		switch field.Name {
2683		case "__typename":
2684			out.Values[i] = graphql.MarshalString("__Schema")
2685		case "types":
2686			out.Values[i] = ec.___Schema_types(ctx, field, obj)
2687		case "queryType":
2688			out.Values[i] = ec.___Schema_queryType(ctx, field, obj)
2689		case "mutationType":
2690			out.Values[i] = ec.___Schema_mutationType(ctx, field, obj)
2691		case "subscriptionType":
2692			out.Values[i] = ec.___Schema_subscriptionType(ctx, field, obj)
2693		case "directives":
2694			out.Values[i] = ec.___Schema_directives(ctx, field, obj)
2695		default:
2696			panic("unknown field " + strconv.Quote(field.Name))
2697		}
2698	}
2699
2700	return out
2701}
2702
2703func (ec *executionContext) ___Schema_types(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler {
2704	rctx := graphql.GetResolverContext(ctx)
2705	rctx.Object = "__Schema"
2706	rctx.Args = nil
2707	rctx.Field = field
2708	rctx.PushField(field.Alias)
2709	defer rctx.Pop()
2710	res := obj.Types()
2711	arr1 := graphql.Array{}
2712	for idx1 := range res {
2713		arr1 = append(arr1, func() graphql.Marshaler {
2714			rctx := graphql.GetResolverContext(ctx)
2715			rctx.PushIndex(idx1)
2716			defer rctx.Pop()
2717			return ec.___Type(ctx, field.Selections, &res[idx1])
2718		}())
2719	}
2720	return arr1
2721}
2722
2723func (ec *executionContext) ___Schema_queryType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler {
2724	rctx := graphql.GetResolverContext(ctx)
2725	rctx.Object = "__Schema"
2726	rctx.Args = nil
2727	rctx.Field = field
2728	rctx.PushField(field.Alias)
2729	defer rctx.Pop()
2730	res := obj.QueryType()
2731	return ec.___Type(ctx, field.Selections, &res)
2732}
2733
2734func (ec *executionContext) ___Schema_mutationType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler {
2735	rctx := graphql.GetResolverContext(ctx)
2736	rctx.Object = "__Schema"
2737	rctx.Args = nil
2738	rctx.Field = field
2739	rctx.PushField(field.Alias)
2740	defer rctx.Pop()
2741	res := obj.MutationType()
2742	if res == nil {
2743		return graphql.Null
2744	}
2745	return ec.___Type(ctx, field.Selections, res)
2746}
2747
2748func (ec *executionContext) ___Schema_subscriptionType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler {
2749	rctx := graphql.GetResolverContext(ctx)
2750	rctx.Object = "__Schema"
2751	rctx.Args = nil
2752	rctx.Field = field
2753	rctx.PushField(field.Alias)
2754	defer rctx.Pop()
2755	res := obj.SubscriptionType()
2756	if res == nil {
2757		return graphql.Null
2758	}
2759	return ec.___Type(ctx, field.Selections, res)
2760}
2761
2762func (ec *executionContext) ___Schema_directives(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler {
2763	rctx := graphql.GetResolverContext(ctx)
2764	rctx.Object = "__Schema"
2765	rctx.Args = nil
2766	rctx.Field = field
2767	rctx.PushField(field.Alias)
2768	defer rctx.Pop()
2769	res := obj.Directives()
2770	arr1 := graphql.Array{}
2771	for idx1 := range res {
2772		arr1 = append(arr1, func() graphql.Marshaler {
2773			rctx := graphql.GetResolverContext(ctx)
2774			rctx.PushIndex(idx1)
2775			defer rctx.Pop()
2776			return ec.___Directive(ctx, field.Selections, &res[idx1])
2777		}())
2778	}
2779	return arr1
2780}
2781
2782var __TypeImplementors = []string{"__Type"}
2783
2784// nolint: gocyclo, errcheck, gas, goconst
2785func (ec *executionContext) ___Type(ctx context.Context, sel []query.Selection, obj *introspection.Type) graphql.Marshaler {
2786	fields := graphql.CollectFields(ec.Doc, sel, __TypeImplementors, ec.Variables)
2787
2788	out := graphql.NewOrderedMap(len(fields))
2789	for i, field := range fields {
2790		out.Keys[i] = field.Alias
2791
2792		switch field.Name {
2793		case "__typename":
2794			out.Values[i] = graphql.MarshalString("__Type")
2795		case "kind":
2796			out.Values[i] = ec.___Type_kind(ctx, field, obj)
2797		case "name":
2798			out.Values[i] = ec.___Type_name(ctx, field, obj)
2799		case "description":
2800			out.Values[i] = ec.___Type_description(ctx, field, obj)
2801		case "fields":
2802			out.Values[i] = ec.___Type_fields(ctx, field, obj)
2803		case "interfaces":
2804			out.Values[i] = ec.___Type_interfaces(ctx, field, obj)
2805		case "possibleTypes":
2806			out.Values[i] = ec.___Type_possibleTypes(ctx, field, obj)
2807		case "enumValues":
2808			out.Values[i] = ec.___Type_enumValues(ctx, field, obj)
2809		case "inputFields":
2810			out.Values[i] = ec.___Type_inputFields(ctx, field, obj)
2811		case "ofType":
2812			out.Values[i] = ec.___Type_ofType(ctx, field, obj)
2813		default:
2814			panic("unknown field " + strconv.Quote(field.Name))
2815		}
2816	}
2817
2818	return out
2819}
2820
2821func (ec *executionContext) ___Type_kind(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
2822	rctx := graphql.GetResolverContext(ctx)
2823	rctx.Object = "__Type"
2824	rctx.Args = nil
2825	rctx.Field = field
2826	rctx.PushField(field.Alias)
2827	defer rctx.Pop()
2828	res := obj.Kind()
2829	return graphql.MarshalString(res)
2830}
2831
2832func (ec *executionContext) ___Type_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
2833	rctx := graphql.GetResolverContext(ctx)
2834	rctx.Object = "__Type"
2835	rctx.Args = nil
2836	rctx.Field = field
2837	rctx.PushField(field.Alias)
2838	defer rctx.Pop()
2839	res := obj.Name()
2840	if res == nil {
2841		return graphql.Null
2842	}
2843	return graphql.MarshalString(*res)
2844}
2845
2846func (ec *executionContext) ___Type_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
2847	rctx := graphql.GetResolverContext(ctx)
2848	rctx.Object = "__Type"
2849	rctx.Args = nil
2850	rctx.Field = field
2851	rctx.PushField(field.Alias)
2852	defer rctx.Pop()
2853	res := obj.Description()
2854	if res == nil {
2855		return graphql.Null
2856	}
2857	return graphql.MarshalString(*res)
2858}
2859
2860func (ec *executionContext) ___Type_fields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
2861	args := map[string]interface{}{}
2862	var arg0 bool
2863	if tmp, ok := field.Args["includeDeprecated"]; ok {
2864		var err error
2865		arg0, err = graphql.UnmarshalBoolean(tmp)
2866		if err != nil {
2867			ec.Error(ctx, err)
2868			return graphql.Null
2869		}
2870	}
2871	args["includeDeprecated"] = arg0
2872	rctx := graphql.GetResolverContext(ctx)
2873	rctx.Object = "__Type"
2874	rctx.Args = args
2875	rctx.Field = field
2876	rctx.PushField(field.Alias)
2877	defer rctx.Pop()
2878	res := obj.Fields(args["includeDeprecated"].(bool))
2879	arr1 := graphql.Array{}
2880	for idx1 := range res {
2881		arr1 = append(arr1, func() graphql.Marshaler {
2882			rctx := graphql.GetResolverContext(ctx)
2883			rctx.PushIndex(idx1)
2884			defer rctx.Pop()
2885			return ec.___Field(ctx, field.Selections, &res[idx1])
2886		}())
2887	}
2888	return arr1
2889}
2890
2891func (ec *executionContext) ___Type_interfaces(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
2892	rctx := graphql.GetResolverContext(ctx)
2893	rctx.Object = "__Type"
2894	rctx.Args = nil
2895	rctx.Field = field
2896	rctx.PushField(field.Alias)
2897	defer rctx.Pop()
2898	res := obj.Interfaces()
2899	arr1 := graphql.Array{}
2900	for idx1 := range res {
2901		arr1 = append(arr1, func() graphql.Marshaler {
2902			rctx := graphql.GetResolverContext(ctx)
2903			rctx.PushIndex(idx1)
2904			defer rctx.Pop()
2905			return ec.___Type(ctx, field.Selections, &res[idx1])
2906		}())
2907	}
2908	return arr1
2909}
2910
2911func (ec *executionContext) ___Type_possibleTypes(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
2912	rctx := graphql.GetResolverContext(ctx)
2913	rctx.Object = "__Type"
2914	rctx.Args = nil
2915	rctx.Field = field
2916	rctx.PushField(field.Alias)
2917	defer rctx.Pop()
2918	res := obj.PossibleTypes()
2919	arr1 := graphql.Array{}
2920	for idx1 := range res {
2921		arr1 = append(arr1, func() graphql.Marshaler {
2922			rctx := graphql.GetResolverContext(ctx)
2923			rctx.PushIndex(idx1)
2924			defer rctx.Pop()
2925			return ec.___Type(ctx, field.Selections, &res[idx1])
2926		}())
2927	}
2928	return arr1
2929}
2930
2931func (ec *executionContext) ___Type_enumValues(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
2932	args := map[string]interface{}{}
2933	var arg0 bool
2934	if tmp, ok := field.Args["includeDeprecated"]; ok {
2935		var err error
2936		arg0, err = graphql.UnmarshalBoolean(tmp)
2937		if err != nil {
2938			ec.Error(ctx, err)
2939			return graphql.Null
2940		}
2941	}
2942	args["includeDeprecated"] = arg0
2943	rctx := graphql.GetResolverContext(ctx)
2944	rctx.Object = "__Type"
2945	rctx.Args = args
2946	rctx.Field = field
2947	rctx.PushField(field.Alias)
2948	defer rctx.Pop()
2949	res := obj.EnumValues(args["includeDeprecated"].(bool))
2950	arr1 := graphql.Array{}
2951	for idx1 := range res {
2952		arr1 = append(arr1, func() graphql.Marshaler {
2953			rctx := graphql.GetResolverContext(ctx)
2954			rctx.PushIndex(idx1)
2955			defer rctx.Pop()
2956			return ec.___EnumValue(ctx, field.Selections, &res[idx1])
2957		}())
2958	}
2959	return arr1
2960}
2961
2962func (ec *executionContext) ___Type_inputFields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
2963	rctx := graphql.GetResolverContext(ctx)
2964	rctx.Object = "__Type"
2965	rctx.Args = nil
2966	rctx.Field = field
2967	rctx.PushField(field.Alias)
2968	defer rctx.Pop()
2969	res := obj.InputFields()
2970	arr1 := graphql.Array{}
2971	for idx1 := range res {
2972		arr1 = append(arr1, func() graphql.Marshaler {
2973			rctx := graphql.GetResolverContext(ctx)
2974			rctx.PushIndex(idx1)
2975			defer rctx.Pop()
2976			return ec.___InputValue(ctx, field.Selections, &res[idx1])
2977		}())
2978	}
2979	return arr1
2980}
2981
2982func (ec *executionContext) ___Type_ofType(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
2983	rctx := graphql.GetResolverContext(ctx)
2984	rctx.Object = "__Type"
2985	rctx.Args = nil
2986	rctx.Field = field
2987	rctx.PushField(field.Alias)
2988	defer rctx.Pop()
2989	res := obj.OfType()
2990	if res == nil {
2991		return graphql.Null
2992	}
2993	return ec.___Type(ctx, field.Selections, res)
2994}
2995
2996func (ec *executionContext) _Authored(ctx context.Context, sel []query.Selection, obj *models.Authored) graphql.Marshaler {
2997	switch obj := (*obj).(type) {
2998	case nil:
2999		return graphql.Null
3000	case bug.Comment:
3001		return ec._Comment(ctx, sel, &obj)
3002	case *bug.Comment:
3003		return ec._Comment(ctx, sel, obj)
3004	case operations.CreateOperation:
3005		return ec._CreateOperation(ctx, sel, &obj)
3006	case *operations.CreateOperation:
3007		return ec._CreateOperation(ctx, sel, obj)
3008	case operations.SetTitleOperation:
3009		return ec._SetTitleOperation(ctx, sel, &obj)
3010	case *operations.SetTitleOperation:
3011		return ec._SetTitleOperation(ctx, sel, obj)
3012	case operations.AddCommentOperation:
3013		return ec._AddCommentOperation(ctx, sel, &obj)
3014	case *operations.AddCommentOperation:
3015		return ec._AddCommentOperation(ctx, sel, obj)
3016	case operations.SetStatusOperation:
3017		return ec._SetStatusOperation(ctx, sel, &obj)
3018	case *operations.SetStatusOperation:
3019		return ec._SetStatusOperation(ctx, sel, obj)
3020	case operations.LabelChangeOperation:
3021		return ec._LabelChangeOperation(ctx, sel, &obj)
3022	case *operations.LabelChangeOperation:
3023		return ec._LabelChangeOperation(ctx, sel, obj)
3024	default:
3025		panic(fmt.Errorf("unexpected type %T", obj))
3026	}
3027}
3028
3029func (ec *executionContext) _Operation(ctx context.Context, sel []query.Selection, obj *bug.Operation) graphql.Marshaler {
3030	switch obj := (*obj).(type) {
3031	case nil:
3032		return graphql.Null
3033	case operations.CreateOperation:
3034		return ec._CreateOperation(ctx, sel, &obj)
3035	case *operations.CreateOperation:
3036		return ec._CreateOperation(ctx, sel, obj)
3037	case operations.SetTitleOperation:
3038		return ec._SetTitleOperation(ctx, sel, &obj)
3039	case *operations.SetTitleOperation:
3040		return ec._SetTitleOperation(ctx, sel, obj)
3041	case operations.AddCommentOperation:
3042		return ec._AddCommentOperation(ctx, sel, &obj)
3043	case *operations.AddCommentOperation:
3044		return ec._AddCommentOperation(ctx, sel, obj)
3045	case operations.SetStatusOperation:
3046		return ec._SetStatusOperation(ctx, sel, &obj)
3047	case *operations.SetStatusOperation:
3048		return ec._SetStatusOperation(ctx, sel, obj)
3049	case operations.LabelChangeOperation:
3050		return ec._LabelChangeOperation(ctx, sel, &obj)
3051	case *operations.LabelChangeOperation:
3052		return ec._LabelChangeOperation(ctx, sel, obj)
3053	default:
3054		panic(fmt.Errorf("unexpected type %T", obj))
3055	}
3056}
3057
3058func (ec *executionContext) introspectSchema() *introspection.Schema {
3059	return introspection.WrapSchema(parsedSchema)
3060}
3061
3062func (ec *executionContext) introspectType(name string) *introspection.Type {
3063	t := parsedSchema.Resolve(name)
3064	if t == nil {
3065		return nil
3066	}
3067	return introspection.WrapType(t)
3068}
3069
3070var parsedSchema = schema.MustParse(`scalar Time
3071scalar Label
3072
3073# Information about pagination in a connection.
3074type PageInfo {
3075  # When paginating forwards, are there more items?
3076  hasNextPage: Boolean!
3077  # When paginating backwards, are there more items?
3078  hasPreviousPage: Boolean!
3079  # When paginating backwards, the cursor to continue.
3080#  startCursor: String
3081  # When paginating forwards, the cursor to continue.
3082#  endCursor: String
3083}
3084
3085# Represents an person in a git object.
3086type Person {
3087  # The email of the person.
3088  email: String
3089
3090  # The name of the person.
3091  name: String
3092}
3093
3094type CommentConnection {
3095  edges: [CommentEdge!]!
3096  nodes: [Comment!]!
3097  pageInfo: PageInfo!
3098  totalCount: Int!
3099}
3100
3101type CommentEdge {
3102  cursor: String!
3103  node: Comment!
3104}
3105
3106# Represents a comment on a bug.
3107type Comment implements Authored {
3108  # The author of this comment.
3109  author: Person!
3110
3111  # The message of this comment.
3112  message: String!
3113}
3114
3115enum Status {
3116  OPEN
3117  CLOSED
3118}
3119
3120# An object that has an author.
3121interface Authored {
3122  # The author of this object.
3123  author: Person!
3124}
3125
3126type OperationConnection {
3127  edges: [OperationEdge!]!
3128  nodes: [Operation!]!
3129  pageInfo: PageInfo!
3130  totalCount: Int!
3131}
3132
3133type OperationEdge {
3134  cursor: String!
3135  node: Operation!
3136}
3137
3138# An operation applied to a bug.
3139interface Operation {
3140  # The operations author.
3141  author: Person!
3142  # The datetime when this operation was issued.
3143  date: Time!
3144}
3145
3146type CreateOperation implements Operation, Authored {
3147  author: Person!
3148  date: Time!
3149
3150  title: String!
3151  message: String!
3152}
3153
3154type SetTitleOperation implements Operation, Authored {
3155  author: Person!
3156  date: Time!
3157
3158  title: String!
3159}
3160
3161type AddCommentOperation implements Operation, Authored {
3162  author: Person!
3163  date: Time!
3164
3165  message: String!
3166}
3167
3168type SetStatusOperation implements Operation, Authored {
3169  author: Person!
3170  date: Time!
3171
3172  status: Status!
3173}
3174
3175type LabelChangeOperation implements Operation, Authored {
3176  author: Person!
3177  date: Time!
3178
3179  added: [Label!]!
3180  removed: [Label!]!
3181}
3182
3183# The connection type for Bug.
3184type BugConnection {
3185  # A list of edges.
3186  edges: [BugEdge!]!
3187  nodes: [Bug!]!
3188  # Information to aid in pagination.
3189  pageInfo: PageInfo!
3190  # Identifies the total count of items in the connection.
3191  totalCount: Int!
3192}
3193
3194# An edge in a connection.
3195type BugEdge {
3196  # A cursor for use in pagination.
3197  cursor: String!
3198  # The item at the end of the edge.
3199  node: Bug!
3200}
3201
3202type Bug {
3203  id: String!
3204  humanId: String!
3205  title: String!
3206  status: Status!
3207
3208  # A list of labels associated with the repository.
3209  labels: [Label!]!
3210
3211  comments(
3212    # Returns the elements in the list that come after the specified cursor.
3213    after: String
3214    # Returns the elements in the list that come before the specified cursor.
3215    before: String
3216    # Returns the first _n_ elements from the list.
3217    first: Int
3218    # Returns the last _n_ elements from the list.
3219    last: Int
3220  ): CommentConnection!
3221
3222  operations(
3223    # Returns the elements in the list that come after the specified cursor.
3224    after: String
3225    # Returns the elements in the list that come before the specified cursor.
3226    before: String
3227    # Returns the first _n_ elements from the list.
3228    first: Int
3229    # Returns the last _n_ elements from the list.
3230    last: Int
3231  ): OperationConnection!
3232}
3233
3234type Repository {
3235  allBugs(
3236    # Returns the elements in the list that come after the specified cursor.
3237    after: String
3238    # Returns the elements in the list that come before the specified cursor.
3239    before: String
3240    # Returns the first _n_ elements from the list.
3241    first: Int
3242    # Returns the last _n_ elements from the list.
3243    last: Int
3244  ): BugConnection!
3245  bug(prefix: String!): Bug
3246}
3247
3248type Query {
3249  defaultRepository: Repository
3250  repository(id: String!): Repository
3251}
3252
3253type Mutation {
3254  newBug(repoRef: String, title: String!, message: String!): Bug!
3255
3256  addComment(repoRef: String, prefix: String!, message: String!): Bug!
3257  changeLabels(repoRef: String, prefix: String!, added: [String!], removed: [String!]): Bug!
3258  open(repoRef: String, prefix: String!): Bug!
3259  close(repoRef: String, prefix: String!): Bug!
3260  setTitle(repoRef: String, prefix: String!, title: String!): Bug!
3261
3262  commit(repoRef: String, prefix: String!): Bug!
3263}
3264`)