feat: prisma typed select (#347)

* feat: wip prisma gql select

* feat: stronger api using decorator

* feat: add PrismaSelect everywhere

* fix: remove unused

* fix: remove seed debug
This commit is contained in:
Jérémy M
2023-06-22 11:17:31 +02:00
committed by GitHub
parent eb9be6894e
commit ca283a2196
35 changed files with 1081 additions and 578 deletions

View File

@ -1,27 +0,0 @@
import { Test, TestingModule } from '@nestjs/testing';
import { WorkspaceMemberRelationsResolver } from './workspace-member-relations.resolver';
import { WorkspaceMemberService } from '../services/workspace-member.service';
describe('WorkspaceMemberRelationsResolver', () => {
let resolver: WorkspaceMemberRelationsResolver;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [
WorkspaceMemberRelationsResolver,
{
provide: WorkspaceMemberService,
useValue: {},
},
],
}).compile();
resolver = module.get<WorkspaceMemberRelationsResolver>(
WorkspaceMemberRelationsResolver,
);
});
it('should be defined', () => {
expect(resolver).toBeDefined();
});
});

View File

@ -1,42 +0,0 @@
import * as TypeGraphQL from '@nestjs/graphql';
import { User } from 'src/core/@generated/user/user.model';
import { WorkspaceMember } from 'src/core/@generated/workspace-member/workspace-member.model';
import { Workspace } from 'src/core/@generated/workspace/workspace.model';
import { WorkspaceMemberService } from '../services/workspace-member.service';
@TypeGraphQL.Resolver(() => WorkspaceMember)
export class WorkspaceMemberRelationsResolver {
constructor(
private readonly workspaceMemberSercice: WorkspaceMemberService,
) {}
@TypeGraphQL.ResolveField(() => User, {
nullable: false,
})
async user(
@TypeGraphQL.Parent() workspaceMember: WorkspaceMember,
): Promise<User> {
return await this.workspaceMemberSercice
.findUniqueOrThrow({
where: {
id: workspaceMember.id,
},
})
.user({});
}
@TypeGraphQL.ResolveField(() => Workspace, {
nullable: false,
})
async workspace(
@TypeGraphQL.Parent() workspaceMember: WorkspaceMember,
): Promise<Workspace> {
return this.workspaceMemberSercice
.findUniqueOrThrow({
where: {
id: workspaceMember.id,
},
})
.workspace({});
}
}

View File

@ -2,14 +2,12 @@ import { Module } from '@nestjs/common';
import { WorkspaceService } from './services/workspace.service';
import { WorkspaceMemberService } from './services/workspace-member.service';
import { WorkspaceMemberResolver } from './resolvers/workspace-member.resolver';
import { WorkspaceMemberRelationsResolver } from './resolvers/workspace-member-relations.resolver';
@Module({
providers: [
WorkspaceService,
WorkspaceMemberService,
WorkspaceMemberResolver,
WorkspaceMemberRelationsResolver,
],
exports: [WorkspaceService, WorkspaceMemberService],
})