Merge branch 'staging' into preprod
This commit is contained in:
commit
54f773a3ce
@ -5,12 +5,13 @@ import { Service } from "typedi";
|
|||||||
import AuthService, { IUserJwtPayload } from "@Services/common/AuthService/AuthService";
|
import AuthService, { IUserJwtPayload } from "@Services/common/AuthService/AuthService";
|
||||||
|
|
||||||
import IdNotService from "@Services/common/IdNotService/IdNotService";
|
import IdNotService from "@Services/common/IdNotService/IdNotService";
|
||||||
import User from "le-coffre-resources/dist/Admin";
|
import User, { RulesGroup } from "le-coffre-resources/dist/Admin";
|
||||||
import UsersService from "@Services/super-admin/UsersService/UsersService";
|
import UsersService from "@Services/super-admin/UsersService/UsersService";
|
||||||
import SubscriptionsService from "@Services/admin/SubscriptionsService/SubscriptionsService.ts";
|
import SubscriptionsService from "@Services/admin/SubscriptionsService/SubscriptionsService.ts";
|
||||||
import { ESubscriptionStatus } from "@prisma/client";
|
import { ESubscriptionStatus } from "@prisma/client";
|
||||||
import SeatsService from "@Services/admin/SeatsService/SeatsService";
|
import SeatsService from "@Services/admin/SeatsService/SeatsService";
|
||||||
import { EType } from "le-coffre-resources/dist/Admin/Subscription";
|
import { EType } from "le-coffre-resources/dist/Admin/Subscription";
|
||||||
|
import RulesGroupsService from "@Services/admin/RulesGroupsService/RulesGroupsService";
|
||||||
|
|
||||||
@Controller()
|
@Controller()
|
||||||
@Service()
|
@Service()
|
||||||
@ -21,6 +22,7 @@ export default class UserController extends ApiController {
|
|||||||
private userService: UsersService,
|
private userService: UsersService,
|
||||||
private subscriptionsService: SubscriptionsService,
|
private subscriptionsService: SubscriptionsService,
|
||||||
private seatsService: SeatsService,
|
private seatsService: SeatsService,
|
||||||
|
private rulesGroupsService: RulesGroupsService
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
@ -100,15 +102,6 @@ export default class UserController extends ApiController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (userHydrated.role?.name === "admin" || userHydrated.role?.name === "super-admin") {
|
|
||||||
isSubscribed = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isSubscribed) {
|
|
||||||
this.httpUnauthorized(response, "User not subscribed");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Check if user is whitelisted
|
//Check if user is whitelisted
|
||||||
// const isWhitelisted = await this.whitelistService.getByEmail(userHydrated.contact!.email);
|
// const isWhitelisted = await this.whitelistService.getByEmail(userHydrated.contact!.email);
|
||||||
|
|
||||||
@ -124,6 +117,23 @@ export default class UserController extends ApiController {
|
|||||||
await this.idNotService.updateOffice(user.office_uid);
|
await this.idNotService.updateOffice(user.office_uid);
|
||||||
|
|
||||||
const payload = await this.authService.getUserJwtPayload(user.idNot);
|
const payload = await this.authService.getUserJwtPayload(user.idNot);
|
||||||
|
if(!payload) return;
|
||||||
|
|
||||||
|
|
||||||
|
if(!isSubscribed && userHydrated.role?.name === "admin" || userHydrated.role?.name === "super-admin"){
|
||||||
|
const manageSubscriptionRulesEntity = await this.rulesGroupsService.get({ where: { name: "Gestion de l'abonnement" }, include: { rules: true } });
|
||||||
|
const manageSubscriptionRules = RulesGroup.hydrateArray<RulesGroup>(manageSubscriptionRulesEntity, { strategy: "excludeAll" });
|
||||||
|
if(!manageSubscriptionRules[0]) return;
|
||||||
|
|
||||||
|
payload.rules = manageSubscriptionRules[0].rules!.map((rule) => rule.name) || [];
|
||||||
|
isSubscribed = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isSubscribed) {
|
||||||
|
this.httpUnauthorized(response, "User not subscribed");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const accessToken = this.authService.generateAccessToken(payload);
|
const accessToken = this.authService.generateAccessToken(payload);
|
||||||
const refreshToken = this.authService.generateRefreshToken(payload);
|
const refreshToken = this.authService.generateRefreshToken(payload);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user