add user module and jwt

This commit is contained in:
liuyi 2025-06-23 21:21:47 +08:00
parent ddb436cb9a
commit 9d23757f45
4 changed files with 6 additions and 5 deletions

View File

@ -90,6 +90,7 @@ export class PostEntity extends BaseEntity {
@OneToMany(() => CommentEntity, (comment) => comment.post, { cascade: true }) @OneToMany(() => CommentEntity, (comment) => comment.post, { cascade: true })
comments: Relation<CommentEntity>[]; comments: Relation<CommentEntity>[];
@Expose()
@ManyToOne(() => UserEntity, (user) => user.posts, { @ManyToOne(() => UserEntity, (user) => user.posts, {
nullable: false, nullable: false,
onDelete: 'CASCADE', onDelete: 'CASCADE',

View File

@ -1,6 +1,6 @@
import { join } from 'path'; import { join } from 'path';
import { Injectable } from '@nestjs/common'; import { Injectable, OnModuleInit } from '@nestjs/common';
import { ModuleRef } from '@nestjs/core'; import { ModuleRef } from '@nestjs/core';
import { DataSource, DataSourceOptions } from 'typeorm'; import { DataSource, DataSourceOptions } from 'typeorm';
@ -11,7 +11,7 @@ import { TypeormMigrationRun } from '@/modules/database/commands/typeorm.migrati
import { DBOptions } from '@/modules/database/types'; import { DBOptions } from '@/modules/database/types';
@Injectable() @Injectable()
export class AutoMigrateResolver { export class AutoMigrateResolver implements OnModuleInit {
constructor(private ref: ModuleRef) {} constructor(private ref: ModuleRef) {}
async onModuleInit() { async onModuleInit() {

View File

@ -50,7 +50,7 @@ export class UserEntity {
* *
*/ */
@Expose() @Expose()
@Column({ comment: '用户手机号', length: 64, nullable: false, unique: true }) @Column({ comment: '用户手机号', length: 64, nullable: true, unique: true })
phone?: string; phone?: string;
/** /**

View File

@ -1,6 +1,6 @@
import { BadGatewayException, ExecutionContext, Injectable } from '@nestjs/common'; import { BadGatewayException, ExecutionContext, Injectable } from '@nestjs/common';
import { AuthGuard } from '@nestjs/passport'; import { AuthGuard } from '@nestjs/passport';
import { plainToClass } from 'class-transformer'; import { plainToInstance } from 'class-transformer';
import { validateOrReject } from 'class-validator'; import { validateOrReject } from 'class-validator';
@ -14,7 +14,7 @@ export class LocalAuthGuard extends AuthGuard('local') {
async canActivate(context: ExecutionContext): Promise<boolean> { async canActivate(context: ExecutionContext): Promise<boolean> {
const request = context.switchToHttp().getRequest(); const request = context.switchToHttp().getRequest();
try { try {
await validateOrReject(plainToClass(CredentialDto, request.body), { await validateOrReject(plainToInstance(CredentialDto, request.body), {
validationError: { target: false }, validationError: { target: false },
}); });
} catch (error) { } catch (error) {