Add workspace members (#536)

* Add workspace members

* Remove workspace provider

* Lint
This commit is contained in:
Emilien Chauvet
2023-07-07 18:56:22 -07:00
committed by GitHub
parent 66dcc9b2e1
commit c26a7fda9a
9 changed files with 212 additions and 1 deletions

View File

@ -1,4 +1,4 @@
import { Args, Mutation, Resolver } from '@nestjs/graphql';
import { Query, Args, Mutation, Resolver } from '@nestjs/graphql';
import { UseGuards } from '@nestjs/common';
import { Workspace } from 'src/core/@generated/workspace/workspace.model';
import { WorkspaceService } from '../services/workspace.service';
@ -10,6 +10,7 @@ import { AuthWorkspace } from 'src/decorators/auth-workspace.decorator';
import { WorkspaceUpdateInput } from 'src/core/@generated/workspace/workspace-update.input';
import { JwtAuthGuard } from 'src/guards/jwt.auth.guard';
import { Prisma } from '@prisma/client';
import { assert } from 'src/utils/assert';
@UseGuards(JwtAuthGuard)
@Resolver(() => Workspace)
@ -33,4 +34,21 @@ export class WorkspaceResolver {
select: prismaSelect.value,
} as Prisma.WorkspaceUpdateArgs);
}
@Query(() => Workspace)
async currentWorkspace(
@AuthWorkspace() workspace: Workspace,
@PrismaSelector({ modelName: 'User' })
prismaSelect: PrismaSelect<'User'>,
) {
const selectedWorkspace = await this.workspaceService.findUnique({
where: {
id: workspace.id,
},
select: prismaSelect.value,
});
assert(selectedWorkspace, 'User not found');
return selectedWorkspace;
}
}