@routeflow/sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +304 -0
  2. package/dist/api/client.d.ts +54 -0
  3. package/dist/api/client.d.ts.map +1 -0
  4. package/dist/api/client.js +119 -0
  5. package/dist/api/client.js.map +1 -0
  6. package/dist/api/mutations/auth.d.ts +57 -0
  7. package/dist/api/mutations/auth.d.ts.map +1 -0
  8. package/dist/api/mutations/auth.js +109 -0
  9. package/dist/api/mutations/auth.js.map +1 -0
  10. package/dist/api/mutations/index.d.ts +8 -0
  11. package/dist/api/mutations/index.d.ts.map +1 -0
  12. package/dist/api/mutations/index.js +29 -0
  13. package/dist/api/mutations/index.js.map +1 -0
  14. package/dist/api/mutations/runs.d.ts +41 -0
  15. package/dist/api/mutations/runs.d.ts.map +1 -0
  16. package/dist/api/mutations/runs.js +132 -0
  17. package/dist/api/mutations/runs.js.map +1 -0
  18. package/dist/api/mutations/stops.d.ts +44 -0
  19. package/dist/api/mutations/stops.d.ts.map +1 -0
  20. package/dist/api/mutations/stops.js +87 -0
  21. package/dist/api/mutations/stops.js.map +1 -0
  22. package/dist/api/mutations/users.d.ts +51 -0
  23. package/dist/api/mutations/users.d.ts.map +1 -0
  24. package/dist/api/mutations/users.js +69 -0
  25. package/dist/api/mutations/users.js.map +1 -0
  26. package/dist/api/queries/auth.d.ts +13 -0
  27. package/dist/api/queries/auth.d.ts.map +1 -0
  28. package/dist/api/queries/auth.js +29 -0
  29. package/dist/api/queries/auth.js.map +1 -0
  30. package/dist/api/queries/drivers.d.ts +22 -0
  31. package/dist/api/queries/drivers.d.ts.map +1 -0
  32. package/dist/api/queries/drivers.js +56 -0
  33. package/dist/api/queries/drivers.js.map +1 -0
  34. package/dist/api/queries/index.d.ts +8 -0
  35. package/dist/api/queries/index.d.ts.map +1 -0
  36. package/dist/api/queries/index.js +19 -0
  37. package/dist/api/queries/index.js.map +1 -0
  38. package/dist/api/queries/runs.d.ts +33 -0
  39. package/dist/api/queries/runs.d.ts.map +1 -0
  40. package/dist/api/queries/runs.js +90 -0
  41. package/dist/api/queries/runs.js.map +1 -0
  42. package/dist/api/queries/tracking.d.ts +22 -0
  43. package/dist/api/queries/tracking.d.ts.map +1 -0
  44. package/dist/api/queries/tracking.js +54 -0
  45. package/dist/api/queries/tracking.js.map +1 -0
  46. package/dist/api/types.d.ts +87 -0
  47. package/dist/api/types.d.ts.map +1 -0
  48. package/dist/api/types.js +74 -0
  49. package/dist/api/types.js.map +1 -0
  50. package/dist/index.d.ts +33 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +58 -0
  53. package/dist/index.js.map +1 -0
  54. package/package.json +47 -0
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /**
3
+ * Mutation hooks - TanStack Query mutations for POST/PUT/PATCH/DELETE operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useReorderStops = exports.useUpdateStopStatus = exports.useDeleteStop = exports.useUpdateStop = exports.useCreateStop = exports.useOptimizeRoute = exports.useCompleteRun = exports.useStartRun = exports.useUnassignDriver = exports.useAssignDriver = exports.useDeleteRun = exports.useUpdateRun = exports.useCreateRun = exports.useDeleteUser = exports.useUpdateUser = exports.useLogout = exports.useRegister = exports.useLogin = void 0;
7
+ var auth_1 = require("./auth");
8
+ Object.defineProperty(exports, "useLogin", { enumerable: true, get: function () { return auth_1.useLogin; } });
9
+ Object.defineProperty(exports, "useRegister", { enumerable: true, get: function () { return auth_1.useRegister; } });
10
+ Object.defineProperty(exports, "useLogout", { enumerable: true, get: function () { return auth_1.useLogout; } });
11
+ var users_1 = require("./users");
12
+ Object.defineProperty(exports, "useUpdateUser", { enumerable: true, get: function () { return users_1.useUpdateUser; } });
13
+ Object.defineProperty(exports, "useDeleteUser", { enumerable: true, get: function () { return users_1.useDeleteUser; } });
14
+ var runs_1 = require("./runs");
15
+ Object.defineProperty(exports, "useCreateRun", { enumerable: true, get: function () { return runs_1.useCreateRun; } });
16
+ Object.defineProperty(exports, "useUpdateRun", { enumerable: true, get: function () { return runs_1.useUpdateRun; } });
17
+ Object.defineProperty(exports, "useDeleteRun", { enumerable: true, get: function () { return runs_1.useDeleteRun; } });
18
+ Object.defineProperty(exports, "useAssignDriver", { enumerable: true, get: function () { return runs_1.useAssignDriver; } });
19
+ Object.defineProperty(exports, "useUnassignDriver", { enumerable: true, get: function () { return runs_1.useUnassignDriver; } });
20
+ Object.defineProperty(exports, "useStartRun", { enumerable: true, get: function () { return runs_1.useStartRun; } });
21
+ Object.defineProperty(exports, "useCompleteRun", { enumerable: true, get: function () { return runs_1.useCompleteRun; } });
22
+ Object.defineProperty(exports, "useOptimizeRoute", { enumerable: true, get: function () { return runs_1.useOptimizeRoute; } });
23
+ var stops_1 = require("./stops");
24
+ Object.defineProperty(exports, "useCreateStop", { enumerable: true, get: function () { return stops_1.useCreateStop; } });
25
+ Object.defineProperty(exports, "useUpdateStop", { enumerable: true, get: function () { return stops_1.useUpdateStop; } });
26
+ Object.defineProperty(exports, "useDeleteStop", { enumerable: true, get: function () { return stops_1.useDeleteStop; } });
27
+ Object.defineProperty(exports, "useUpdateStopStatus", { enumerable: true, get: function () { return stops_1.useUpdateStopStatus; } });
28
+ Object.defineProperty(exports, "useReorderStops", { enumerable: true, get: function () { return stops_1.useReorderStops; } });
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/mutations/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+BAA0D;AAAjD,gGAAA,QAAQ,OAAA;AAAE,mGAAA,WAAW,OAAA;AAAE,iGAAA,SAAS,OAAA;AACzC,iCAAuD;AAA9C,sGAAA,aAAa,OAAA;AAAE,sGAAA,aAAa,OAAA;AACrC,+BASgB;AARd,oGAAA,YAAY,OAAA;AACZ,oGAAA,YAAY,OAAA;AACZ,oGAAA,YAAY,OAAA;AACZ,uGAAA,eAAe,OAAA;AACf,yGAAA,iBAAiB,OAAA;AACjB,mGAAA,WAAW,OAAA;AACX,sGAAA,cAAc,OAAA;AACd,wGAAA,gBAAgB,OAAA;AAElB,iCAMiB;AALf,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,4GAAA,mBAAmB,OAAA;AACnB,wGAAA,eAAe,OAAA"}
@@ -0,0 +1,41 @@
1
+ import { useMutation } from '@tanstack/react-query';
2
+ import type { UseMutationOptions } from '@tanstack/react-query';
3
+ import type { Run, CreateRunRequest, UpdateRunRequest } from '../types';
4
+ type CreateRunOptions = Omit<UseMutationOptions<Run, Error, CreateRunRequest, unknown>, 'mutationFn'>;
5
+ type UpdateRunOptions = Omit<UseMutationOptions<Run, Error, {
6
+ id: string;
7
+ data: UpdateRunRequest;
8
+ }, unknown>, 'mutationFn'>;
9
+ type DeleteRunOptions = Omit<UseMutationOptions<void, Error, string, unknown>, 'mutationFn'>;
10
+ type AssignDriverOptions = Omit<UseMutationOptions<Run, Error, {
11
+ runId: string;
12
+ driverId: string;
13
+ }, unknown>, 'mutationFn'>;
14
+ type UnassignDriverOptions = Omit<UseMutationOptions<Run, Error, string, unknown>, 'mutationFn'>;
15
+ type StartRunOptions = Omit<UseMutationOptions<Run, Error, string, unknown>, 'mutationFn'>;
16
+ type CompleteRunOptions = Omit<UseMutationOptions<Run, Error, string, unknown>, 'mutationFn'>;
17
+ type OptimizeRouteOptions = Omit<UseMutationOptions<Run, Error, string, unknown>, 'mutationFn'>;
18
+ /** Hook for creating a run */
19
+ export declare function useCreateRun(options?: CreateRunOptions): ReturnType<typeof useMutation<Run, Error, CreateRunRequest, unknown>>;
20
+ /** Hook for updating a run */
21
+ export declare function useUpdateRun(options?: UpdateRunOptions): ReturnType<typeof useMutation<Run, Error, {
22
+ id: string;
23
+ data: UpdateRunRequest;
24
+ }, unknown>>;
25
+ /** Hook for deleting a run */
26
+ export declare function useDeleteRun(options?: DeleteRunOptions): ReturnType<typeof useMutation<void, Error, string, unknown>>;
27
+ /** Hook for assigning a driver to a run */
28
+ export declare function useAssignDriver(options?: AssignDriverOptions): ReturnType<typeof useMutation<Run, Error, {
29
+ runId: string;
30
+ driverId: string;
31
+ }, unknown>>;
32
+ /** Hook for unassigning a driver from a run */
33
+ export declare function useUnassignDriver(options?: UnassignDriverOptions): ReturnType<typeof useMutation<Run, Error, string, unknown>>;
34
+ /** Hook for starting a run */
35
+ export declare function useStartRun(options?: StartRunOptions): ReturnType<typeof useMutation<Run, Error, string, unknown>>;
36
+ /** Hook for completing a run */
37
+ export declare function useCompleteRun(options?: CompleteRunOptions): ReturnType<typeof useMutation<Run, Error, string, unknown>>;
38
+ /** Hook for optimizing a run's route */
39
+ export declare function useOptimizeRoute(options?: OptimizeRouteOptions): ReturnType<typeof useMutation<Run, Error, string, unknown>>;
40
+ export {};
41
+ //# sourceMappingURL=runs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../../src/api/mutations/runs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCreateRun = useCreateRun;
4
+ exports.useUpdateRun = useUpdateRun;
5
+ exports.useDeleteRun = useDeleteRun;
6
+ exports.useAssignDriver = useAssignDriver;
7
+ exports.useUnassignDriver = useUnassignDriver;
8
+ exports.useStartRun = useStartRun;
9
+ exports.useCompleteRun = useCompleteRun;
10
+ exports.useOptimizeRoute = useOptimizeRoute;
11
+ const react_query_1 = require("@tanstack/react-query");
12
+ const client_1 = require("../client");
13
+ const types_1 = require("../types");
14
+ // API functions
15
+ async function createRun(data) {
16
+ return (0, client_1.apiRequest)('post', '/api/runs', data);
17
+ }
18
+ async function updateRun({ id, data }) {
19
+ return (0, client_1.apiRequest)('patch', `/api/runs/${id}`, data);
20
+ }
21
+ async function deleteRun(id) {
22
+ return (0, client_1.apiRequest)('delete', `/api/runs/${id}`);
23
+ }
24
+ async function assignDriver({ runId, driverId }) {
25
+ return (0, client_1.apiRequest)('post', `/api/runs/${runId}/assign`, { driverId });
26
+ }
27
+ async function unassignDriver(runId) {
28
+ return (0, client_1.apiRequest)('post', `/api/runs/${runId}/unassign`);
29
+ }
30
+ async function startRun(runId) {
31
+ return (0, client_1.apiRequest)('post', `/api/runs/${runId}/start`);
32
+ }
33
+ async function completeRun(runId) {
34
+ return (0, client_1.apiRequest)('post', `/api/runs/${runId}/complete`);
35
+ }
36
+ async function optimizeRoute(runId) {
37
+ return (0, client_1.apiRequest)('post', `/api/runs/${runId}/optimize`);
38
+ }
39
+ /** Hook for creating a run */
40
+ function useCreateRun(options) {
41
+ const queryClient = (0, react_query_1.useQueryClient)();
42
+ return (0, react_query_1.useMutation)({
43
+ mutationFn: createRun,
44
+ onSettled: () => {
45
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.all });
46
+ },
47
+ ...options,
48
+ });
49
+ }
50
+ /** Hook for updating a run */
51
+ function useUpdateRun(options) {
52
+ const queryClient = (0, react_query_1.useQueryClient)();
53
+ return (0, react_query_1.useMutation)({
54
+ mutationFn: updateRun,
55
+ onSettled: (_data, _error, variables) => {
56
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.detail(variables.id) });
57
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.lists() });
58
+ },
59
+ ...options,
60
+ });
61
+ }
62
+ /** Hook for deleting a run */
63
+ function useDeleteRun(options) {
64
+ const queryClient = (0, react_query_1.useQueryClient)();
65
+ return (0, react_query_1.useMutation)({
66
+ mutationFn: deleteRun,
67
+ onSettled: () => {
68
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.all });
69
+ },
70
+ ...options,
71
+ });
72
+ }
73
+ /** Hook for assigning a driver to a run */
74
+ function useAssignDriver(options) {
75
+ const queryClient = (0, react_query_1.useQueryClient)();
76
+ return (0, react_query_1.useMutation)({
77
+ mutationFn: assignDriver,
78
+ onSettled: (_data, _error, variables) => {
79
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.detail(variables.runId) });
80
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.drivers.all });
81
+ },
82
+ ...options,
83
+ });
84
+ }
85
+ /** Hook for unassigning a driver from a run */
86
+ function useUnassignDriver(options) {
87
+ const queryClient = (0, react_query_1.useQueryClient)();
88
+ return (0, react_query_1.useMutation)({
89
+ mutationFn: unassignDriver,
90
+ onSettled: (_data, _error, variables) => {
91
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.detail(variables) });
92
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.drivers.all });
93
+ },
94
+ ...options,
95
+ });
96
+ }
97
+ /** Hook for starting a run */
98
+ function useStartRun(options) {
99
+ const queryClient = (0, react_query_1.useQueryClient)();
100
+ return (0, react_query_1.useMutation)({
101
+ mutationFn: startRun,
102
+ onSettled: (_data, _error, variables) => {
103
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.detail(variables) });
104
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.lists() });
105
+ },
106
+ ...options,
107
+ });
108
+ }
109
+ /** Hook for completing a run */
110
+ function useCompleteRun(options) {
111
+ const queryClient = (0, react_query_1.useQueryClient)();
112
+ return (0, react_query_1.useMutation)({
113
+ mutationFn: completeRun,
114
+ onSettled: (_data, _error, variables) => {
115
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.detail(variables) });
116
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.lists() });
117
+ },
118
+ ...options,
119
+ });
120
+ }
121
+ /** Hook for optimizing a run's route */
122
+ function useOptimizeRoute(options) {
123
+ const queryClient = (0, react_query_1.useQueryClient)();
124
+ return (0, react_query_1.useMutation)({
125
+ mutationFn: optimizeRoute,
126
+ onSettled: (_data, _error, variables) => {
127
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.detail(variables) });
128
+ },
129
+ ...options,
130
+ });
131
+ }
132
+ //# sourceMappingURL=runs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs.js","sourceRoot":"","sources":["../../../src/api/mutations/runs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { useMutation } from '@tanstack/react-query';
2
+ import type { UseMutationOptions } from '@tanstack/react-query';
3
+ import type { Stop, CreateStopRequest, UpdateStopRequest, StopStatus } from '../types';
4
+ type CreateStopOptions = Omit<UseMutationOptions<Stop, Error, {
5
+ runId: string;
6
+ data: CreateStopRequest;
7
+ }, unknown>, 'mutationFn'>;
8
+ type UpdateStopOptions = Omit<UseMutationOptions<Stop, Error, {
9
+ stopId: string;
10
+ data: UpdateStopRequest;
11
+ }, unknown>, 'mutationFn'>;
12
+ type DeleteStopOptions = Omit<UseMutationOptions<void, Error, string, unknown>, 'mutationFn'>;
13
+ type UpdateStopStatusOptions = Omit<UseMutationOptions<Stop, Error, {
14
+ stopId: string;
15
+ status: StopStatus;
16
+ }, unknown>, 'mutationFn'>;
17
+ type ReorderStopsOptions = Omit<UseMutationOptions<Stop[], Error, {
18
+ runId: string;
19
+ stopIds: string[];
20
+ }, unknown>, 'mutationFn'>;
21
+ /** Hook for creating a stop */
22
+ export declare function useCreateStop(options?: CreateStopOptions): ReturnType<typeof useMutation<Stop, Error, {
23
+ runId: string;
24
+ data: CreateStopRequest;
25
+ }, unknown>>;
26
+ /** Hook for updating a stop */
27
+ export declare function useUpdateStop(options?: UpdateStopOptions): ReturnType<typeof useMutation<Stop, Error, {
28
+ stopId: string;
29
+ data: UpdateStopRequest;
30
+ }, unknown>>;
31
+ /** Hook for deleting a stop */
32
+ export declare function useDeleteStop(options?: DeleteStopOptions): ReturnType<typeof useMutation<void, Error, string, unknown>>;
33
+ /** Hook for updating stop status */
34
+ export declare function useUpdateStopStatus(options?: UpdateStopStatusOptions): ReturnType<typeof useMutation<Stop, Error, {
35
+ stopId: string;
36
+ status: StopStatus;
37
+ }, unknown>>;
38
+ /** Hook for reordering stops */
39
+ export declare function useReorderStops(options?: ReorderStopsOptions): ReturnType<typeof useMutation<Stop[], Error, {
40
+ runId: string;
41
+ stopIds: string[];
42
+ }, unknown>>;
43
+ export {};
44
+ //# sourceMappingURL=stops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stops.d.ts","sourceRoot":"","sources":["../../../src/api/mutations/stops.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAwBvF,KAAK,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;AAClI,KAAK,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;AACnI,KAAK,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;AAC9F,KAAK,uBAAuB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;AACpI,KAAK,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;AAEhI,+BAA+B;AAC/B,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,EAAE,OAAO,CAAC,CAAC,CAWlG;AAED,+BAA+B;AAC/B,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,EAAE,OAAO,CAAC,CAAC,CAWnG;AAED,+BAA+B;AAC/B,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAW9D;AAED,oCAAoC;AACpC,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,uBAAuB,GAChC,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,EAAE,OAAO,CAAC,CAAC,CAW9F;AAED,gCAAgC;AAChC,wBAAgB,eAAe,CAC7B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,OAAO,CAAC,CAAC,CAW9F"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCreateStop = useCreateStop;
4
+ exports.useUpdateStop = useUpdateStop;
5
+ exports.useDeleteStop = useDeleteStop;
6
+ exports.useUpdateStopStatus = useUpdateStopStatus;
7
+ exports.useReorderStops = useReorderStops;
8
+ const react_query_1 = require("@tanstack/react-query");
9
+ const client_1 = require("../client");
10
+ const types_1 = require("../types");
11
+ // API functions
12
+ async function createStop({ runId, data }) {
13
+ return (0, client_1.apiRequest)('post', `/api/runs/${runId}/stops`, data);
14
+ }
15
+ async function updateStop({ stopId, data }) {
16
+ return (0, client_1.apiRequest)('patch', `/api/stops/${stopId}`, data);
17
+ }
18
+ async function deleteStop(stopId) {
19
+ return (0, client_1.apiRequest)('delete', `/api/stops/${stopId}`);
20
+ }
21
+ async function updateStopStatus({ stopId, status }) {
22
+ return (0, client_1.apiRequest)('patch', `/api/stops/${stopId}/status`, { status });
23
+ }
24
+ async function reorderStops({ runId, stopIds }) {
25
+ return (0, client_1.apiRequest)('post', `/api/runs/${runId}/stops/reorder`, { stopIds });
26
+ }
27
+ /** Hook for creating a stop */
28
+ function useCreateStop(options) {
29
+ const queryClient = (0, react_query_1.useQueryClient)();
30
+ return (0, react_query_1.useMutation)({
31
+ mutationFn: createStop,
32
+ onSettled: (_data, _error, variables) => {
33
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.detail(variables.runId) });
34
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.stops.byRun(variables.runId) });
35
+ },
36
+ ...options,
37
+ });
38
+ }
39
+ /** Hook for updating a stop */
40
+ function useUpdateStop(options) {
41
+ const queryClient = (0, react_query_1.useQueryClient)();
42
+ return (0, react_query_1.useMutation)({
43
+ mutationFn: updateStop,
44
+ onSettled: (_data, _error, variables) => {
45
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.stops.detail(variables.stopId) });
46
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.all });
47
+ },
48
+ ...options,
49
+ });
50
+ }
51
+ /** Hook for deleting a stop */
52
+ function useDeleteStop(options) {
53
+ const queryClient = (0, react_query_1.useQueryClient)();
54
+ return (0, react_query_1.useMutation)({
55
+ mutationFn: deleteStop,
56
+ onSettled: () => {
57
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.stops.all });
58
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.all });
59
+ },
60
+ ...options,
61
+ });
62
+ }
63
+ /** Hook for updating stop status */
64
+ function useUpdateStopStatus(options) {
65
+ const queryClient = (0, react_query_1.useQueryClient)();
66
+ return (0, react_query_1.useMutation)({
67
+ mutationFn: updateStopStatus,
68
+ onSettled: (_data, _error, variables) => {
69
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.stops.detail(variables.stopId) });
70
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.all });
71
+ },
72
+ ...options,
73
+ });
74
+ }
75
+ /** Hook for reordering stops */
76
+ function useReorderStops(options) {
77
+ const queryClient = (0, react_query_1.useQueryClient)();
78
+ return (0, react_query_1.useMutation)({
79
+ mutationFn: reorderStops,
80
+ onSettled: (_data, _error, variables) => {
81
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.detail(variables.runId) });
82
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.stops.byRun(variables.runId) });
83
+ },
84
+ ...options,
85
+ });
86
+ }
87
+ //# sourceMappingURL=stops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stops.js","sourceRoot":"","sources":["../../../src/api/mutations/stops.ts"],"names":[],"mappings":";;AAmCA,sCAaC;AAGD,sCAaC;AAGD,sCAaC;AAGD,kDAaC;AAGD,0CAaC;AAhHD,uDAAoE;AAEpE,sCAAuC;AACvC,oCAAqC;AAGrC,gBAAgB;AAChB,KAAK,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAA8C;IACnF,OAAO,IAAA,mBAAU,EAAO,MAAM,EAAE,aAAa,KAAK,QAAQ,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAA+C;IACrF,OAAO,IAAA,mBAAU,EAAO,OAAO,EAAE,cAAc,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAc;IACtC,OAAO,IAAA,mBAAU,EAAO,QAAQ,EAAE,cAAc,MAAM,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAA0C;IACxF,OAAO,IAAA,mBAAU,EAAO,OAAO,EAAE,cAAc,MAAM,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAwC;IAClF,OAAO,IAAA,mBAAU,EAAS,MAAM,EAAE,aAAa,KAAK,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACrF,CAAC;AASD,+BAA+B;AAC/B,SAAgB,aAAa,CAC3B,OAA2B;IAE3B,MAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAC;IAErC,OAAO,IAAA,yBAAW,EAAC;QACjB,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;YACtC,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzF,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAED,+BAA+B;AAC/B,SAAgB,aAAa,CAC3B,OAA2B;IAE3B,MAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAC;IAErC,OAAO,IAAA,yBAAW,EAAC;QACjB,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;YACtC,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3F,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAED,+BAA+B;AAC/B,SAAgB,aAAa,CAC3B,OAA2B;IAE3B,MAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAC;IAErC,OAAO,IAAA,yBAAW,EAAC;QACjB,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,GAAG,EAAE;YACd,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACtE,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAED,oCAAoC;AACpC,SAAgB,mBAAmB,CACjC,OAAiC;IAEjC,MAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAC;IAErC,OAAO,IAAA,yBAAW,EAAC;QACjB,UAAU,EAAE,gBAAgB;QAC5B,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;YACtC,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3F,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAED,gCAAgC;AAChC,SAAgB,eAAe,CAC7B,OAA6B;IAE7B,MAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAC;IAErC,OAAO,IAAA,yBAAW,EAAC;QACjB,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;YACtC,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzF,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { useMutation } from '@tanstack/react-query';
2
+ import type { UseMutationOptions } from '@tanstack/react-query';
3
+ import type { User } from '../types';
4
+ /**
5
+ * Update user data
6
+ */
7
+ interface UpdateUserData {
8
+ name?: string;
9
+ phone?: string;
10
+ language?: string;
11
+ }
12
+ type UpdateUserMutationOptions = Omit<UseMutationOptions<User, Error, {
13
+ id: string;
14
+ data: UpdateUserData;
15
+ }, unknown>, 'mutationFn'>;
16
+ type DeleteUserMutationOptions = Omit<UseMutationOptions<void, Error, string, unknown>, 'mutationFn'>;
17
+ /**
18
+ * Hook for updating user profile
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const { mutate: updateUser, isPending } = useUpdateUser({
23
+ * onSuccess: (user) => {
24
+ * toast({ title: 'Profile updated' });
25
+ * },
26
+ * });
27
+ *
28
+ * updateUser({ id: 'user-123', data: { name: 'New Name' } });
29
+ * ```
30
+ */
31
+ export declare function useUpdateUser(options?: UpdateUserMutationOptions): ReturnType<typeof useMutation<User, Error, {
32
+ id: string;
33
+ data: UpdateUserData;
34
+ }, unknown>>;
35
+ /**
36
+ * Hook for deleting a user
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * const { mutate: deleteUser, isPending } = useDeleteUser({
41
+ * onSuccess: () => {
42
+ * router.push('/login');
43
+ * },
44
+ * });
45
+ *
46
+ * deleteUser('user-123');
47
+ * ```
48
+ */
49
+ export declare function useDeleteUser(options?: DeleteUserMutationOptions): ReturnType<typeof useMutation<void, Error, string, unknown>>;
50
+ export {};
51
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../src/api/mutations/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAErC;;GAEG;AACH,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAaD,KAAK,yBAAyB,GAAG,IAAI,CACnC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,EAAE,OAAO,CAAC,EAC9E,YAAY,CACb,CAAC;AAEF,KAAK,yBAAyB,GAAG,IAAI,CACnC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAChD,YAAY,CACb,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,yBAAyB,GAClC,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,EAAE,OAAO,CAAC,CAAC,CAa5F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,yBAAyB,GAClC,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAW9D"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useUpdateUser = useUpdateUser;
4
+ exports.useDeleteUser = useDeleteUser;
5
+ const react_query_1 = require("@tanstack/react-query");
6
+ const client_1 = require("../client");
7
+ const types_1 = require("../types");
8
+ async function updateUser({ id, data }) {
9
+ return (0, client_1.apiRequest)('patch', `/api/users/${id}`, data);
10
+ }
11
+ /**
12
+ * Delete user
13
+ */
14
+ async function deleteUser(id) {
15
+ return (0, client_1.apiRequest)('delete', `/api/users/${id}`);
16
+ }
17
+ /**
18
+ * Hook for updating user profile
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const { mutate: updateUser, isPending } = useUpdateUser({
23
+ * onSuccess: (user) => {
24
+ * toast({ title: 'Profile updated' });
25
+ * },
26
+ * });
27
+ *
28
+ * updateUser({ id: 'user-123', data: { name: 'New Name' } });
29
+ * ```
30
+ */
31
+ function useUpdateUser(options) {
32
+ const queryClient = (0, react_query_1.useQueryClient)();
33
+ return (0, react_query_1.useMutation)({
34
+ mutationFn: updateUser,
35
+ onSuccess: (updatedUser) => {
36
+ // Update the current user in cache
37
+ queryClient.setQueryData(types_1.queryKeys.auth.me(), updatedUser);
38
+ // Invalidate users list
39
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.users.all });
40
+ },
41
+ ...options,
42
+ });
43
+ }
44
+ /**
45
+ * Hook for deleting a user
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * const { mutate: deleteUser, isPending } = useDeleteUser({
50
+ * onSuccess: () => {
51
+ * router.push('/login');
52
+ * },
53
+ * });
54
+ *
55
+ * deleteUser('user-123');
56
+ * ```
57
+ */
58
+ function useDeleteUser(options) {
59
+ const queryClient = (0, react_query_1.useQueryClient)();
60
+ return (0, react_query_1.useMutation)({
61
+ mutationFn: deleteUser,
62
+ onSuccess: () => {
63
+ // Clear all queries on delete
64
+ queryClient.clear();
65
+ },
66
+ ...options,
67
+ });
68
+ }
69
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/api/mutations/users.ts"],"names":[],"mappings":";;AAkDA,sCAeC;AAgBD,sCAaC;AA9FD,uDAAoE;AAEpE,sCAAuC;AACvC,oCAAqC;AAYrC,KAAK,UAAU,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAwC;IAC1E,OAAO,IAAA,mBAAU,EAAO,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,EAAU;IAClC,OAAO,IAAA,mBAAU,EAAO,QAAQ,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC;AAYD;;;;;;;;;;;;;GAaG;AACH,SAAgB,aAAa,CAC3B,OAAmC;IAEnC,MAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAC;IAErC,OAAO,IAAA,yBAAW,EAAC;QACjB,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE;YACzB,mCAAmC;YACnC,WAAW,CAAC,YAAY,CAAO,iBAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;YACjE,wBAAwB;YACxB,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,aAAa,CAC3B,OAAmC;IAEnC,MAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAC;IAErC,OAAO,IAAA,yBAAW,EAAC;QACjB,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,GAAG,EAAE;YACd,8BAA8B;YAC9B,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import type { UseQueryOptions } from '@tanstack/react-query';
3
+ import type { User } from '../types';
4
+ /**
5
+ * Hook to get the current authenticated user
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const { data: user, isLoading, error } = useCurrentUser();
10
+ * ```
11
+ */
12
+ export declare function useCurrentUser(options?: Omit<UseQueryOptions<User, Error>, 'queryKey' | 'queryFn'>): ReturnType<typeof useQuery<User, Error>>;
13
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/api/queries/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AASrC;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACnE,UAAU,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAO1C"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCurrentUser = useCurrentUser;
4
+ const react_query_1 = require("@tanstack/react-query");
5
+ const client_1 = require("../client");
6
+ const types_1 = require("../types");
7
+ /**
8
+ * Fetch the current authenticated user
9
+ */
10
+ async function fetchCurrentUser() {
11
+ return (0, client_1.apiRequest)('get', '/api/auth/me');
12
+ }
13
+ /**
14
+ * Hook to get the current authenticated user
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const { data: user, isLoading, error } = useCurrentUser();
19
+ * ```
20
+ */
21
+ function useCurrentUser(options) {
22
+ return (0, react_query_1.useQuery)({
23
+ queryKey: types_1.queryKeys.auth.me(),
24
+ queryFn: fetchCurrentUser,
25
+ staleTime: 5 * 60 * 1000, // 5 minutes
26
+ ...options,
27
+ });
28
+ }
29
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/api/queries/auth.ts"],"names":[],"mappings":";;AAqBA,wCASC;AA9BD,uDAAiD;AAEjD,sCAAuC;AACvC,oCAAqC;AAGrC;;GAEG;AACH,KAAK,UAAU,gBAAgB;IAC7B,OAAO,IAAA,mBAAU,EAAO,KAAK,EAAE,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,OAAoE;IAEpE,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,iBAAS,CAAC,IAAI,CAAC,EAAE,EAAE;QAC7B,OAAO,EAAE,gBAAgB;QACzB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;QACtC,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import type { UseQueryOptions } from '@tanstack/react-query';
3
+ import type { Driver, ListDriversParams } from '../types';
4
+ /**
5
+ * Hook to get a list of drivers
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const { data: drivers, isLoading } = useDrivers({ onlineOnly: true });
10
+ * ```
11
+ */
12
+ export declare function useDrivers(params?: ListDriversParams, options?: Omit<UseQueryOptions<Driver[], Error>, 'queryKey' | 'queryFn'>): ReturnType<typeof useQuery<Driver[], Error>>;
13
+ /**
14
+ * Hook to get a single driver by ID
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const { data: driver, isLoading } = useDriver('driver-123');
19
+ * ```
20
+ */
21
+ export declare function useDriver(id: string, options?: Omit<UseQueryOptions<Driver, Error>, 'queryKey' | 'queryFn'>): ReturnType<typeof useQuery<Driver, Error>>;
22
+ //# sourceMappingURL=drivers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drivers.d.ts","sourceRoot":"","sources":["../../../src/api/queries/drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAsB1D;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACvE,UAAU,CAAC,OAAO,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC,CAM9C;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GACrE,UAAU,CAAC,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAO5C"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useDrivers = useDrivers;
4
+ exports.useDriver = useDriver;
5
+ const react_query_1 = require("@tanstack/react-query");
6
+ const client_1 = require("../client");
7
+ const types_1 = require("../types");
8
+ /**
9
+ * Fetch a list of drivers
10
+ */
11
+ async function fetchDrivers(params) {
12
+ const searchParams = new URLSearchParams();
13
+ if (params?.onlineOnly)
14
+ searchParams.set('onlineOnly', 'true');
15
+ const query = searchParams.toString();
16
+ const url = `/api/drivers${query ? `?${query}` : ''}`;
17
+ return (0, client_1.apiRequest)('get', url);
18
+ }
19
+ /**
20
+ * Fetch a single driver by ID
21
+ */
22
+ async function fetchDriver(id) {
23
+ return (0, client_1.apiRequest)('get', `/api/drivers/${id}`);
24
+ }
25
+ /**
26
+ * Hook to get a list of drivers
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const { data: drivers, isLoading } = useDrivers({ onlineOnly: true });
31
+ * ```
32
+ */
33
+ function useDrivers(params, options) {
34
+ return (0, react_query_1.useQuery)({
35
+ queryKey: types_1.queryKeys.drivers.list(params),
36
+ queryFn: () => fetchDrivers(params),
37
+ ...options,
38
+ });
39
+ }
40
+ /**
41
+ * Hook to get a single driver by ID
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const { data: driver, isLoading } = useDriver('driver-123');
46
+ * ```
47
+ */
48
+ function useDriver(id, options) {
49
+ return (0, react_query_1.useQuery)({
50
+ queryKey: types_1.queryKeys.drivers.detail(id),
51
+ queryFn: () => fetchDriver(id),
52
+ enabled: Boolean(id),
53
+ ...options,
54
+ });
55
+ }
56
+ //# sourceMappingURL=drivers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drivers.js","sourceRoot":"","sources":["../../../src/api/queries/drivers.ts"],"names":[],"mappings":";;AAkCA,gCASC;AAUD,8BAUC;AA/DD,uDAAiD;AAEjD,sCAAuC;AACvC,oCAAqC;AAGrC;;GAEG;AACH,KAAK,UAAU,YAAY,CAAC,MAA0B;IACpD,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAC3C,IAAI,MAAM,EAAE,UAAU;QAAE,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,eAAe,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAEtD,OAAO,IAAA,mBAAU,EAAW,KAAK,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CAAC,EAAU;IACnC,OAAO,IAAA,mBAAU,EAAS,KAAK,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,UAAU,CACxB,MAA0B,EAC1B,OAAwE;IAExE,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,iBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QACxC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;QACnC,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,SAAS,CACvB,EAAU,EACV,OAAsE;IAEtE,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,iBAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACpB,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC"}