From c898d9d6a988f929b66cc3219948c6cd756988ab Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Sat, 26 Jul 2025 23:38:24 +0100 Subject: complete task-028 --- requirements/data_models/dml-bucket.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'requirements/data_models') diff --git a/requirements/data_models/dml-bucket.md b/requirements/data_models/dml-bucket.md index dc7749b..01c56b5 100644 --- a/requirements/data_models/dml-bucket.md +++ b/requirements/data_models/dml-bucket.md @@ -2,20 +2,25 @@ A bucket represents a real category of spending, like beer or holidays. -| Field | Type | Description | -| ----------------- | ------ | --------------------------------------------------------- | -| id | string | A unique identifier for the bucket. | -| name | string | A short description of the real category of spending. | -| balance | number | The amount of money the user intends to be free to spend. | -| balance_cache_key | string | A cache key for the balance. See notes. | +| Field | Type | Description | +| ----------------- | ------- | --------------------------------------------------------- | +| id | string | A unique identifier for the bucket. | +| name | string | A short description of the real category of spending. | +| balance | number | The amount of money the user intends to be free to spend. | +| balance_cache_key | string | A cache key for the balance. See notes. | +| is_hidden | boolean | Whether this bucket should be hidden in the UI. | Constraints: - `name` must be unique. -- `id` must be equal to `name`, that is, `id` is an alias of the property, `name`. +- `id` must be equal to `name`, that is, `id` is an alias of the property, + `name`. +- `is_hidden` should never be true when `balance` is non-zero. Notes: - `balance_cache_key` must be of the format: `:`. +- `is_hidden` is used as an equivalent of soft-deletion. Buckets should never be + actually deleted. -Sources: req-027, req-098, req-110, req-111 +Sources: req-027, req-098, req-110, req-111, task-028 -- cgit v1.2.3