From 022df9a32a9da41404418339c827d0688a9e6566 Mon Sep 17 00:00:00 2001 From: Joslyn Manzi Karenzi Date: Tue, 7 May 2024 20:25:43 +0200 Subject: [PATCH] * feat(rbac): Implement role based access control -define roles and permissions for vendors and buyers -assign roles and permissions to users during registration or profile update -enforce role-based access control throughout the application -write comprehensive unit tests [Delivers #34] * feat(rbac): integrate rbac into user registration -integrate role based access control into user registration [Delivers #34] * feat(rbac): integrate rbac into user registration -integrate role based access control into user registration [Delivers #34] --------- Co-authored-by: ambroisegithub Social Logins (#45) * squashing commits implementing routes for auth create passport callback function adding new user from Google creating new user check if user is exist in db implementing cookie session Fix error of TypeError: req.session.regenerate is not a function using Passport fix secret keys remove Google client secret keys working on facebook strategy get email from fb login and update the scope after verification save the user into db add profile image in db fixing minor bugs fix minor bugs in codes after rebasing & updating some fts link social login with userModel Addong Google client keys & FB client key into yml send confrim email after register a new user send email after register from facebook fix minor bugs * fix minor errors * remove lints errors user register register user test register user testing fix register user testing fix register user testing fix Authentication for User Added slint changes removed mocha added new features added new features Solved comflicts changed file added changes added new Test added new Test resolved test cases resolved test cases implemented two-factor authentication for enhanced security implemented two-factor authentication for enhanced security check whether the usertype is vendor to proceed with 2FA test the 2fa authentication add new tests for buyers login bug-fixes fixing bugs to remove conflicts with develop ft-password-recover-and-documentation This PR corrects some bugs on the user password recover function and add the documentation in th swagger bug-fixes fixing bugs on the recover password endpoints ft-password-rover Thi PR add a password recover by email feature, it also have a new email templates to send recovering token to email, and finally it resolve color contrast issue on the button nside the email template ft-password-recover-and-documentation This PR corrects some bugs on the user password recover function and add the documentation in th swagger bug-fixes fixing bugs on the recover password endpoints bug-fixes bug-fixes --- src/database/models/userModel.ts | 11 +++++++++++ src/docs/userAuth.ts | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/src/database/models/userModel.ts b/src/database/models/userModel.ts index e30a4a9f..3148eb21 100644 --- a/src/database/models/userModel.ts +++ b/src/database/models/userModel.ts @@ -1,5 +1,16 @@ +<<<<<<< HEAD import { Entity, PrimaryGeneratedColumn, Column, ManyToOne } from 'typeorm'; import { Role } from './roleEntity'; +======= +import { + Entity, + PrimaryGeneratedColumn, + Column, + ManyToOne, +} from 'typeorm'; +import { Role } from './roleEntity'; + +>>>>>>> 4979604 (* feat(rbac): Implement role based access control) @Entity() export default class UserModel { diff --git a/src/docs/userAuth.ts b/src/docs/userAuth.ts index 4787521f..826f43d0 100644 --- a/src/docs/userAuth.ts +++ b/src/docs/userAuth.ts @@ -1,6 +1,10 @@ /** * @swagger +<<<<<<< HEAD * /api/v1/user/login: +======= + * /api/v1/login: +>>>>>>> 4979604 (* feat(rbac): Implement role based access control) * post: * summary: Login user * tags: [Login]