6520ebf221
Self-hosted, plugin-extensible personal finance manager built with ASP.NET Core 9.0, Vue 3 + Vuetify 3, and PostgreSQL 17. Backend (8 .NET projects): - Core: 19 domain models, 6 enums, 14 DTOs, 12 service interfaces - Data: EF Core DbContext, 16 entity configurations, category seeder - API: 14 controllers, 15 services, JWT auth, SignalR, middleware - Plugins: Abstractions + OFX/CSV/QIF file parsers - Tests: 28 xUnit tests (fingerprinting, duplicate detection, parsers) Frontend (Vue 3 + Vuetify 3 + TypeScript): - 13 views, Pinia stores, Axios API services with JWT interceptors - Dashboard, accounts, transactions, categories, imports, and more Deployment: - Docker Compose (PostgreSQL 17 + .NET API + nginx frontend) - Auto-migration on startup Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
11 lines
434 B
TypeScript
11 lines
434 B
TypeScript
import api from './api'
|
|
import type { Category, CategoryTree } from '@/types'
|
|
|
|
export const categoriesApi = {
|
|
getAll: () => api.get<Category[]>('/categories'),
|
|
getTree: () => api.get<CategoryTree[]>('/categories/tree'),
|
|
create: (data: any) => api.post<Category>('/categories', data),
|
|
update: (id: string, data: any) => api.put<Category>(`/categories/${id}`, data),
|
|
delete: (id: string) => api.delete(`/categories/${id}`),
|
|
}
|