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.
48 lines
1.8 KiB
48 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 RunSectionReqeust = 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 | |
|
RunSectionReqeust | 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>);
|
|
|