Tomáš Dvořák and Devin
687555fc78
refactor(db): port service clone/move ops to sqlc ( #76 )
...
Tranche 2: cloneServiceRow's INSERT...SELECT (volumes and traefik_labels
now read straight from the source row — traefik_labels was silently
dropped before, and the jsonb param round-trip goes away), domain and
variable copies, name-conflict counts, move UPDATE, project owner check.
Also fixes serviceWriteAccess: user_id is a context string, not a
uuid.UUID — the tranche-1 cast silently failed owner checks for
non-admins. Live tests cover the domain invariants and a full clone
round-trip (config, domains, variables).
Generated with [Devin](https://devin.ai )
Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-10 03:25:07 +02:00
..
2026-10-09 12:41:26 +02:00
2026-10-09 10:52:15 +02:00
2026-10-09 10:52:15 +02:00
2026-10-09 10:43:12 +02:00
2026-04-10 12:02:36 +02:00
2026-10-10 00:07:30 +02:00
2026-09-17 09:40:08 +02:00
2026-10-09 20:30:33 +02:00
2026-04-10 12:02:36 +02:00
2026-10-09 10:52:15 +02:00
2026-09-21 18:05:22 +02:00
2026-10-09 10:43:12 +02:00
2026-10-08 22:54:36 +02:00
2026-10-08 23:07:27 +02:00
2026-10-09 10:10:18 +02:00
2026-04-10 12:02:36 +02:00
2026-04-10 12:02:36 +02:00
2026-09-22 19:58:59 +02:00
2026-10-10 02:34:51 +02:00
2026-09-22 19:58:59 +02:00
2026-10-04 09:01:28 +02:00
2026-10-09 12:12:21 +02:00
2026-10-08 22:09:42 +02:00
2026-10-08 22:09:42 +02:00
2026-10-10 02:17:36 +02:00
2026-10-10 02:17:36 +02:00
2026-10-10 03:25:07 +02:00
2026-10-10 03:25:07 +02:00
2026-10-10 01:17:32 +02:00
2026-10-08 15:38:36 +02:00
2026-09-22 19:58:59 +02:00
2026-04-10 12:02:36 +02:00
2026-10-10 00:29:57 +02:00
2026-10-10 00:29:57 +02:00
2026-09-17 10:30:36 +02:00
2026-10-09 11:13:37 +02:00
2026-04-10 12:02:36 +02:00
2026-10-09 10:43:12 +02:00
2026-10-09 20:30:33 +02:00
2026-10-09 10:43:12 +02:00
2026-09-22 19:58:59 +02:00
2026-10-09 18:43:33 +02:00
2026-10-09 10:35:12 +02:00
2026-09-22 19:58:59 +02:00
2026-09-22 19:58:59 +02:00
2026-10-09 20:30:33 +02:00
2026-10-10 01:39:09 +02:00
2026-10-10 01:39:09 +02:00
2026-10-09 12:12:21 +02:00
2026-10-09 12:41:26 +02:00
2026-10-10 01:39:09 +02:00
2026-10-09 09:51:38 +02:00
2026-10-08 15:38:36 +02:00
2026-10-08 15:38:36 +02:00
2026-09-17 09:40:08 +02:00
2026-10-10 00:54:07 +02:00
2026-10-10 00:54:07 +02:00
2026-09-22 19:58:59 +02:00
2026-10-09 10:52:15 +02:00
2026-10-09 01:04:19 +02:00
2026-04-10 12:02:36 +02:00
2026-10-08 17:21:27 +02:00
2026-10-08 17:08:35 +02:00
2026-10-10 02:17:41 +02:00
2026-10-10 00:07:30 +02:00
2026-09-22 19:58:59 +02:00
2026-09-22 19:58:59 +02:00
2026-10-09 12:12:21 +02:00
2026-10-10 03:25:07 +02:00
2026-10-09 23:47:25 +02:00
2026-10-09 23:47:25 +02:00
2026-10-09 10:22:58 +02:00
2026-10-10 02:17:41 +02:00
2026-10-09 00:22:28 +02:00
2026-10-09 22:40:35 +02:00
2026-10-08 16:23:28 +02:00
2026-10-09 23:25:34 +02:00
2026-10-09 00:33:27 +02:00
2026-10-09 23:25:34 +02:00
2026-10-09 12:46:35 +02:00
2026-10-09 23:25:34 +02:00
2026-10-09 23:25:34 +02:00
2026-10-09 11:13:34 +02:00
2026-10-08 15:38:36 +02:00
2026-10-08 17:08:35 +02:00
2026-10-08 16:38:46 +02:00
2026-10-10 02:34:51 +02:00
2026-10-09 09:44:08 +02:00
2026-04-10 12:02:36 +02:00