added support for @request.headers.*
This commit is contained in:
@@ -84,6 +84,7 @@ func NewRecordFieldResolver(
|
||||
`^\@request\.auth\.[\w\.\:]*\w+$`,
|
||||
`^\@request\.data\.[\w\.\:]*\w+$`,
|
||||
`^\@request\.query\.[\w\.\:]*\w+$`,
|
||||
`^\@request\.headers\.\w+$`,
|
||||
`^\@collection\.\w+\.[\w\.\:]*\w+$`,
|
||||
},
|
||||
}
|
||||
@@ -92,6 +93,7 @@ func NewRecordFieldResolver(
|
||||
if r.requestData != nil {
|
||||
r.staticRequestData["method"] = r.requestData.Method
|
||||
r.staticRequestData["query"] = r.requestData.Query
|
||||
r.staticRequestData["headers"] = r.requestData.Headers
|
||||
r.staticRequestData["data"] = r.requestData.Data
|
||||
r.staticRequestData["auth"] = nil
|
||||
if r.requestData.AuthRecord != nil {
|
||||
@@ -132,6 +134,7 @@ func (r *RecordFieldResolver) UpdateQuery(query *dbx.SelectQuery) error {
|
||||
// project.screen.status
|
||||
// @request.status
|
||||
// @request.query.filter
|
||||
// @request.headers.x_token
|
||||
// @request.auth.someRelation.name
|
||||
// @request.data.someRelation.name
|
||||
// @request.data.someField
|
||||
|
||||
@@ -23,6 +23,10 @@ func TestRecordFieldResolverUpdateQuery(t *testing.T) {
|
||||
}
|
||||
|
||||
requestData := &models.RequestData{
|
||||
Headers: map[string]string{
|
||||
"a": "123",
|
||||
"b": "456",
|
||||
},
|
||||
Query: map[string]any{
|
||||
"a": nil,
|
||||
"b": 123,
|
||||
@@ -438,6 +442,9 @@ func TestRecordFieldResolverResolveStaticRequestDataFields(t *testing.T) {
|
||||
"b": 456,
|
||||
"c": map[string]int{"sub": 1},
|
||||
},
|
||||
Headers: map[string]string{
|
||||
"d": "789",
|
||||
},
|
||||
AuthRecord: authRecord,
|
||||
}
|
||||
|
||||
@@ -456,6 +463,10 @@ func TestRecordFieldResolverResolveStaticRequestDataFields(t *testing.T) {
|
||||
{"@request.query", true, ``},
|
||||
{"@request.query.a", false, `123`},
|
||||
{"@request.query.a.missing", false, ``},
|
||||
{"@request.headers", true, ``},
|
||||
{"@request.headers.missing", false, ``},
|
||||
{"@request.headers.d", false, `456`},
|
||||
{"@request.headers.d.sub", true, ``},
|
||||
{"@request.data", true, ``},
|
||||
{"@request.data.b", false, `456`},
|
||||
{"@request.data.number", false, `10`}, // number field normalization
|
||||
|
||||
Reference in New Issue
Block a user