~edwargix/git.sr.ht

c15d59dda1d26e87319ff754306258282482f876 — Drew DeVault 5 years ago a12a5a5
api/database: fix col selection outside of gql ctx
2 files changed, 11 insertions(+), 6 deletions(-)

M api/database/ql.go
M api/graph/model/repository.go
M api/database/ql.go => api/database/ql.go +8 -4
@@ 25,10 25,6 @@ func collectFields(ctx context.Context) []graphql.CollectedField {
				break
			}
		}

		sort.Slice(fields, func(a, b int) bool {
			return fields[a].Name < fields[b].Name
		})
	}
	return fields
}


@@ 46,6 42,10 @@ func ColumnsFor(ctx context.Context, alias string,
		}
	}

	sort.Slice(fields, func(a, b int) bool {
		return fields[a].Name < fields[b].Name
	})

	var columns []string
	for _, qlCol := range fields {
		if sqlCol, ok := colMap[qlCol.Name]; ok {


@@ 74,6 74,10 @@ func FieldsFor(ctx context.Context,
		}
	}

	sort.Slice(qlFields, func(a, b int) bool {
		return qlFields[a].Name < qlFields[b].Name
	})

	var fields []interface{}
	for _, qlField := range qlFields {
		if field, ok := colMap[qlField.Name]; ok {

M api/graph/model/repository.go => api/graph/model/repository.go +3 -2
@@ 55,7 55,7 @@ func (r *Repository) Head() *Reference {
}

func (r *Repository) Select(ctx context.Context) []string {
	return append(database.ColumnsFor(ctx, r.alias, map[string]string{
	cols := database.ColumnsFor(ctx, r.alias, map[string]string{
		"id":          "id",
		"created":     "created",
		"updated":     "updated",


@@ 63,7 63,8 @@ func (r *Repository) Select(ctx context.Context) []string {
		"description": "description",
		"visibility":  "visibility",
		"upstreamUrl": "upstream_uri",
	}),
	})
	return append(cols,
		database.WithAlias(r.alias, "path"),
		database.WithAlias(r.alias, "owner_id"),
		database.WithAlias(r.alias, "updated"))