fix(database): Add composite unique constraints for workspace isolation #109

Closed
jason.woltje wants to merge 0 commits from fix/prisma-composite-unique into develop
Owner

Summary

Fixes Critical issue from code review: Prisma findUnique/update/delete calls use compound filters (id + workspaceId) but schema didn't define composite uniques.

Changes

Added @@unique([id, workspaceId]) to:

  • Task
  • Event
  • Project
  • Domain
  • Idea
  • UserLayout (layouts)
  • ActivityLog

Impact

  • Services using findUnique({ where: { id, workspaceId } }) now typecheck correctly
  • Workspace isolation enforced at database level
  • No runtime errors from invalid Prisma queries

Verification

  • pnpm prisma generate successful
  • pnpm prisma format validates schema

Migration Note

After merge, run pnpm prisma migrate dev to create the migration.

## Summary Fixes **Critical** issue from code review: Prisma findUnique/update/delete calls use compound filters (id + workspaceId) but schema didn't define composite uniques. ## Changes Added `@@unique([id, workspaceId])` to: - Task - Event - Project - Domain - Idea - UserLayout (layouts) - ActivityLog ## Impact - Services using `findUnique({ where: { id, workspaceId } })` now typecheck correctly - Workspace isolation enforced at database level - No runtime errors from invalid Prisma queries ## Verification - `pnpm prisma generate` successful - `pnpm prisma format` validates schema ## Migration Note After merge, run `pnpm prisma migrate dev` to create the migration.
jason.woltje added 1 commit 2026-01-30 02:07:19 +00:00
jason.woltje closed this pull request 2026-01-30 03:04:03 +00:00

Pull request closed

Sign in to join this conversation.