2
0
mirror of https://github.com/ad1217/PrinterStatus synced 2024-11-10 18:45:08 -05:00
PrinterStatus/types/octoprint.d.ts

114 lines
2.2 KiB
TypeScript
Raw Normal View History

export interface JobInformation {
file: {
name: string;
display: string;
path: string;
type: string;
typePath: Array<string>;
};
user?: string;
estimatedPrintTime?: number;
lastPrintTime?: number;
filament?: {
length?: number;
volume?: number;
};
}
export interface JobResponse {
job: JobInformation;
progress: ProgressInformation;
state: string;
}
export interface ProgressInformation {
completion: number;
filepos: number;
printTime: number;
printTimeLeft: number;
}
export interface PrinterState {
text: string;
flags: {
operational: boolean;
paused: boolean;
printing: boolean;
pausing: boolean;
cancelling: boolean;
sdReady: boolean;
error: boolean;
ready: boolean;
closedOrError: boolean;
};
}
export interface TemperatureOffsets {
// 'tool{n}' or 'bed'
[key: string]: number;
}
export interface TemperatureData {
actual: number;
target: number;
offset?: number;
}
export interface HistoricTemperatureDataPoint {
time: number; // unix timestamp
bed: TemperatureData;
// 'tool{n}'
[key: string]: TemperatureData | number;
}
export interface LoginResponse {
name: string;
active: boolean;
admin: boolean;
user: boolean;
apikey: string;
settings: { [key: string]: string };
session: string;
_is_external_client: boolean;
}
export interface CurrentOrHistoryPayload {
state: PrinterState;
job: JobInformation;
progress: ProgressInformation;
currentZ: number;
offsets?: TemperatureOffsets;
temps: HistoricTemperatureDataPoint;
}
export interface SlicingProgressMessage {
slicingProgress: {
slicer: string;
source_location: string;
source_path: string;
dest_location: string;
dest_path: string;
progress: number;
};
}
interface ConnectedMessage {
connected: {
apikey: string;
version: string;
branch: string;
display_version: string;
plugin_hash: string;
config_hash: string;
};
}
interface CurrentOrHistoryMessage {
current: CurrentOrHistoryPayload;
history: CurrentOrHistoryPayload;
}
export type Message = Partial<
SlicingProgressMessage | ConnectedMessage | CurrentOrHistoryMessage
>;