feat: implement identity and security features
- Added account types and privileged account types constants. - Created admin user controller for updating user security fields. - Developed role assignment controller for managing user roles. - Implemented validation middleware for request schemas. - Defined user role and auth session models for database interactions. - Created services for authentication, email notifications, and OTP handling. - Developed OAuth service for Google and Apple authentication. - Added JWT utility functions for token generation and verification. - Implemented comprehensive tests for authentication, session management, and password policies. - Created migration for updating user schema and adding new tables for auth sessions and user identities.
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
const ACCOUNT_TYPES = Object.freeze({
|
||||
SUPER_ADMIN: "superadmin",
|
||||
ADMIN: "admin",
|
||||
MANAGER: "manager",
|
||||
CUSTOMER: "customer",
|
||||
BUSINESS_CUSTOMER: "business_customer",
|
||||
RIDER: "rider",
|
||||
SUPPORT_AGENT: "support_agent",
|
||||
});
|
||||
|
||||
const PRIVILEGED_ACCOUNT_TYPES = Object.freeze([
|
||||
ACCOUNT_TYPES.SUPER_ADMIN, ACCOUNT_TYPES.ADMIN, ACCOUNT_TYPES.MANAGER, ACCOUNT_TYPES.SUPPORT_AGENT,
|
||||
]);
|
||||
|
||||
module.exports = { ACCOUNT_TYPES, PRIVILEGED_ACCOUNT_TYPES, ACCOUNT_TYPE_VALUES: Object.values(ACCOUNT_TYPES) };
|
||||
Reference in New Issue
Block a user