account deletion
This commit is contained in:
parent
e3b82bb3dd
commit
82ffa81141
53
src/handlers/userHandlers/userDeletionHandler.js
Normal file
53
src/handlers/userHandlers/userDeletionHandler.js
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
import config from '../../config/config.js';
|
||||||
|
import db from '../../config/database.js';
|
||||||
|
import bot from "../../context/bot.js";
|
||||||
|
import UserService from "../../services/userService.js";
|
||||||
|
import userStates from "../../context/userStates.js";
|
||||||
|
|
||||||
|
export default class UserDeletionHandler {
|
||||||
|
static async handleDeleteAccount(callbackQuery) {
|
||||||
|
const telegramId = callbackQuery.from.id;
|
||||||
|
const chatId = callbackQuery.message.chat.id;
|
||||||
|
|
||||||
|
try {
|
||||||
|
const keyboard = {
|
||||||
|
inline_keyboard: [
|
||||||
|
[
|
||||||
|
{text: '✅ Confirm Delete', callback_data: `confirm_delete_account`},
|
||||||
|
{text: '❌ Cancel', callback_data: `back_to_profile`}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
await bot.editMessageText(
|
||||||
|
`⚠️ Are you sure you want to delete your account?\n\nThis action will:\n- Delete all user data\n- Remove all wallets\n- Erase purchase history\n\nThis action cannot be undone!`,
|
||||||
|
{
|
||||||
|
chat_id: chatId,
|
||||||
|
message_id: callbackQuery.message.message_id,
|
||||||
|
reply_markup: keyboard,
|
||||||
|
parse_mode: 'HTML'
|
||||||
|
}
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error in handleDeleteUser:', error);
|
||||||
|
await bot.sendMessage(chatId, 'Error processing delete request. Please try again.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static async handleConfirmDelete(callbackQuery) {
|
||||||
|
const telegramId = callbackQuery.from.id;
|
||||||
|
const chatId = callbackQuery.message.chat.id;
|
||||||
|
|
||||||
|
try {
|
||||||
|
await UserService.updateUserStatus(telegramId, 1);
|
||||||
|
|
||||||
|
await bot.editMessageText(
|
||||||
|
'⚠️Your account has been successful deleted',
|
||||||
|
{ chat_id: chatId, message_id: callbackQuery.message.message_id, }
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error in handleConfirmDelete:', error);
|
||||||
|
await bot.sendMessage(chatId, 'Error deleting user. Please try again.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -6,6 +6,7 @@ import userPurchaseHandler from "./handlers/userHandlers/userPurchaseHandler.js"
|
|||||||
import userLocationHandler from "./handlers/userHandlers/userLocationHandler.js";
|
import userLocationHandler from "./handlers/userHandlers/userLocationHandler.js";
|
||||||
import userProductHandler from "./handlers/userHandlers/userProductHandler.js";
|
import userProductHandler from "./handlers/userHandlers/userProductHandler.js";
|
||||||
import userWalletsHandler from "./handlers/userHandlers/userWalletsHandler.js";
|
import userWalletsHandler from "./handlers/userHandlers/userWalletsHandler.js";
|
||||||
|
import userDeletionHandler from "./handlers/userHandlers/userDeletionHandler.js";
|
||||||
import adminHandler from "./handlers/adminHandlers/adminHandler.js";
|
import adminHandler from "./handlers/adminHandlers/adminHandler.js";
|
||||||
import adminUserLocationHandler from "./handlers/adminHandlers/adminUserLocationHandler.js";
|
import adminUserLocationHandler from "./handlers/adminHandlers/adminUserLocationHandler.js";
|
||||||
import adminDumpHandler from "./handlers/adminHandlers/adminDumpHandler.js";
|
import adminDumpHandler from "./handlers/adminHandlers/adminDumpHandler.js";
|
||||||
@ -171,6 +172,12 @@ bot.on('callback_query', async (callbackQuery) => {
|
|||||||
} else if (action === 'back_to_balance') {
|
} else if (action === 'back_to_balance') {
|
||||||
logDebug(action, 'handleBackToBalance');
|
logDebug(action, 'handleBackToBalance');
|
||||||
await userWalletsHandler.handleBackToBalance(callbackQuery);
|
await userWalletsHandler.handleBackToBalance(callbackQuery);
|
||||||
|
} else if (action === 'delete_account') {
|
||||||
|
logDebug(action, 'handleDeleteAccount');
|
||||||
|
await userDeletionHandler.handleDeleteAccount(callbackQuery);
|
||||||
|
} else if (action === 'confirm_delete_account') {
|
||||||
|
logDebug(action, 'handleConfirmDelete');
|
||||||
|
await userDeletionHandler.handleConfirmDelete(callbackQuery);
|
||||||
}
|
}
|
||||||
// Wallet management
|
// Wallet management
|
||||||
else if (action === 'add_wallet') {
|
else if (action === 'add_wallet') {
|
||||||
|
Loading…
Reference in New Issue
Block a user