role perms

This commit is contained in:
2025-11-12 09:28:56 +03:30
parent 046286b559
commit 440c3721ce
31 changed files with 488 additions and 98 deletions
@@ -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);
}
}
+3
View File
@@ -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,
};
}
+3 -2
View File
@@ -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 {}
+4 -5
View File
@@ -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,
) {}