@deepintel-ltd/farmpro-contracts 1.5.8 → 1.5.9

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 (53) hide show
  1. package/dist/index.js +50 -92
  2. package/dist/routes/admin.routes.js +13 -16
  3. package/dist/routes/agent-workflows.routes.js +81 -84
  4. package/dist/routes/agents.routes.js +29 -32
  5. package/dist/routes/analytics.routes.js +11 -14
  6. package/dist/routes/auth.routes.js +55 -58
  7. package/dist/routes/categories.routes.js +23 -26
  8. package/dist/routes/documents.routes.js +67 -70
  9. package/dist/routes/equipment.routes.js +55 -58
  10. package/dist/routes/farms.routes.js +32 -35
  11. package/dist/routes/field-monitoring.routes.js +70 -73
  12. package/dist/routes/field-observations.routes.js +41 -44
  13. package/dist/routes/fields.routes.js +44 -47
  14. package/dist/routes/finance.routes.js +121 -124
  15. package/dist/routes/harvest.routes.js +46 -49
  16. package/dist/routes/health.routes.js +6 -9
  17. package/dist/routes/index.js +51 -54
  18. package/dist/routes/input-usage.routes.js +14 -17
  19. package/dist/routes/inventory.routes.js +57 -60
  20. package/dist/routes/seasonal-plans.routes.js +14 -17
  21. package/dist/routes/soil-tests.routes.js +45 -48
  22. package/dist/routes/suppliers.routes.js +70 -73
  23. package/dist/routes/tasks.routes.js +65 -68
  24. package/dist/routes/team.routes.js +57 -60
  25. package/dist/routes/users.routes.js +13 -16
  26. package/dist/routes/weather.routes.js +10 -13
  27. package/dist/schemas/admin.schemas.js +43 -46
  28. package/dist/schemas/agent-workflows.schemas.js +34 -37
  29. package/dist/schemas/agents.schemas.js +46 -49
  30. package/dist/schemas/analytics.schemas.js +51 -54
  31. package/dist/schemas/auth.schemas.js +96 -99
  32. package/dist/schemas/categories.schemas.js +27 -30
  33. package/dist/schemas/common.schemas.js +89 -95
  34. package/dist/schemas/documents.schemas.js +59 -62
  35. package/dist/schemas/equipment.schemas.js +86 -89
  36. package/dist/schemas/farms.schemas.js +40 -43
  37. package/dist/schemas/field-monitoring.schemas.js +207 -210
  38. package/dist/schemas/field-observations.schemas.js +93 -96
  39. package/dist/schemas/fields.schemas.js +82 -85
  40. package/dist/schemas/finance.schemas.js +134 -137
  41. package/dist/schemas/harvest.schemas.js +46 -49
  42. package/dist/schemas/health.schemas.js +14 -17
  43. package/dist/schemas/input-usage.schemas.js +21 -24
  44. package/dist/schemas/inventory.schemas.js +58 -61
  45. package/dist/schemas/recommendations.schemas.js +22 -25
  46. package/dist/schemas/seasonal-plans.schemas.js +21 -24
  47. package/dist/schemas/soil-tests.schemas.js +70 -73
  48. package/dist/schemas/suppliers.schemas.js +90 -93
  49. package/dist/schemas/tasks.schemas.js +93 -96
  50. package/dist/schemas/team.schemas.js +35 -38
  51. package/dist/schemas/users.schemas.js +19 -22
  52. package/dist/schemas/weather.schemas.js +32 -35
  53. package/package.json +9 -1
@@ -1,28 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.soilTestsRouter = void 0;
4
- const core_1 = require("@ts-rest/core");
5
- const zod_1 = require("zod");
6
- const soil_tests_schemas_1 = require("../schemas/soil-tests.schemas");
7
- const common_schemas_1 = require("../schemas/common.schemas");
8
- const c = (0, core_1.initContract)();
9
- exports.soilTestsRouter = c.router({
1
+ import { initContract } from '@ts-rest/core';
2
+ import { z } from 'zod';
3
+ import { createSoilTestSchema, updateSoilTestSchema, soilTestResponseSchema, soilTestDetailResponseSchema, soilTestListResponseSchema, } from '../schemas/soil-tests.schemas';
4
+ import { jsonApiErrorResponseSchema, jsonApiSuccessResponseSchema, jsonApiPaginationQuerySchema, jsonApiSortQuerySchema, jsonApiIncludeQuerySchema, jsonApiFilterQuerySchema } from '../schemas/common.schemas';
5
+ const c = initContract();
6
+ export const soilTestsRouter = c.router({
10
7
  // List soil tests for a farm
11
8
  listSoilTests: {
12
9
  method: 'GET',
13
10
  path: '/farms/:farmId/soil-tests',
14
- pathParams: zod_1.z.object({ farmId: zod_1.z.string().uuid() }),
15
- query: common_schemas_1.jsonApiPaginationQuerySchema
16
- .merge(common_schemas_1.jsonApiSortQuerySchema)
17
- .merge(common_schemas_1.jsonApiIncludeQuerySchema)
18
- .merge(common_schemas_1.jsonApiFilterQuerySchema)
19
- .merge(zod_1.z.object({
20
- 'filter[fieldId]': zod_1.z.string().uuid().optional(),
11
+ pathParams: z.object({ farmId: z.string().uuid() }),
12
+ query: jsonApiPaginationQuerySchema
13
+ .merge(jsonApiSortQuerySchema)
14
+ .merge(jsonApiIncludeQuerySchema)
15
+ .merge(jsonApiFilterQuerySchema)
16
+ .merge(z.object({
17
+ 'filter[fieldId]': z.string().uuid().optional(),
21
18
  })),
22
19
  responses: {
23
- 200: soil_tests_schemas_1.soilTestListResponseSchema,
24
- 404: common_schemas_1.jsonApiErrorResponseSchema,
25
- 401: common_schemas_1.jsonApiErrorResponseSchema,
20
+ 200: soilTestListResponseSchema,
21
+ 404: jsonApiErrorResponseSchema,
22
+ 401: jsonApiErrorResponseSchema,
26
23
  },
27
24
  summary: 'List soil tests',
28
25
  description: 'Get all soil tests for a farm',
@@ -31,14 +28,14 @@ exports.soilTestsRouter = c.router({
31
28
  createSoilTest: {
32
29
  method: 'POST',
33
30
  path: '/farms/:farmId/soil-tests',
34
- pathParams: zod_1.z.object({ farmId: zod_1.z.string().uuid() }),
35
- body: zod_1.z.object({ data: soil_tests_schemas_1.createSoilTestSchema }),
31
+ pathParams: z.object({ farmId: z.string().uuid() }),
32
+ body: z.object({ data: createSoilTestSchema }),
36
33
  responses: {
37
- 201: soil_tests_schemas_1.soilTestResponseSchema,
38
- 400: common_schemas_1.jsonApiErrorResponseSchema,
39
- 404: common_schemas_1.jsonApiErrorResponseSchema,
40
- 401: common_schemas_1.jsonApiErrorResponseSchema,
41
- 422: common_schemas_1.jsonApiErrorResponseSchema,
34
+ 201: soilTestResponseSchema,
35
+ 400: jsonApiErrorResponseSchema,
36
+ 404: jsonApiErrorResponseSchema,
37
+ 401: jsonApiErrorResponseSchema,
38
+ 422: jsonApiErrorResponseSchema,
42
39
  },
43
40
  summary: 'Create soil test',
44
41
  description: 'Record a new soil test with automatic fertilizer recommendations',
@@ -47,15 +44,15 @@ exports.soilTestsRouter = c.router({
47
44
  getSoilTest: {
48
45
  method: 'GET',
49
46
  path: '/farms/:farmId/soil-tests/:id',
50
- pathParams: zod_1.z.object({
51
- farmId: zod_1.z.string().uuid(),
52
- id: zod_1.z.string().uuid(),
47
+ pathParams: z.object({
48
+ farmId: z.string().uuid(),
49
+ id: z.string().uuid(),
53
50
  }),
54
- query: common_schemas_1.jsonApiIncludeQuerySchema,
51
+ query: jsonApiIncludeQuerySchema,
55
52
  responses: {
56
- 200: soil_tests_schemas_1.soilTestDetailResponseSchema,
57
- 404: common_schemas_1.jsonApiErrorResponseSchema,
58
- 401: common_schemas_1.jsonApiErrorResponseSchema,
53
+ 200: soilTestDetailResponseSchema,
54
+ 404: jsonApiErrorResponseSchema,
55
+ 401: jsonApiErrorResponseSchema,
59
56
  },
60
57
  summary: 'Get soil test by ID',
61
58
  description: 'Get detailed soil test information with recommendations',
@@ -64,17 +61,17 @@ exports.soilTestsRouter = c.router({
64
61
  updateSoilTest: {
65
62
  method: 'PATCH',
66
63
  path: '/farms/:farmId/soil-tests/:id',
67
- pathParams: zod_1.z.object({
68
- farmId: zod_1.z.string().uuid(),
69
- id: zod_1.z.string().uuid(),
64
+ pathParams: z.object({
65
+ farmId: z.string().uuid(),
66
+ id: z.string().uuid(),
70
67
  }),
71
- body: zod_1.z.object({ data: soil_tests_schemas_1.updateSoilTestSchema }),
68
+ body: z.object({ data: updateSoilTestSchema }),
72
69
  responses: {
73
- 200: soil_tests_schemas_1.soilTestResponseSchema,
74
- 400: common_schemas_1.jsonApiErrorResponseSchema,
75
- 404: common_schemas_1.jsonApiErrorResponseSchema,
76
- 401: common_schemas_1.jsonApiErrorResponseSchema,
77
- 422: common_schemas_1.jsonApiErrorResponseSchema,
70
+ 200: soilTestResponseSchema,
71
+ 400: jsonApiErrorResponseSchema,
72
+ 404: jsonApiErrorResponseSchema,
73
+ 401: jsonApiErrorResponseSchema,
74
+ 422: jsonApiErrorResponseSchema,
78
75
  },
79
76
  summary: 'Update soil test',
80
77
  description: 'Update soil test information',
@@ -83,14 +80,14 @@ exports.soilTestsRouter = c.router({
83
80
  deleteSoilTest: {
84
81
  method: 'DELETE',
85
82
  path: '/farms/:farmId/soil-tests/:id',
86
- pathParams: zod_1.z.object({
87
- farmId: zod_1.z.string().uuid(),
88
- id: zod_1.z.string().uuid(),
83
+ pathParams: z.object({
84
+ farmId: z.string().uuid(),
85
+ id: z.string().uuid(),
89
86
  }),
90
87
  responses: {
91
- 204: common_schemas_1.jsonApiSuccessResponseSchema,
92
- 404: common_schemas_1.jsonApiErrorResponseSchema,
93
- 401: common_schemas_1.jsonApiErrorResponseSchema,
88
+ 204: jsonApiSuccessResponseSchema,
89
+ 404: jsonApiErrorResponseSchema,
90
+ 401: jsonApiErrorResponseSchema,
94
91
  },
95
92
  summary: 'Delete soil test',
96
93
  description: 'Delete a soil test record',
@@ -1,28 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.suppliersRouter = void 0;
4
- const core_1 = require("@ts-rest/core");
5
- const zod_1 = require("zod");
6
- const suppliers_schemas_1 = require("../schemas/suppliers.schemas");
7
- const common_schemas_1 = require("../schemas/common.schemas");
8
- const c = (0, core_1.initContract)();
9
- exports.suppliersRouter = c.router({
1
+ import { initContract } from '@ts-rest/core';
2
+ import { z } from 'zod';
3
+ import { createSupplierSchema, updateSupplierSchema, supplierResponseSchema, supplierListResponseSchema, createBuyerSchema, updateBuyerSchema, buyerResponseSchema, buyerListResponseSchema, supplierTypeSchema, } from '../schemas/suppliers.schemas';
4
+ import { jsonApiErrorResponseSchema, jsonApiSuccessResponseSchema, jsonApiPaginationQuerySchema, jsonApiSortQuerySchema, jsonApiIncludeQuerySchema, jsonApiFilterQuerySchema } from '../schemas/common.schemas';
5
+ const c = initContract();
6
+ export const suppliersRouter = c.router({
10
7
  // Supplier routes
11
8
  listSuppliers: {
12
9
  method: 'GET',
13
10
  path: '/farms/:farmId/suppliers',
14
- pathParams: zod_1.z.object({ farmId: zod_1.z.string().uuid() }),
15
- query: common_schemas_1.jsonApiPaginationQuerySchema
16
- .merge(common_schemas_1.jsonApiSortQuerySchema)
17
- .merge(common_schemas_1.jsonApiIncludeQuerySchema)
18
- .merge(common_schemas_1.jsonApiFilterQuerySchema)
19
- .merge(zod_1.z.object({
20
- 'filter[type]': suppliers_schemas_1.supplierTypeSchema.optional(),
11
+ pathParams: z.object({ farmId: z.string().uuid() }),
12
+ query: jsonApiPaginationQuerySchema
13
+ .merge(jsonApiSortQuerySchema)
14
+ .merge(jsonApiIncludeQuerySchema)
15
+ .merge(jsonApiFilterQuerySchema)
16
+ .merge(z.object({
17
+ 'filter[type]': supplierTypeSchema.optional(),
21
18
  })),
22
19
  responses: {
23
- 200: suppliers_schemas_1.supplierListResponseSchema,
24
- 404: common_schemas_1.jsonApiErrorResponseSchema,
25
- 401: common_schemas_1.jsonApiErrorResponseSchema,
20
+ 200: supplierListResponseSchema,
21
+ 404: jsonApiErrorResponseSchema,
22
+ 401: jsonApiErrorResponseSchema,
26
23
  },
27
24
  summary: 'List suppliers',
28
25
  description: 'Get all suppliers for a farm with optional filtering',
@@ -30,14 +27,14 @@ exports.suppliersRouter = c.router({
30
27
  createSupplier: {
31
28
  method: 'POST',
32
29
  path: '/farms/:farmId/suppliers',
33
- pathParams: zod_1.z.object({ farmId: zod_1.z.string().uuid() }),
34
- body: zod_1.z.object({ data: suppliers_schemas_1.createSupplierSchema }),
30
+ pathParams: z.object({ farmId: z.string().uuid() }),
31
+ body: z.object({ data: createSupplierSchema }),
35
32
  responses: {
36
- 201: suppliers_schemas_1.supplierResponseSchema,
37
- 400: common_schemas_1.jsonApiErrorResponseSchema,
38
- 404: common_schemas_1.jsonApiErrorResponseSchema,
39
- 401: common_schemas_1.jsonApiErrorResponseSchema,
40
- 422: common_schemas_1.jsonApiErrorResponseSchema,
33
+ 201: supplierResponseSchema,
34
+ 400: jsonApiErrorResponseSchema,
35
+ 404: jsonApiErrorResponseSchema,
36
+ 401: jsonApiErrorResponseSchema,
37
+ 422: jsonApiErrorResponseSchema,
41
38
  },
42
39
  summary: 'Create supplier',
43
40
  description: 'Add a new supplier',
@@ -45,17 +42,17 @@ exports.suppliersRouter = c.router({
45
42
  updateSupplier: {
46
43
  method: 'PATCH',
47
44
  path: '/farms/:farmId/suppliers/:id',
48
- pathParams: zod_1.z.object({
49
- farmId: zod_1.z.string().uuid(),
50
- id: zod_1.z.string().uuid(),
45
+ pathParams: z.object({
46
+ farmId: z.string().uuid(),
47
+ id: z.string().uuid(),
51
48
  }),
52
- body: zod_1.z.object({ data: suppliers_schemas_1.updateSupplierSchema }),
49
+ body: z.object({ data: updateSupplierSchema }),
53
50
  responses: {
54
- 200: suppliers_schemas_1.supplierResponseSchema,
55
- 400: common_schemas_1.jsonApiErrorResponseSchema,
56
- 404: common_schemas_1.jsonApiErrorResponseSchema,
57
- 401: common_schemas_1.jsonApiErrorResponseSchema,
58
- 422: common_schemas_1.jsonApiErrorResponseSchema,
51
+ 200: supplierResponseSchema,
52
+ 400: jsonApiErrorResponseSchema,
53
+ 404: jsonApiErrorResponseSchema,
54
+ 401: jsonApiErrorResponseSchema,
55
+ 422: jsonApiErrorResponseSchema,
59
56
  },
60
57
  summary: 'Update supplier',
61
58
  description: 'Update supplier information',
@@ -63,14 +60,14 @@ exports.suppliersRouter = c.router({
63
60
  deleteSupplier: {
64
61
  method: 'DELETE',
65
62
  path: '/farms/:farmId/suppliers/:id',
66
- pathParams: zod_1.z.object({
67
- farmId: zod_1.z.string().uuid(),
68
- id: zod_1.z.string().uuid(),
63
+ pathParams: z.object({
64
+ farmId: z.string().uuid(),
65
+ id: z.string().uuid(),
69
66
  }),
70
67
  responses: {
71
- 204: common_schemas_1.jsonApiSuccessResponseSchema,
72
- 404: common_schemas_1.jsonApiErrorResponseSchema,
73
- 401: common_schemas_1.jsonApiErrorResponseSchema,
68
+ 204: jsonApiSuccessResponseSchema,
69
+ 404: jsonApiErrorResponseSchema,
70
+ 401: jsonApiErrorResponseSchema,
74
71
  },
75
72
  summary: 'Delete supplier',
76
73
  description: 'Delete a supplier',
@@ -79,18 +76,18 @@ exports.suppliersRouter = c.router({
79
76
  listBuyers: {
80
77
  method: 'GET',
81
78
  path: '/farms/:farmId/buyers',
82
- pathParams: zod_1.z.object({ farmId: zod_1.z.string().uuid() }),
83
- query: common_schemas_1.jsonApiPaginationQuerySchema
84
- .merge(common_schemas_1.jsonApiSortQuerySchema)
85
- .merge(common_schemas_1.jsonApiIncludeQuerySchema)
86
- .merge(common_schemas_1.jsonApiFilterQuerySchema)
87
- .merge(zod_1.z.object({
88
- 'filter[crop]': zod_1.z.string().optional(), // Filter by crop preference
79
+ pathParams: z.object({ farmId: z.string().uuid() }),
80
+ query: jsonApiPaginationQuerySchema
81
+ .merge(jsonApiSortQuerySchema)
82
+ .merge(jsonApiIncludeQuerySchema)
83
+ .merge(jsonApiFilterQuerySchema)
84
+ .merge(z.object({
85
+ 'filter[crop]': z.string().optional(), // Filter by crop preference
89
86
  })),
90
87
  responses: {
91
- 200: suppliers_schemas_1.buyerListResponseSchema,
92
- 404: common_schemas_1.jsonApiErrorResponseSchema,
93
- 401: common_schemas_1.jsonApiErrorResponseSchema,
88
+ 200: buyerListResponseSchema,
89
+ 404: jsonApiErrorResponseSchema,
90
+ 401: jsonApiErrorResponseSchema,
94
91
  },
95
92
  summary: 'List buyers',
96
93
  description: 'Get all buyers for a farm with optional filtering',
@@ -98,14 +95,14 @@ exports.suppliersRouter = c.router({
98
95
  createBuyer: {
99
96
  method: 'POST',
100
97
  path: '/farms/:farmId/buyers',
101
- pathParams: zod_1.z.object({ farmId: zod_1.z.string().uuid() }),
102
- body: zod_1.z.object({ data: suppliers_schemas_1.createBuyerSchema }),
98
+ pathParams: z.object({ farmId: z.string().uuid() }),
99
+ body: z.object({ data: createBuyerSchema }),
103
100
  responses: {
104
- 201: suppliers_schemas_1.buyerResponseSchema,
105
- 400: common_schemas_1.jsonApiErrorResponseSchema,
106
- 404: common_schemas_1.jsonApiErrorResponseSchema,
107
- 401: common_schemas_1.jsonApiErrorResponseSchema,
108
- 422: common_schemas_1.jsonApiErrorResponseSchema,
101
+ 201: buyerResponseSchema,
102
+ 400: jsonApiErrorResponseSchema,
103
+ 404: jsonApiErrorResponseSchema,
104
+ 401: jsonApiErrorResponseSchema,
105
+ 422: jsonApiErrorResponseSchema,
109
106
  },
110
107
  summary: 'Create buyer',
111
108
  description: 'Add a new buyer',
@@ -113,17 +110,17 @@ exports.suppliersRouter = c.router({
113
110
  updateBuyer: {
114
111
  method: 'PATCH',
115
112
  path: '/farms/:farmId/buyers/:id',
116
- pathParams: zod_1.z.object({
117
- farmId: zod_1.z.string().uuid(),
118
- id: zod_1.z.string().uuid(),
113
+ pathParams: z.object({
114
+ farmId: z.string().uuid(),
115
+ id: z.string().uuid(),
119
116
  }),
120
- body: zod_1.z.object({ data: suppliers_schemas_1.updateBuyerSchema }),
117
+ body: z.object({ data: updateBuyerSchema }),
121
118
  responses: {
122
- 200: suppliers_schemas_1.buyerResponseSchema,
123
- 400: common_schemas_1.jsonApiErrorResponseSchema,
124
- 404: common_schemas_1.jsonApiErrorResponseSchema,
125
- 401: common_schemas_1.jsonApiErrorResponseSchema,
126
- 422: common_schemas_1.jsonApiErrorResponseSchema,
119
+ 200: buyerResponseSchema,
120
+ 400: jsonApiErrorResponseSchema,
121
+ 404: jsonApiErrorResponseSchema,
122
+ 401: jsonApiErrorResponseSchema,
123
+ 422: jsonApiErrorResponseSchema,
127
124
  },
128
125
  summary: 'Update buyer',
129
126
  description: 'Update buyer information',
@@ -131,14 +128,14 @@ exports.suppliersRouter = c.router({
131
128
  deleteBuyer: {
132
129
  method: 'DELETE',
133
130
  path: '/farms/:farmId/buyers/:id',
134
- pathParams: zod_1.z.object({
135
- farmId: zod_1.z.string().uuid(),
136
- id: zod_1.z.string().uuid(),
131
+ pathParams: z.object({
132
+ farmId: z.string().uuid(),
133
+ id: z.string().uuid(),
137
134
  }),
138
135
  responses: {
139
- 204: common_schemas_1.jsonApiSuccessResponseSchema,
140
- 404: common_schemas_1.jsonApiErrorResponseSchema,
141
- 401: common_schemas_1.jsonApiErrorResponseSchema,
136
+ 204: jsonApiSuccessResponseSchema,
137
+ 404: jsonApiErrorResponseSchema,
138
+ 401: jsonApiErrorResponseSchema,
142
139
  },
143
140
  summary: 'Delete buyer',
144
141
  description: 'Delete a buyer',
@@ -1,30 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tasksRouter = void 0;
4
- const core_1 = require("@ts-rest/core");
5
- const zod_1 = require("zod");
6
- const tasks_schemas_1 = require("../schemas/tasks.schemas");
7
- const common_schemas_1 = require("../schemas/common.schemas");
8
- const c = (0, core_1.initContract)();
9
- exports.tasksRouter = c.router({
1
+ import { initContract } from '@ts-rest/core';
2
+ import { z } from 'zod';
3
+ import { createTaskSchema, updateTaskSchema, completeTaskSchema, addTaskNoteSchema, taskResponseSchema, taskDetailResponseSchema, taskListResponseSchema, } from '../schemas/tasks.schemas';
4
+ import { jsonApiErrorResponseSchema, jsonApiSuccessResponseSchema, jsonApiPaginationQuerySchema, jsonApiSortQuerySchema, jsonApiIncludeQuerySchema, jsonApiFilterQuerySchema } from '../schemas/common.schemas';
5
+ const c = initContract();
6
+ export const tasksRouter = c.router({
10
7
  // List tasks for a farm
11
8
  listTasks: {
12
9
  method: 'GET',
13
10
  path: '/farms/:farmId/tasks',
14
- pathParams: zod_1.z.object({ farmId: zod_1.z.string().uuid() }),
15
- query: common_schemas_1.jsonApiPaginationQuerySchema
16
- .merge(common_schemas_1.jsonApiSortQuerySchema)
17
- .merge(common_schemas_1.jsonApiIncludeQuerySchema)
18
- .merge(common_schemas_1.jsonApiFilterQuerySchema)
19
- .merge(zod_1.z.object({
20
- 'filter[status]': zod_1.z.enum(['pending', 'in-progress', 'completed', 'cancelled']).optional(),
21
- 'filter[fieldId]': zod_1.z.string().uuid().optional(),
22
- 'filter[assignedTo]': zod_1.z.string().uuid().optional(),
11
+ pathParams: z.object({ farmId: z.string().uuid() }),
12
+ query: jsonApiPaginationQuerySchema
13
+ .merge(jsonApiSortQuerySchema)
14
+ .merge(jsonApiIncludeQuerySchema)
15
+ .merge(jsonApiFilterQuerySchema)
16
+ .merge(z.object({
17
+ 'filter[status]': z.enum(['pending', 'in-progress', 'completed', 'cancelled']).optional(),
18
+ 'filter[fieldId]': z.string().uuid().optional(),
19
+ 'filter[assignedTo]': z.string().uuid().optional(),
23
20
  })),
24
21
  responses: {
25
- 200: tasks_schemas_1.taskListResponseSchema,
26
- 404: common_schemas_1.jsonApiErrorResponseSchema,
27
- 401: common_schemas_1.jsonApiErrorResponseSchema,
22
+ 200: taskListResponseSchema,
23
+ 404: jsonApiErrorResponseSchema,
24
+ 401: jsonApiErrorResponseSchema,
28
25
  },
29
26
  summary: 'List tasks for a farm',
30
27
  description: 'Get all tasks for a specific farm with optional filtering',
@@ -33,14 +30,14 @@ exports.tasksRouter = c.router({
33
30
  createTask: {
34
31
  method: 'POST',
35
32
  path: '/farms/:farmId/tasks',
36
- pathParams: zod_1.z.object({ farmId: zod_1.z.string().uuid() }),
37
- body: zod_1.z.object({ data: tasks_schemas_1.createTaskSchema }),
33
+ pathParams: z.object({ farmId: z.string().uuid() }),
34
+ body: z.object({ data: createTaskSchema }),
38
35
  responses: {
39
- 201: tasks_schemas_1.taskResponseSchema,
40
- 400: common_schemas_1.jsonApiErrorResponseSchema,
41
- 404: common_schemas_1.jsonApiErrorResponseSchema,
42
- 401: common_schemas_1.jsonApiErrorResponseSchema,
43
- 422: common_schemas_1.jsonApiErrorResponseSchema,
36
+ 201: taskResponseSchema,
37
+ 400: jsonApiErrorResponseSchema,
38
+ 404: jsonApiErrorResponseSchema,
39
+ 401: jsonApiErrorResponseSchema,
40
+ 422: jsonApiErrorResponseSchema,
44
41
  },
45
42
  summary: 'Create a new task',
46
43
  description: 'Create a new task with optional inventory linking and assignment',
@@ -49,15 +46,15 @@ exports.tasksRouter = c.router({
49
46
  getTask: {
50
47
  method: 'GET',
51
48
  path: '/farms/:farmId/tasks/:id',
52
- pathParams: zod_1.z.object({
53
- farmId: zod_1.z.string().uuid(),
54
- id: zod_1.z.string().uuid(),
49
+ pathParams: z.object({
50
+ farmId: z.string().uuid(),
51
+ id: z.string().uuid(),
55
52
  }),
56
- query: common_schemas_1.jsonApiIncludeQuerySchema,
53
+ query: jsonApiIncludeQuerySchema,
57
54
  responses: {
58
- 200: tasks_schemas_1.taskDetailResponseSchema,
59
- 404: common_schemas_1.jsonApiErrorResponseSchema,
60
- 401: common_schemas_1.jsonApiErrorResponseSchema,
55
+ 200: taskDetailResponseSchema,
56
+ 404: jsonApiErrorResponseSchema,
57
+ 401: jsonApiErrorResponseSchema,
61
58
  },
62
59
  summary: 'Get task by ID',
63
60
  description: 'Get detailed information about a specific task',
@@ -66,17 +63,17 @@ exports.tasksRouter = c.router({
66
63
  updateTask: {
67
64
  method: 'PATCH',
68
65
  path: '/farms/:farmId/tasks/:id',
69
- pathParams: zod_1.z.object({
70
- farmId: zod_1.z.string().uuid(),
71
- id: zod_1.z.string().uuid(),
66
+ pathParams: z.object({
67
+ farmId: z.string().uuid(),
68
+ id: z.string().uuid(),
72
69
  }),
73
- body: zod_1.z.object({ data: tasks_schemas_1.updateTaskSchema }),
70
+ body: z.object({ data: updateTaskSchema }),
74
71
  responses: {
75
- 200: tasks_schemas_1.taskResponseSchema,
76
- 400: common_schemas_1.jsonApiErrorResponseSchema,
77
- 404: common_schemas_1.jsonApiErrorResponseSchema,
78
- 401: common_schemas_1.jsonApiErrorResponseSchema,
79
- 422: common_schemas_1.jsonApiErrorResponseSchema,
72
+ 200: taskResponseSchema,
73
+ 400: jsonApiErrorResponseSchema,
74
+ 404: jsonApiErrorResponseSchema,
75
+ 401: jsonApiErrorResponseSchema,
76
+ 422: jsonApiErrorResponseSchema,
80
77
  },
81
78
  summary: 'Update task',
82
79
  description: 'Update task information',
@@ -85,17 +82,17 @@ exports.tasksRouter = c.router({
85
82
  completeTask: {
86
83
  method: 'POST',
87
84
  path: '/farms/:farmId/tasks/:id/complete',
88
- pathParams: zod_1.z.object({
89
- farmId: zod_1.z.string().uuid(),
90
- id: zod_1.z.string().uuid(),
85
+ pathParams: z.object({
86
+ farmId: z.string().uuid(),
87
+ id: z.string().uuid(),
91
88
  }),
92
- body: zod_1.z.object({ data: tasks_schemas_1.completeTaskSchema }),
89
+ body: z.object({ data: completeTaskSchema }),
93
90
  responses: {
94
- 200: tasks_schemas_1.taskResponseSchema,
95
- 400: common_schemas_1.jsonApiErrorResponseSchema,
96
- 404: common_schemas_1.jsonApiErrorResponseSchema,
97
- 401: common_schemas_1.jsonApiErrorResponseSchema,
98
- 422: common_schemas_1.jsonApiErrorResponseSchema,
91
+ 200: taskResponseSchema,
92
+ 400: jsonApiErrorResponseSchema,
93
+ 404: jsonApiErrorResponseSchema,
94
+ 401: jsonApiErrorResponseSchema,
95
+ 422: jsonApiErrorResponseSchema,
99
96
  },
100
97
  summary: 'Complete a task',
101
98
  description: 'Mark a task as completed and optionally deduct inventory',
@@ -104,14 +101,14 @@ exports.tasksRouter = c.router({
104
101
  deleteTask: {
105
102
  method: 'DELETE',
106
103
  path: '/farms/:farmId/tasks/:id',
107
- pathParams: zod_1.z.object({
108
- farmId: zod_1.z.string().uuid(),
109
- id: zod_1.z.string().uuid(),
104
+ pathParams: z.object({
105
+ farmId: z.string().uuid(),
106
+ id: z.string().uuid(),
110
107
  }),
111
108
  responses: {
112
- 204: common_schemas_1.jsonApiSuccessResponseSchema,
113
- 404: common_schemas_1.jsonApiErrorResponseSchema,
114
- 401: common_schemas_1.jsonApiErrorResponseSchema,
109
+ 204: jsonApiSuccessResponseSchema,
110
+ 404: jsonApiErrorResponseSchema,
111
+ 401: jsonApiErrorResponseSchema,
115
112
  },
116
113
  summary: 'Delete task',
117
114
  description: 'Delete a task',
@@ -120,17 +117,17 @@ exports.tasksRouter = c.router({
120
117
  addTaskNote: {
121
118
  method: 'POST',
122
119
  path: '/farms/:farmId/tasks/:id/notes',
123
- pathParams: zod_1.z.object({
124
- farmId: zod_1.z.string().uuid(),
125
- id: zod_1.z.string().uuid(),
120
+ pathParams: z.object({
121
+ farmId: z.string().uuid(),
122
+ id: z.string().uuid(),
126
123
  }),
127
- body: zod_1.z.object({ data: tasks_schemas_1.addTaskNoteSchema }),
124
+ body: z.object({ data: addTaskNoteSchema }),
128
125
  responses: {
129
- 201: tasks_schemas_1.taskResponseSchema,
130
- 400: common_schemas_1.jsonApiErrorResponseSchema,
131
- 404: common_schemas_1.jsonApiErrorResponseSchema,
132
- 401: common_schemas_1.jsonApiErrorResponseSchema,
133
- 422: common_schemas_1.jsonApiErrorResponseSchema,
126
+ 201: taskResponseSchema,
127
+ 400: jsonApiErrorResponseSchema,
128
+ 404: jsonApiErrorResponseSchema,
129
+ 401: jsonApiErrorResponseSchema,
130
+ 422: jsonApiErrorResponseSchema,
134
131
  },
135
132
  summary: 'Add note to task',
136
133
  description: 'Add a note or update to a task',