@deepintel-ltd/farmpro-contracts 1.7.13 → 1.7.19
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.
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/routes/agent-workflows.routes.d.ts +88 -88
- package/dist/routes/agents.routes.d.ts +3260 -0
- package/dist/routes/agents.routes.d.ts.map +1 -1
- package/dist/routes/agents.routes.js +130 -1
- package/dist/routes/analytics.routes.d.ts +20 -20
- package/dist/routes/documents.routes.d.ts +855 -58
- package/dist/routes/documents.routes.d.ts.map +1 -1
- package/dist/routes/documents.routes.js +43 -1
- package/dist/routes/equipment.routes.d.ts +38 -38
- package/dist/routes/farm-status.routes.d.ts +315 -0
- package/dist/routes/farm-status.routes.d.ts.map +1 -0
- package/dist/routes/farm-status.routes.js +26 -0
- package/dist/routes/fertigation.routes.d.ts +148 -148
- package/dist/routes/field-monitoring.routes.d.ts +52 -52
- package/dist/routes/field-observations.routes.d.ts +56 -56
- package/dist/routes/finance.routes.d.ts +3493 -0
- package/dist/routes/finance.routes.d.ts.map +1 -1
- package/dist/routes/finance.routes.js +158 -1
- package/dist/routes/geofences.routes.d.ts.map +1 -1
- package/dist/routes/index.d.ts +3 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +2 -0
- package/dist/routes/irrigation.routes.d.ts +6 -6
- package/dist/routes/measurements.routes.d.ts +13 -4
- package/dist/routes/measurements.routes.d.ts.map +1 -1
- package/dist/routes/monitoring-visualization.routes.d.ts +43 -36
- package/dist/routes/monitoring-visualization.routes.d.ts.map +1 -1
- package/dist/routes/monitoring-visualization.routes.js +7 -4
- package/dist/routes/pest-disease-risk.routes.d.ts +20 -20
- package/dist/routes/prescription-maps.routes.d.ts +570 -23
- package/dist/routes/prescription-maps.routes.d.ts.map +1 -1
- package/dist/routes/prescription-maps.routes.js +18 -1
- package/dist/routes/soil-tests.routes.d.ts +30 -30
- package/dist/routes/subscriptions.routes.d.ts +14 -14
- package/dist/routes/weather.routes.d.ts +545 -52
- package/dist/routes/weather.routes.d.ts.map +1 -1
- package/dist/routes/weather.routes.js +13 -1
- package/dist/routes/yield-prediction.routes.d.ts +30 -30
- package/dist/schemas/agent-workflows.schemas.d.ts +92 -92
- package/dist/schemas/agents.schemas.d.ts +1120 -0
- package/dist/schemas/agents.schemas.d.ts.map +1 -1
- package/dist/schemas/agents.schemas.js +181 -0
- package/dist/schemas/analytics.schemas.d.ts +56 -56
- package/dist/schemas/documents.schemas.d.ts +248 -48
- package/dist/schemas/documents.schemas.d.ts.map +1 -1
- package/dist/schemas/documents.schemas.js +38 -0
- package/dist/schemas/equipment.schemas.d.ts +30 -30
- package/dist/schemas/farm-status.schemas.d.ts +451 -0
- package/dist/schemas/farm-status.schemas.d.ts.map +1 -0
- package/dist/schemas/farm-status.schemas.js +44 -0
- package/dist/schemas/fertigation.schemas.d.ts +50 -50
- package/dist/schemas/field-monitoring.schemas.d.ts +42 -42
- package/dist/schemas/field-observations.schemas.d.ts +44 -44
- package/dist/schemas/finance.schemas.d.ts +1057 -0
- package/dist/schemas/finance.schemas.d.ts.map +1 -1
- package/dist/schemas/finance.schemas.js +170 -0
- package/dist/schemas/irrigation.schemas.d.ts +8 -8
- package/dist/schemas/measurements.schemas.d.ts +21 -8
- package/dist/schemas/measurements.schemas.d.ts.map +1 -1
- package/dist/schemas/measurements.schemas.js +13 -6
- package/dist/schemas/monitoring-visualization.schemas.d.ts +50 -43
- package/dist/schemas/monitoring-visualization.schemas.d.ts.map +1 -1
- package/dist/schemas/monitoring-visualization.schemas.js +27 -17
- package/dist/schemas/pest-disease-risk.schemas.d.ts +18 -18
- package/dist/schemas/prescription-maps.schemas.d.ts +45 -22
- package/dist/schemas/prescription-maps.schemas.d.ts.map +1 -1
- package/dist/schemas/prescription-maps.schemas.js +9 -1
- package/dist/schemas/recommendations.schemas.d.ts +2 -2
- package/dist/schemas/soil-tests.schemas.d.ts +28 -28
- package/dist/schemas/subscriptions.schemas.d.ts +22 -22
- package/dist/schemas/weather.schemas.d.ts +789 -112
- package/dist/schemas/weather.schemas.d.ts.map +1 -1
- package/dist/schemas/weather.schemas.js +37 -0
- package/dist/schemas/yield-prediction.schemas.d.ts +12 -12
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finance.routes.d.ts","sourceRoot":"","sources":["../../src/routes/finance.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6BxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwQxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"finance.routes.d.ts","sourceRoot":"","sources":["../../src/routes/finance.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuCxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAibxB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { initContract } from '@ts-rest/core';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { createBudgetSchema, updateBudgetSchema, budgetResponseSchema, budgetListResponseSchema, createExpenseSchema, updateExpenseSchema, expenseResponseSchema, expenseDetailResponseSchema, expenseListResponseSchema, createRevenueSchema, updateRevenueSchema, revenueResponseSchema, revenueDetailResponseSchema, revenueListResponseSchema, financeSummaryResponseSchema, } from '../schemas/finance.schemas';
|
|
3
|
+
import { createBudgetSchema, updateBudgetSchema, budgetResponseSchema, budgetListResponseSchema, createExpenseSchema, updateExpenseSchema, expenseResponseSchema, expenseDetailResponseSchema, expenseListResponseSchema, createRevenueSchema, updateRevenueSchema, revenueResponseSchema, revenueDetailResponseSchema, revenueListResponseSchema, financeSummaryResponseSchema, pnlDashboardResponseSchema, cashFlowForecastResponseSchema, budgetVsActualsResponseSchema, costBenchmarkResponseSchema, buyerOfferInputSchema, buyerOfferRankResponseSchema, roiAdvisorRequestSchema, roiAdvisorResponseSchema, taxSummaryResponseSchema, inputCostOptimizerResponseSchema, } from '../schemas/finance.schemas';
|
|
4
4
|
import { jsonApiErrorResponseSchema, jsonApiSuccessResponseSchema, jsonApiPaginationQuerySchema, jsonApiSortQuerySchema, jsonApiIncludeQuerySchema, jsonApiFilterQuerySchema } from '../schemas/common.schemas';
|
|
5
5
|
const c = initContract();
|
|
6
6
|
export const financeRouter = c.router({
|
|
@@ -253,4 +253,161 @@ export const financeRouter = c.router({
|
|
|
253
253
|
summary: 'Get finance summary',
|
|
254
254
|
description: 'Get financial overview including totals, profit, and budget breakdown',
|
|
255
255
|
},
|
|
256
|
+
importBulkFinance: {
|
|
257
|
+
method: 'POST',
|
|
258
|
+
path: '/farms/:farmId/finance/import',
|
|
259
|
+
pathParams: z.object({ farmId: z.string().uuid() }),
|
|
260
|
+
contentType: 'multipart/form-data',
|
|
261
|
+
body: z.object({
|
|
262
|
+
type: z.enum(['expenses', 'revenues']),
|
|
263
|
+
file: z.unknown(), // File upload handled via interceptor
|
|
264
|
+
}),
|
|
265
|
+
responses: {
|
|
266
|
+
200: z.object({
|
|
267
|
+
data: z.object({
|
|
268
|
+
type: z.literal('import-results'),
|
|
269
|
+
attributes: z.object({
|
|
270
|
+
totalProcessed: z.number(),
|
|
271
|
+
successfullyImported: z.number(),
|
|
272
|
+
failedEntries: z.array(z.unknown()),
|
|
273
|
+
}),
|
|
274
|
+
}),
|
|
275
|
+
}),
|
|
276
|
+
400: jsonApiErrorResponseSchema,
|
|
277
|
+
401: jsonApiErrorResponseSchema,
|
|
278
|
+
404: jsonApiErrorResponseSchema,
|
|
279
|
+
},
|
|
280
|
+
summary: 'Bulk import finance records',
|
|
281
|
+
description: 'Import expenses or revenue records from an Excel file.',
|
|
282
|
+
},
|
|
283
|
+
financeMagicEntry: {
|
|
284
|
+
method: 'POST',
|
|
285
|
+
path: '/farms/:farmId/finance/magic-entry',
|
|
286
|
+
pathParams: z.object({ farmId: z.string().uuid() }),
|
|
287
|
+
body: z.object({
|
|
288
|
+
input: z.string(),
|
|
289
|
+
}),
|
|
290
|
+
responses: {
|
|
291
|
+
200: z.object({
|
|
292
|
+
data: z.object({
|
|
293
|
+
type: z.literal('finance-magic-result'),
|
|
294
|
+
attributes: z.object({
|
|
295
|
+
type: z.enum(['expense', 'revenue', 'query']),
|
|
296
|
+
data: z.unknown(),
|
|
297
|
+
confidence: z.number(),
|
|
298
|
+
}),
|
|
299
|
+
}),
|
|
300
|
+
}),
|
|
301
|
+
400: jsonApiErrorResponseSchema,
|
|
302
|
+
404: jsonApiErrorResponseSchema,
|
|
303
|
+
},
|
|
304
|
+
summary: 'AI-powered financial record extraction',
|
|
305
|
+
description: 'Extract structured financial records from natural language input.',
|
|
306
|
+
},
|
|
307
|
+
// Phase 2.1 Financial Intelligence
|
|
308
|
+
getPnlDashboard: {
|
|
309
|
+
method: 'GET',
|
|
310
|
+
path: '/farms/:farmId/finance/intelligence/pnl',
|
|
311
|
+
pathParams: z.object({ farmId: z.string().uuid() }),
|
|
312
|
+
query: jsonApiFilterQuerySchema,
|
|
313
|
+
responses: {
|
|
314
|
+
200: pnlDashboardResponseSchema,
|
|
315
|
+
404: jsonApiErrorResponseSchema,
|
|
316
|
+
401: jsonApiErrorResponseSchema,
|
|
317
|
+
},
|
|
318
|
+
summary: 'Get P&L dashboard',
|
|
319
|
+
},
|
|
320
|
+
getCashFlowForecast: {
|
|
321
|
+
method: 'GET',
|
|
322
|
+
path: '/farms/:farmId/finance/intelligence/cash-flow-forecast',
|
|
323
|
+
pathParams: z.object({ farmId: z.string().uuid() }),
|
|
324
|
+
query: jsonApiFilterQuerySchema.merge(z.object({
|
|
325
|
+
months: z.coerce.number().int().min(1).max(24).optional(),
|
|
326
|
+
})),
|
|
327
|
+
responses: {
|
|
328
|
+
200: cashFlowForecastResponseSchema,
|
|
329
|
+
404: jsonApiErrorResponseSchema,
|
|
330
|
+
401: jsonApiErrorResponseSchema,
|
|
331
|
+
},
|
|
332
|
+
summary: 'Get cash-flow forecast',
|
|
333
|
+
},
|
|
334
|
+
getBudgetVsActuals: {
|
|
335
|
+
method: 'GET',
|
|
336
|
+
path: '/farms/:farmId/finance/intelligence/budget-vs-actuals',
|
|
337
|
+
pathParams: z.object({ farmId: z.string().uuid() }),
|
|
338
|
+
query: jsonApiFilterQuerySchema,
|
|
339
|
+
responses: {
|
|
340
|
+
200: budgetVsActualsResponseSchema,
|
|
341
|
+
404: jsonApiErrorResponseSchema,
|
|
342
|
+
401: jsonApiErrorResponseSchema,
|
|
343
|
+
},
|
|
344
|
+
summary: 'Get budget vs actuals intelligence',
|
|
345
|
+
},
|
|
346
|
+
getCostBenchmark: {
|
|
347
|
+
method: 'GET',
|
|
348
|
+
path: '/farms/:farmId/finance/intelligence/cost-benchmark',
|
|
349
|
+
pathParams: z.object({ farmId: z.string().uuid() }),
|
|
350
|
+
query: jsonApiFilterQuerySchema,
|
|
351
|
+
responses: {
|
|
352
|
+
200: costBenchmarkResponseSchema,
|
|
353
|
+
404: jsonApiErrorResponseSchema,
|
|
354
|
+
401: jsonApiErrorResponseSchema,
|
|
355
|
+
},
|
|
356
|
+
summary: 'Get cost benchmarking by field',
|
|
357
|
+
},
|
|
358
|
+
rankBuyerOffers: {
|
|
359
|
+
method: 'POST',
|
|
360
|
+
path: '/farms/:farmId/finance/intelligence/buyer-offers/rank',
|
|
361
|
+
pathParams: z.object({ farmId: z.string().uuid() }),
|
|
362
|
+
body: z.object({
|
|
363
|
+
offers: z.array(buyerOfferInputSchema).min(1),
|
|
364
|
+
}),
|
|
365
|
+
responses: {
|
|
366
|
+
200: buyerOfferRankResponseSchema,
|
|
367
|
+
400: jsonApiErrorResponseSchema,
|
|
368
|
+
404: jsonApiErrorResponseSchema,
|
|
369
|
+
401: jsonApiErrorResponseSchema,
|
|
370
|
+
},
|
|
371
|
+
summary: 'Rank buyer offers by net value',
|
|
372
|
+
},
|
|
373
|
+
getROIAdvice: {
|
|
374
|
+
method: 'POST',
|
|
375
|
+
path: '/farms/:farmId/finance/intelligence/roi-advice',
|
|
376
|
+
pathParams: z.object({ farmId: z.string().uuid() }),
|
|
377
|
+
body: roiAdvisorRequestSchema,
|
|
378
|
+
responses: {
|
|
379
|
+
200: roiAdvisorResponseSchema,
|
|
380
|
+
400: jsonApiErrorResponseSchema,
|
|
381
|
+
404: jsonApiErrorResponseSchema,
|
|
382
|
+
401: jsonApiErrorResponseSchema,
|
|
383
|
+
},
|
|
384
|
+
summary: 'Get ROI recommendation for planned investment',
|
|
385
|
+
},
|
|
386
|
+
getTaxSummary: {
|
|
387
|
+
method: 'GET',
|
|
388
|
+
path: '/farms/:farmId/finance/intelligence/tax-summary',
|
|
389
|
+
pathParams: z.object({ farmId: z.string().uuid() }),
|
|
390
|
+
query: jsonApiFilterQuerySchema,
|
|
391
|
+
responses: {
|
|
392
|
+
200: taxSummaryResponseSchema,
|
|
393
|
+
404: jsonApiErrorResponseSchema,
|
|
394
|
+
401: jsonApiErrorResponseSchema,
|
|
395
|
+
},
|
|
396
|
+
summary: 'Get tax-ready financial summary',
|
|
397
|
+
},
|
|
398
|
+
getInputCostOptimizer: {
|
|
399
|
+
method: 'GET',
|
|
400
|
+
path: '/farms/:farmId/finance/intelligence/input-cost-optimizer',
|
|
401
|
+
pathParams: z.object({ farmId: z.string().uuid() }),
|
|
402
|
+
query: z.object({
|
|
403
|
+
crop: z.string(),
|
|
404
|
+
targetQuantity: z.coerce.number().positive().default(1),
|
|
405
|
+
}),
|
|
406
|
+
responses: {
|
|
407
|
+
200: inputCostOptimizerResponseSchema,
|
|
408
|
+
404: jsonApiErrorResponseSchema,
|
|
409
|
+
401: jsonApiErrorResponseSchema,
|
|
410
|
+
},
|
|
411
|
+
summary: 'Get lowest-cost input recommendation',
|
|
412
|
+
},
|
|
256
413
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geofences.routes.d.ts","sourceRoot":"","sources":["../../src/routes/geofences.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"geofences.routes.d.ts","sourceRoot":"","sources":["../../src/routes/geofences.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmG1B,CAAC"}
|
package/dist/routes/index.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ import { cropProfilesRouter } from './crop-profile.routes';
|
|
|
42
42
|
import { irrigationRouter } from './irrigation.routes';
|
|
43
43
|
import { yieldPredictionRouter } from './yield-prediction.routes';
|
|
44
44
|
import { pestDiseaseRiskRouter } from './pest-disease-risk.routes';
|
|
45
|
+
import { farmStatusRouter } from './farm-status.routes';
|
|
45
46
|
/**
|
|
46
47
|
* Explicit interface definition for the API contract.
|
|
47
48
|
* This avoids TypeScript's type serialization limit when combining many routers
|
|
@@ -97,6 +98,7 @@ export interface ApiContractDefinition {
|
|
|
97
98
|
irrigation: typeof irrigationRouter;
|
|
98
99
|
yieldPrediction: typeof yieldPredictionRouter;
|
|
99
100
|
pestDiseaseRisk: typeof pestDiseaseRiskRouter;
|
|
101
|
+
farmStatus: typeof farmStatusRouter;
|
|
100
102
|
}
|
|
101
103
|
/**
|
|
102
104
|
* Main API contract combining all routers
|
|
@@ -162,4 +164,5 @@ export type CropProfilesEndpoints = ApiContractType['cropProfiles'];
|
|
|
162
164
|
export type IrrigationEndpoints = ApiContractType['irrigation'];
|
|
163
165
|
export type YieldPredictionEndpoints = ApiContractType['yieldPrediction'];
|
|
164
166
|
export type PestDiseaseRiskEndpoints = ApiContractType['pestDiseaseRisk'];
|
|
167
|
+
export type FarmStatusEndpoints = ApiContractType['farmStatus'];
|
|
165
168
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,gCAAgC,EACjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/index.js
CHANGED
|
@@ -43,6 +43,7 @@ import { cropProfilesRouter } from './crop-profile.routes';
|
|
|
43
43
|
import { irrigationRouter } from './irrigation.routes';
|
|
44
44
|
import { yieldPredictionRouter } from './yield-prediction.routes';
|
|
45
45
|
import { pestDiseaseRiskRouter } from './pest-disease-risk.routes';
|
|
46
|
+
import { farmStatusRouter } from './farm-status.routes';
|
|
46
47
|
const c = initContract();
|
|
47
48
|
/**
|
|
48
49
|
* Main API contract combining all routers
|
|
@@ -100,4 +101,5 @@ export const apiContract = c.router({
|
|
|
100
101
|
irrigation: irrigationRouter,
|
|
101
102
|
yieldPrediction: yieldPredictionRouter,
|
|
102
103
|
pestDiseaseRisk: pestDiseaseRiskRouter,
|
|
104
|
+
farmStatus: farmStatusRouter,
|
|
103
105
|
});
|
|
@@ -956,8 +956,8 @@ export declare const irrigationRouter: {
|
|
|
956
956
|
}>, "many">>;
|
|
957
957
|
}, "strip", z.ZodTypeAny, {
|
|
958
958
|
message: string;
|
|
959
|
-
shouldIrrigate: boolean;
|
|
960
959
|
urgency: "critical" | "low" | "medium" | "high" | "none";
|
|
960
|
+
shouldIrrigate: boolean;
|
|
961
961
|
recommendedDate: string | null;
|
|
962
962
|
factors?: {
|
|
963
963
|
description: string;
|
|
@@ -966,8 +966,8 @@ export declare const irrigationRouter: {
|
|
|
966
966
|
}[] | undefined;
|
|
967
967
|
}, {
|
|
968
968
|
message: string;
|
|
969
|
-
shouldIrrigate: boolean;
|
|
970
969
|
urgency: "critical" | "low" | "medium" | "high" | "none";
|
|
970
|
+
shouldIrrigate: boolean;
|
|
971
971
|
recommendedDate: string | null;
|
|
972
972
|
factors?: {
|
|
973
973
|
description: string;
|
|
@@ -996,8 +996,8 @@ export declare const irrigationRouter: {
|
|
|
996
996
|
fieldName: string;
|
|
997
997
|
recommendation: {
|
|
998
998
|
message: string;
|
|
999
|
-
shouldIrrigate: boolean;
|
|
1000
999
|
urgency: "critical" | "low" | "medium" | "high" | "none";
|
|
1000
|
+
shouldIrrigate: boolean;
|
|
1001
1001
|
recommendedDate: string | null;
|
|
1002
1002
|
factors?: {
|
|
1003
1003
|
description: string;
|
|
@@ -1035,8 +1035,8 @@ export declare const irrigationRouter: {
|
|
|
1035
1035
|
fieldName: string;
|
|
1036
1036
|
recommendation: {
|
|
1037
1037
|
message: string;
|
|
1038
|
-
shouldIrrigate: boolean;
|
|
1039
1038
|
urgency: "critical" | "low" | "medium" | "high" | "none";
|
|
1039
|
+
shouldIrrigate: boolean;
|
|
1040
1040
|
recommendedDate: string | null;
|
|
1041
1041
|
factors?: {
|
|
1042
1042
|
description: string;
|
|
@@ -1094,11 +1094,11 @@ export declare const irrigationRouter: {
|
|
|
1094
1094
|
days: z.ZodDefault<z.ZodNumber>;
|
|
1095
1095
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
1096
1096
|
}, "strip", z.ZodTypeAny, {
|
|
1097
|
-
limit: number;
|
|
1098
1097
|
days: number;
|
|
1098
|
+
limit: number;
|
|
1099
1099
|
}, {
|
|
1100
|
-
limit?: number | undefined;
|
|
1101
1100
|
days?: number | undefined;
|
|
1101
|
+
limit?: number | undefined;
|
|
1102
1102
|
}>;
|
|
1103
1103
|
summary: "Get upcoming irrigation events across all schedules";
|
|
1104
1104
|
method: "GET";
|
|
@@ -12,11 +12,11 @@ export declare const measurementsRouter: {
|
|
|
12
12
|
fieldId: string;
|
|
13
13
|
}>;
|
|
14
14
|
query: z.ZodObject<{
|
|
15
|
-
type: z.ZodOptional<z.ZodEnum<["DISTANCE", "AREA", "PERIMETER", "RADIUS"]>>;
|
|
15
|
+
type: z.ZodOptional<z.ZodEffects<z.ZodEnum<["DISTANCE", "AREA", "PERIMETER", "RADIUS", "distance", "area", "perimeter", "radius"]>, "DISTANCE" | "AREA" | "PERIMETER" | "RADIUS", "area" | "distance" | "DISTANCE" | "AREA" | "PERIMETER" | "RADIUS" | "perimeter" | "radius">>;
|
|
16
16
|
}, "strip", z.ZodTypeAny, {
|
|
17
17
|
type?: "DISTANCE" | "AREA" | "PERIMETER" | "RADIUS" | undefined;
|
|
18
18
|
}, {
|
|
19
|
-
type?: "DISTANCE" | "AREA" | "PERIMETER" | "RADIUS" | undefined;
|
|
19
|
+
type?: "area" | "distance" | "DISTANCE" | "AREA" | "PERIMETER" | "RADIUS" | "perimeter" | "radius" | undefined;
|
|
20
20
|
}>;
|
|
21
21
|
summary: "List measurements for a field";
|
|
22
22
|
method: "GET";
|
|
@@ -31,6 +31,7 @@ export declare const measurementsRouter: {
|
|
|
31
31
|
points: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
|
|
32
32
|
result: z.ZodNumber;
|
|
33
33
|
unit: z.ZodString;
|
|
34
|
+
formatted: z.ZodOptional<z.ZodString>;
|
|
34
35
|
segments: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
35
36
|
distance: z.ZodNumber;
|
|
36
37
|
bearing: z.ZodOptional<z.ZodNumber>;
|
|
@@ -60,6 +61,7 @@ export declare const measurementsRouter: {
|
|
|
60
61
|
distance: number;
|
|
61
62
|
bearing?: number | undefined;
|
|
62
63
|
}[] | null;
|
|
64
|
+
formatted?: string | undefined;
|
|
63
65
|
}, {
|
|
64
66
|
type: "DISTANCE" | "AREA" | "PERIMETER" | "RADIUS";
|
|
65
67
|
id: string;
|
|
@@ -76,6 +78,7 @@ export declare const measurementsRouter: {
|
|
|
76
78
|
distance: number;
|
|
77
79
|
bearing?: number | undefined;
|
|
78
80
|
}[] | null;
|
|
81
|
+
formatted?: string | undefined;
|
|
79
82
|
}>, "many">;
|
|
80
83
|
403: z.ZodObject<{
|
|
81
84
|
errors: z.ZodArray<z.ZodObject<{
|
|
@@ -286,6 +289,7 @@ export declare const measurementsRouter: {
|
|
|
286
289
|
points: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
|
|
287
290
|
result: z.ZodNumber;
|
|
288
291
|
unit: z.ZodString;
|
|
292
|
+
formatted: z.ZodOptional<z.ZodString>;
|
|
289
293
|
segments: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
290
294
|
distance: z.ZodNumber;
|
|
291
295
|
bearing: z.ZodOptional<z.ZodNumber>;
|
|
@@ -315,6 +319,7 @@ export declare const measurementsRouter: {
|
|
|
315
319
|
distance: number;
|
|
316
320
|
bearing?: number | undefined;
|
|
317
321
|
}[] | null;
|
|
322
|
+
formatted?: string | undefined;
|
|
318
323
|
}, {
|
|
319
324
|
type: "DISTANCE" | "AREA" | "PERIMETER" | "RADIUS";
|
|
320
325
|
id: string;
|
|
@@ -331,6 +336,7 @@ export declare const measurementsRouter: {
|
|
|
331
336
|
distance: number;
|
|
332
337
|
bearing?: number | undefined;
|
|
333
338
|
}[] | null;
|
|
339
|
+
formatted?: string | undefined;
|
|
334
340
|
}>;
|
|
335
341
|
403: z.ZodObject<{
|
|
336
342
|
errors: z.ZodArray<z.ZodObject<{
|
|
@@ -528,7 +534,7 @@ export declare const measurementsRouter: {
|
|
|
528
534
|
summary: "Create measurement";
|
|
529
535
|
method: "POST";
|
|
530
536
|
body: z.ZodObject<{
|
|
531
|
-
type: z.ZodEnum<["DISTANCE", "AREA", "PERIMETER", "RADIUS"]>;
|
|
537
|
+
type: z.ZodEffects<z.ZodEnum<["DISTANCE", "AREA", "PERIMETER", "RADIUS", "distance", "area", "perimeter", "radius"]>, "DISTANCE" | "AREA" | "PERIMETER" | "RADIUS", "area" | "distance" | "DISTANCE" | "AREA" | "PERIMETER" | "RADIUS" | "perimeter" | "radius">;
|
|
532
538
|
label: z.ZodOptional<z.ZodString>;
|
|
533
539
|
points: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
|
|
534
540
|
result: z.ZodNumber;
|
|
@@ -540,7 +546,7 @@ export declare const measurementsRouter: {
|
|
|
540
546
|
points: [number, number][];
|
|
541
547
|
label?: string | undefined;
|
|
542
548
|
}, {
|
|
543
|
-
type: "DISTANCE" | "AREA" | "PERIMETER" | "RADIUS";
|
|
549
|
+
type: "area" | "distance" | "DISTANCE" | "AREA" | "PERIMETER" | "RADIUS" | "perimeter" | "radius";
|
|
544
550
|
unit: string;
|
|
545
551
|
result: number;
|
|
546
552
|
points: [number, number][];
|
|
@@ -557,6 +563,7 @@ export declare const measurementsRouter: {
|
|
|
557
563
|
points: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
|
|
558
564
|
result: z.ZodNumber;
|
|
559
565
|
unit: z.ZodString;
|
|
566
|
+
formatted: z.ZodOptional<z.ZodString>;
|
|
560
567
|
segments: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
561
568
|
distance: z.ZodNumber;
|
|
562
569
|
bearing: z.ZodOptional<z.ZodNumber>;
|
|
@@ -586,6 +593,7 @@ export declare const measurementsRouter: {
|
|
|
586
593
|
distance: number;
|
|
587
594
|
bearing?: number | undefined;
|
|
588
595
|
}[] | null;
|
|
596
|
+
formatted?: string | undefined;
|
|
589
597
|
}, {
|
|
590
598
|
type: "DISTANCE" | "AREA" | "PERIMETER" | "RADIUS";
|
|
591
599
|
id: string;
|
|
@@ -602,6 +610,7 @@ export declare const measurementsRouter: {
|
|
|
602
610
|
distance: number;
|
|
603
611
|
bearing?: number | undefined;
|
|
604
612
|
}[] | null;
|
|
613
|
+
formatted?: string | undefined;
|
|
605
614
|
}>;
|
|
606
615
|
400: z.ZodObject<{
|
|
607
616
|
errors: z.ZodArray<z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measurements.routes.d.ts","sourceRoot":"","sources":["../../src/routes/measurements.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"measurements.routes.d.ts","sourceRoot":"","sources":["../../src/routes/measurements.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+D7B,CAAC"}
|