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

27 lines
954 B
TypeScript
Raw Normal View History

2017-06-29 12:54:02 -06:00
import { Regimen } from "../../../regimens/interfaces";
import { Sequence } from "../../../sequences/interfaces";
2019-07-01 10:43:03 -06:00
import { FarmEvent } from "farmbot/dist/resources/api_resources";
2017-06-29 12:54:02 -06:00
2019-09-23 12:56:35 -06:00
/** Make a fully formed farm event: join regimen, sequence, etc. */
2017-06-29 12:54:02 -06:00
/** STEP 1: Extract querying of data and formatting of data into two
* sep. function. This function will join `executable` on `farm_event`. */
2019-09-23 12:56:35 -06:00
export type FarmEventWithExecutable =
FarmEventWithRegimen | FarmEventWithSequence;
2017-06-29 12:54:02 -06:00
/** 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
2019-07-01 10:43:03 -06:00
* like `CalendarDay`. */