feat: Add JWT auth and nomenclature sync to data-entry-app
Integrate shared JWT authentication into data-entry-app: - Add Oracle pool initialization for auth service - Add AuthenticationMiddleware to protect API routes - Update all receipt endpoints to use CurrentUser from JWT - Add shared auth router (/api/auth/login, /api/auth/refresh) Add nomenclature synchronization feature: - Create SQLite models for synced suppliers, local suppliers, and cash registers - Add nomenclature router with sync triggers and CRUD endpoints - Add sync service for Oracle → SQLite nomenclature data - Update nomenclature_service to use synced SQLite data with fallbacks Create shared frontend components: - Add shared/frontend/ with LoginView.vue, auth store factory, login.css - Integrate shared login and auth into data-entry-app frontend - Add axios-based API service with token refresh interceptor 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
13
CLAUDE.md
13
CLAUDE.md
@@ -38,8 +38,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
**Working on `reports-app/` or `shared/`**:
|
||||
→ Use instructions from this file (below)
|
||||
|
||||
**Working on shared components** (`shared/auth/`, `shared/database/`):
|
||||
**Working on shared components** (`shared/auth/`, `shared/database/`, `shared/frontend/`):
|
||||
→ These are used by BOTH apps - be careful with changes!
|
||||
→ `shared/frontend/` contains: LoginView.vue, auth store factory, login styles
|
||||
|
||||
---
|
||||
|
||||
@@ -48,9 +49,13 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
### Microservices Structure
|
||||
```
|
||||
.
|
||||
├── shared/ # Shared components (DB pool, auth, utils)
|
||||
│ ├── database/ # Oracle pool (used by reports-app)
|
||||
│ └── auth/ # JWT auth (used by both apps)
|
||||
├── shared/ # Shared components (DB pool, auth, frontend)
|
||||
│ ├── database/ # Oracle pool (used by both apps)
|
||||
│ ├── auth/ # JWT auth (used by both apps)
|
||||
│ └── frontend/ # Shared Vue components, stores, styles
|
||||
│ ├── components/ # LoginView.vue
|
||||
│ ├── stores/ # auth.js (Pinia store factory)
|
||||
│ └── styles/ # login.css
|
||||
│
|
||||
├── reports-app/ # READ-ONLY reports from Oracle
|
||||
│ ├── backend/ # FastAPI API (port 8001)
|
||||
|
||||
Reference in New Issue
Block a user