Merge pull request 'feature/user-section' (#38) from feature/user-section into main
Reviewed-on: https://git.softuniq.eu/Telegram-Market/telegram-shop/pulls/38
This commit is contained in:
commit
37083ca5bc
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.');
|
||||
}
|
||||
}
|
||||
}
|
@ -535,10 +535,7 @@ Subcategory: ${product.subcategory_name}
|
||||
|
||||
const keyboard = {
|
||||
inline_keyboard: [
|
||||
...cryptoWallets.map(wallet => [{
|
||||
text: `Pay with ${wallet.wallet_type}`,
|
||||
callback_data: `pay_with_${wallet.wallet_type}_${productId}_${quantity}`
|
||||
}]),
|
||||
[{ text: `Pay`, callback_data: `pay_with_main_${productId}_${quantity}` }],
|
||||
[{text: '« Cancel', callback_data: `shop_product_${productId}`}]
|
||||
]
|
||||
};
|
||||
@ -547,8 +544,7 @@ Subcategory: ${product.subcategory_name}
|
||||
`🛒 Purchase Summary:\n\n` +
|
||||
`Product: ${product.name}\n` +
|
||||
`Quantity: ${quantity}\n` +
|
||||
`Total: $${totalPrice}\n\n` +
|
||||
`Select payment method:`,
|
||||
`Total: $${totalPrice}\n`,
|
||||
{
|
||||
chat_id: chatId,
|
||||
message_id: callbackQuery.message.message_id,
|
||||
|
@ -6,6 +6,7 @@ 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";
|
||||
@ -171,6 +172,12 @@ 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') {
|
||||
|
Loading…
Reference in New Issue
Block a user