@deepintel-ltd/farmpro-contracts 1.7.19 → 1.7.20

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 (63) hide show
  1. package/dist/index.d.ts +16 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +15 -0
  4. package/dist/routes/agents.routes.d.ts +6 -6
  5. package/dist/routes/cooperative.routes.d.ts +1327 -0
  6. package/dist/routes/cooperative.routes.d.ts.map +1 -0
  7. package/dist/routes/cooperative.routes.js +47 -0
  8. package/dist/routes/extension.routes.d.ts +2431 -0
  9. package/dist/routes/extension.routes.d.ts.map +1 -0
  10. package/dist/routes/extension.routes.js +75 -0
  11. package/dist/routes/farms.routes.d.ts +775 -0
  12. package/dist/routes/farms.routes.d.ts.map +1 -1
  13. package/dist/routes/farms.routes.js +15 -1
  14. package/dist/routes/field-monitoring.routes.d.ts +505 -0
  15. package/dist/routes/field-monitoring.routes.d.ts.map +1 -1
  16. package/dist/routes/field-monitoring.routes.js +23 -1
  17. package/dist/routes/fields.routes.d.ts +156 -155
  18. package/dist/routes/fields.routes.d.ts.map +1 -1
  19. package/dist/routes/index.d.ts +15 -0
  20. package/dist/routes/index.d.ts.map +1 -1
  21. package/dist/routes/index.js +10 -0
  22. package/dist/routes/live-monitor.routes.d.ts +513 -0
  23. package/dist/routes/live-monitor.routes.d.ts.map +1 -0
  24. package/dist/routes/live-monitor.routes.js +81 -0
  25. package/dist/routes/livestock-map.routes.d.ts +4 -4
  26. package/dist/routes/monitoring-visualization.routes.d.ts +4 -4
  27. package/dist/routes/notifications.routes.d.ts +1350 -0
  28. package/dist/routes/notifications.routes.d.ts.map +1 -0
  29. package/dist/routes/notifications.routes.js +66 -0
  30. package/dist/routes/team-payments.routes.d.ts +9571 -0
  31. package/dist/routes/team-payments.routes.d.ts.map +1 -0
  32. package/dist/routes/team-payments.routes.js +262 -0
  33. package/dist/schemas/agents.schemas.d.ts +1 -0
  34. package/dist/schemas/agents.schemas.d.ts.map +1 -1
  35. package/dist/schemas/cooperative.schemas.d.ts +560 -0
  36. package/dist/schemas/cooperative.schemas.d.ts.map +1 -0
  37. package/dist/schemas/cooperative.schemas.js +71 -0
  38. package/dist/schemas/extension.schemas.d.ts +1204 -0
  39. package/dist/schemas/extension.schemas.d.ts.map +1 -0
  40. package/dist/schemas/extension.schemas.js +68 -0
  41. package/dist/schemas/farms.schemas.d.ts +591 -0
  42. package/dist/schemas/farms.schemas.d.ts.map +1 -1
  43. package/dist/schemas/farms.schemas.js +44 -0
  44. package/dist/schemas/field-monitoring.schemas.d.ts +276 -0
  45. package/dist/schemas/field-monitoring.schemas.d.ts.map +1 -1
  46. package/dist/schemas/field-monitoring.schemas.js +9 -0
  47. package/dist/schemas/field-observations.schemas.d.ts +1 -0
  48. package/dist/schemas/field-observations.schemas.d.ts.map +1 -1
  49. package/dist/schemas/fields.schemas.d.ts +188 -186
  50. package/dist/schemas/fields.schemas.d.ts.map +1 -1
  51. package/dist/schemas/fields.schemas.js +10 -2
  52. package/dist/schemas/live-monitor.schemas.d.ts +596 -0
  53. package/dist/schemas/live-monitor.schemas.d.ts.map +1 -0
  54. package/dist/schemas/live-monitor.schemas.js +107 -0
  55. package/dist/schemas/livestock-map.schemas.d.ts +10 -10
  56. package/dist/schemas/monitoring-visualization.schemas.d.ts +4 -4
  57. package/dist/schemas/notifications.schemas.d.ts +464 -0
  58. package/dist/schemas/notifications.schemas.d.ts.map +1 -0
  59. package/dist/schemas/notifications.schemas.js +40 -0
  60. package/dist/schemas/team-payments.schemas.d.ts +2604 -0
  61. package/dist/schemas/team-payments.schemas.d.ts.map +1 -0
  62. package/dist/schemas/team-payments.schemas.js +151 -0
  63. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-payments.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/team-payments.schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import { z } from 'zod';
2
+ import { timestampsSchema, createJsonApiResourceSchema, jsonApiSingleResponseSchema, jsonApiCollectionResponseSchema, } from './common.schemas';
3
+ export const paymentProviderSchema = z.enum([
4
+ 'OPAY',
5
+ 'PAYSTACK',
6
+ 'FLUTTERWAVE',
7
+ 'MONO',
8
+ 'OKRA',
9
+ 'BANK_DIRECT',
10
+ ]);
11
+ export const vendorPaymentStatusSchema = z.enum([
12
+ 'DRAFT',
13
+ 'PENDING_APPROVAL',
14
+ 'PROCESSING',
15
+ 'COMPLETED',
16
+ 'FAILED',
17
+ 'REJECTED',
18
+ ]);
19
+ export const paymentApprovalActionSchema = z.enum(['APPROVED', 'REJECTED']);
20
+ export const companyPaymentAccountAttributesSchema = z.object({
21
+ organizationId: z.string().uuid(),
22
+ label: z.string(),
23
+ bankName: z.string(),
24
+ accountNumber: z.string(),
25
+ accountName: z.string(),
26
+ provider: paymentProviderSchema,
27
+ providerAccountId: z.string().nullable(),
28
+ isDefault: z.boolean(),
29
+ isActive: z.boolean(),
30
+ dailyLimit: z.number().nullable(),
31
+ monthlyLimit: z.number().nullable(),
32
+ monoLinkedAt: z.string().datetime().nullable(),
33
+ monoConsentExpiry: z.string().datetime().nullable(),
34
+ }).merge(timestampsSchema);
35
+ export const createCompanyPaymentAccountAttributesSchema = z.object({
36
+ label: z.string().min(1).max(200),
37
+ bankName: z.string().min(1).max(200),
38
+ accountNumber: z.string().min(4).max(50),
39
+ accountName: z.string().min(1).max(200),
40
+ provider: paymentProviderSchema,
41
+ providerAccountId: z.string().max(200).optional(),
42
+ providerCredentials: z.record(z.unknown()).optional(),
43
+ isDefault: z.boolean().default(false),
44
+ isActive: z.boolean().default(true),
45
+ dailyLimit: z.number().positive().optional(),
46
+ monthlyLimit: z.number().positive().optional(),
47
+ });
48
+ export const updateCompanyPaymentAccountAttributesSchema = createCompanyPaymentAccountAttributesSchema.partial();
49
+ export const createCompanyPaymentAccountSchema = z.object({
50
+ type: z.literal('company-payment-accounts'),
51
+ attributes: createCompanyPaymentAccountAttributesSchema,
52
+ });
53
+ export const updateCompanyPaymentAccountSchema = z.object({
54
+ type: z.literal('company-payment-accounts'),
55
+ id: z.string().uuid(),
56
+ attributes: updateCompanyPaymentAccountAttributesSchema,
57
+ });
58
+ export const companyPaymentAccountResourceSchema = createJsonApiResourceSchema('company-payment-accounts', companyPaymentAccountAttributesSchema);
59
+ export const companyPaymentAccountResponseSchema = jsonApiSingleResponseSchema(companyPaymentAccountResourceSchema);
60
+ export const companyPaymentAccountListResponseSchema = jsonApiCollectionResponseSchema(companyPaymentAccountResourceSchema);
61
+ export const teamSpendLimitAttributesSchema = z.object({
62
+ teamMemberId: z.string().uuid(),
63
+ farmId: z.string().uuid(),
64
+ monthlyCap: z.number().positive(),
65
+ currentMonthSpent: z.number().nonnegative(),
66
+ resetAt: z.string().datetime(),
67
+ isActive: z.boolean(),
68
+ remaining: z.number().nonnegative().optional(),
69
+ }).merge(timestampsSchema);
70
+ export const createTeamSpendLimitAttributesSchema = z.object({
71
+ teamMemberId: z.string().uuid(),
72
+ monthlyCap: z.number().positive(),
73
+ isActive: z.boolean().default(true),
74
+ });
75
+ export const updateTeamSpendLimitAttributesSchema = z.object({
76
+ monthlyCap: z.number().positive().optional(),
77
+ isActive: z.boolean().optional(),
78
+ });
79
+ export const createTeamSpendLimitSchema = z.object({
80
+ type: z.literal('team-spend-limits'),
81
+ attributes: createTeamSpendLimitAttributesSchema,
82
+ });
83
+ export const updateTeamSpendLimitSchema = z.object({
84
+ type: z.literal('team-spend-limits'),
85
+ id: z.string().uuid(),
86
+ attributes: updateTeamSpendLimitAttributesSchema,
87
+ });
88
+ export const teamSpendLimitResourceSchema = createJsonApiResourceSchema('team-spend-limits', teamSpendLimitAttributesSchema);
89
+ export const teamSpendLimitResponseSchema = jsonApiSingleResponseSchema(teamSpendLimitResourceSchema);
90
+ export const teamSpendLimitListResponseSchema = jsonApiCollectionResponseSchema(teamSpendLimitResourceSchema);
91
+ export const vendorPaymentAttributesSchema = z.object({
92
+ farmId: z.string().uuid(),
93
+ initiatedById: z.string().uuid(),
94
+ paymentAccountId: z.string().uuid(),
95
+ approvedById: z.string().uuid().nullable(),
96
+ approvalNote: z.string().nullable(),
97
+ vendorName: z.string(),
98
+ vendorBankCode: z.string(),
99
+ vendorAccountNumber: z.string(),
100
+ vendorAccountName: z.string(),
101
+ supplierId: z.string().nullable(),
102
+ amount: z.number().positive(),
103
+ currency: z.string(),
104
+ narration: z.string(),
105
+ category: z.string(),
106
+ fieldId: z.string().uuid().nullable(),
107
+ cropId: z.string().nullable(),
108
+ providerReference: z.string().nullable(),
109
+ providerTransferId: z.string().nullable(),
110
+ status: vendorPaymentStatusSchema,
111
+ failureReason: z.string().nullable(),
112
+ expenseId: z.string().uuid().nullable(),
113
+ initiatedAt: z.string().datetime(),
114
+ approvedAt: z.string().datetime().nullable(),
115
+ processedAt: z.string().datetime().nullable(),
116
+ completedAt: z.string().datetime().nullable(),
117
+ receiptUrl: z.string().nullable(),
118
+ }).merge(timestampsSchema);
119
+ export const initiateVendorPaymentAttributesSchema = z.object({
120
+ paymentAccountId: z.string().uuid(),
121
+ vendorName: z.string().min(1).max(200),
122
+ vendorBankCode: z.string().min(3).max(10),
123
+ vendorAccountNumber: z.string().min(10).max(20),
124
+ vendorAccountName: z.string().min(1).max(200).optional(),
125
+ supplierId: z.string().uuid().optional(),
126
+ amount: z.number().positive(),
127
+ currency: z.string().length(3).default('NGN'),
128
+ narration: z.string().min(1).max(500),
129
+ category: z.string().min(1).max(100),
130
+ fieldId: z.string().uuid().optional(),
131
+ cropId: z.string().optional(),
132
+ });
133
+ export const initiateVendorPaymentSchema = z.object({
134
+ type: z.literal('vendor-payments'),
135
+ attributes: initiateVendorPaymentAttributesSchema,
136
+ });
137
+ export const paymentApprovalActionInputSchema = z.object({
138
+ notes: z.string().max(2000).optional(),
139
+ });
140
+ export const paymentApprovalAttributesSchema = z.object({
141
+ vendorPaymentId: z.string().uuid(),
142
+ approverId: z.string().uuid(),
143
+ action: paymentApprovalActionSchema,
144
+ notes: z.string().nullable(),
145
+ createdAt: z.string().datetime(),
146
+ });
147
+ export const paymentApprovalResourceSchema = createJsonApiResourceSchema('payment-approvals', paymentApprovalAttributesSchema);
148
+ export const vendorPaymentResourceSchema = createJsonApiResourceSchema('vendor-payments', vendorPaymentAttributesSchema);
149
+ export const vendorPaymentResponseSchema = jsonApiSingleResponseSchema(vendorPaymentResourceSchema);
150
+ export const vendorPaymentListResponseSchema = jsonApiCollectionResponseSchema(vendorPaymentResourceSchema);
151
+ export const paymentApprovalListResponseSchema = jsonApiCollectionResponseSchema(vendorPaymentResourceSchema);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepintel-ltd/farmpro-contracts",
3
- "version": "1.7.19",
3
+ "version": "1.7.20",
4
4
  "description": "Type-safe API contracts for FarmPro API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",