create license management
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import {
|
||||
BadRequestException,
|
||||
createParamDecorator,
|
||||
ExecutionContext,
|
||||
ForbiddenException,
|
||||
} from '@nestjs/common'
|
||||
import { Request } from 'express'
|
||||
import { IConsumerPayload } from '../models'
|
||||
|
||||
export const ConsumerInfoInfo = createParamDecorator(
|
||||
(data: keyof IConsumerPayload | undefined, ctx: ExecutionContext) => {
|
||||
try {
|
||||
const request = ctx.switchToHttp().getRequest<Request>()
|
||||
const info = request.consumerData
|
||||
|
||||
if (!info) {
|
||||
throw new ForbiddenException('شما به این بخش دسترسی ندارید')
|
||||
}
|
||||
|
||||
if (data) {
|
||||
return info[data]
|
||||
}
|
||||
|
||||
return info
|
||||
} catch (err) {
|
||||
if (err) {
|
||||
throw err
|
||||
}
|
||||
|
||||
throw new BadRequestException('مشکلی در ساختار درخواست شما وجود دارد.')
|
||||
}
|
||||
},
|
||||
)
|
||||
@@ -14,7 +14,7 @@ export const TokenAccount = createParamDecorator(
|
||||
const account = request.decodedToken
|
||||
|
||||
// ✅ if middleware didn't populate req.account, return undefined or throw
|
||||
if (!account.user?.id) {
|
||||
if (!account || !account.user?.id) {
|
||||
throw new UnauthorizedException('شما به این بخش دسترسی ندارید')
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user