From 1abab5dad2db2481d4d8081e77cbce9c2703b932 Mon Sep 17 00:00:00 2001 From: Vins Date: Wed, 24 Apr 2024 18:23:31 +0200 Subject: [PATCH 1/3] Deploy logs prod --- src/app/api/idnot/UserController.ts | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/app/api/idnot/UserController.ts b/src/app/api/idnot/UserController.ts index 0b8fec33..b7426d07 100644 --- a/src/app/api/idnot/UserController.ts +++ b/src/app/api/idnot/UserController.ts @@ -57,7 +57,8 @@ export default class UserController extends ApiController { //Whitelist feature //Get user with contact - const prismaUser = await this.userService.getByUid(user.uid, { contact: true, role: true, office_membership: true}); + const prismaUser = await this.userService.getByUid(user.uid, { contact: true, role: true, office_membership: true}); + console.log(prismaUser); if (!prismaUser) { this.httpNotFoundRequest(response, "user not found"); @@ -66,6 +67,7 @@ export default class UserController extends ApiController { //Hydrate user to be able to use his contact const userHydrated = User.hydrate(prismaUser, { strategy: "excludeAll" }); + console.log(userHydrated); if (!userHydrated.contact?.email || userHydrated.contact?.email === "") { this.httpUnauthorized(response, "Email not found"); @@ -73,14 +75,18 @@ export default class UserController extends ApiController { } let isSubscribed = false; - const subscriptions = await this.subscriptionsService.get({ where: { office_uid: userHydrated.office_membership?.uid } }); + const subscriptions = await this.subscriptionsService.get({ where: { office_uid: userHydrated.office_membership?.uid } }); + console.log(subscriptions); - if (!subscriptions || subscriptions.length === 0 || subscriptions[0]?.status === ESubscriptionStatus.INACTIVE) { + if (!subscriptions || subscriptions.length === 0 || subscriptions[0]?.status === ESubscriptionStatus.INACTIVE) { + console.log("No subscription found"); isSubscribed = false; } - else if (subscriptions[0]?.type === EType.Unlimited) { + else if (subscriptions[0]?.type === EType.Unlimited) { + console.log("Unlimited subscription found"); isSubscribed = true; - } else { + } else { + console.log("Standard subscription found"); const hasSeat = await this.subscriptionsService.get({ where: { status: ESubscriptionStatus.ACTIVE, seats: { some: { user_uid: userHydrated.uid } } }, }); @@ -116,9 +122,11 @@ export default class UserController extends ApiController { await this.idNotService.updateOffice(user.office_uid); - const payload = await this.authService.getUserJwtPayload(user.idNot); + const payload = await this.authService.getUserJwtPayload(user.idNot); + console.log(payload); if(!payload) return; + console.log(isSubscribed, userHydrated.role?.name); if(!isSubscribed && userHydrated.role?.name === "admin" || userHydrated.role?.name === "super-admin"){ const manageSubscriptionRulesEntity = await this.rulesGroupsService.get({ where: { uid: "94343601-04c8-44ef-afb9-3047597528a9" }, include: { rules: true } }); From ed46eddf29093c7ab1a7c97abf3d18a0aefedf1b Mon Sep 17 00:00:00 2001 From: Vins Date: Wed, 24 Apr 2024 18:32:31 +0200 Subject: [PATCH 2/3] Fix login --- src/app/api/idnot/UserController.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/app/api/idnot/UserController.ts b/src/app/api/idnot/UserController.ts index b7426d07..f6440ccc 100644 --- a/src/app/api/idnot/UserController.ts +++ b/src/app/api/idnot/UserController.ts @@ -127,7 +127,17 @@ export default class UserController extends ApiController { if(!payload) return; console.log(isSubscribed, userHydrated.role?.name); - if(!isSubscribed && userHydrated.role?.name === "admin" || userHydrated.role?.name === "super-admin"){ + if(!isSubscribed && userHydrated.role?.name === "admin"){ + const manageSubscriptionRulesEntity = await this.rulesGroupsService.get({ where: { uid: "94343601-04c8-44ef-afb9-3047597528a9" }, include: { rules: true } }); + + const manageSubscriptionRules = RulesGroup.hydrateArray(manageSubscriptionRulesEntity, { strategy: "excludeAll" }); + if(!manageSubscriptionRules[0]) return; + + payload.rules = manageSubscriptionRules[0].rules!.map((rule) => rule.name) || []; + + isSubscribed = true; + } + if(!isSubscribed && userHydrated.role?.name === "super-admin"){ const manageSubscriptionRulesEntity = await this.rulesGroupsService.get({ where: { uid: "94343601-04c8-44ef-afb9-3047597528a9" }, include: { rules: true } }); const manageSubscriptionRules = RulesGroup.hydrateArray(manageSubscriptionRulesEntity, { strategy: "excludeAll" }); From eae6aece6c8818fcae33ba93632d5f830cfe1f12 Mon Sep 17 00:00:00 2001 From: Maxime Lalo Date: Thu, 25 Apr 2024 11:36:24 +0200 Subject: [PATCH 3/3] :sparkles: redeploy --- src/app/api/admin/StripeController.ts | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/app/api/admin/StripeController.ts b/src/app/api/admin/StripeController.ts index b5e5d5a9..1c33a401 100644 --- a/src/app/api/admin/StripeController.ts +++ b/src/app/api/admin/StripeController.ts @@ -2,7 +2,7 @@ import authHandler from "@App/middlewares/AuthHandler"; import ruleHandler from "@App/middlewares/RulesHandler"; // import roleHandler from "@App/middlewares/RolesHandler"; import ApiController from "@Common/system/controller-pattern/ApiController"; -import { Controller, Get, Post} from "@ControllerPattern/index"; +import { Controller, Get, Post } from "@ControllerPattern/index"; import StripeService from "@Services/common/StripeService/StripeService"; import { validateOrReject } from "class-validator"; import { Request, Response } from "express"; @@ -28,13 +28,13 @@ export default class StripeController extends ApiController { //add office id to request body req.body.office = { uid: officeId }; - const frequency : EPaymentFrequency = req.body.frequency; - if(!frequency || !Object.values(EPaymentFrequency).includes(frequency)) { + const frequency: EPaymentFrequency = req.body.frequency; + if (!frequency || !Object.values(EPaymentFrequency).includes(frequency)) { this.httpBadRequest(response, "Invalid frequency"); return; } - - //init Subscription resource with request body values + + //init Subscription resource with request body valuess const subscriptionEntity = Subscription.hydrate(req.body, { strategy: "excludeAll" }); await validateOrReject(subscriptionEntity, { groups: ["createSubscription"], forbidUnknownValues: false }); @@ -42,7 +42,6 @@ export default class StripeController extends ApiController { const stripeSession = await this.stripeService.createCheckoutSession(subscriptionEntity, frequency); this.httpCreated(response, stripeSession); - } catch (error) { this.httpInternalError(response, error); return; @@ -70,7 +69,6 @@ export default class StripeController extends ApiController { @Get("/api/v1/admin/stripe/:uid/client-portal", [authHandler, ruleHandler]) protected async getClientPortalSession(req: Request, response: Response) { try { - const uid = req.params["uid"]; if (!uid) { this.httpBadRequest(response, "No uid provided"); @@ -95,7 +93,7 @@ export default class StripeController extends ApiController { return; } - const customer = await this.stripeService.getCustomerBySubscription(uid); + const customer = await this.stripeService.getCustomerBySubscription(uid); this.httpSuccess(response, customer); } catch (error) { this.httpInternalError(response, error);