feat(server): init nestjs server (#1997)

Co-authored-by: himself65 <himself65@outlook.com>
This commit is contained in:
LongYinan
2023-04-18 11:24:44 +08:00
committed by GitHub
parent a92d0fff4a
commit 91c3040db7
28 changed files with 4191 additions and 17575 deletions

View File

@@ -0,0 +1,3 @@
import { WorkspaceModule } from './workspaces';
export const BusinessModules = [WorkspaceModule];

View File

@@ -0,0 +1,8 @@
import { Module } from '@nestjs/common';
import { WorkspaceResolver } from './resolver';
@Module({
providers: [WorkspaceResolver],
})
export class WorkspaceModule {}

View File

@@ -0,0 +1,47 @@
import {
Args,
Field,
ObjectType,
Query,
registerEnumType,
Resolver,
} from '@nestjs/graphql';
import type { workspaces } from '@prisma/client';
import { PrismaService } from '../../prisma/service';
export enum WorkspaceType {
Private = 0,
Normal = 1,
}
registerEnumType(WorkspaceType, {
name: 'WorkspaceType',
});
@ObjectType()
export class Workspace implements workspaces {
@Field()
id!: string;
@Field({ description: 'is Public workspace' })
public!: boolean;
@Field(() => WorkspaceType, { description: 'Workspace type' })
type!: WorkspaceType;
@Field({ description: 'Workspace created date' })
created_at!: Date;
}
@Resolver(() => Workspace)
export class WorkspaceResolver {
constructor(private readonly prisma: PrismaService) {}
@Query(() => Workspace, {
name: 'workspace',
description: 'Get workspace by id',
})
async workspace(@Args('id') id: string) {
return this.prisma.workspaces.findUnique({
where: { id },
});
}
}