harvest.schema.ts 772 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // src/harvest/harvest.schema.ts
  2. import { ObjectId } from 'mongodb';
  3. export interface QuantityValue {
  4. quantity: number;
  5. uom: string;
  6. }
  7. export interface Resource {
  8. type: string;
  9. name: string;
  10. value: QuantityValue;
  11. id: ObjectId;
  12. }
  13. export interface Output {
  14. type: string;
  15. name: string;
  16. value: QuantityValue;
  17. id: ObjectId;
  18. weightValue: {
  19. weight: number;
  20. uom: string;
  21. };
  22. }
  23. export interface Target {
  24. type: string;
  25. name: string;
  26. value: QuantityValue;
  27. id: ObjectId;
  28. }
  29. export interface Duration {
  30. value: QuantityValue;
  31. }
  32. export interface HarvestActivity {
  33. _id?: ObjectId;
  34. name: string;
  35. type: string;
  36. resources: Resource[];
  37. duration: Duration;
  38. outputs: Output[];
  39. targets: Target[];
  40. dateStart: Date;
  41. dateEnd: Date;
  42. }