You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.8 KiB
67 lines
1.8 KiB
export interface WithType<Type extends string = string> { |
|
type: Type; |
|
} |
|
|
|
export interface WithProgram { |
|
programId: number; |
|
} |
|
|
|
export type RunProgramRequest = WithProgram & WithType<"runProgram">; |
|
export type CancelProgramRequest = WithProgram & WithType<"cancelProgram">; |
|
|
|
export type UpdateProgramData = WithProgram & { data: any }; |
|
export type UpdateProgramRequest = UpdateProgramData & |
|
WithType<"updateProgram">; |
|
export type UpdateProgramResponse = Response<"updateProgram", { data: any }>; |
|
|
|
export interface WithSection { |
|
sectionId: number; |
|
} |
|
|
|
export type RunSectionData = WithSection & { duration: number }; |
|
export type RunSectionRequest = RunSectionData & WithType<"runSection">; |
|
export type RunSectionResponse = Response<"runSection", { runId: number }>; |
|
|
|
export type CancelSectionRequest = WithSection & WithType<"cancelSection">; |
|
|
|
export interface CancelSectionRunIdData { |
|
runId: number; |
|
} |
|
export type CancelSectionRunIdRequest = CancelSectionRunIdData & |
|
WithType<"cancelSectionRunId">; |
|
|
|
export interface PauseSectionRunnerData { |
|
paused: boolean; |
|
} |
|
export type PauseSectionRunnerRequest = PauseSectionRunnerData & |
|
WithType<"pauseSectionRunner">; |
|
|
|
export type Request = |
|
| RunProgramRequest |
|
| CancelProgramRequest |
|
| UpdateProgramRequest |
|
| RunSectionRequest |
|
| CancelSectionRequest |
|
| CancelSectionRunIdRequest |
|
| PauseSectionRunnerRequest; |
|
|
|
export type RequestType = Request["type"]; |
|
|
|
export interface SuccessResponseData<Type extends string = string> |
|
extends WithType<Type> { |
|
result: "success"; |
|
message: string; |
|
} |
|
|
|
export interface ErrorResponseData<Type extends string = string> |
|
extends WithType<Type> { |
|
result: "error"; |
|
message: string; |
|
code: number; |
|
name?: string; |
|
cause?: any; |
|
} |
|
|
|
export type Response<Type extends string = string, Res = {}> = |
|
| (SuccessResponseData<Type> & Res) |
|
| (ErrorResponseData<Type>);
|
|
|