9d3d431416
- 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.
46 lines
958 B
JavaScript
46 lines
958 B
JavaScript
/**
|
|
* Copyright (c) 2026 Niolla
|
|
* All rights reserved.
|
|
*
|
|
* This source code is proprietary and confidential.
|
|
* Unauthorized copying, modification, distribution, or use
|
|
* of this file, via any medium, is strictly prohibited.
|
|
*/
|
|
|
|
// app/models/permission/role.model.js
|
|
|
|
module.exports = (sequelize, DataTypes) => {
|
|
const roles = sequelize.define(
|
|
"roles",
|
|
{
|
|
role_id: {
|
|
type: DataTypes.STRING,
|
|
primaryKey: true
|
|
},
|
|
roleName: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false,
|
|
unique: true
|
|
},
|
|
roleDescription: {
|
|
type: DataTypes.TEXT,
|
|
allowNull: true
|
|
}
|
|
},
|
|
{
|
|
tableName: "roles",
|
|
timestamps: true
|
|
}
|
|
);
|
|
|
|
roles.associate = (db) => {
|
|
roles.hasMany(db.rolePermission, {
|
|
foreignKey: "role_id",
|
|
as: "rolePermissions"
|
|
});
|
|
roles.hasMany(db.UserRole, { foreignKey: "role_id", as: "userRoles" });
|
|
};
|
|
|
|
return roles;
|
|
};
|