Skip to content

Add readonly column types#42

Open
luarss wants to merge 2 commits into
mondaycom:masterfrom
luarss:feature/luarss/column-type-readonly
Open

Add readonly column types#42
luarss wants to merge 2 commits into
mondaycom:masterfrom
luarss:feature/luarss/column-type-readonly

Conversation

@luarss
Copy link
Copy Markdown

@luarss luarss commented May 20, 2026

Summary

Adds is_readonly / is_writable properties on ColumnType, plus
nine missing enum values (MIRROR, FORMULA, BOARD_RELATION,
BUTTON, SUBTASKS, PULSE_ID, PULSE_LOG, PULSE_UPDATED_VALUE,
MULTIPLE_PERSON).

is_readonly is True for the 15 column types where column_values
mutations are rejected by the API - system-managed, computed, UI-only,
or requiring a dedicated mutation (e.g. file, board_relation).

people, multiple-person, and location are intentionally not
readonly: they accept column_values writes but require typed
payloads (people IDs, lat/long) rather than free text.

Scope

No internal calls consume the property yet.
Wiring it into write paths (e.g. raising before change_multiple_column_values) reserved as a future TODO.

luarss added 2 commits May 20, 2026 09:30
Adds nine missing column types to the ColumnType enum (mirror, formula,
board_relation, button, pulse_id, pulse_log, pulse_updated_value,
subtasks) and a `is_readonly` / `is_writable` property pair that flags
the 15 types which cannot be written via change_column_value /
change_multiple_column_values mutations.

The readonly set covers system-managed columns (creation_log,
last_updated, auto_number, pulse_*, item_id), computed columns (mirror,
formula, progress), UI-only columns (button), and columns that require a
dedicated mutation rather than column_values (file, board_relation,
dependency, subtasks).

people/multiple-person/location are deliberately NOT marked readonly —
they are writable via column_values but require specific JSON shapes
(people IDs, lat/lng) rather than free-text input.
The category breakdown belongs in the PR description, not the code. Keep
a one-line description and move the people/location/file exclusion note
to a comment on the readonly set, which is where it's load-bearing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant