Some checks failed
Telegram Mini App Shop Builder / Compute version metadata (push) Has been cancelled
Telegram Mini App Shop Builder / Run Frontend tests (push) Has been cancelled
Telegram Mini App Shop Builder / Run Backend tests (push) Has been cancelled
Telegram Mini App Shop Builder / Run PHP_CodeSniffer (push) Has been cancelled
Telegram Mini App Shop Builder / Build module. (push) Has been cancelled
Telegram Mini App Shop Builder / release (push) Has been cancelled
129 lines
4.5 KiB
Markdown
129 lines
4.5 KiB
Markdown
# Промпты для генерации API
|
||
|
||
## Создание нового API endpoint
|
||
|
||
```
|
||
Создай новый API endpoint [ENDPOINT_NAME] для [DESCRIPTION]:
|
||
|
||
1. Handler в [HANDLER_PATH]:
|
||
- Метод handle() принимает Request
|
||
- Валидация входных данных
|
||
- Использование Service для бизнес-логики
|
||
- Возврат JsonResponse с правильной структурой
|
||
- Обработка ошибок с логированием
|
||
|
||
2. Service в [SERVICE_PATH]:
|
||
- Бизнес-логика
|
||
- Работа с Model
|
||
- Валидация данных
|
||
- Обработка исключений
|
||
|
||
3. Model в [MODEL_PATH] (если нужен):
|
||
- Методы для работы с БД
|
||
- Использование Query Builder
|
||
- Типизация методов
|
||
|
||
4. Route в routes.php:
|
||
- Добавь маршрут с правильным именем
|
||
|
||
5. Миграция (если нужна новая таблица):
|
||
- Создай миграцию в database/migrations/
|
||
- Используй фиксированный префикс acmeshop_
|
||
- Добавь индексы где необходимо
|
||
|
||
Следуй архитектуре MVC-L проекта и используй существующие паттерны.
|
||
```
|
||
|
||
## Создание CRUD API
|
||
|
||
```
|
||
Создай полный CRUD API для сущности [ENTITY_NAME]:
|
||
|
||
1. Handler с методами:
|
||
- list() - список с пагинацией и фильтрацией
|
||
- get() - получение одной записи
|
||
- create() - создание
|
||
- update() - обновление
|
||
- delete() - удаление
|
||
|
||
2. Service с бизнес-логикой для всех операций
|
||
|
||
3. Model с методами:
|
||
- findAll() - список
|
||
- findById() - по ID
|
||
- create() - создание
|
||
- update() - обновление
|
||
- delete() - удаление
|
||
|
||
4. DTO для валидации данных
|
||
|
||
5. Миграция для таблицы [TABLE_NAME]
|
||
|
||
6. Routes для всех endpoints
|
||
|
||
Используй серверную пагинацию, фильтрацию и сортировку для list().
|
||
```
|
||
|
||
## Создание Admin API endpoint
|
||
|
||
```
|
||
Создай Admin API endpoint [ENDPOINT_NAME] в bastion/Handlers/:
|
||
|
||
1. Handler в bastion/Handlers/[HANDLER_NAME].php:
|
||
- Используй Request для получения параметров
|
||
- Валидация данных
|
||
- Работа через Service
|
||
- Возврат JsonResponse с структурой { data: { data: [...], totalRecords: ... } }
|
||
- Обработка ошибок
|
||
|
||
2. Service в bastion/Services/ (если нужен):
|
||
- Бизнес-логика для админки
|
||
- Работа с Models
|
||
|
||
3. Route в bastion/routes.php
|
||
|
||
4. Frontend компонент (если нужен UI):
|
||
- Vue компонент в frontend/admin/src/views/
|
||
- Используй PrimeVue компоненты
|
||
- Серверная пагинация/фильтрация
|
||
- Обработка ошибок с toast уведомлениями
|
||
|
||
Следуй существующим паттернам проекта.
|
||
```
|
||
|
||
## Создание Frontend API клиента
|
||
|
||
```
|
||
Создай функцию для работы с API endpoint [ENDPOINT_NAME]:
|
||
|
||
1. В frontend/[admin|spa]/src/utils/http.js:
|
||
- Функция api[Method] для вызова endpoint
|
||
- Правильная обработка ошибок
|
||
- Возврат структурированного ответа
|
||
|
||
2. Использование:
|
||
- В компонентах через import
|
||
- Обработка loading states
|
||
- Toast уведомления для ошибок
|
||
|
||
Следуй существующим паттернам в http.js.
|
||
```
|
||
|
||
## Создание миграции
|
||
|
||
```
|
||
Создай миграцию для таблицы [TABLE_NAME]:
|
||
|
||
1. Файл: database/migrations/[TIMESTAMP]_[DESCRIPTION].php
|
||
2. Используй фиксированный префикс acmeshop_ для таблицы
|
||
3. Добавь все необходимые поля с правильными типами
|
||
4. Добавь индексы для часто используемых полей
|
||
5. Используй utf8mb4_unicode_ci collation
|
||
6. Используй InnoDB engine
|
||
7. Добавь created_at и updated_at timestamps
|
||
8. Не создавай foreign keys (используй только индексы)
|
||
|
||
Следуй структуре существующих миграций.
|
||
```
|
||
|