role perms
This commit is contained in:
@@ -2,6 +2,7 @@ import { Entity, ManyToOne, Opt, Property } from '@mikro-orm/core';
|
||||
|
||||
import { User } from './user.entity';
|
||||
import { BaseEntity } from '../../../common/entities/base.entity';
|
||||
import { Restaurant } from '../../../modules/restaurants/entities/restaurant.entity';
|
||||
|
||||
@Entity({ tableName: 'refreshtokens' })
|
||||
export class RefreshToken extends BaseEntity {
|
||||
@@ -11,6 +12,9 @@ export class RefreshToken extends BaseEntity {
|
||||
@ManyToOne(() => User, { deleteRule: 'cascade' })
|
||||
user!: User;
|
||||
|
||||
@ManyToOne(() => Restaurant, { deleteRule: 'cascade' })
|
||||
restaurant!: Restaurant;
|
||||
|
||||
@Property({ type: 'timestamptz' })
|
||||
expiresAt!: Date;
|
||||
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
import { EntityRepository } from '@mikro-orm/postgresql';
|
||||
import type { User } from '../entities/user.entity';
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { EntityManager, EntityRepository } from '@mikro-orm/postgresql';
|
||||
import { User } from '../entities/user.entity';
|
||||
|
||||
export class UserRepository extends EntityRepository<User> {}
|
||||
@Injectable()
|
||||
export class UserRepository extends EntityRepository<User> {
|
||||
constructor(readonly em: EntityManager) {
|
||||
super(em, User);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,10 +15,13 @@ export class UserController {
|
||||
@Get('/me')
|
||||
async getUser(@Req() req: AuthRequest) {
|
||||
const userId = req.userId;
|
||||
const restId = req.restId;
|
||||
const user = await this.userService.findById(userId);
|
||||
return {
|
||||
message: `GET request: Retrieving profile for authenticated user `,
|
||||
user,
|
||||
userId,
|
||||
restId,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -4,11 +4,12 @@ import { UserController } from './user.controller';
|
||||
import { MikroOrmModule } from '@mikro-orm/nestjs';
|
||||
import { User } from './entities/user.entity';
|
||||
import { JwtModule } from '@nestjs/jwt';
|
||||
import { UserRepository } from './repositories/user.repository';
|
||||
|
||||
@Module({
|
||||
providers: [UserService],
|
||||
providers: [UserService, UserRepository],
|
||||
controllers: [UserController],
|
||||
imports: [MikroOrmModule.forFeature([User]), JwtModule],
|
||||
exports: [UserService],
|
||||
exports: [UserService, UserRepository],
|
||||
})
|
||||
export class UserModule {}
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
import { Injectable, NotFoundException } from '@nestjs/common';
|
||||
import { InjectRepository } from '@mikro-orm/nestjs';
|
||||
import { EntityRepository, FilterQuery } from '@mikro-orm/core';
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { FilterQuery } from '@mikro-orm/core';
|
||||
import { User } from './entities/user.entity';
|
||||
import { EntityManager } from '@mikro-orm/postgresql';
|
||||
// import { UpdateUserDto } from './dto/update-user.dto';
|
||||
import { FindUsersDto } from './dto/find-user.dto';
|
||||
import { PaginatedResult } from 'src/common/interfaces/pagination.interface';
|
||||
import { UserRepository } from './repositories/user.repository';
|
||||
|
||||
@Injectable()
|
||||
export class UserService {
|
||||
constructor(
|
||||
@InjectRepository(User)
|
||||
private readonly userRepository: EntityRepository<User>,
|
||||
private readonly userRepository: UserRepository,
|
||||
private readonly em: EntityManager,
|
||||
) {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user