add middleware for requests on customers

This commit is contained in:
OxSaitama 2023-10-09 11:19:51 +02:00
parent 4860a95209
commit 4b790599c2
5 changed files with 38 additions and 7 deletions

View File

@ -9,6 +9,7 @@ import authHandler from "@App/middlewares/AuthHandler";
import ruleHandler from "@App/middlewares/RulesHandler"; import ruleHandler from "@App/middlewares/RulesHandler";
import roleHandler from "@App/middlewares/RolesHandler"; import roleHandler from "@App/middlewares/RolesHandler";
import { Prisma } from "@prisma/client"; import { Prisma } from "@prisma/client";
import customerHandler from "@App/middlewares/OfficeMembershipHandlers/CustomerHandler";
@Controller() @Controller()
@Service() @Service()
@ -78,7 +79,7 @@ export default class CustomersController extends ApiController {
/** /**
* @description Modify a specific customer by uid * @description Modify a specific customer by uid
*/ */
@Put("/api/v1/admin/customers/:uid", [authHandler, roleHandler, ruleHandler]) @Put("/api/v1/admin/customers/:uid", [authHandler, roleHandler, ruleHandler, customerHandler])
protected async put(req: Request, response: Response) { protected async put(req: Request, response: Response) {
try { try {
const uid = req.params["uid"]; const uid = req.params["uid"];
@ -119,7 +120,7 @@ export default class CustomersController extends ApiController {
/** /**
* @description Get a specific customer by uid * @description Get a specific customer by uid
*/ */
@Get("/api/v1/admin/customers/:uid", [authHandler, roleHandler, ruleHandler]) @Get("/api/v1/admin/customers/:uid", [authHandler, roleHandler, ruleHandler, customerHandler])
protected async getOneByUid(req: Request, response: Response) { protected async getOneByUid(req: Request, response: Response) {
try { try {
const uid = req.params["uid"]; const uid = req.params["uid"];

View File

@ -8,6 +8,7 @@ import { validateOrReject } from "class-validator";
import authHandler from "@App/middlewares/AuthHandler"; import authHandler from "@App/middlewares/AuthHandler";
import ruleHandler from "@App/middlewares/RulesHandler"; import ruleHandler from "@App/middlewares/RulesHandler";
import { Prisma } from "@prisma/client"; import { Prisma } from "@prisma/client";
import customerHandler from "@App/middlewares/OfficeMembershipHandlers/CustomerHandler";
@Controller() @Controller()
@Service() @Service()
@ -76,7 +77,7 @@ export default class CustomersController extends ApiController {
/** /**
* @description Modify a specific customer by uid * @description Modify a specific customer by uid
*/ */
@Put("/api/v1/notary/customers/:uid", [authHandler, ruleHandler]) @Put("/api/v1/notary/customers/:uid", [authHandler, ruleHandler, customerHandler])
protected async put(req: Request, response: Response) { protected async put(req: Request, response: Response) {
try { try {
const uid = req.params["uid"]; const uid = req.params["uid"];
@ -117,7 +118,7 @@ export default class CustomersController extends ApiController {
/** /**
* @description Get a specific customer by uid * @description Get a specific customer by uid
*/ */
@Get("/api/v1/notary/customers/:uid", [authHandler, ruleHandler]) @Get("/api/v1/notary/customers/:uid", [authHandler, ruleHandler, customerHandler])
protected async getOneByUid(req: Request, response: Response) { protected async getOneByUid(req: Request, response: Response) {
try { try {
const uid = req.params["uid"]; const uid = req.params["uid"];

View File

@ -9,6 +9,7 @@ import authHandler from "@App/middlewares/AuthHandler";
import ruleHandler from "@App/middlewares/RulesHandler"; import ruleHandler from "@App/middlewares/RulesHandler";
import roleHandler from "@App/middlewares/RolesHandler"; import roleHandler from "@App/middlewares/RolesHandler";
import { Prisma } from "@prisma/client"; import { Prisma } from "@prisma/client";
import customerHandler from "@App/middlewares/OfficeMembershipHandlers/CustomerHandler";
@Controller() @Controller()
@Service() @Service()
@ -78,7 +79,7 @@ export default class CustomersController extends ApiController {
/** /**
* @description Modify a specific customer by uid * @description Modify a specific customer by uid
*/ */
@Put("/api/v1/super-admin/customers/:uid", [authHandler, roleHandler, ruleHandler]) @Put("/api/v1/super-admin/customers/:uid", [authHandler, roleHandler, ruleHandler, customerHandler])
protected async put(req: Request, response: Response) { protected async put(req: Request, response: Response) {
try { try {
const uid = req.params["uid"]; const uid = req.params["uid"];
@ -119,7 +120,7 @@ export default class CustomersController extends ApiController {
/** /**
* @description Get a specific customer by uid * @description Get a specific customer by uid
*/ */
@Get("/api/v1/super-admin/customers/:uid", [authHandler, roleHandler, ruleHandler]) @Get("/api/v1/super-admin/customers/:uid", [authHandler, roleHandler, ruleHandler, customerHandler])
protected async getOneByUid(req: Request, response: Response) { protected async getOneByUid(req: Request, response: Response) {
try { try {
const uid = req.params["uid"]; const uid = req.params["uid"];

View File

@ -0,0 +1,28 @@
import HttpCodes from "@Common/system/controller-pattern/HttpCodes";
import { NextFunction, Request, Response } from "express";
import Container from "typedi";
import CustomersService from "@Services/super-admin/CustomersService/CustomersService";
export default async function customerHandler(req: Request, response: Response, next: NextFunction) {
try {
const officeId = req.body.user.office_Id;
const uid = req.path && req.path.split("/")[5];
if (uid) {
const customerService = Container.get(CustomersService);
const customer = await customerService.get({where:{AND: [{uid: uid}, {office_folders: {some: {office_uid: officeId}}}]}});
if (!customer[0]) {
response.status(HttpCodes.NOT_FOUND).send("Customer not found");
return;
}
}
next();
} catch (error) {
console.log(error);
response.status(HttpCodes.INTERNAL_ERROR).send("Internal server error");
return;
}
}

View File

@ -72,7 +72,7 @@ export default class AnchoringProofService extends BaseService {
*/ */
public async generate(data: AnchoringProofData): Promise<Buffer> { public async generate(data: AnchoringProofData): Promise<Buffer> {
const browser = await puppeteer.launch({ const browser = await puppeteer.launch({
headless: true, headless: 'new',
args: ["--no-sandbox", "--disable-gpu"], args: ["--no-sandbox", "--disable-gpu"],
}); });
const page = await browser.newPage(); const page = await browser.newPage();