Bansari Akhani
get user with associations - role & it's permissions
2f7395b
import {
DataTypes,
Model,
InferAttributes,
InferCreationAttributes,
CreationOptional,
} from 'sequelize';
import { sequelize } from './index';
import Role from './roles';
import Permission from './permissions';
import { RolePermissionInterface } from '../shared/interfaces/rolePermission.interface';
class RolePermission extends Model<InferAttributes<RolePermission>, InferCreationAttributes<RolePermission>> implements RolePermissionInterface {
declare id: CreationOptional<number>;
declare role_id: number;
declare permission_id: number;
}
RolePermission.init(
{
id: {
type: DataTypes.INTEGER.UNSIGNED,
autoIncrement: true,
primaryKey: true,
unique: true,
},
role_id: {
type: DataTypes.INTEGER.UNSIGNED,
allowNull: false,
references: {
model: Role,
key: 'id',
},
onDelete: 'CASCADE',
},
permission_id: {
type: DataTypes.INTEGER.UNSIGNED,
allowNull: false,
references: {
model: Permission,
key: 'id',
},
onDelete: 'CASCADE',
},
},
{
sequelize,
tableName: 'role_permission',
underscored: true,
freezeTableName: true,
timestamps: true,
createdAt: 'created_at',
updatedAt: 'updated_at',
}
);
RolePermission.belongsTo(Role, { foreignKey: 'role_id' });
RolePermission.belongsTo(Permission, { foreignKey: 'permission_id' });
export default RolePermission