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:
62
.cursor/prompts/documentation.md
Normal file
62
.cursor/prompts/documentation.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Промпты для документирования
|
||||
|
||||
## Документирование класса
|
||||
|
||||
```
|
||||
Добавь PHPDoc документацию для класса [CLASS_NAME]:
|
||||
1. Описание класса и его назначения
|
||||
2. @package тег
|
||||
3. @author тег
|
||||
4. Документация для всех публичных методов
|
||||
5. Документация для публичных свойств
|
||||
6. Примеры использования где уместно
|
||||
```
|
||||
|
||||
## Документирование метода
|
||||
|
||||
```
|
||||
Добавь PHPDoc для метода [METHOD_NAME]:
|
||||
1. Описание метода
|
||||
2. @param для всех параметров с типами
|
||||
3. @return с типом возвращаемого значения
|
||||
4. @throws для всех исключений
|
||||
5. Примеры использования если сложная логика
|
||||
```
|
||||
|
||||
## Документирование API endpoint
|
||||
|
||||
```
|
||||
Создай документацию для API endpoint [ENDPOINT_NAME]:
|
||||
1. Описание назначения
|
||||
2. HTTP метод и путь
|
||||
3. Параметры запроса (query/body)
|
||||
4. Формат ответа (JSON структура)
|
||||
5. Коды ошибок
|
||||
6. Примеры запросов/ответов
|
||||
7. Требования к авторизации
|
||||
```
|
||||
|
||||
## Документирование Vue компонента
|
||||
|
||||
```
|
||||
Добавь документацию для Vue компонента [COMPONENT_NAME]:
|
||||
1. Описание компонента
|
||||
2. Props с типами и описаниями
|
||||
3. Emits с описаниями
|
||||
4. Slots если есть
|
||||
5. Примеры использования
|
||||
6. Зависимости от других компонентов
|
||||
```
|
||||
|
||||
## Создание README
|
||||
|
||||
```
|
||||
Создай README.md для [MODULE/COMPONENT]:
|
||||
1. Описание назначения
|
||||
2. Установка/настройка
|
||||
3. Использование с примерами
|
||||
4. API документация
|
||||
5. Конфигурация
|
||||
6. Troubleshooting
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user