Implement Phase 5: reconciliation, SignalR notifications, payees, splits & plugins
Add full frontend UI for five backend features: bank reconciliation (3-step stepper workflow), payee management (CRUD with alias chips), transaction splits (expandable rows + split editor), plugins (card grid), and real-time SignalR notifications (bell dropdown with badge). Fix backend PayeeResponse to expose alias IDs for deletion. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
import api from './api'
|
||||
import type { Payee, CreatePayeeRequest, UpdatePayeeRequest } from '@/types'
|
||||
|
||||
export const payeesApi = {
|
||||
getAll: () => api.get<Payee[]>('/payees'),
|
||||
getById: (id: string) => api.get<Payee>(`/payees/${id}`),
|
||||
create: (data: CreatePayeeRequest) => api.post<Payee>('/payees', data),
|
||||
update: (id: string, data: UpdatePayeeRequest) => api.put<Payee>(`/payees/${id}`, data),
|
||||
delete: (id: string) => api.delete(`/payees/${id}`),
|
||||
addAlias: (payeeId: string, alias: string) => api.post(`/payees/${payeeId}/aliases`, { alias }),
|
||||
removeAlias: (payeeId: string, aliasId: string) => api.delete(`/payees/${payeeId}/aliases/${aliasId}`),
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import api from './api'
|
||||
import type { Plugin } from '@/types'
|
||||
|
||||
export const pluginsApi = {
|
||||
getAll: () => api.get<Plugin[]>('/plugins'),
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import api from './api'
|
||||
import type { ReconciliationResponse, StartReconciliationRequest } from '@/types'
|
||||
|
||||
export const reconciliationApi = {
|
||||
start: (accountId: string, data: StartReconciliationRequest) =>
|
||||
api.post<ReconciliationResponse>(`/reconciliation/${accountId}/start`, data),
|
||||
complete: (accountId: string, reconciliationId: string) =>
|
||||
api.post(`/reconciliation/${accountId}/complete`, null, { params: { reconciliationId } }),
|
||||
cancel: (accountId: string, reconciliationId: string) =>
|
||||
api.post(`/reconciliation/${accountId}/cancel`, null, { params: { reconciliationId } }),
|
||||
}
|
||||
Reference in New Issue
Block a user