diff --git a/src/app/api/admin/OfficeRolesController.ts b/src/app/api/admin/OfficeRolesController.ts index 649e4ade..29cec7ad 100644 --- a/src/app/api/admin/OfficeRolesController.ts +++ b/src/app/api/admin/OfficeRolesController.ts @@ -124,9 +124,7 @@ export default class OfficeRolesController extends ApiController { return; } - if (req.body.rules) { - console.log(req.body.rules); - + if (req.body.rules) { const allRules = await this.rulesService.get({ where: { namespace: "global", diff --git a/src/app/api/idnot/UserController.ts b/src/app/api/idnot/UserController.ts index 4135f211..5d8bc8e4 100644 --- a/src/app/api/idnot/UserController.ts +++ b/src/app/api/idnot/UserController.ts @@ -35,11 +35,11 @@ export default class UserController extends ApiController { @Post("/api/v1/idnot/user/:code") protected async getUserInfosFromIdnot(req: Request, response: Response) { try { - const code = req.params["code"]; + const code = req.params["code"]; if (!code) throw new Error("code is required"); - const idNotToken = await this.idNotService.getIdNotToken(code); + const idNotToken = await this.idNotService.getIdNotToken(code); if (!idNotToken) { this.httpValidationError(response, "IdNot token undefined"); @@ -73,7 +73,7 @@ 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 } }); if (!subscriptions || subscriptions.length === 0 || subscriptions[0]?.status === ESubscriptionStatus.INACTIVE) { isSubscribed = false; @@ -116,19 +116,21 @@ 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); 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(manageSubscriptionRulesEntity, { strategy: "excludeAll" }); + const manageSubscriptionRulesEntity = await this.rulesGroupsService.get({ where: { uid: "94343601-04c8-44ef-afb9-3047597528a9" }, include: { rules: true } }); + console.log(manageSubscriptionRulesEntity); + const manageSubscriptionRules = RulesGroup.hydrateArray(manageSubscriptionRulesEntity, { strategy: "excludeAll" }); if(!manageSubscriptionRules[0]) return; - payload.rules = manageSubscriptionRules[0].rules!.map((rule) => rule.name) || []; + payload.rules = manageSubscriptionRules[0].rules!.map((rule) => rule.name) || []; isSubscribed = true; } + if (!isSubscribed) { this.httpUnauthorized(response, "User not subscribed"); return; diff --git a/src/common/config/variables/Variables.ts b/src/common/config/variables/Variables.ts index 4ff86cab..ac3179db 100644 --- a/src/common/config/variables/Variables.ts +++ b/src/common/config/variables/Variables.ts @@ -157,12 +157,6 @@ export class BackendVariables { @IsNotEmpty() public readonly STRIPE_UNLIMITED_ANNUAL_SUBSCRIPTION_PRICE_ID!: string; - @IsNotEmpty() - public readonly STRIPE_PAYMENT_SUCCESS_URL!: string; - - @IsNotEmpty() - public readonly STRIPE_PAYMENT_CANCEL_URL!: string; - @IsNotEmpty() public readonly IDNOT_PROD_BASE_URL!: string; @@ -219,8 +213,6 @@ export class BackendVariables { this.STRIPE_STANDARD_ANNUAL_SUBSCRIPTION_PRICE_ID = process.env["STRIPE_STANDARD_ANNUAL_SUBSCRIPTION_PRICE_ID"]!; this.STRIPE_UNLIMITED_SUBSCRIPTION_PRICE_ID = process.env["STRIPE_UNLIMITED_SUBSCRIPTION_PRICE_ID"]!; this.STRIPE_UNLIMITED_ANNUAL_SUBSCRIPTION_PRICE_ID = process.env["STRIPE_UNLIMITED_ANNUAL_SUBSCRIPTION_PRICE_ID"]!; - this.STRIPE_PAYMENT_SUCCESS_URL = process.env["STRIPE_PAYMENT_SUCCESS_URL"]!; - this.STRIPE_PAYMENT_CANCEL_URL = process.env["STRIPE_PAYMENT_CANCEL_URL"]!; this.IDNOT_PROD_BASE_URL = process.env["IDNOT_PROD_BASE_URL"]!; } public async validate(groups?: string[]) { diff --git a/src/common/databases/seeders/seeder.ts b/src/common/databases/seeders/seeder.ts index 70b74df4..ce7da8bb 100644 --- a/src/common/databases/seeders/seeder.ts +++ b/src/common/databases/seeders/seeder.ts @@ -874,6 +874,7 @@ export default async function main() { }, { name: "Gestion de l'abonnement", + uid: "94343601-04c8-44ef-afb9-3047597528a9", created_at: new Date(), updated_at: new Date(), rules : [ @@ -1973,6 +1974,7 @@ export default async function main() { for (const ruleGroup of rulesGroups) { await prisma.rulesGroups.create({ data: { + uid: ruleGroup.uid, name: ruleGroup.name, rules: { connect: ruleGroup.rules?.map((rule) => ({ diff --git a/src/entries/App.ts b/src/entries/App.ts index 5dd1bd04..d94c9766 100644 --- a/src/entries/App.ts +++ b/src/entries/App.ts @@ -14,7 +14,7 @@ const storage = multer.memoryStorage(); (async () => { try { - const variables = await Container.get(BackendVariables).validate(); + const variables = await Container.get(BackendVariables).validate(); const port = variables.APP_PORT; const rootUrl = variables.APP_ROOT_URL; const label = variables.APP_LABEL ?? "Unknown Service"; diff --git a/src/services/common/IdNotService/IdNotService.ts b/src/services/common/IdNotService/IdNotService.ts index 9820fd86..7104c4c5 100644 --- a/src/services/common/IdNotService/IdNotService.ts +++ b/src/services/common/IdNotService/IdNotService.ts @@ -122,13 +122,14 @@ export default class IdNotService extends BaseService { grant_type: "authorization_code", }); + const token = await fetch(this.variables.IDNOT_BASE_URL + this.variables.IDNOT_CONNEXION_URL + "?" + query, { method: "POST" }); if(token.status !== 200) console.error(await token.text()); const decodedToken = (await token.json()) as IIdNotToken; - const decodedIdToken = jwt.decode(decodedToken.id_token) as IdNotJwtPayload; + const decodedIdToken = jwt.decode(decodedToken.id_token) as IdNotJwtPayload; return decodedIdToken;