Bicycle/.claude/memory/feedback_auth_api_naming.md
Egor Isaev af0c247403 dev
2026-08-06 17:02:53 +03:00

18 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: feedback-auth-api-naming
description: Auth API ориентируется на Kohana Auth (login/logout/loggedIn/getUser/checkPassword, Auth::instance()) — без слова Provider
metadata:
type: feedback
---
Пользователь знаком с Kohana-подобным Auth-модулем и мыслит его терминами. При работе с `Services\Auth` (и любым похожим кодом в этом проекте) — придерживаться этой семантики, а не изобретать свою.
**Why:** Изначально я сделал `Services\Auth::provider()` + интерфейс `AuthProvider` — пользователь не понял слово «provider» и explicitно попросил «убери Provider он меня бесит». Показал референс — конфиг и методы Kohana Auth (`driver`, `login`, `logout`, `check_password`, `get_user`, `logged_in`). После переименования — доволен.
**How to apply:** Итоговая договорённость:
- `Services\Auth::instance(?string $name = null)` — точка входа (как `Auth::instance()` в Kohana), НЕ `provider()`/`getProvider()`.
- Интерфейс — `Services\Auth\AuthDriver` (не `AuthProvider`), реализация по умолчанию — `FileAuthDriver`.
- Методы (camelCase, как везде в проекте — не snake_case, как в самой Kohana): `login($login, $password)`, `logout()`, `loggedIn()`, `getUser()`, `checkPassword($password)`.
- Слово «provider» в новом коде авторизации не использовать вообще — ни в именах классов/методов, ни в комментариях.
- User — не отдельный класс, а обычный `?array` из `getUser()` (осознанное решение: разные бэкенды/драйверы отдают разный набор полей, жёсткий класс был бы либо слишком узким, либо резиновым __get-обёрткой).