schema updated and due to uuid constarin

This commit is contained in:
yashwin-foxy 2025-09-23 18:27:51 +05:30
parent af72fa4c98
commit 4bc0ba77db
30 changed files with 89 additions and 78 deletions

View File

@ -908,7 +908,7 @@ async function getPerformanceData(req, res) {
const getUserReport = async (req, res) => {
try {
const { sdate, edate, dateFormat, startIndex } = req.query;
const userId = req.user.id;
const userId = req.user.uuid;
const zohoClient = new ZohoClient(userId);
const attendanceReport = await zohoClient.getUserReport({
@ -927,7 +927,7 @@ const getUserReport = async (req, res) => {
// Get leave tracker report
const getLeaveTrackerReport = async (req, res) => {
try {
const userId = req.user.id;
const userId = req.user.uuid;
const zohoClient = new ZohoClient(userId);
const leaveTrackerReport = await zohoClient.getLeaveTrackerReport();
@ -941,7 +941,7 @@ const getLeaveTrackerReport = async (req, res) => {
// Get holidays
const getHolidays = async (req, res) => {
try {
const userId = req.user.id;
const userId = req.user.uuid;
const zohoClient = new ZohoClient(userId);
const holidays = await zohoClient.getHolidays();

View File

@ -20,7 +20,7 @@ class ReportsController {
// Base filters
const baseFilters = {
user_id: userId,
user_uuid: userId,
provider: 'zoho',
...dateFilter,
...ownerFilter

View File

@ -58,7 +58,7 @@ async function exchangeZohoToken(req, res) {
const expiresAt = expires_in ? new Date(Date.now() + expires_in * 1000) : null;
await userAuthTokenRepo.upsertToken({
userId: id,
userUuid: id,
serviceName: service_name,
accessToken: encrypt(access_token),
refreshToken: refresh_token? encrypt(refresh_token) : null,

View File

@ -7,11 +7,11 @@ class UserAuthToken extends Model {}
UserAuthToken.init(
{
id: { type: DataTypes.INTEGER, autoIncrement: true, primaryKey: true },
userId: {
field: 'user_id',
type: DataTypes.INTEGER,
userUuid: {
field: 'user_uuid',
type: DataTypes.CHAR(36),
allowNull: false,
references: { model: 'users', key: 'id' },
references: { model: 'users', key: 'uuid' },
onDelete: 'CASCADE'
},
serviceName: {
@ -32,13 +32,13 @@ UserAuthToken.init(
timestamps: true,
paranoid: false,
indexes: [
{ fields: ['user_id'] },
{ fields: ['user_uuid'] },
{ fields: ['service_name'] }
]
}
);
UserAuthToken.belongsTo(User, { foreignKey: 'userId', as: 'user' });
UserAuthToken.belongsTo(User, { foreignKey: 'userUuid', as: 'user' });
module.exports = UserAuthToken;

View File

@ -12,8 +12,8 @@ const ZohoAccountsBulk = sequelize.define('ZohoAccountsBulk', {
type: DataTypes.STRING(255),
allowNull: true
},
user_id: {
type: DataTypes.STRING(255),
user_uuid: {
type: DataTypes.CHAR(36),
allowNull: false
},
provider: {
@ -63,7 +63,7 @@ const ZohoAccountsBulk = sequelize.define('ZohoAccountsBulk', {
createdAt: 'created_at',
updatedAt: 'updated_at',
indexes: [
{ fields: ['user_id', 'provider'] },
{ fields: ['user_uuid', 'provider'] },
{ fields: ['bulk_job_id'] },
{ fields: ['created_time'] }
]

View File

@ -7,8 +7,8 @@ const ZohoBulkReadJobs = sequelize.define('ZohoBulkReadJobs', {
primaryKey: true,
allowNull: false
},
user_id: {
type: DataTypes.STRING(255),
user_uuid: {
type: DataTypes.CHAR(36),
allowNull: false
},
provider: {
@ -61,7 +61,7 @@ const ZohoBulkReadJobs = sequelize.define('ZohoBulkReadJobs', {
createdAt: 'created_at',
updatedAt: 'updated_at',
indexes: [
{ fields: ['user_id', 'provider'] },
{ fields: ['user_uuid', 'provider'] },
{ fields: ['module'] },
{ fields: ['status'] }
]

View File

@ -12,8 +12,8 @@ const ZohoContactsBulk = sequelize.define('ZohoContactsBulk', {
type: DataTypes.STRING(255),
allowNull: true
},
user_id: {
type: DataTypes.STRING(255),
user_uuid: {
type: DataTypes.CHAR(36),
allowNull: false
},
provider: {
@ -71,7 +71,7 @@ const ZohoContactsBulk = sequelize.define('ZohoContactsBulk', {
createdAt: 'created_at',
updatedAt: 'updated_at',
indexes: [
{ fields: ['user_id', 'provider'] },
{ fields: ['user_uuid', 'provider'] },
{ fields: ['bulk_job_id'] },
{ fields: ['created_time'] }
]

View File

@ -12,8 +12,8 @@ const ZohoInvoicesBulk = sequelize.define('ZohoInvoicesBulk', {
type: DataTypes.STRING(255),
allowNull: true
},
user_id: {
type: DataTypes.STRING(255),
user_uuid: {
type: DataTypes.CHAR(36),
allowNull: false
},
provider: {
@ -67,7 +67,7 @@ const ZohoInvoicesBulk = sequelize.define('ZohoInvoicesBulk', {
createdAt: 'created_at',
updatedAt: 'updated_at',
indexes: [
{ fields: ['user_id', 'provider'] },
{ fields: ['user_uuid', 'provider'] },
{ fields: ['bulk_job_id'] },
{ fields: ['created_time'] }
]

View File

@ -12,8 +12,8 @@ const ZohoLeadsBulk = sequelize.define('ZohoLeadsBulk', {
type: DataTypes.STRING(255),
allowNull: true
},
user_id: {
type: DataTypes.STRING(255),
user_uuid: {
type: DataTypes.CHAR(36),
allowNull: false
},
provider: {
@ -67,7 +67,7 @@ const ZohoLeadsBulk = sequelize.define('ZohoLeadsBulk', {
createdAt: 'created_at',
updatedAt: 'updated_at',
indexes: [
{ fields: ['user_id', 'provider'] },
{ fields: ['user_uuid', 'provider'] },
{ fields: ['bulk_job_id'] },
{ fields: ['created_time'] }
]

View File

@ -12,8 +12,8 @@ const ZohoPurchaseOrdersBulk = sequelize.define('ZohoPurchaseOrdersBulk', {
type: DataTypes.STRING(255),
allowNull: true
},
user_id: {
type: DataTypes.STRING(255),
user_uuid: {
type: DataTypes.CHAR(36),
allowNull: false
},
provider: {
@ -63,7 +63,7 @@ const ZohoPurchaseOrdersBulk = sequelize.define('ZohoPurchaseOrdersBulk', {
createdAt: 'created_at',
updatedAt: 'updated_at',
indexes: [
{ fields: ['user_id', 'provider'] },
{ fields: ['user_uuid', 'provider'] },
{ fields: ['bulk_job_id'] },
{ fields: ['created_time'] }
]

View File

@ -12,8 +12,8 @@ const ZohoSalesOrdersBulk = sequelize.define('ZohoSalesOrdersBulk', {
type: DataTypes.STRING(255),
allowNull: true
},
user_id: {
type: DataTypes.STRING(255),
user_uuid: {
type: DataTypes.CHAR(36),
allowNull: false
},
provider: {
@ -63,7 +63,7 @@ const ZohoSalesOrdersBulk = sequelize.define('ZohoSalesOrdersBulk', {
createdAt: 'created_at',
updatedAt: 'updated_at',
indexes: [
{ fields: ['user_id', 'provider'] },
{ fields: ['user_uuid', 'provider'] },
{ fields: ['bulk_job_id'] },
{ fields: ['created_time'] }
]

View File

@ -12,8 +12,8 @@ const ZohoTasksBulk = sequelize.define('ZohoTasksBulk', {
type: DataTypes.STRING(255),
allowNull: true
},
user_id: {
type: DataTypes.STRING(255),
user_uuid: {
type: DataTypes.CHAR(36),
allowNull: false
},
provider: {
@ -59,7 +59,7 @@ const ZohoTasksBulk = sequelize.define('ZohoTasksBulk', {
createdAt: 'created_at',
updatedAt: 'updated_at',
indexes: [
{ fields: ['user_id', 'provider'] },
{ fields: ['user_uuid', 'provider'] },
{ fields: ['bulk_job_id'] },
{ fields: ['created_time'] }
]

View File

@ -12,8 +12,8 @@ const ZohoVendorsBulk = sequelize.define('ZohoVendorsBulk', {
type: DataTypes.STRING(255),
allowNull: true
},
user_id: {
type: DataTypes.STRING(255),
user_uuid: {
type: DataTypes.CHAR(36),
allowNull: false
},
provider: {
@ -55,7 +55,7 @@ const ZohoVendorsBulk = sequelize.define('ZohoVendorsBulk', {
createdAt: 'created_at',
updatedAt: 'updated_at',
indexes: [
{ fields: ['user_id', 'provider'] },
{ fields: ['user_uuid', 'provider'] },
{ fields: ['bulk_job_id'] },
{ fields: ['created_time'] }
]

View File

@ -4,14 +4,14 @@ async function createToken(payload) {
return UserAuthToken.create(payload);
}
async function findByUserAndService(userId, serviceName) {
return UserAuthToken.findOne({ where: { userId, serviceName } });
async function findByUserAndService(userUuid, serviceName) {
return UserAuthToken.findOne({ where: { userUuid, serviceName } });
}
async function upsertToken(payload) {
const { userId, serviceName } = payload;
const { userUuid, serviceName } = payload;
const [token, created] = await UserAuthToken.findOrCreate({
where: { userId, serviceName },
where: { userUuid, serviceName },
defaults: payload
});
if (!created) {

View File

@ -73,7 +73,7 @@ class ZohoBulkReadRepository {
const result = await model.destroy({
where: {
user_id: userId,
user_uuid: userId,
provider: 'zoho',
bulk_job_id: jobId
}
@ -101,7 +101,7 @@ class ZohoBulkReadRepository {
const records = await model.findAll({
where: {
user_id: userId,
user_uuid: userId,
provider: 'zoho'
},
limit: parseInt(limit),
@ -128,7 +128,7 @@ class ZohoBulkReadRepository {
const count = await model.count({
where: {
user_id: userId,
user_uuid: userId,
provider: 'zoho'
}
});
@ -152,7 +152,7 @@ class ZohoBulkReadRepository {
const job = await ZohoBulkReadJobs.create({
id: jobData.id,
user_id: jobData.user_id,
user_uuid: jobData.user_uuid,
provider: 'zoho',
module: jobData.module,
operation: jobData.operation,
@ -224,7 +224,7 @@ class ZohoBulkReadRepository {
const { limit = 50, offset = 0, status } = options;
const whereClause = {
user_id: userId,
user_uuid: userId,
provider: 'zoho'
};

View File

@ -1,5 +1,5 @@
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
id INT AUTO_INCREMENT,
uuid CHAR(36) NOT NULL UNIQUE,
email VARCHAR(255) NOT NULL UNIQUE,
password_hash VARCHAR(255) NOT NULL,
@ -10,5 +10,7 @@ CREATE TABLE IF NOT EXISTS users (
is_active TINYINT(1) NOT NULL DEFAULT 1,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
deleted_at DATETIME NULL
deleted_at DATETIME NULL,
PRIMARY KEY (id),
UNIQUE KEY (uuid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

View File

@ -1,13 +1,13 @@
CREATE TABLE IF NOT EXISTS user_auth_tokens (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id CHAR(36) NOT NULL,
user_uuid CHAR(36) NOT NULL,
service_name ENUM('zoho','keka','bamboohr','hubspot','other') NOT NULL,
access_token TEXT NOT NULL,
refresh_token TEXT NULL,
expires_at DATETIME NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT fk_user_auth_tokens_user FOREIGN KEY (user_id) REFERENCES users(uuid) ON DELETE CASCADE
);
CONSTRAINT fk_user_auth_tokens_user FOREIGN KEY (user_uuid) REFERENCES users(uuid) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

View File

@ -4,7 +4,7 @@
CREATE TABLE IF NOT EXISTS zoho_contacts_bulk (
internal_id INT AUTO_INCREMENT PRIMARY KEY,
zoho_id VARCHAR(255),
user_id VARCHAR(255) NOT NULL,
user_uuid CHAR(36) NOT NULL,
provider VARCHAR(50) NOT NULL DEFAULT 'zoho',
first_name VARCHAR(255),
last_name VARCHAR(255),
@ -19,7 +19,8 @@ CREATE TABLE IF NOT EXISTS zoho_contacts_bulk (
bulk_job_id VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_user_provider (user_id, provider),
INDEX idx_user_provider (user_uuid, provider),
CONSTRAINT fk_zoho_contacts_bulk_user FOREIGN KEY (user_uuid) REFERENCES users(uuid) ON DELETE CASCADE,
INDEX idx_bulk_job (bulk_job_id),
INDEX idx_created_time (created_time),
INDEX idx_zoho_id (zoho_id)

View File

@ -4,7 +4,7 @@
CREATE TABLE IF NOT EXISTS zoho_leads_bulk (
internal_id INT AUTO_INCREMENT PRIMARY KEY,
zoho_id VARCHAR(255),
user_id VARCHAR(255) NOT NULL,
user_uuid CHAR(36) NOT NULL,
provider VARCHAR(50) NOT NULL DEFAULT 'zoho',
first_name VARCHAR(255),
last_name VARCHAR(255),
@ -18,7 +18,8 @@ CREATE TABLE IF NOT EXISTS zoho_leads_bulk (
bulk_job_id VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_user_provider (user_id, provider),
INDEX idx_user_provider (user_uuid, provider),
CONSTRAINT fk_zoho_leads_bulk_user FOREIGN KEY (user_uuid) REFERENCES users(uuid) ON DELETE CASCADE,
INDEX idx_bulk_job (bulk_job_id),
INDEX idx_created_time (created_time),
INDEX idx_zoho_id (zoho_id)

View File

@ -4,7 +4,7 @@
CREATE TABLE IF NOT EXISTS zoho_accounts_bulk (
internal_id INT AUTO_INCREMENT PRIMARY KEY,
zoho_id VARCHAR(255),
user_id VARCHAR(255) NOT NULL,
user_uuid CHAR(36) NOT NULL,
provider VARCHAR(50) NOT NULL DEFAULT 'zoho',
account_name VARCHAR(255),
phone VARCHAR(255),
@ -17,7 +17,8 @@ CREATE TABLE IF NOT EXISTS zoho_accounts_bulk (
bulk_job_id VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_user_provider (user_id, provider),
INDEX idx_user_provider (user_uuid, provider),
CONSTRAINT fk_zoho_accounts_bulk_user FOREIGN KEY (user_uuid) REFERENCES users(uuid) ON DELETE CASCADE,
INDEX idx_bulk_job (bulk_job_id),
INDEX idx_created_time (created_time),
INDEX idx_zoho_id (zoho_id)

View File

@ -4,7 +4,7 @@
CREATE TABLE IF NOT EXISTS zoho_tasks_bulk (
internal_id INT AUTO_INCREMENT PRIMARY KEY,
zoho_id VARCHAR(255),
user_id VARCHAR(255) NOT NULL,
user_uuid CHAR(36) NOT NULL,
provider VARCHAR(50) NOT NULL DEFAULT 'zoho',
subject VARCHAR(500),
owner VARCHAR(255),
@ -16,7 +16,8 @@ CREATE TABLE IF NOT EXISTS zoho_tasks_bulk (
bulk_job_id VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_user_provider (user_id, provider),
INDEX idx_user_provider (user_uuid, provider),
CONSTRAINT fk_zoho_tasks_bulk_user FOREIGN KEY (user_uuid) REFERENCES users(uuid) ON DELETE CASCADE,
INDEX idx_bulk_job (bulk_job_id),
INDEX idx_created_time (created_time),
INDEX idx_zoho_id (zoho_id)

View File

@ -4,7 +4,7 @@
CREATE TABLE IF NOT EXISTS zoho_vendors_bulk (
internal_id INT AUTO_INCREMENT PRIMARY KEY,
zoho_id VARCHAR(255),
user_id VARCHAR(255) NOT NULL,
user_uuid CHAR(36) NOT NULL,
provider VARCHAR(50) NOT NULL DEFAULT 'zoho',
vendor_name VARCHAR(255),
email VARCHAR(255),
@ -15,7 +15,8 @@ CREATE TABLE IF NOT EXISTS zoho_vendors_bulk (
bulk_job_id VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_user_provider (user_id, provider),
INDEX idx_user_provider (user_uuid, provider),
CONSTRAINT fk_zoho_vendors_bulk_user FOREIGN KEY (user_uuid) REFERENCES users(uuid) ON DELETE CASCADE,
INDEX idx_bulk_job (bulk_job_id),
INDEX idx_created_time (created_time),
INDEX idx_zoho_id (zoho_id)

View File

@ -4,7 +4,7 @@
CREATE TABLE IF NOT EXISTS zoho_invoices_bulk (
internal_id INT AUTO_INCREMENT PRIMARY KEY,
zoho_id VARCHAR(255),
user_id VARCHAR(255) NOT NULL,
user_uuid CHAR(36) NOT NULL,
provider VARCHAR(50) NOT NULL DEFAULT 'zoho',
invoice_number VARCHAR(255),
invoice_date DATE,
@ -18,7 +18,8 @@ CREATE TABLE IF NOT EXISTS zoho_invoices_bulk (
bulk_job_id VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_user_provider (user_id, provider),
INDEX idx_user_provider (user_uuid, provider),
CONSTRAINT fk_zoho_invoices_bulk_user FOREIGN KEY (user_uuid) REFERENCES users(uuid) ON DELETE CASCADE,
INDEX idx_bulk_job (bulk_job_id),
INDEX idx_created_time (created_time),
INDEX idx_zoho_id (zoho_id)

View File

@ -4,7 +4,7 @@
CREATE TABLE IF NOT EXISTS zoho_sales_orders_bulk (
internal_id INT AUTO_INCREMENT PRIMARY KEY,
zoho_id VARCHAR(255),
user_id VARCHAR(255) NOT NULL,
user_uuid CHAR(36) NOT NULL,
provider VARCHAR(50) NOT NULL DEFAULT 'zoho',
sales_order_number VARCHAR(255),
subject VARCHAR(500),
@ -17,7 +17,8 @@ CREATE TABLE IF NOT EXISTS zoho_sales_orders_bulk (
bulk_job_id VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_user_provider (user_id, provider),
INDEX idx_user_provider (user_uuid, provider),
CONSTRAINT fk_zoho_sales_orders_bulk_user FOREIGN KEY (user_uuid) REFERENCES users(uuid) ON DELETE CASCADE,
INDEX idx_bulk_job (bulk_job_id),
INDEX idx_created_time (created_time),
INDEX idx_zoho_id (zoho_id)

View File

@ -4,7 +4,7 @@
CREATE TABLE IF NOT EXISTS zoho_purchase_orders_bulk (
internal_id INT AUTO_INCREMENT PRIMARY KEY,
zoho_id VARCHAR(255),
user_id VARCHAR(255) NOT NULL,
user_uuid CHAR(36) NOT NULL,
provider VARCHAR(50) NOT NULL DEFAULT 'zoho',
purchase_order_number VARCHAR(255),
subject VARCHAR(500),
@ -17,7 +17,8 @@ CREATE TABLE IF NOT EXISTS zoho_purchase_orders_bulk (
bulk_job_id VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_user_provider (user_id, provider),
INDEX idx_user_provider (user_uuid, provider),
CONSTRAINT fk_zoho_purchase_orders_bulk_user FOREIGN KEY (user_uuid) REFERENCES users(uuid) ON DELETE CASCADE,
INDEX idx_bulk_job (bulk_job_id),
INDEX idx_created_time (created_time),
INDEX idx_zoho_id (zoho_id)

View File

@ -3,7 +3,7 @@
CREATE TABLE IF NOT EXISTS zoho_bulk_read_jobs (
id VARCHAR(255) PRIMARY KEY,
user_id VARCHAR(255) NOT NULL,
user_uuid CHAR(36) NOT NULL,
provider VARCHAR(50) NOT NULL DEFAULT 'zoho',
module VARCHAR(100) NOT NULL,
operation VARCHAR(50) NOT NULL,
@ -16,7 +16,8 @@ CREATE TABLE IF NOT EXISTS zoho_bulk_read_jobs (
error_message TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_user_provider (user_id, provider),
INDEX idx_user_provider (user_uuid, provider),
CONSTRAINT fk_zoho_bulk_read_jobs_user FOREIGN KEY (user_uuid) REFERENCES users(uuid) ON DELETE CASCADE,
INDEX idx_module (module),
INDEX idx_status (status)
);

View File

@ -86,7 +86,7 @@ class ZohoClient {
const expiresAt = expires_in ? new Date(Date.now() + expires_in * 1000) : null;
await userAuthTokenRepo.upsertToken({
userId: this.userId,
userUuid: this.userId,
serviceName: 'zoho',
accessToken: encrypt(access_token),
refreshToken: refreshToken ? encrypt(refreshToken) : null,

View File

@ -495,7 +495,7 @@ class ZohoHandler {
// Create job record with the webhook data
const jobData = {
id: job_id,
user_id: userId,
user_uuid: userId,
module: query.module,
operation: operation,
state: state,
@ -508,9 +508,9 @@ class ZohoHandler {
console.log('✅ Created new job record');
} else {
// Update existing job record with user ID if it was unknown
if (jobRecord.user_id === 'unknown') {
if (jobRecord.user_uuid === 'unknown') {
await ZohoBulkReadRepository.updateBulkReadJob(job_id, {
user_id: userId
user_uuid: userId
});
console.log('✅ Updated job record with user ID');
}
@ -642,7 +642,7 @@ class ZohoHandler {
const jobData = {
id: data.job_id,
user_id: user.uuid,
user_uuid: user.uuid,
module: data.query?.module || 'unknown',
operation: data.operation || 'read',
state: data.state || 'CREATED',

View File

@ -63,7 +63,7 @@ class BulkReadService {
// Store job in database
const jobRecord = await ZohoBulkReadRepository.createBulkReadJob({
id: jobData.id,
user_id: userId,
user_uuid: userId,
module: module,
operation: 'read',
state: 'CREATED',
@ -111,7 +111,7 @@ class BulkReadService {
throw new Error('Job not found');
}
if (job.user_id !== userId) {
if (job.user_uuid !== userId) {
throw new Error('Unauthorized access to job');
}

View File

@ -140,7 +140,7 @@ class CsvService {
const mappedData = csvData.map(record => {
const baseRecord = {
user_id: userId,
user_uuid: userId,
provider: 'zoho',
bulk_job_id: jobId
};