fix: swich from insertId to returning
This commit is contained in:
@@ -48,28 +48,30 @@ export const cardRouter = createTRPCRouter({
|
|||||||
createdBy: userId,
|
createdBy: userId,
|
||||||
listId: list.id,
|
listId: list.id,
|
||||||
index: latestCard ? latestCard.index + 1 : 0
|
index: latestCard ? latestCard.index + 1 : 0
|
||||||
});
|
}).returning({ id: cards.id });
|
||||||
|
|
||||||
if (newCard.insertId && input.labelsPublicIds.length) {
|
const newCardId = newCard[0]?.id;
|
||||||
|
|
||||||
|
if (newCardId && input.labelsPublicIds.length) {
|
||||||
const labels = await tx.query.labels.findMany({
|
const labels = await tx.query.labels.findMany({
|
||||||
where: inArray(cards.publicId, input.labelsPublicIds),
|
where: inArray(cards.publicId, input.labelsPublicIds),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!labels.length) return;
|
if (!labels.length) return;
|
||||||
|
|
||||||
const labelsInsert = labels.map((label) => ({ cardId: Number(newCard.insertId), labelId: label.id }))
|
const labelsInsert = labels.map((label) => ({ cardId: newCardId, labelId: label.id }))
|
||||||
|
|
||||||
await tx.insert(cardsToLabels).values(labelsInsert);
|
await tx.insert(cardsToLabels).values(labelsInsert);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newCard.insertId && input.memberPublicIds.length) {
|
if (newCardId && input.memberPublicIds.length) {
|
||||||
const members = await tx.query.workspaceMembers.findMany({
|
const members = await tx.query.workspaceMembers.findMany({
|
||||||
where: inArray(workspaceMembers.publicId, input.memberPublicIds),
|
where: inArray(workspaceMembers.publicId, input.memberPublicIds),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!members.length) return;
|
if (!members.length) return;
|
||||||
|
|
||||||
const membersInsert = members.map((member) => ({ cardId: Number(newCard.insertId), workspaceMemberId: member.id}))
|
const membersInsert = members.map((member) => ({ cardId: newCardId, workspaceMemberId: member.id}))
|
||||||
|
|
||||||
await tx.insert(cardToWorkspaceMembers).values(membersInsert);
|
await tx.insert(cardToWorkspaceMembers).values(membersInsert);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -94,7 +94,9 @@ export const importRouter = createTRPCRouter({
|
|||||||
source: 'trello',
|
source: 'trello',
|
||||||
createdBy: userId,
|
createdBy: userId,
|
||||||
status: 'started'
|
status: 'started'
|
||||||
})
|
}).returning({ id: imports.id });
|
||||||
|
|
||||||
|
const newImportId = newImport[0]?.id;
|
||||||
|
|
||||||
let boardsCreated = 0;
|
let boardsCreated = 0;
|
||||||
|
|
||||||
@@ -126,11 +128,13 @@ export const importRouter = createTRPCRouter({
|
|||||||
publicId: generateUID(),
|
publicId: generateUID(),
|
||||||
name: data.name,
|
name: data.name,
|
||||||
createdBy: userId,
|
createdBy: userId,
|
||||||
importId: newImport.insertId,
|
importId: newImportId,
|
||||||
workspaceId: workspace.id
|
workspaceId: workspace.id
|
||||||
});
|
}).returning({ id: boards.id });
|
||||||
|
|
||||||
if (!newBoard?.insertId) return;
|
const newBoardId = newBoard[0]?.id
|
||||||
|
|
||||||
|
if (!newBoardId) return;
|
||||||
|
|
||||||
let listIndex = 0;
|
let listIndex = 0;
|
||||||
|
|
||||||
@@ -139,20 +143,22 @@ export const importRouter = createTRPCRouter({
|
|||||||
publicId: generateUID(),
|
publicId: generateUID(),
|
||||||
name: list.name,
|
name: list.name,
|
||||||
createdBy: userId,
|
createdBy: userId,
|
||||||
boardId: Number(newBoard.insertId),
|
boardId: newBoardId,
|
||||||
index: listIndex,
|
index: listIndex,
|
||||||
importId: newImport.insertId
|
importId: newImportId
|
||||||
});
|
}).returning({ id: lists.id });
|
||||||
|
|
||||||
if (list.cards.length) {
|
const newListId = newList[0]?.id
|
||||||
|
|
||||||
|
if (list.cards.length && newListId) {
|
||||||
const cardsInsert = list.cards.map((card, index) => ({
|
const cardsInsert = list.cards.map((card, index) => ({
|
||||||
publicId: generateUID(),
|
publicId: generateUID(),
|
||||||
title: card.name,
|
title: card.name,
|
||||||
description: card.description,
|
description: card.description,
|
||||||
createdBy: userId,
|
createdBy: userId,
|
||||||
listId: Number(newList.insertId),
|
listId: newListId,
|
||||||
index,
|
index,
|
||||||
importId: newImport.insertId
|
importId: newImportId
|
||||||
}))
|
}))
|
||||||
|
|
||||||
await tx.insert(cards).values(cardsInsert);
|
await tx.insert(cards).values(cardsInsert);
|
||||||
@@ -165,10 +171,10 @@ export const importRouter = createTRPCRouter({
|
|||||||
boardsCreated ++
|
boardsCreated ++
|
||||||
}
|
}
|
||||||
|
|
||||||
if (boardsCreated > 0) {
|
if (boardsCreated > 0 && newImportId) {
|
||||||
await ctx.db.update(imports)
|
await ctx.db.update(imports)
|
||||||
.set({ status: 'success' })
|
.set({ status: 'success' })
|
||||||
.where(eq(imports.id, Number(newImport.insertId)))
|
.where(eq(imports.id, newImportId))
|
||||||
}
|
}
|
||||||
|
|
||||||
return { boardsCreated }
|
return { boardsCreated }
|
||||||
|
|||||||
@@ -43,11 +43,15 @@ export const labelRouter = createTRPCRouter({
|
|||||||
colourCode: input.colourCode,
|
colourCode: input.colourCode,
|
||||||
createdBy: userId,
|
createdBy: userId,
|
||||||
boardId: card.list.boardId,
|
boardId: card.list.boardId,
|
||||||
});
|
}).returning({ id: labels.id });
|
||||||
|
|
||||||
|
const newLabelId = newLabel[0]?.id
|
||||||
|
|
||||||
|
if (!newLabelId) return;
|
||||||
|
|
||||||
return tx.insert(cardsToLabels).values({
|
return tx.insert(cardsToLabels).values({
|
||||||
cardId: card.id,
|
cardId: card.id,
|
||||||
labelId: Number(newLabel.insertId),
|
labelId: newLabelId,
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
}),
|
}),
|
||||||
|
|||||||
@@ -79,18 +79,22 @@ export const workspaceRouter = createTRPCRouter({
|
|||||||
name: input.name,
|
name: input.name,
|
||||||
slug: input.name.toLowerCase(),
|
slug: input.name.toLowerCase(),
|
||||||
createdBy: userId,
|
createdBy: userId,
|
||||||
});
|
}).returning({ id: workspaces.id });
|
||||||
|
|
||||||
|
const workspaceId = workspace[0]?.id;
|
||||||
|
|
||||||
|
if (!workspaceId) return;
|
||||||
|
|
||||||
await ctx.db.insert(workspaceMembers).values({
|
await ctx.db.insert(workspaceMembers).values({
|
||||||
publicId: generateUID(),
|
publicId: generateUID(),
|
||||||
userId,
|
userId,
|
||||||
workspaceId: Number(workspace.insertId),
|
workspaceId: workspaceId,
|
||||||
createdBy: userId,
|
createdBy: userId,
|
||||||
role: 'admin'
|
role: 'admin'
|
||||||
})
|
})
|
||||||
|
|
||||||
return ctx.db.query.workspaces.findFirst({
|
return ctx.db.query.workspaces.findFirst({
|
||||||
where: eq(workspaces.id, Number(workspace.insertId)),
|
where: eq(workspaces.id, workspaceId),
|
||||||
columns: {
|
columns: {
|
||||||
publicId: true,
|
publicId: true,
|
||||||
name: true,
|
name: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user