From 9d23757f45ac6cf5fbc387ca2f2499eadef9f479 Mon Sep 17 00:00:00 2001 From: liuyi Date: Mon, 23 Jun 2025 21:21:47 +0800 Subject: [PATCH] add user module and jwt --- src/modules/content/entities/post.entity.ts | 1 + src/modules/database/resolver/auto.migrate.ts | 4 ++-- src/modules/user/entities/user.entity.ts | 2 +- src/modules/user/guards/local.auth.guard.ts | 4 ++-- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/modules/content/entities/post.entity.ts b/src/modules/content/entities/post.entity.ts index 90db0da..98d6581 100644 --- a/src/modules/content/entities/post.entity.ts +++ b/src/modules/content/entities/post.entity.ts @@ -90,6 +90,7 @@ export class PostEntity extends BaseEntity { @OneToMany(() => CommentEntity, (comment) => comment.post, { cascade: true }) comments: Relation[]; + @Expose() @ManyToOne(() => UserEntity, (user) => user.posts, { nullable: false, onDelete: 'CASCADE', diff --git a/src/modules/database/resolver/auto.migrate.ts b/src/modules/database/resolver/auto.migrate.ts index bae285b..15df31c 100644 --- a/src/modules/database/resolver/auto.migrate.ts +++ b/src/modules/database/resolver/auto.migrate.ts @@ -1,6 +1,6 @@ import { join } from 'path'; -import { Injectable } from '@nestjs/common'; +import { Injectable, OnModuleInit } from '@nestjs/common'; import { ModuleRef } from '@nestjs/core'; import { DataSource, DataSourceOptions } from 'typeorm'; @@ -11,7 +11,7 @@ import { TypeormMigrationRun } from '@/modules/database/commands/typeorm.migrati import { DBOptions } from '@/modules/database/types'; @Injectable() -export class AutoMigrateResolver { +export class AutoMigrateResolver implements OnModuleInit { constructor(private ref: ModuleRef) {} async onModuleInit() { diff --git a/src/modules/user/entities/user.entity.ts b/src/modules/user/entities/user.entity.ts index 2e6e471..7b2021e 100644 --- a/src/modules/user/entities/user.entity.ts +++ b/src/modules/user/entities/user.entity.ts @@ -50,7 +50,7 @@ export class UserEntity { * 用户手机号 */ @Expose() - @Column({ comment: '用户手机号', length: 64, nullable: false, unique: true }) + @Column({ comment: '用户手机号', length: 64, nullable: true, unique: true }) phone?: string; /** diff --git a/src/modules/user/guards/local.auth.guard.ts b/src/modules/user/guards/local.auth.guard.ts index 1d596bb..eb18fef 100644 --- a/src/modules/user/guards/local.auth.guard.ts +++ b/src/modules/user/guards/local.auth.guard.ts @@ -1,6 +1,6 @@ import { BadGatewayException, ExecutionContext, Injectable } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; -import { plainToClass } from 'class-transformer'; +import { plainToInstance } from 'class-transformer'; import { validateOrReject } from 'class-validator'; @@ -14,7 +14,7 @@ export class LocalAuthGuard extends AuthGuard('local') { async canActivate(context: ExecutionContext): Promise { const request = context.switchToHttp().getRequest(); try { - await validateOrReject(plainToClass(CredentialDto, request.body), { + await validateOrReject(plainToInstance(CredentialDto, request.body), { validationError: { target: false }, }); } catch (error) {