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
63 lines
2.0 KiB
Markdown
63 lines
2.0 KiB
Markdown
# Промпты для документирования
|
||
|
||
## Документирование класса
|
||
|
||
```
|
||
Добавь 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
|
||
```
|
||
|