~edwargix/git.sr.ht

f47daec76aa5971d43ca3abeb75149f269469a9d — Drew DeVault 5 years ago c60c168
api: stub out more dynamic Repository subfields
3 files changed, 92 insertions(+), 26 deletions(-)

M api/graph/generated/generated.go
M api/graph/model/repository.go
M api/graph/schema.resolvers.go
M api/graph/generated/generated.go => api/graph/generated/generated.go +72 -21
@@ 237,6 237,12 @@ type RepositoryResolver interface {

	AccessControlList(ctx context.Context, obj *model.Repository, cursor *model.Cursor) (*model.ACLCursor, error)
	References(ctx context.Context, obj *model.Repository, cursor *model.Cursor) (*model.ReferenceCursor, error)
	Objects(ctx context.Context, obj *model.Repository, ids []*string) ([]model.Object, error)

	Log(ctx context.Context, obj *model.Repository, cursor *model.Cursor) ([]*model.Commit, error)
	Tree(ctx context.Context, obj *model.Repository, revspec *string, path *string) (*model.Tree, error)
	File(ctx context.Context, obj *model.Repository, revspec *string, path string) (*model.Blob, error)
	RevparseSingle(ctx context.Context, obj *model.Repository, revspec string) (model.Object, error)
}
type TreeResolver interface {
	Entries(ctx context.Context, obj *model.Tree, cursor *model.Cursor) ([]*model.TreeEntry, error)


@@ 4082,7 4088,7 @@ func (ec *executionContext) _Repository_objects(ctx context.Context, field graph
		Object:   "Repository",
		Field:    field,
		Args:     nil,
		IsMethod: false,
		IsMethod: true,
	}

	ctx = graphql.WithFieldContext(ctx, fc)


@@ 4095,7 4101,7 @@ func (ec *executionContext) _Repository_objects(ctx context.Context, field graph
	fc.Args = args
	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
		ctx = rctx // use context from middleware stack in children
		return obj.Objects, nil
		return ec.resolvers.Repository().Objects(rctx, obj, args["ids"].([]*string))
	})
	if err != nil {
		ec.Error(ctx, err)


@@ 4154,7 4160,7 @@ func (ec *executionContext) _Repository_log(ctx context.Context, field graphql.C
		Object:   "Repository",
		Field:    field,
		Args:     nil,
		IsMethod: false,
		IsMethod: true,
	}

	ctx = graphql.WithFieldContext(ctx, fc)


@@ 4167,7 4173,7 @@ func (ec *executionContext) _Repository_log(ctx context.Context, field graphql.C
	fc.Args = args
	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
		ctx = rctx // use context from middleware stack in children
		return obj.Log, nil
		return ec.resolvers.Repository().Log(rctx, obj, args["cursor"].(*model.Cursor))
	})
	if err != nil {
		ec.Error(ctx, err)


@@ 4195,7 4201,7 @@ func (ec *executionContext) _Repository_tree(ctx context.Context, field graphql.
		Object:   "Repository",
		Field:    field,
		Args:     nil,
		IsMethod: false,
		IsMethod: true,
	}

	ctx = graphql.WithFieldContext(ctx, fc)


@@ 4208,7 4214,7 @@ func (ec *executionContext) _Repository_tree(ctx context.Context, field graphql.
	fc.Args = args
	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
		ctx = rctx // use context from middleware stack in children
		return obj.Tree, nil
		return ec.resolvers.Repository().Tree(rctx, obj, args["revspec"].(*string), args["path"].(*string))
	})
	if err != nil {
		ec.Error(ctx, err)


@@ 4233,7 4239,7 @@ func (ec *executionContext) _Repository_file(ctx context.Context, field graphql.
		Object:   "Repository",
		Field:    field,
		Args:     nil,
		IsMethod: false,
		IsMethod: true,
	}

	ctx = graphql.WithFieldContext(ctx, fc)


@@ 4246,7 4252,7 @@ func (ec *executionContext) _Repository_file(ctx context.Context, field graphql.
	fc.Args = args
	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
		ctx = rctx // use context from middleware stack in children
		return obj.File, nil
		return ec.resolvers.Repository().File(rctx, obj, args["revspec"].(*string), args["path"].(string))
	})
	if err != nil {
		ec.Error(ctx, err)


@@ 4271,7 4277,7 @@ func (ec *executionContext) _Repository_revparse_single(ctx context.Context, fie
		Object:   "Repository",
		Field:    field,
		Args:     nil,
		IsMethod: false,
		IsMethod: true,
	}

	ctx = graphql.WithFieldContext(ctx, fc)


@@ 4284,7 4290,7 @@ func (ec *executionContext) _Repository_revparse_single(ctx context.Context, fie
	fc.Args = args
	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
		ctx = rctx // use context from middleware stack in children
		return obj.RevparseSingle, nil
		return ec.resolvers.Repository().RevparseSingle(rctx, obj, args["revspec"].(string))
	})
	if err != nil {
		ec.Error(ctx, err)


@@ 7395,23 7401,68 @@ func (ec *executionContext) _Repository(ctx context.Context, sel ast.SelectionSe
				return res
			})
		case "objects":
			out.Values[i] = ec._Repository_objects(ctx, field, obj)
			if out.Values[i] == graphql.Null {
				atomic.AddUint32(&invalids, 1)
			}
			field := field
			out.Concurrently(i, func() (res graphql.Marshaler) {
				defer func() {
					if r := recover(); r != nil {
						ec.Error(ctx, ec.Recover(ctx, r))
					}
				}()
				res = ec._Repository_objects(ctx, field, obj)
				if res == graphql.Null {
					atomic.AddUint32(&invalids, 1)
				}
				return res
			})
		case "HEAD":
			out.Values[i] = ec._Repository_HEAD(ctx, field, obj)
		case "log":
			out.Values[i] = ec._Repository_log(ctx, field, obj)
			if out.Values[i] == graphql.Null {
				atomic.AddUint32(&invalids, 1)
			}
			field := field
			out.Concurrently(i, func() (res graphql.Marshaler) {
				defer func() {
					if r := recover(); r != nil {
						ec.Error(ctx, ec.Recover(ctx, r))
					}
				}()
				res = ec._Repository_log(ctx, field, obj)
				if res == graphql.Null {
					atomic.AddUint32(&invalids, 1)
				}
				return res
			})
		case "tree":
			out.Values[i] = ec._Repository_tree(ctx, field, obj)
			field := field
			out.Concurrently(i, func() (res graphql.Marshaler) {
				defer func() {
					if r := recover(); r != nil {
						ec.Error(ctx, ec.Recover(ctx, r))
					}
				}()
				res = ec._Repository_tree(ctx, field, obj)
				return res
			})
		case "file":
			out.Values[i] = ec._Repository_file(ctx, field, obj)
			field := field
			out.Concurrently(i, func() (res graphql.Marshaler) {
				defer func() {
					if r := recover(); r != nil {
						ec.Error(ctx, ec.Recover(ctx, r))
					}
				}()
				res = ec._Repository_file(ctx, field, obj)
				return res
			})
		case "revparse_single":
			out.Values[i] = ec._Repository_revparse_single(ctx, field, obj)
			field := field
			out.Concurrently(i, func() (res graphql.Marshaler) {
				defer func() {
					if r := recover(); r != nil {
						ec.Error(ctx, ec.Recover(ctx, r))
					}
				}()
				res = ec._Repository_revparse_single(ctx, field, obj)
				return res
			})
		default:
			panic("unknown field " + strconv.Quote(field.Name))
		}

M api/graph/model/repository.go => api/graph/model/repository.go +0 -5
@@ 21,11 21,6 @@ type Repository struct {
	Visibility     Visibility `json:"visibility"`
	Cursor         *Cursor    `json:"cursor"`
	UpstreamURL    *string    `json:"upstreamUrl"`
	Objects        []Object   `json:"objects"`
	Log            []*Commit  `json:"log"`
	Tree           *Tree      `json:"tree"`
	File           *Blob      `json:"file"`
	RevparseSingle Object     `json:"revparse_single"`

	Path    string
	OwnerID int

M api/graph/schema.resolvers.go => api/graph/schema.resolvers.go +20 -0
@@ 198,6 198,26 @@ func (r *repositoryResolver) References(ctx context.Context, obj *model.Reposito
	return &model.ReferenceCursor{refs, cursor}, nil
}

func (r *repositoryResolver) Objects(ctx context.Context, obj *model.Repository, ids []*string) ([]model.Object, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *repositoryResolver) Log(ctx context.Context, obj *model.Repository, cursor *model.Cursor) ([]*model.Commit, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *repositoryResolver) Tree(ctx context.Context, obj *model.Repository, revspec *string, path *string) (*model.Tree, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *repositoryResolver) File(ctx context.Context, obj *model.Repository, revspec *string, path string) (*model.Blob, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *repositoryResolver) RevparseSingle(ctx context.Context, obj *model.Repository, revspec string) (model.Object, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *treeResolver) Entries(ctx context.Context, obj *model.Tree, cursor *model.Cursor) ([]*model.TreeEntry, error) {
	panic(fmt.Errorf("tree.entries: not implemented"))
}