Farmbot-Web-App/frontend/farm_designer/farm_events/calendar/interfaces.ts

27 lines
954 B
TypeScript

import { Regimen } from "../../../regimens/interfaces";
import { Sequence } from "../../../sequences/interfaces";
import { FarmEvent } from "farmbot/dist/resources/api_resources";
/** Make a fully formed farm event: join regimen, sequence, etc. */
/** STEP 1: Extract querying of data and formatting of data into two
* sep. function. This function will join `executable` on `farm_event`. */
export type FarmEventWithExecutable =
FarmEventWithRegimen | FarmEventWithSequence;
/** Takes a farm event and merges it with its sequence object. */
export interface FarmEventWithSequence extends FarmEvent {
executable_type: "Sequence";
executable: Sequence;
}
/** Takes a farm event and merges it with its regimen object. */
export interface FarmEventWithRegimen extends FarmEvent {
executable_type: "Regimen";
executable: Regimen;
}
/** STEP 2: Once all the resource queries are done, create data that looks
* like `CalendarDay`. */