create license management

This commit is contained in:
2026-04-06 13:31:40 +03:30
parent c02e7afca1
commit 1160d81cdb
42 changed files with 1233 additions and 522 deletions
@@ -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('مشکلی در ساختار درخواست شما وجود دارد.')
}
},
)
+1 -1
View File
@@ -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('شما به این بخش دسترسی ندارید')
}