refactor: rename DB columns recipientId to personId

This commit is contained in:
2026-06-16 13:37:58 +02:00
parent cf6820a7aa
commit caf19575c6
10 changed files with 38 additions and 38 deletions
@@ -90,7 +90,7 @@ CREATE TABLE "Assignment" (
"notes" TEXT, "notes" TEXT,
"itemId" TEXT, "itemId" TEXT,
"assetId" TEXT, "assetId" TEXT,
"recipientId" TEXT, "personId" TEXT,
"assignmentDate" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "assignmentDate" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"returnDate" TIMESTAMP(3), "returnDate" TIMESTAMP(3),
"createdBy" TEXT NOT NULL, "createdBy" TEXT NOT NULL,
@@ -111,7 +111,7 @@ CREATE TABLE "Movement" (
"assetId" TEXT, "assetId" TEXT,
"previousStock" INTEGER, "previousStock" INTEGER,
"newStock" INTEGER, "newStock" INTEGER,
"recipientId" TEXT, "personId" TEXT,
"assignmentId" TEXT, "assignmentId" TEXT,
"userId" TEXT NOT NULL, "userId" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
@@ -171,7 +171,7 @@ CREATE INDEX "Assignment_itemId_idx" ON "Assignment"("itemId");
CREATE INDEX "Assignment_assetId_idx" ON "Assignment"("assetId"); CREATE INDEX "Assignment_assetId_idx" ON "Assignment"("assetId");
-- CreateIndex -- CreateIndex
CREATE INDEX "Assignment_recipientId_idx" ON "Assignment"("recipientId"); CREATE INDEX "Assignment_personId_idx" ON "Assignment"("personId");
-- CreateIndex -- CreateIndex
CREATE INDEX "Assignment_createdBy_idx" ON "Assignment"("createdBy"); CREATE INDEX "Assignment_createdBy_idx" ON "Assignment"("createdBy");
@@ -183,7 +183,7 @@ CREATE INDEX "Movement_itemId_idx" ON "Movement"("itemId");
CREATE INDEX "Movement_assetId_idx" ON "Movement"("assetId"); CREATE INDEX "Movement_assetId_idx" ON "Movement"("assetId");
-- CreateIndex -- CreateIndex
CREATE INDEX "Movement_recipientId_idx" ON "Movement"("recipientId"); CREATE INDEX "Movement_personId_idx" ON "Movement"("personId");
-- CreateIndex -- CreateIndex
CREATE INDEX "Movement_type_idx" ON "Movement"("type"); CREATE INDEX "Movement_type_idx" ON "Movement"("type");
@@ -207,7 +207,7 @@ ALTER TABLE "Assignment" ADD CONSTRAINT "Assignment_itemId_fkey" FOREIGN KEY ("i
ALTER TABLE "Assignment" ADD CONSTRAINT "Assignment_assetId_fkey" FOREIGN KEY ("assetId") REFERENCES "Asset"("id") ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE "Assignment" ADD CONSTRAINT "Assignment_assetId_fkey" FOREIGN KEY ("assetId") REFERENCES "Asset"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE "Assignment" ADD CONSTRAINT "Assignment_recipientId_fkey" FOREIGN KEY ("recipientId") REFERENCES "Person"("id") ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE "Assignment" ADD CONSTRAINT "Assignment_personId_fkey" FOREIGN KEY ("personId") REFERENCES "Person"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE "Assignment" ADD CONSTRAINT "Assignment_createdBy_fkey" FOREIGN KEY ("createdBy") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE "Assignment" ADD CONSTRAINT "Assignment_createdBy_fkey" FOREIGN KEY ("createdBy") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
@@ -219,7 +219,7 @@ ALTER TABLE "Movement" ADD CONSTRAINT "Movement_itemId_fkey" FOREIGN KEY ("itemI
ALTER TABLE "Movement" ADD CONSTRAINT "Movement_assetId_fkey" FOREIGN KEY ("assetId") REFERENCES "Asset"("id") ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE "Movement" ADD CONSTRAINT "Movement_assetId_fkey" FOREIGN KEY ("assetId") REFERENCES "Asset"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE "Movement" ADD CONSTRAINT "Movement_recipientId_fkey" FOREIGN KEY ("recipientId") REFERENCES "Person"("id") ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE "Movement" ADD CONSTRAINT "Movement_personId_fkey" FOREIGN KEY ("personId") REFERENCES "Person"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE "Movement" ADD CONSTRAINT "Movement_assignmentId_fkey" FOREIGN KEY ("assignmentId") REFERENCES "Assignment"("id") ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE "Movement" ADD CONSTRAINT "Movement_assignmentId_fkey" FOREIGN KEY ("assignmentId") REFERENCES "Assignment"("id") ON DELETE SET NULL ON UPDATE CASCADE;
+6 -6
View File
@@ -133,8 +133,8 @@ model Assignment {
item Item? @relation(fields: [itemId], references: [id], onDelete: SetNull, onUpdate: Cascade) item Item? @relation(fields: [itemId], references: [id], onDelete: SetNull, onUpdate: Cascade)
assetId String? @unique assetId String? @unique
asset Asset? @relation(fields: [assetId], references: [id], onDelete: SetNull, onUpdate: Cascade) asset Asset? @relation(fields: [assetId], references: [id], onDelete: SetNull, onUpdate: Cascade)
recipientId String? personId String?
person Person? @relation(fields: [recipientId], references: [id], onDelete: Cascade, onUpdate: Cascade) person Person? @relation(fields: [personId], references: [id], onDelete: Cascade, onUpdate: Cascade)
assignmentDate DateTime @default(now()) assignmentDate DateTime @default(now())
returnDate DateTime? returnDate DateTime?
createdBy String createdBy String
@@ -145,7 +145,7 @@ model Assignment {
@@index([itemId]) @@index([itemId])
@@index([assetId]) @@index([assetId])
@@index([recipientId]) @@index([personId])
@@index([createdBy]) @@index([createdBy])
} }
@@ -170,8 +170,8 @@ model Movement {
asset Asset? @relation(fields: [assetId], references: [id], onDelete: SetNull, onUpdate: Cascade) asset Asset? @relation(fields: [assetId], references: [id], onDelete: SetNull, onUpdate: Cascade)
previousStock Int? previousStock Int?
newStock Int? newStock Int?
recipientId String? personId String?
person Person? @relation(fields: [recipientId], references: [id], onDelete: SetNull, onUpdate: Cascade) person Person? @relation(fields: [personId], references: [id], onDelete: SetNull, onUpdate: Cascade)
assignmentId String? assignmentId String?
assignment Assignment? @relation(fields: [assignmentId], references: [id], onDelete: SetNull, onUpdate: Cascade) assignment Assignment? @relation(fields: [assignmentId], references: [id], onDelete: SetNull, onUpdate: Cascade)
userId String userId String
@@ -180,7 +180,7 @@ model Movement {
@@index([itemId]) @@index([itemId])
@@index([assetId]) @@index([assetId])
@@index([recipientId]) @@index([personId])
@@index([type]) @@index([type])
@@index([userId]) @@index([userId])
} }
@@ -42,7 +42,7 @@ export default async function EditAssignmentPage({
initialData={{ initialData={{
...assignment, ...assignment,
id: assignment.id, id: assignment.id,
personId: assignment.recipientId ?? "", personId: assignment.personId ?? "",
itemId: assignment.itemId ?? undefined, itemId: assignment.itemId ?? undefined,
assetId: assignment.assetId ?? undefined, assetId: assignment.assetId ?? undefined,
quantity: assignment.quantity ?? undefined, quantity: assignment.quantity ?? undefined,
@@ -64,7 +64,7 @@ export default function EditAssetForm({
serialNumber: asset.serialNumber, serialNumber: asset.serialNumber,
deliveryNote: asset.deliveryNote ?? undefined, deliveryNote: asset.deliveryNote ?? undefined,
status: asset.status as UpdateAssetStatus, status: asset.status as UpdateAssetStatus,
personId: asset.assignment?.recipientId ?? undefined, personId: asset.assignment?.personId ?? undefined,
}, },
shouldFocusError: true, shouldFocusError: true,
mode: "onSubmit", mode: "onSubmit",
+4 -4
View File
@@ -83,7 +83,7 @@ export const AssignmentService = {
personId: string, personId: string,
): Promise<AssignmentWithPersonItemAsset[]> => { ): Promise<AssignmentWithPersonItemAsset[]> => {
return prisma.assignment.findMany({ return prisma.assignment.findMany({
where: { recipientId: personId }, where: { personId: personId },
include: { include: {
person: true, person: true,
item: true, item: true,
@@ -99,7 +99,7 @@ export const AssignmentService = {
return db.assignment.create({ return db.assignment.create({
data: { data: {
...rest, ...rest,
recipientId: personId, personId: personId,
}, },
}) })
}, },
@@ -108,7 +108,7 @@ export const AssignmentService = {
where: { id }, where: { id },
data: { data: {
returnDate: new Date(), returnDate: new Date(),
recipientId: null, personId: null,
quantity: null, quantity: null,
assetId: null, assetId: null,
itemId: null, itemId: null,
@@ -126,7 +126,7 @@ export const AssignmentService = {
}, },
data: { data: {
returnDate: new Date(), returnDate: new Date(),
recipientId: null, personId: null,
quantity: null, quantity: null,
assetId: null, assetId: null,
itemId: null, itemId: null,
+1 -1
View File
@@ -55,7 +55,7 @@ export const MovementService = {
return await db.movement.create({ return await db.movement.create({
data: { data: {
...rest, ...rest,
recipientId: personId, personId: personId,
}, },
}) })
}, },
+6 -6
View File
@@ -93,7 +93,7 @@ function getAssetTransition({
willBeAssigned: nextStatus === "ASSIGNED", willBeAssigned: nextStatus === "ASSIGNED",
wasAvailable: previousStatus === "AVAILABLE", wasAvailable: previousStatus === "AVAILABLE",
willBeAvailable: nextStatus === "AVAILABLE", willBeAvailable: nextStatus === "AVAILABLE",
personChanged: activeAssignment?.recipientId !== nextPersonId, personChanged: activeAssignment?.personId !== nextPersonId,
} }
} }
@@ -162,7 +162,7 @@ export async function createAssetUseCase(
assetId: newAsset.id, assetId: newAsset.id,
quantity: 1, quantity: 1,
type: status === "ASSIGNED" ? "ASSIGNMENT" : "IN", type: status === "ASSIGNED" ? "ASSIGNMENT" : "IN",
personId: createdAssignment?.recipientId || undefined, personId: createdAssignment?.personId || undefined,
assignmentId: createdAssignment?.id, assignmentId: createdAssignment?.id,
userId: actorId, userId: actorId,
}, },
@@ -277,7 +277,7 @@ export async function updateAssetUseCase(
? transition.nextItemId ? transition.nextItemId
: activeAssignment.itemId || undefined, : activeAssignment.itemId || undefined,
assetId: activeAssignment.assetId || undefined, assetId: activeAssignment.assetId || undefined,
personId: activeAssignment.recipientId || undefined, personId: activeAssignment.personId || undefined,
assignmentId: activeAssignment.id, assignmentId: activeAssignment.id,
userId: actorId, userId: actorId,
}, },
@@ -419,7 +419,7 @@ export async function updateAssetUseCase(
quantity: activeAssignment.quantity || 1, quantity: activeAssignment.quantity || 1,
itemId: activeAssignment.itemId || undefined, itemId: activeAssignment.itemId || undefined,
assetId: activeAssignment.assetId || undefined, assetId: activeAssignment.assetId || undefined,
personId: activeAssignment.recipientId || undefined, personId: activeAssignment.personId || undefined,
assignmentId: activeAssignment.id, assignmentId: activeAssignment.id,
userId: actorId, userId: actorId,
}, },
@@ -445,7 +445,7 @@ export async function updateAssetUseCase(
createdBy: actorId, createdBy: actorId,
itemId, itemId,
assetId: id, assetId: id,
recipientId: transition.nextPersonId, personId: transition.nextPersonId,
quantity: 1, quantity: 1,
returnDate: null, returnDate: null,
}, },
@@ -457,7 +457,7 @@ export async function updateAssetUseCase(
{ {
itemId, itemId,
assetId: id, assetId: id,
recipientId: transition.nextPersonId, personId: transition.nextPersonId,
quantity: 1, quantity: 1,
returnDate: null, returnDate: null,
}, },
+4 -4
View File
@@ -216,14 +216,14 @@ export async function updateAssignmentUseCase(
} }
} }
if (assignment.recipientId !== personId) { if (assignment.personId !== personId) {
await MovementService.create( await MovementService.create(
{ {
type: "RETURN", type: "RETURN",
quantity: assignment.quantity || 1, quantity: assignment.quantity || 1,
itemId: assignment.itemId || undefined, itemId: assignment.itemId || undefined,
assetId: assignment.assetId || undefined, assetId: assignment.assetId || undefined,
personId: assignment.recipientId || undefined, personId: assignment.personId || undefined,
assignmentId: id, assignmentId: id,
userId: actorId, userId: actorId,
}, },
@@ -247,7 +247,7 @@ export async function updateAssignmentUseCase(
id, id,
{ {
createdBy: actorId, createdBy: actorId,
recipientId: personId, personId: personId,
itemId, itemId,
assetId, assetId,
quantity, quantity,
@@ -261,7 +261,7 @@ export async function updateAssignmentUseCase(
await AssignmentService.update( await AssignmentService.update(
id, id,
{ {
recipientId: personId, personId: personId,
itemId, itemId,
assetId, assetId,
quantity, quantity,
@@ -114,7 +114,7 @@ describe("asset use-cases", () => {
expect(assignment).toMatchObject({ expect(assignment).toMatchObject({
itemId: item.id, itemId: item.id,
assetId: result.assetId, assetId: result.assetId,
recipientId: person.id, personId: person.id,
quantity: 1, quantity: 1,
createdBy: actor.id, createdBy: actor.id,
returnDate: null, returnDate: null,
@@ -124,7 +124,7 @@ describe("asset use-cases", () => {
type: "ASSIGNMENT", type: "ASSIGNMENT",
itemId: item.id, itemId: item.id,
assetId: result.assetId, assetId: result.assetId,
recipientId: person.id, personId: person.id,
assignmentId: assignment.id, assignmentId: assignment.id,
quantity: 1, quantity: 1,
userId: actor.id, userId: actor.id,
@@ -170,7 +170,7 @@ describe("asset use-cases", () => {
expect(activeAssignment).toMatchObject({ expect(activeAssignment).toMatchObject({
itemId: item.id, itemId: item.id,
assetId: created.assetId, assetId: created.assetId,
recipientId: person.id, personId: person.id,
quantity: 1, quantity: 1,
}) })
@@ -202,7 +202,7 @@ describe("asset use-cases", () => {
expect(returnedAssignment).toMatchObject({ expect(returnedAssignment).toMatchObject({
itemId: null, itemId: null,
assetId: null, assetId: null,
recipientId: null, personId: null,
quantity: null, quantity: null,
}) })
expect(movements).toHaveLength(3) expect(movements).toHaveLength(3)
@@ -214,7 +214,7 @@ describe("asset use-cases", () => {
expect(movements[1]).toMatchObject({ expect(movements[1]).toMatchObject({
itemId: item.id, itemId: item.id,
assetId: created.assetId, assetId: created.assetId,
recipientId: person.id, personId: person.id,
assignmentId: activeAssignment.id, assignmentId: activeAssignment.id,
quantity: 1, quantity: 1,
userId: actor.id, userId: actor.id,
@@ -282,7 +282,7 @@ describe("asset use-cases", () => {
type: "RETURN", type: "RETURN",
itemId: item.id, itemId: item.id,
assetId: created.assetId, assetId: created.assetId,
recipientId: person.id, personId: person.id,
assignmentId: activeAssignment.id, assignmentId: activeAssignment.id,
quantity: 1, quantity: 1,
userId: actor.id, userId: actor.id,
@@ -68,7 +68,7 @@ describe("assignment use-cases", () => {
expect(updatedItem.stock).toBe(3) expect(updatedItem.stock).toBe(3)
expect(assignment).toMatchObject({ expect(assignment).toMatchObject({
itemId: item.id, itemId: item.id,
recipientId: person.id, personId: person.id,
quantity: 2, quantity: 2,
notes: "Initial assignment", notes: "Initial assignment",
createdBy: actor.id, createdBy: actor.id,
@@ -79,7 +79,7 @@ describe("assignment use-cases", () => {
expect(movements[0]).toMatchObject({ expect(movements[0]).toMatchObject({
type: "ASSIGNMENT", type: "ASSIGNMENT",
itemId: item.id, itemId: item.id,
recipientId: person.id, personId: person.id,
assignmentId: result.assignmentId, assignmentId: result.assignmentId,
quantity: 2, quantity: 2,
userId: actor.id, userId: actor.id,
@@ -150,7 +150,7 @@ describe("assignment use-cases", () => {
expect(assignment).toMatchObject({ expect(assignment).toMatchObject({
itemId: null, itemId: null,
assetId: null, assetId: null,
recipientId: null, personId: null,
quantity: null, quantity: null,
}) })
expect(movements).toHaveLength(2) expect(movements).toHaveLength(2)