110 lines
2.7 KiB
JavaScript
110 lines
2.7 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.Resume = exports.UserBase = exports.sequelize = void 0;
|
|
require("dotenv/config");
|
|
const sequelize_1 = require("sequelize");
|
|
const sequelize = new sequelize_1.Sequelize(process.env.DB_NAME || 'custdev', process.env.DB_USER || 'postgres', process.env.DB_PASSWORD, {
|
|
host: process.env.DB_HOST,
|
|
dialect: 'postgres',
|
|
});
|
|
exports.sequelize = sequelize;
|
|
class UserBase extends sequelize_1.Model {
|
|
}
|
|
exports.UserBase = UserBase;
|
|
UserBase.init({
|
|
id: {
|
|
type: sequelize_1.DataTypes.BIGINT,
|
|
primaryKey: true,
|
|
},
|
|
username: {
|
|
type: sequelize_1.DataTypes.STRING,
|
|
allowNull: false,
|
|
},
|
|
vacansyindex: {
|
|
type: sequelize_1.DataTypes.INTEGER,
|
|
allowNull: false,
|
|
},
|
|
role: {
|
|
type: sequelize_1.DataTypes.STRING,
|
|
allowNull: false,
|
|
defaultValue: 'client',
|
|
},
|
|
language: {
|
|
type: sequelize_1.DataTypes.STRING,
|
|
allowNull: false,
|
|
},
|
|
message_id: {
|
|
type: sequelize_1.DataTypes.INTEGER,
|
|
allowNull: true,
|
|
},
|
|
last_obj: {
|
|
type: sequelize_1.DataTypes.STRING,
|
|
allowNull: true,
|
|
},
|
|
chat_id: {
|
|
type: sequelize_1.DataTypes.BIGINT,
|
|
allowNull: true,
|
|
},
|
|
resume_id: {
|
|
type: sequelize_1.DataTypes.BIGINT,
|
|
allowNull: true,
|
|
references: {
|
|
model: 'Resumes', // имя таблицы резюме
|
|
key: 'id',
|
|
},
|
|
},
|
|
}, {
|
|
sequelize,
|
|
modelName: 'User',
|
|
});
|
|
class Resume extends sequelize_1.Model {
|
|
}
|
|
exports.Resume = Resume;
|
|
Resume.init({
|
|
id: {
|
|
type: sequelize_1.DataTypes.BIGINT,
|
|
primaryKey: true,
|
|
},
|
|
name: {
|
|
type: sequelize_1.DataTypes.STRING,
|
|
allowNull: false,
|
|
},
|
|
group: {
|
|
type: sequelize_1.DataTypes.STRING,
|
|
allowNull: false,
|
|
},
|
|
type: {
|
|
type: sequelize_1.DataTypes.STRING,
|
|
allowNull: false,
|
|
},
|
|
skills: {
|
|
type: sequelize_1.DataTypes.STRING,
|
|
allowNull: false,
|
|
},
|
|
softskills: {
|
|
type: sequelize_1.DataTypes.STRING,
|
|
allowNull: false,
|
|
},
|
|
email: {
|
|
type: sequelize_1.DataTypes.STRING,
|
|
allowNull: false,
|
|
},
|
|
resumefile: {
|
|
type: sequelize_1.DataTypes.STRING,
|
|
allowNull: false,
|
|
},
|
|
}, {
|
|
sequelize,
|
|
modelName: 'Resume',
|
|
});
|
|
UserBase.belongsTo(Resume, { foreignKey: 'resume_id', as: 'resume' });
|
|
Resume.hasOne(UserBase, { foreignKey: 'resume_id', as: 'user' });
|
|
sequelize
|
|
.sync()
|
|
.then(() => {
|
|
console.log('Model has been synchronized successfully.');
|
|
})
|
|
.catch(error => {
|
|
console.error('Error synchronizing model:', error);
|
|
});
|