Consolidate region management APIs
This commit is contained in:
@@ -2,12 +2,11 @@ import { api } from '@/lib/api'
|
||||
import type {
|
||||
PaginatedResponse,
|
||||
RegionResponse,
|
||||
RegionalTargetResponse,
|
||||
RegionalBudgetResponse,
|
||||
RegionAgencyMapResponse,
|
||||
RegionalTaxRuleResponse,
|
||||
ManageRegionResponse,
|
||||
RegionHierarchyResponse,
|
||||
RegionDashboardResponse,
|
||||
RegionManageEntryResponse,
|
||||
RegionManageEntryType,
|
||||
RouteResponse,
|
||||
RouteVisitResponse,
|
||||
VehicleResponse,
|
||||
@@ -104,17 +103,18 @@ export const regions = {
|
||||
remove: (id: string) =>
|
||||
api.delete(`/regions/${id}`),
|
||||
|
||||
setTarget: (id: string, period: string, targetValue: number) =>
|
||||
api.put<RegionalTargetResponse>(`/regions/${id}/targets/${period}`, { targetValue }).then(r => r.data),
|
||||
// Consolidated replacement for the old separate setTarget/setBudget/mapAgency/setTaxRule
|
||||
// calls — pass only the fields you want to change (Period is required alongside targetValue
|
||||
// and/or budgetAmount).
|
||||
manage: (id: string, body: { period?: string; targetValue?: number; budgetAmount?: number; agencyUserId?: string; ruleConfig?: string }) =>
|
||||
api.put<ManageRegionResponse>(`/regions/${id}/manage`, body).then(r => r.data),
|
||||
|
||||
setBudget: (id: string, period: string, budgetAmount: number) =>
|
||||
api.put<RegionalBudgetResponse>(`/regions/${id}/budgets/${period}`, { budgetAmount }).then(r => r.data),
|
||||
// Flat CRUD-list view over targets/budgets/tax-rules/agency-maps across all regions.
|
||||
manageEntries: () =>
|
||||
api.get<RegionManageEntryResponse[]>('/regions/manage-entries').then(r => r.data),
|
||||
|
||||
mapAgency: (id: string, agencyUserId: string) =>
|
||||
api.post<RegionAgencyMapResponse>(`/regions/${id}/agencies`, { agencyUserId }).then(r => r.data),
|
||||
|
||||
setTaxRule: (id: string, ruleConfig: string) =>
|
||||
api.put<RegionalTaxRuleResponse>(`/regions/${id}/tax-rule`, { ruleConfig }).then(r => r.data),
|
||||
removeManageEntry: (entryType: RegionManageEntryType, id: string) =>
|
||||
api.delete(`/regions/manage-entries/${entryType}/${id}`),
|
||||
|
||||
hierarchy: (id: string) =>
|
||||
api.get<RegionHierarchyResponse>(`/regions/${id}/hierarchy`).then(r => r.data),
|
||||
|
||||
Reference in New Issue
Block a user