feat: add workspace member assertion to remaining routers
This commit is contained in:
@@ -106,3 +106,25 @@ export const hardDelete = async (db: dbClient, labelId: number) => {
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
export const getWorkspaceAndLabelIdByLabelPublicId = async (
|
||||
db: dbClient,
|
||||
labelPublicId: string,
|
||||
) => {
|
||||
const result = await db.query.labels.findFirst({
|
||||
columns: { id: true },
|
||||
where: eq(labels.publicId, labelPublicId),
|
||||
with: {
|
||||
board: {
|
||||
columns: { workspaceId: true },
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
return result
|
||||
? {
|
||||
id: result.id,
|
||||
workspaceId: result.board.workspaceId,
|
||||
}
|
||||
: null;
|
||||
};
|
||||
|
||||
@@ -132,6 +132,7 @@ export const getByPublicIdWithMembers = (
|
||||
export const getBySlugWithBoards = (db: dbClient, workspaceSlug: string) => {
|
||||
return db.query.workspaces.findFirst({
|
||||
columns: {
|
||||
id: true,
|
||||
publicId: true,
|
||||
name: true,
|
||||
description: true,
|
||||
@@ -225,6 +226,7 @@ export const isUserInWorkspace = async (
|
||||
db: dbClient,
|
||||
userId: string,
|
||||
workspaceId: number,
|
||||
role?: "admin" | "member",
|
||||
) => {
|
||||
const result = await db.query.workspaceMembers.findFirst({
|
||||
columns: {
|
||||
@@ -235,6 +237,7 @@ export const isUserInWorkspace = async (
|
||||
eq(workspaceMembers.workspaceId, workspaceId),
|
||||
eq(workspaceMembers.status, "active"),
|
||||
isNull(workspaceMembers.deletedAt),
|
||||
role ? eq(workspaceMembers.role, role) : undefined,
|
||||
),
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user