Compare commits
1 Commits
fix/worksp
...
fix/ci-lin
| Author | SHA1 | Date | |
|---|---|---|---|
| 240566646f |
@@ -29,25 +29,6 @@ export class WorkspacesController {
|
|||||||
return this.workspacesService.getUserWorkspaces(user.id);
|
return this.workspacesService.getUserWorkspaces(user.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* GET /api/workspaces/:workspaceId/stats
|
|
||||||
* Returns member, project, and domain counts for a workspace.
|
|
||||||
*/
|
|
||||||
@Get(":workspaceId/stats")
|
|
||||||
async getStats(@Param("workspaceId") workspaceId: string) {
|
|
||||||
return this.workspacesService.getStats(workspaceId);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GET /api/workspaces/:workspaceId/members
|
|
||||||
* Returns the list of members for a workspace.
|
|
||||||
*/
|
|
||||||
@Get(":workspaceId/members")
|
|
||||||
@UseGuards(WorkspaceGuard)
|
|
||||||
async getMembers(@Param("workspaceId") workspaceId: string) {
|
|
||||||
return this.workspacesService.getMembers(workspaceId);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* POST /api/workspaces/:workspaceId/members
|
* POST /api/workspaces/:workspaceId/members
|
||||||
* Add a member to a workspace with the specified role.
|
* Add a member to a workspace with the specified role.
|
||||||
|
|||||||
@@ -321,18 +321,6 @@ export class WorkspacesService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get members of a workspace.
|
|
||||||
*/
|
|
||||||
async getMembers(workspaceId: string) {
|
|
||||||
return this.prisma.workspaceMember.findMany({
|
|
||||||
where: { workspaceId },
|
|
||||||
include: {
|
|
||||||
user: { select: { id: true, name: true, email: true, createdAt: true } },
|
|
||||||
},
|
|
||||||
orderBy: { joinedAt: "asc" },
|
|
||||||
});
|
|
||||||
}
|
|
||||||
private assertCanAssignRole(
|
private assertCanAssignRole(
|
||||||
actorRole: WorkspaceMemberRole,
|
actorRole: WorkspaceMemberRole,
|
||||||
requestedRole: WorkspaceMemberRole
|
requestedRole: WorkspaceMemberRole
|
||||||
@@ -354,15 +342,4 @@ export class WorkspacesService {
|
|||||||
private isUniqueConstraintError(error: unknown): error is Prisma.PrismaClientKnownRequestError {
|
private isUniqueConstraintError(error: unknown): error is Prisma.PrismaClientKnownRequestError {
|
||||||
return error instanceof Prisma.PrismaClientKnownRequestError && error.code === "P2002";
|
return error instanceof Prisma.PrismaClientKnownRequestError && error.code === "P2002";
|
||||||
}
|
}
|
||||||
|
|
||||||
async getStats(
|
|
||||||
workspaceId: string
|
|
||||||
): Promise<{ memberCount: number; projectCount: number; domainCount: number }> {
|
|
||||||
const [memberCount, projectCount, domainCount] = await Promise.all([
|
|
||||||
this.prisma.workspaceMember.count({ where: { workspaceId } }),
|
|
||||||
this.prisma.project.count({ where: { workspaceId } }),
|
|
||||||
this.prisma.domain.count({ where: { workspaceId } }),
|
|
||||||
]);
|
|
||||||
return { memberCount, projectCount, domainCount };
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user