diff --git a/src/database/helper/authHelper.js b/src/database/helper/authHelper.js index 5f244a5..97862e8 100644 --- a/src/database/helper/authHelper.js +++ b/src/database/helper/authHelper.js @@ -5,23 +5,29 @@ const { randomBytes } = require('crypto'); /** * Initialize authentication credentials. + * @param {Object} options - Optional parameters to customize the credentials. * @returns {Object} - Initialized authentication credentials. */ -const initAuthCreds = () => { - const identityKey = Curve.generateKeyPair(); - return { - noiseKey: Curve.generateKeyPair(), - signedIdentityKey: identityKey, - signedPreKey: signedKeyPair(identityKey, 1), - registrationId: generateRegistrationId(), - advSecretKey: randomBytes(32).toString('base64'), - processedHistoryMessages: [], - nextPreKeyId: 1, - firstUnuploadedPreKeyId: 1, - accountSettings: { - unarchiveChats: false, - }, - }; +const initAuthCreds = (options = {}) => { + try { + const identityKey = Curve.generateKeyPair(); + return { + noiseKey: Curve.generateKeyPair(), + signedIdentityKey: identityKey, + signedPreKey: signedKeyPair(identityKey, 1), + registrationId: options.registrationId || generateRegistrationId(), + advSecretKey: options.advSecretKey || randomBytes(32).toString('base64'), + processedHistoryMessages: [], + nextPreKeyId: options.nextPreKeyId || 1, + firstUnuploadedPreKeyId: options.firstUnuploadedPreKeyId || 1, + accountSettings: { + unarchiveChats: options.unarchiveChats || false, + }, + }; + } catch (error) { + console.error('Error initializing authentication credentials:', error); + throw error; + } }; module.exports = { initAuthCreds };