1 Commits

Author SHA1 Message Date
1323ed5
8ff01f5f68 Merge pull request 'main' (#35) from main into refactoring
Reviewed-on: #35
2024-12-04 20:10:47 +00:00
3 changed files with 6 additions and 62 deletions

View File

@@ -1,53 +0,0 @@
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.');
}
}
}

View File

@@ -535,7 +535,10 @@ Subcategory: ${product.subcategory_name}
const keyboard = {
inline_keyboard: [
[{ text: `Pay`, callback_data: `pay_with_main_${productId}_${quantity}` }],
...cryptoWallets.map(wallet => [{
text: `Pay with ${wallet.wallet_type}`,
callback_data: `pay_with_${wallet.wallet_type}_${productId}_${quantity}`
}]),
[{text: '« Cancel', callback_data: `shop_product_${productId}`}]
]
};
@@ -544,7 +547,8 @@ Subcategory: ${product.subcategory_name}
`🛒 Purchase Summary:\n\n` +
`Product: ${product.name}\n` +
`Quantity: ${quantity}\n` +
`Total: $${totalPrice}\n`,
`Total: $${totalPrice}\n\n` +
`Select payment method:`,
{
chat_id: chatId,
message_id: callbackQuery.message.message_id,

View File

@@ -6,7 +6,6 @@ import userPurchaseHandler from "./handlers/userHandlers/userPurchaseHandler.js"
import userLocationHandler from "./handlers/userHandlers/userLocationHandler.js";
import userProductHandler from "./handlers/userHandlers/userProductHandler.js";
import userWalletsHandler from "./handlers/userHandlers/userWalletsHandler.js";
import userDeletionHandler from "./handlers/userHandlers/userDeletionHandler.js";
import adminHandler from "./handlers/adminHandlers/adminHandler.js";
import adminUserLocationHandler from "./handlers/adminHandlers/adminUserLocationHandler.js";
import adminDumpHandler from "./handlers/adminHandlers/adminDumpHandler.js";
@@ -172,12 +171,6 @@ bot.on('callback_query', async (callbackQuery) => {
} else if (action === 'back_to_balance') {
logDebug(action, 'handleBackToBalance');
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
else if (action === 'add_wallet') {