Summary
The itemFieldValuesURLTemplate in caseapi/case_field_values_request_builder.go:17 lacks the {?...} query-parameter expansion, while the sibling fieldValuesURLTemplate (line 16) correctly declares all 6 params. Both templates serve the same CaseFieldValuesRequestBuilder and its shared CaseFieldValuesRequestBuilderGetQueryParameters. Only the top-level variant has the expansion.
Severity: P0 — Silent data loss
Evidence
caseapi/case_field_values_request_builder.go:17 (broken):
itemFieldValuesURLTemplate = "{+baseurl}/api/sn_customerservice/v1/case/{id}/field_values/{field_name}"
Compared to line 16 (correct):
fieldValuesURLTemplate = "{+baseurl}/api/sn_customerservice/v1/case/field_values/{field_name}{?sysparm_dependent_value,sysparm_limit,sysparm_offset,sysparm_reference_field_columns,sysparm_query,sysparm_ref_qual_input}"
Expected
Template should be:
{+baseurl}/api/sn_customerservice/v1/case/{id}/field_values/{field_name}{?sysparm_dependent_value,sysparm_limit,sysparm_offset,sysparm_reference_field_columns,sysparm_query,sysparm_ref_qual_input}
Impact
Any caller routing through the item-level builder (ByID(...).FieldValues(...)) will silently drop all query parameters (sysparm_query, sysparm_limit, sysparm_offset, etc.) from the request URL. This means filtering, pagination, and dependent-value lookups are silently ignored — returning unfiltered/unpaginated results with no error.
Fix
- Append
{?sysparm_dependent_value,sysparm_limit,sysparm_offset,sysparm_reference_field_columns,sysparm_query,sysparm_ref_qual_input} to itemFieldValuesURLTemplate at line 17.
- Add a regression test verifying the item-level template expands the same query params as the top-level template.
Summary
The
itemFieldValuesURLTemplateincaseapi/case_field_values_request_builder.go:17lacks the{?...}query-parameter expansion, while the siblingfieldValuesURLTemplate(line 16) correctly declares all 6 params. Both templates serve the sameCaseFieldValuesRequestBuilderand its sharedCaseFieldValuesRequestBuilderGetQueryParameters. Only the top-level variant has the expansion.Severity: P0 — Silent data loss
Evidence
caseapi/case_field_values_request_builder.go:17(broken):Compared to line 16 (correct):
Expected
Template should be:
Impact
Any caller routing through the item-level builder (
ByID(...).FieldValues(...)) will silently drop all query parameters (sysparm_query,sysparm_limit,sysparm_offset, etc.) from the request URL. This means filtering, pagination, and dependent-value lookups are silently ignored — returning unfiltered/unpaginated results with no error.Fix
{?sysparm_dependent_value,sysparm_limit,sysparm_offset,sysparm_reference_field_columns,sysparm_query,sysparm_ref_qual_input}toitemFieldValuesURLTemplateat line 17.