feat(datacolumns/datatemplates/propertydata): composite DAC support (Phase 1) - #546
prasad-albert wants to merge 6 commits into
Conversation
…umeric fields Add DataType.COLOR for composite DAC color validation. Widen ValueValidation min, max, and value to accept float in addition to str, matching the updated API spec where these fields can be returned as numbers.
Add DataColumnType enum (normal/composite/sub), SubDataColumnRef model, and CompositeDataColumn model. Extend DataColumn with type, isSystemDefined, subDataColumns, parentId, and validation fields. Add create_composite() method for POST /datacolumns/composite and raw param on get_all() for nested responses.
…umns Add type, isSystemDefined, and subDataColumns to DataColumnValue so composite DAC metadata is available on GET responses. Add reorder_columns() method for PATCH sequence reordering, fetching current state to derive oldValue.
Add CompositePropertyValue model (key, id, value) matching the API's CompositeValueItem schema. Widen PropertyData.value, PropertyValue.value, TaskPropertyValue.value, and TaskPropertyCreate.value to accept composite arrays. Add DataColumnType field to PropertyValue and TaskDataColumn.
Code ReviewIssues Found
Summary3 issue(s) found. The missing |
Code ReviewIssues Found
Summary2 issue(s) found. No correctness bugs; serialization (by_alias/mode=json), pagination, type hints, and union parsing are sound. Both items are documentation/standards gaps, with the missing attribute docstrings being the more meaningful one since they affect generated schema descriptions. |
…int and float from API
Code ReviewIssues Found
Summary2 issues found plus a test gap. The docstring omission is a standards violation; the response-shape assumption in |
|
Bump: composite DAC Phase 1 has been waiting on review for a while. Re-requested @sbernasek. @prasad-albert if the approach has changed since, say the word and we can re-scope. |
I think we need to reverify if this PR is complete with the feature, there might be a few things we're missing here |
Summary
DataColumnTypeenum,SubDataColumnRefandCompositeDataColumnmodels; extendDataColumnwithtype,isSystemDefined,subDataColumns,parentId,validation; newcreate_composite()method andrawparam onget_all()type,isSystemDefined,subDataColumnsonDataColumnValuefrom GET responses; newreorder_columns()method for PATCH sequence reorderingCompositePropertyValuemodel; widenPropertyData.value,PropertyValue.value,TaskPropertyCreate.valueto accept composite arrays; addtypefield toTaskDataColumnandPropertyValueDataType.COLOR; widenValueValidation.min/max/valueto acceptfloat(API returns numbers in DAC validation context)Closes EX-2118 (Phase 1 — DataColumn / DataTemplate / PropertyData)