29 lines
904 B
TypeScript
29 lines
904 B
TypeScript
import { PipeTransform } from "@nestjs/common";
|
|
import { PrismaService } from "src/prisma/prisma.service";
|
|
|
|
export class ModuleAccessValidationPipe implements PipeTransform {
|
|
constructor(private readonly prisma: PrismaService) { }
|
|
|
|
async transform(value: any) {
|
|
const { email, access } = value ?? {};
|
|
const user = await this.prisma.users.findUnique({
|
|
where: { email },
|
|
select: {
|
|
user_module_access: {
|
|
select: {
|
|
dashboard: true,
|
|
employee_list: true,
|
|
employee_management: true,
|
|
personal_profile: true,
|
|
timesheets: true,
|
|
timesheets_approval: true,
|
|
},
|
|
},
|
|
},
|
|
});
|
|
|
|
if(!Boolean(access)) {
|
|
|
|
}
|
|
}
|
|
} |