feat: phase 2 api parity endpoints for extension

This commit is contained in:
Dwindi Ramadhana
2026-02-03 22:06:08 +07:00
parent dcec38ba94
commit 8816522ddd
11 changed files with 497 additions and 5 deletions

View File

@@ -27,11 +27,11 @@
- [x] Decide canonical data source: start from `dewemoji-api/data/emojis.json`.
### Phase 2 - API parity (extension first)
- [ ] Implement `GET /v1/emojis`.
- [ ] Implement `GET /v1/categories`.
- [ ] Implement `POST /v1/license/verify`.
- [ ] Preserve response/header compatibility (`X-Dewemoji-Tier`).
- [ ] Support both `q` and `query` inputs.
- [x] Implement `GET /v1/emojis`.
- [x] Implement `GET /v1/categories`.
- [x] Implement `POST /v1/license/verify`.
- [x] Preserve response/header compatibility (`X-Dewemoji-Tier`).
- [x] Support both `q` and `query` inputs.
### Phase 3 - Website rebuild
- [ ] Build website pages in new app (index, emoji detail, api docs, legal pages).
@@ -51,3 +51,9 @@
- Backend tier validation stubs in legacy PHP.
- Contract differences between current `/api/*` and extension `/v1/*`.
- Website source currently split (`dewemoji-api` active pages vs `dewemoji-site` empty scaffold).
## Implementation notes (Phase 2)
- Routes are now available at `/v1/*` (no `/api` prefix) for extension compatibility.
- License verification is currently environment-driven (`DEWEMOJI_LICENSE_ACCEPT_ALL` / `DEWEMOJI_PRO_KEYS`) as a safe stub before real provider integration.
- Test coverage added for `v1` endpoints in `app/tests/Feature/ApiV1EndpointsTest.php`.