feat: add Telegram customers management system with admin panel
Implement comprehensive Telegram customers storage and management functionality: Backend: - Add database migration for telecart_customers table with indexes - Create TelegramCustomer model with CRUD operations - Implement TelegramCustomerService for business logic - Add TelegramCustomerHandler for API endpoint (saveOrUpdate) - Add TelegramCustomersHandler for admin API (getCustomers with pagination, filtering, sorting) - Add SendMessageHandler for sending messages to customers via Telegram - Create custom exceptions: TelegramCustomerNotFoundException, TelegramCustomerWriteNotAllowedException - Refactor TelegramInitDataDecoder to separate decoding logic - Add TelegramHeader enum for header constants - Update SignatureValidator to use TelegramInitDataDecoder - Register new routes in bastion/routes.php and src/routes.php Frontend (Admin): - Add CustomersView.vue component with PrimeVue DataTable - Implement advanced filtering (text, date, boolean filters) - Add column visibility toggle functionality - Add global search with debounce - Implement message sending dialog with validation - Add Russian locale for PrimeVue components - Add navigation link in App.vue - Register route in router Frontend (SPA): - Add saveTelegramCustomer utility function - Integrate automatic customer data saving on app initialization - Extract user data from Telegram.WebApp.initDataUnsafe The system automatically saves/updates customer data when users access the Telegram Mini App, and provides admin interface for viewing, filtering, and messaging customers. BREAKING CHANGE: None
This commit is contained in:
@@ -22,8 +22,77 @@ dist-ssr
|
||||
*.sln
|
||||
*.sw?
|
||||
|
||||
src/*
|
||||
# Cursor ignore patterns
|
||||
|
||||
frontend/spa/node_modules
|
||||
frontend/admin/node_modules
|
||||
module/oc_telegram_shop/upload/oc_telegram_shop/vendor
|
||||
module/oc_telegram_shop/upload/image
|
||||
module/oc_telegram_shop/upload/oc_telegram_shop/.phpunit.cache
|
||||
|
||||
# Dependencies
|
||||
node_modules/
|
||||
vendor/
|
||||
composer.lock
|
||||
package-lock.json
|
||||
yarn.lock
|
||||
|
||||
# Build outputs
|
||||
dist/
|
||||
build/
|
||||
*.phar
|
||||
|
||||
# IDE
|
||||
.idea/
|
||||
.vscode/
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# Logs
|
||||
*.log
|
||||
logs/
|
||||
storage/logs/
|
||||
|
||||
# Cache
|
||||
storage/cache/
|
||||
.cache/
|
||||
|
||||
# Environment
|
||||
.env
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# Database
|
||||
*.sql
|
||||
*.sqlite
|
||||
*.db
|
||||
|
||||
# Temporary files
|
||||
tmp/
|
||||
temp/
|
||||
*.tmp
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# OpenCart specific
|
||||
src/upload/system/
|
||||
src/upload/image/cache/
|
||||
src/storage/
|
||||
|
||||
# Test fixtures (large files)
|
||||
tests/fixtures/*.sql
|
||||
tests/fixtures/*.json
|
||||
|
||||
# Documentation builds
|
||||
docs/_build/
|
||||
|
||||
# Coverage reports
|
||||
coverage/
|
||||
.nyc_output/
|
||||
|
||||
# Docker
|
||||
docker-compose.override.yml
|
||||
|
||||
|
||||
Reference in New Issue
Block a user