mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-29 12:58:13 +00:00
96 lines
4.2 KiB
TypeScript
96 lines
4.2 KiB
TypeScript
import type { FleetResourceSlug } from "@/pages/fleet/config/resources";
|
|
import type { BookingListFilter } from "@/services/bookings.service";
|
|
import type { RuleEngineListParams } from "@/services/ruleEngine/ruleEngine.service";
|
|
import type { CompanyListFilter } from "@/types/customer";
|
|
import type { RuleEngineResourceSlug } from "@/types/rule-engine";
|
|
import type { TrainScheduleFilters } from "@/types/trainScheduling";
|
|
|
|
export const QUERY_KEYS = {
|
|
USERS: {
|
|
ROOT: ["users"] as const,
|
|
ADD: ["users", "add"] as const,
|
|
},
|
|
|
|
FILES: {
|
|
ROOT: ["file-upload-settings"] as const,
|
|
list: () => ["file-upload-settings", "list"] as const,
|
|
byId: (id: string) => ["file-upload-settings", "detail", id] as const,
|
|
byCode: (code: string) => ["file-upload-settings", "by-code", code] as const,
|
|
},
|
|
|
|
DROPDOWN_SETTINGS: {
|
|
ROOT: ["dropdown-settings"] as const,
|
|
list: () => ["dropdown-settings", "list"] as const,
|
|
byId: (id: string) => ["dropdown-settings", "detail", id] as const,
|
|
byCode: (code: string) => ["dropdown-settings", "by-code", code] as const,
|
|
},
|
|
|
|
CUSTOMERS: {
|
|
ROOT: ["customers"] as const,
|
|
list: (filter?: CompanyListFilter) =>
|
|
["customers", "list", filter ?? {}] as const,
|
|
byId: (id: string) => ["customers", "detail", id] as const,
|
|
bookings: (id: string) => ["customers", "detail", id, "bookings"] as const,
|
|
documents: (id: string) => ["customers", "detail", id, "documents"] as const,
|
|
payments: (id: string) => ["customers", "detail", id, "payments"] as const,
|
|
},
|
|
|
|
BOOKINGS: {
|
|
ROOT: ["bookings"] as const,
|
|
list: (filter?: BookingListFilter) =>
|
|
["bookings", "list", filter ?? {}] as const,
|
|
listSummary: (filter?: BookingListFilter) =>
|
|
["bookings", "list-summary", filter ?? {}] as const,
|
|
byId: (id: string) => ["bookings", "detail", id] as const,
|
|
},
|
|
|
|
TRAIN_SCHEDULING: {
|
|
ROOT: ["train-scheduling"] as const,
|
|
eligible: (freightType?: string, filters?: TrainScheduleFilters) =>
|
|
["train-scheduling", "eligible-bookings", freightType ?? "CONTAINER", filters ?? {}] as const,
|
|
locomotives: (routeId?: string) =>
|
|
["train-scheduling", "locomotives", routeId ?? "all"] as const,
|
|
stations: () => ["train-scheduling", "stations"] as const,
|
|
schedules: () => ["train-scheduling", "schedules"] as const,
|
|
scheduleById: (id: string) => ["train-scheduling", "schedule", id] as const,
|
|
track: (id: string) => ["train-scheduling", "track", id] as const,
|
|
batchBoard: () => ["train-scheduling", "batch-board"] as const,
|
|
batchBoardDetail: (scheduleId: string) =>
|
|
["train-scheduling", "batch-board", scheduleId] as const,
|
|
unassignedBookings: (id: string) =>
|
|
["train-scheduling", "unassigned", id] as const,
|
|
compositionRemovals: (id: string) =>
|
|
["train-scheduling", "removals", id] as const,
|
|
},
|
|
|
|
FLEET: {
|
|
ROOT: ["fleet"] as const,
|
|
list: (resource: FleetResourceSlug | string) => ["fleet", "list", resource] as const,
|
|
},
|
|
|
|
RULE_ENGINE: {
|
|
ROOT: ["rule-engine"] as const,
|
|
list: (resource: RuleEngineResourceSlug | string, params?: RuleEngineListParams) =>
|
|
["rule-engine", "list", resource, params ?? {}] as const,
|
|
detail: (resource: RuleEngineResourceSlug | string, id: string) =>
|
|
["rule-engine", "detail", resource, id] as const,
|
|
chain: ["rule-engine", "approval-rules", "chain"] as const,
|
|
selectOptions: (
|
|
resource: RuleEngineResourceSlug | string,
|
|
params?: Record<string, unknown>,
|
|
) => ["rule-engine", "select-options", resource, params ?? {}] as const,
|
|
orderList: (resource: RuleEngineResourceSlug | string) =>
|
|
["rule-engine", "order-list", resource] as const,
|
|
},
|
|
|
|
OVERVIEW: {
|
|
ROOT: ["overview"] as const,
|
|
dashboard: (range?: string) => ["overview", "dashboard", range ?? "30d"] as const,
|
|
bookingsTab: (range?: string) => ["overview", "bookings", range ?? "30d"] as const,
|
|
billingTab: (range?: string) => ["overview", "billing", range ?? "30d"] as const,
|
|
operationsTab: () => ["overview", "operations"] as const,
|
|
customersTab: (range?: string) => ["overview", "customers", range ?? "30d"] as const,
|
|
staffTab: (range?: string) => ["overview", "staff", range ?? "30d"] as const,
|
|
},
|
|
} as const;
|