Skip to content

Batch production settings, descriptor copy at creation and assignee update events#1148

Merged
frankrousseau merged 3 commits into
cgwire:mainfrom
frankrousseau:batch-production-settings
Jul 10, 2026
Merged

Batch production settings, descriptor copy at creation and assignee update events#1148
frankrousseau merged 3 commits into
cgwire:mainfrom
frankrousseau:batch-production-settings

Conversation

@frankrousseau

Copy link
Copy Markdown
Contributor

Problem

  • Attaching task types, task statuses and asset types to a production takes one request per item: production creation and the import-from-production flows fire dozens of requests (the task type import even relies on a client-side timer between removals and additions).
  • Creating a production requires the web client to copy every all-projects metadata descriptor onto it, one create request per descriptor, and API-created projects miss those columns entirely.
  • Updating a task's assignee list in one PUT works but emits no task:assign/task:unassign events and creates no assignation notification, so it cannot replace the one-request-per-person assign flow.

Solution

  • Add POST /data/projects//settings/batch: attaches task types (with priorities), task statuses and asset types in one request, skips unknown ids, and supports replace_task_types so an import expresses the full wanted set in a single call.
  • Copy Project-scoped metadata descriptors from open projects onto new projects at creation, server-side.
  • Emit task:assign/task:unassign and create assignation notifications from the task update resource when the assignees list changes.

frankrousseau and others added 3 commits July 10, 2026 13:24
POST /data/projects/<id>/settings/batch attaches several task types
(with priorities), task statuses and asset types in a single request,
replacing one link request per item. Unknown ids are skipped. The
replace_task_types flag makes the task type list the full wanted set so
the import-from-production flow works in one request.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The all-projects metadata columns are one Project descriptor row per
project. Copying them onto new projects server-side at creation removes
the one create request per descriptor the web client used to send, and
covers projects created through the API too.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Setting assignees through PUT /data/tasks/<id> now emits the same
task:assign and task:unassign events and creates the same assignation
notifications as the assign and clear-assignation routes, so listeners
and assignees stay in sync when a client updates the whole assignee
list in one request.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@frankrousseau
frankrousseau merged commit c1b4021 into cgwire:main Jul 10, 2026
14 checks passed
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