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,
"itemId" TEXT,
"assetId" TEXT,
"recipientId" TEXT,
"personId" TEXT,
"assignmentDate" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"returnDate" TIMESTAMP(3),
"createdBy" TEXT NOT NULL,
@@ -111,7 +111,7 @@ CREATE TABLE "Movement" (
"assetId" TEXT,
"previousStock" INTEGER,
"newStock" INTEGER,
"recipientId" TEXT,
"personId" TEXT,
"assignmentId" TEXT,
"userId" TEXT NOT NULL,
"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");
-- CreateIndex
CREATE INDEX "Assignment_recipientId_idx" ON "Assignment"("recipientId");
CREATE INDEX "Assignment_personId_idx" ON "Assignment"("personId");
-- CreateIndex
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");
-- CreateIndex
CREATE INDEX "Movement_recipientId_idx" ON "Movement"("recipientId");
CREATE INDEX "Movement_personId_idx" ON "Movement"("personId");
-- CreateIndex
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;
-- 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
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;
-- 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
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)
assetId String? @unique
asset Asset? @relation(fields: [assetId], references: [id], onDelete: SetNull, onUpdate: Cascade)
recipientId String?
person Person? @relation(fields: [recipientId], references: [id], onDelete: Cascade, onUpdate: Cascade)
personId String?
person Person? @relation(fields: [personId], references: [id], onDelete: Cascade, onUpdate: Cascade)
assignmentDate DateTime @default(now())
returnDate DateTime?
createdBy String
@@ -145,7 +145,7 @@ model Assignment {
@@index([itemId])
@@index([assetId])
@@index([recipientId])
@@index([personId])
@@index([createdBy])
}
@@ -170,8 +170,8 @@ model Movement {
asset Asset? @relation(fields: [assetId], references: [id], onDelete: SetNull, onUpdate: Cascade)
previousStock Int?
newStock Int?
recipientId String?
person Person? @relation(fields: [recipientId], references: [id], onDelete: SetNull, onUpdate: Cascade)
personId String?
person Person? @relation(fields: [personId], references: [id], onDelete: SetNull, onUpdate: Cascade)
assignmentId String?
assignment Assignment? @relation(fields: [assignmentId], references: [id], onDelete: SetNull, onUpdate: Cascade)
userId String
@@ -180,7 +180,7 @@ model Movement {
@@index([itemId])
@@index([assetId])
@@index([recipientId])
@@index([personId])
@@index([type])
@@index([userId])
}
@@ -42,7 +42,7 @@ export default async function EditAssignmentPage({
initialData={{
...assignment,
id: assignment.id,
personId: assignment.recipientId ?? "",
personId: assignment.personId ?? "",
itemId: assignment.itemId ?? undefined,
assetId: assignment.assetId ?? undefined,
quantity: assignment.quantity ?? undefined,
@@ -64,7 +64,7 @@ export default function EditAssetForm({
serialNumber: asset.serialNumber,
deliveryNote: asset.deliveryNote ?? undefined,
status: asset.status as UpdateAssetStatus,
personId: asset.assignment?.recipientId ?? undefined,
personId: asset.assignment?.personId ?? undefined,
},
shouldFocusError: true,
mode: "onSubmit",
+4 -4
View File
@@ -83,7 +83,7 @@ export const AssignmentService = {
personId: string,
): Promise<AssignmentWithPersonItemAsset[]> => {
return prisma.assignment.findMany({
where: { recipientId: personId },
where: { personId: personId },
include: {
person: true,
item: true,
@@ -99,7 +99,7 @@ export const AssignmentService = {
return db.assignment.create({
data: {
...rest,
recipientId: personId,
personId: personId,
},
})
},
@@ -108,7 +108,7 @@ export const AssignmentService = {
where: { id },
data: {
returnDate: new Date(),
recipientId: null,
personId: null,
quantity: null,
assetId: null,
itemId: null,
@@ -126,7 +126,7 @@ export const AssignmentService = {
},
data: {
returnDate: new Date(),
recipientId: null,
personId: null,
quantity: null,
assetId: null,
itemId: null,
+1 -1
View File
@@ -55,7 +55,7 @@ export const MovementService = {
return await db.movement.create({
data: {
...rest,
recipientId: personId,
personId: personId,
},
})
},
+6 -6
View File
@@ -93,7 +93,7 @@ function getAssetTransition({
willBeAssigned: nextStatus === "ASSIGNED",
wasAvailable: previousStatus === "AVAILABLE",
willBeAvailable: nextStatus === "AVAILABLE",
personChanged: activeAssignment?.recipientId !== nextPersonId,
personChanged: activeAssignment?.personId !== nextPersonId,
}
}
@@ -162,7 +162,7 @@ export async function createAssetUseCase(
assetId: newAsset.id,
quantity: 1,
type: status === "ASSIGNED" ? "ASSIGNMENT" : "IN",
personId: createdAssignment?.recipientId || undefined,
personId: createdAssignment?.personId || undefined,
assignmentId: createdAssignment?.id,
userId: actorId,
},
@@ -277,7 +277,7 @@ export async function updateAssetUseCase(
? transition.nextItemId
: activeAssignment.itemId || undefined,
assetId: activeAssignment.assetId || undefined,
personId: activeAssignment.recipientId || undefined,
personId: activeAssignment.personId || undefined,
assignmentId: activeAssignment.id,
userId: actorId,
},
@@ -419,7 +419,7 @@ export async function updateAssetUseCase(
quantity: activeAssignment.quantity || 1,
itemId: activeAssignment.itemId || undefined,
assetId: activeAssignment.assetId || undefined,
personId: activeAssignment.recipientId || undefined,
personId: activeAssignment.personId || undefined,
assignmentId: activeAssignment.id,
userId: actorId,
},
@@ -445,7 +445,7 @@ export async function updateAssetUseCase(
createdBy: actorId,
itemId,
assetId: id,
recipientId: transition.nextPersonId,
personId: transition.nextPersonId,
quantity: 1,
returnDate: null,
},
@@ -457,7 +457,7 @@ export async function updateAssetUseCase(
{
itemId,
assetId: id,
recipientId: transition.nextPersonId,
personId: transition.nextPersonId,
quantity: 1,
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(
{
type: "RETURN",
quantity: assignment.quantity || 1,
itemId: assignment.itemId || undefined,
assetId: assignment.assetId || undefined,
personId: assignment.recipientId || undefined,
personId: assignment.personId || undefined,
assignmentId: id,
userId: actorId,
},
@@ -247,7 +247,7 @@ export async function updateAssignmentUseCase(
id,
{
createdBy: actorId,
recipientId: personId,
personId: personId,
itemId,
assetId,
quantity,
@@ -261,7 +261,7 @@ export async function updateAssignmentUseCase(
await AssignmentService.update(
id,
{
recipientId: personId,
personId: personId,
itemId,
assetId,
quantity,
@@ -114,7 +114,7 @@ describe("asset use-cases", () => {
expect(assignment).toMatchObject({
itemId: item.id,
assetId: result.assetId,
recipientId: person.id,
personId: person.id,
quantity: 1,
createdBy: actor.id,
returnDate: null,
@@ -124,7 +124,7 @@ describe("asset use-cases", () => {
type: "ASSIGNMENT",
itemId: item.id,
assetId: result.assetId,
recipientId: person.id,
personId: person.id,
assignmentId: assignment.id,
quantity: 1,
userId: actor.id,
@@ -170,7 +170,7 @@ describe("asset use-cases", () => {
expect(activeAssignment).toMatchObject({
itemId: item.id,
assetId: created.assetId,
recipientId: person.id,
personId: person.id,
quantity: 1,
})
@@ -202,7 +202,7 @@ describe("asset use-cases", () => {
expect(returnedAssignment).toMatchObject({
itemId: null,
assetId: null,
recipientId: null,
personId: null,
quantity: null,
})
expect(movements).toHaveLength(3)
@@ -214,7 +214,7 @@ describe("asset use-cases", () => {
expect(movements[1]).toMatchObject({
itemId: item.id,
assetId: created.assetId,
recipientId: person.id,
personId: person.id,
assignmentId: activeAssignment.id,
quantity: 1,
userId: actor.id,
@@ -282,7 +282,7 @@ describe("asset use-cases", () => {
type: "RETURN",
itemId: item.id,
assetId: created.assetId,
recipientId: person.id,
personId: person.id,
assignmentId: activeAssignment.id,
quantity: 1,
userId: actor.id,
@@ -68,7 +68,7 @@ describe("assignment use-cases", () => {
expect(updatedItem.stock).toBe(3)
expect(assignment).toMatchObject({
itemId: item.id,
recipientId: person.id,
personId: person.id,
quantity: 2,
notes: "Initial assignment",
createdBy: actor.id,
@@ -79,7 +79,7 @@ describe("assignment use-cases", () => {
expect(movements[0]).toMatchObject({
type: "ASSIGNMENT",
itemId: item.id,
recipientId: person.id,
personId: person.id,
assignmentId: result.assignmentId,
quantity: 2,
userId: actor.id,
@@ -150,7 +150,7 @@ describe("assignment use-cases", () => {
expect(assignment).toMatchObject({
itemId: null,
assetId: null,
recipientId: null,
personId: null,
quantity: null,
})
expect(movements).toHaveLength(2)