@deepintel-ltd/farmpro-contracts 1.0.1 → 1.0.3

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 (100) hide show
  1. package/dist/index.d.ts +41 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +81 -0
  4. package/dist/routes/analytics.routes.d.ts +754 -0
  5. package/dist/routes/analytics.routes.d.ts.map +1 -0
  6. package/dist/routes/analytics.routes.js +24 -0
  7. package/dist/routes/auth.routes.d.ts +3836 -0
  8. package/dist/routes/auth.routes.d.ts.map +1 -0
  9. package/dist/routes/auth.routes.js +158 -0
  10. package/dist/routes/documents.routes.d.ts +2476 -0
  11. package/dist/routes/documents.routes.d.ts.map +1 -0
  12. package/dist/routes/documents.routes.js +100 -0
  13. package/dist/routes/equipment.routes.d.ts +3617 -0
  14. package/dist/routes/equipment.routes.d.ts.map +1 -0
  15. package/dist/routes/equipment.routes.js +118 -0
  16. package/dist/routes/farms.routes.d.ts +2202 -0
  17. package/dist/routes/farms.routes.d.ts.map +1 -0
  18. package/dist/routes/farms.routes.js +111 -0
  19. package/dist/routes/fields.routes.d.ts +3389 -0
  20. package/dist/routes/fields.routes.d.ts.map +1 -0
  21. package/dist/routes/fields.routes.js +95 -0
  22. package/dist/routes/finance.routes.d.ts +6855 -0
  23. package/dist/routes/finance.routes.d.ts.map +1 -0
  24. package/dist/routes/finance.routes.js +259 -0
  25. package/dist/routes/harvest.routes.d.ts +2337 -0
  26. package/dist/routes/harvest.routes.d.ts.map +1 -0
  27. package/dist/routes/harvest.routes.js +99 -0
  28. package/dist/routes/index.d.ts +68 -0
  29. package/dist/routes/index.d.ts.map +1 -0
  30. package/dist/routes/index.js +43 -0
  31. package/dist/routes/inventory.routes.d.ts +2853 -0
  32. package/dist/routes/inventory.routes.d.ts.map +1 -0
  33. package/dist/routes/inventory.routes.js +121 -0
  34. package/dist/routes/soil-tests.routes.d.ts +3005 -0
  35. package/dist/routes/soil-tests.routes.d.ts.map +1 -0
  36. package/dist/routes/soil-tests.routes.js +98 -0
  37. package/dist/routes/suppliers.routes.d.ts +4190 -0
  38. package/dist/routes/suppliers.routes.d.ts.map +1 -0
  39. package/dist/routes/suppliers.routes.js +146 -0
  40. package/dist/routes/tasks.routes.d.ts +4192 -0
  41. package/dist/routes/tasks.routes.d.ts.map +1 -0
  42. package/dist/routes/tasks.routes.js +138 -0
  43. package/dist/routes/team.routes.d.ts +2210 -0
  44. package/dist/routes/team.routes.d.ts.map +1 -0
  45. package/dist/routes/team.routes.js +98 -0
  46. package/dist/routes/users.routes.d.ts +721 -0
  47. package/dist/routes/users.routes.d.ts.map +1 -0
  48. package/dist/routes/users.routes.js +35 -0
  49. package/dist/routes/weather.routes.d.ts +500 -0
  50. package/dist/routes/weather.routes.d.ts.map +1 -0
  51. package/dist/routes/weather.routes.js +23 -0
  52. package/dist/schemas/analytics.schemas.d.ts +1344 -0
  53. package/dist/schemas/analytics.schemas.d.ts.map +1 -0
  54. package/dist/schemas/analytics.schemas.js +73 -0
  55. package/dist/schemas/auth.schemas.d.ts +1093 -0
  56. package/dist/schemas/auth.schemas.d.ts.map +1 -0
  57. package/dist/schemas/auth.schemas.js +159 -0
  58. package/dist/schemas/common.schemas.d.ts +562 -0
  59. package/dist/schemas/common.schemas.d.ts.map +1 -0
  60. package/dist/schemas/common.schemas.js +122 -0
  61. package/dist/schemas/documents.schemas.d.ts +850 -0
  62. package/dist/schemas/documents.schemas.d.ts.map +1 -0
  63. package/dist/schemas/documents.schemas.js +75 -0
  64. package/dist/schemas/equipment.schemas.d.ts +1618 -0
  65. package/dist/schemas/equipment.schemas.d.ts.map +1 -0
  66. package/dist/schemas/equipment.schemas.js +125 -0
  67. package/dist/schemas/farms.schemas.d.ts +1171 -0
  68. package/dist/schemas/farms.schemas.d.ts.map +1 -0
  69. package/dist/schemas/farms.schemas.js +62 -0
  70. package/dist/schemas/fields.schemas.d.ts +2508 -0
  71. package/dist/schemas/fields.schemas.d.ts.map +1 -0
  72. package/dist/schemas/fields.schemas.js +125 -0
  73. package/dist/schemas/finance.schemas.d.ts +2869 -0
  74. package/dist/schemas/finance.schemas.d.ts.map +1 -0
  75. package/dist/schemas/finance.schemas.js +196 -0
  76. package/dist/schemas/harvest.schemas.d.ts +1051 -0
  77. package/dist/schemas/harvest.schemas.d.ts.map +1 -0
  78. package/dist/schemas/harvest.schemas.js +71 -0
  79. package/dist/schemas/inventory.schemas.d.ts +1138 -0
  80. package/dist/schemas/inventory.schemas.d.ts.map +1 -0
  81. package/dist/schemas/inventory.schemas.js +89 -0
  82. package/dist/schemas/soil-tests.schemas.d.ts +1885 -0
  83. package/dist/schemas/soil-tests.schemas.d.ts.map +1 -0
  84. package/dist/schemas/soil-tests.schemas.js +102 -0
  85. package/dist/schemas/suppliers.schemas.d.ts +1774 -0
  86. package/dist/schemas/suppliers.schemas.d.ts.map +1 -0
  87. package/dist/schemas/suppliers.schemas.js +121 -0
  88. package/dist/schemas/tasks.schemas.d.ts +1761 -0
  89. package/dist/schemas/tasks.schemas.d.ts.map +1 -0
  90. package/dist/schemas/tasks.schemas.js +121 -0
  91. package/dist/schemas/team.schemas.d.ts +583 -0
  92. package/dist/schemas/team.schemas.d.ts.map +1 -0
  93. package/dist/schemas/team.schemas.js +60 -0
  94. package/dist/schemas/users.schemas.d.ts +288 -0
  95. package/dist/schemas/users.schemas.d.ts.map +1 -0
  96. package/dist/schemas/users.schemas.js +32 -0
  97. package/dist/schemas/weather.schemas.d.ts +682 -0
  98. package/dist/schemas/weather.schemas.d.ts.map +1 -0
  99. package/dist/schemas/weather.schemas.js +49 -0
  100. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harvest.routes.d.ts","sourceRoot":"","sources":["../../src/routes/harvest.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FxB,CAAC"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.harvestRouter = void 0;
4
+ const core_1 = require("@ts-rest/core");
5
+ const zod_1 = require("zod");
6
+ const harvest_schemas_1 = require("../schemas/harvest.schemas");
7
+ const common_schemas_1 = require("../schemas/common.schemas");
8
+ const c = (0, core_1.initContract)();
9
+ exports.harvestRouter = c.router({
10
+ // List harvests for a farm
11
+ listHarvests: {
12
+ method: 'GET',
13
+ path: '/farms/:farmId/harvests',
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(),
21
+ 'filter[crop]': zod_1.z.string().optional(),
22
+ })),
23
+ responses: {
24
+ 200: harvest_schemas_1.harvestListResponseSchema,
25
+ 404: common_schemas_1.jsonApiErrorResponseSchema,
26
+ 401: common_schemas_1.jsonApiErrorResponseSchema,
27
+ },
28
+ summary: 'List harvests',
29
+ description: 'Get all harvest records for a farm',
30
+ },
31
+ // Create harvest
32
+ createHarvest: {
33
+ method: 'POST',
34
+ path: '/farms/:farmId/harvests',
35
+ pathParams: zod_1.z.object({ farmId: zod_1.z.string().uuid() }),
36
+ body: zod_1.z.object({ data: harvest_schemas_1.createHarvestSchema }),
37
+ responses: {
38
+ 201: harvest_schemas_1.harvestResponseSchema,
39
+ 400: common_schemas_1.jsonApiErrorResponseSchema,
40
+ 404: common_schemas_1.jsonApiErrorResponseSchema,
41
+ 401: common_schemas_1.jsonApiErrorResponseSchema,
42
+ 422: common_schemas_1.jsonApiErrorResponseSchema,
43
+ },
44
+ summary: 'Create harvest',
45
+ description: 'Record a new harvest with yield calculation',
46
+ },
47
+ // Get harvest by ID
48
+ getHarvest: {
49
+ method: 'GET',
50
+ path: '/farms/:farmId/harvests/:id',
51
+ pathParams: zod_1.z.object({
52
+ farmId: zod_1.z.string().uuid(),
53
+ id: zod_1.z.string().uuid(),
54
+ }),
55
+ query: common_schemas_1.jsonApiIncludeQuerySchema,
56
+ responses: {
57
+ 200: harvest_schemas_1.harvestDetailResponseSchema,
58
+ 404: common_schemas_1.jsonApiErrorResponseSchema,
59
+ 401: common_schemas_1.jsonApiErrorResponseSchema,
60
+ },
61
+ summary: 'Get harvest by ID',
62
+ description: 'Get detailed information about a specific harvest',
63
+ },
64
+ // Update harvest
65
+ updateHarvest: {
66
+ method: 'PATCH',
67
+ path: '/farms/:farmId/harvests/:id',
68
+ pathParams: zod_1.z.object({
69
+ farmId: zod_1.z.string().uuid(),
70
+ id: zod_1.z.string().uuid(),
71
+ }),
72
+ body: zod_1.z.object({ data: harvest_schemas_1.updateHarvestSchema }),
73
+ responses: {
74
+ 200: harvest_schemas_1.harvestResponseSchema,
75
+ 400: common_schemas_1.jsonApiErrorResponseSchema,
76
+ 404: common_schemas_1.jsonApiErrorResponseSchema,
77
+ 401: common_schemas_1.jsonApiErrorResponseSchema,
78
+ 422: common_schemas_1.jsonApiErrorResponseSchema,
79
+ },
80
+ summary: 'Update harvest',
81
+ description: 'Update harvest information',
82
+ },
83
+ // Delete harvest
84
+ deleteHarvest: {
85
+ method: 'DELETE',
86
+ path: '/farms/:farmId/harvests/:id',
87
+ pathParams: zod_1.z.object({
88
+ farmId: zod_1.z.string().uuid(),
89
+ id: zod_1.z.string().uuid(),
90
+ }),
91
+ responses: {
92
+ 204: common_schemas_1.jsonApiSuccessResponseSchema,
93
+ 404: common_schemas_1.jsonApiErrorResponseSchema,
94
+ 401: common_schemas_1.jsonApiErrorResponseSchema,
95
+ },
96
+ summary: 'Delete harvest',
97
+ description: 'Delete a harvest record',
98
+ },
99
+ });
@@ -0,0 +1,68 @@
1
+ import { authRouter } from './auth.routes';
2
+ import { usersRouter } from './users.routes';
3
+ import { farmsRouter } from './farms.routes';
4
+ import { fieldsRouter } from './fields.routes';
5
+ import { tasksRouter } from './tasks.routes';
6
+ import { inventoryRouter } from './inventory.routes';
7
+ import { financeRouter } from './finance.routes';
8
+ import { harvestRouter } from './harvest.routes';
9
+ import { soilTestsRouter } from './soil-tests.routes';
10
+ import { weatherRouter } from './weather.routes';
11
+ import { teamRouter } from './team.routes';
12
+ import { equipmentRouter } from './equipment.routes';
13
+ import { documentsRouter } from './documents.routes';
14
+ import { suppliersRouter } from './suppliers.routes';
15
+ import { analyticsRouter } from './analytics.routes';
16
+ /**
17
+ * Explicit interface definition for the API contract.
18
+ * This avoids TypeScript's type serialization limit when combining many routers
19
+ * while maintaining full type safety at usage sites.
20
+ */
21
+ export interface ApiContractDefinition {
22
+ auth: typeof authRouter;
23
+ users: typeof usersRouter;
24
+ farms: typeof farmsRouter;
25
+ fields: typeof fieldsRouter;
26
+ tasks: typeof tasksRouter;
27
+ inventory: typeof inventoryRouter;
28
+ finance: typeof financeRouter;
29
+ harvest: typeof harvestRouter;
30
+ soilTests: typeof soilTestsRouter;
31
+ weather: typeof weatherRouter;
32
+ team: typeof teamRouter;
33
+ equipment: typeof equipmentRouter;
34
+ documents: typeof documentsRouter;
35
+ suppliers: typeof suppliersRouter;
36
+ analytics: typeof analyticsRouter;
37
+ }
38
+ /**
39
+ * Main API contract combining all routers
40
+ *
41
+ * Uses explicit interface typing to work around TypeScript's type serialization limit
42
+ * when combining many complex router types. Type safety is fully maintained.
43
+ */
44
+ export declare const apiContract: ApiContractDefinition;
45
+ /**
46
+ * Type-safe contract type extractor
47
+ * Use this to extract the full API contract type
48
+ */
49
+ export type ApiContractType = typeof apiContract;
50
+ /**
51
+ * Extract endpoint types from contract for individual modules
52
+ */
53
+ export type AuthEndpoints = ApiContractType['auth'];
54
+ export type UsersEndpoints = ApiContractType['users'];
55
+ export type FarmsEndpoints = ApiContractType['farms'];
56
+ export type FieldsEndpoints = ApiContractType['fields'];
57
+ export type TasksEndpoints = ApiContractType['tasks'];
58
+ export type InventoryEndpoints = ApiContractType['inventory'];
59
+ export type FinanceEndpoints = ApiContractType['finance'];
60
+ export type HarvestEndpoints = ApiContractType['harvest'];
61
+ export type SoilTestsEndpoints = ApiContractType['soilTests'];
62
+ export type WeatherEndpoints = ApiContractType['weather'];
63
+ export type TeamEndpoints = ApiContractType['team'];
64
+ export type EquipmentEndpoints = ApiContractType['equipment'];
65
+ export type DocumentsEndpoints = ApiContractType['documents'];
66
+ export type SuppliersEndpoints = ApiContractType['suppliers'];
67
+ export type AnalyticsEndpoints = ApiContractType['analytics'];
68
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.apiContract = void 0;
4
+ const core_1 = require("@ts-rest/core");
5
+ const auth_routes_1 = require("./auth.routes");
6
+ const users_routes_1 = require("./users.routes");
7
+ const farms_routes_1 = require("./farms.routes");
8
+ const fields_routes_1 = require("./fields.routes");
9
+ const tasks_routes_1 = require("./tasks.routes");
10
+ const inventory_routes_1 = require("./inventory.routes");
11
+ const finance_routes_1 = require("./finance.routes");
12
+ const harvest_routes_1 = require("./harvest.routes");
13
+ const soil_tests_routes_1 = require("./soil-tests.routes");
14
+ const weather_routes_1 = require("./weather.routes");
15
+ const team_routes_1 = require("./team.routes");
16
+ const equipment_routes_1 = require("./equipment.routes");
17
+ const documents_routes_1 = require("./documents.routes");
18
+ const suppliers_routes_1 = require("./suppliers.routes");
19
+ const analytics_routes_1 = require("./analytics.routes");
20
+ const c = (0, core_1.initContract)();
21
+ /**
22
+ * Main API contract combining all routers
23
+ *
24
+ * Uses explicit interface typing to work around TypeScript's type serialization limit
25
+ * when combining many complex router types. Type safety is fully maintained.
26
+ */
27
+ exports.apiContract = c.router({
28
+ auth: auth_routes_1.authRouter,
29
+ users: users_routes_1.usersRouter,
30
+ farms: farms_routes_1.farmsRouter,
31
+ fields: fields_routes_1.fieldsRouter,
32
+ tasks: tasks_routes_1.tasksRouter,
33
+ inventory: inventory_routes_1.inventoryRouter,
34
+ finance: finance_routes_1.financeRouter,
35
+ harvest: harvest_routes_1.harvestRouter,
36
+ soilTests: soil_tests_routes_1.soilTestsRouter,
37
+ weather: weather_routes_1.weatherRouter,
38
+ team: team_routes_1.teamRouter,
39
+ equipment: equipment_routes_1.equipmentRouter,
40
+ documents: documents_routes_1.documentsRouter,
41
+ suppliers: suppliers_routes_1.suppliersRouter,
42
+ analytics: analytics_routes_1.analyticsRouter,
43
+ });