Skip to content

Commit 0de12bc

Browse files
committed
type state machine of mock data generator request
1 parent aebff92 commit 0de12bc

File tree

1 file changed

+34
-0
lines changed
  • packages/compass-collection/src/components/mock-data-generator-modal

1 file changed

+34
-0
lines changed

packages/compass-collection/src/components/mock-data-generator-modal/types.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import type { MockDataSchemaResponse } from '@mongodb-js/compass-generative-ai';
2+
13
export enum MockDataGeneratorStep {
24
AI_DISCLAIMER = 'AI_DISCLAIMER',
35
SCHEMA_CONFIRMATION = 'SCHEMA_CONFIRMATION',
@@ -6,3 +8,35 @@ export enum MockDataGeneratorStep {
68
PREVIEW_DATA = 'PREVIEW_DATA',
79
GENERATE_DATA = 'GENERATE_DATA',
810
}
11+
12+
export const MOCK_DATA_GENERATOR_STATE_IDLE = 'idle';
13+
export const MOCK_DATA_GENERATOR_STATE_GENERATING = 'generating';
14+
export const MOCK_DATA_GENERATOR_STATE_COMPLETED = 'completed';
15+
export const MOCK_DATA_GENERATOR_STATE_ERROR = 'error';
16+
17+
type MockDataGeneratorIdleState = {
18+
status: typeof MOCK_DATA_GENERATOR_STATE_IDLE;
19+
};
20+
21+
type MockDataGeneratorGeneratingState = {
22+
status: typeof MOCK_DATA_GENERATOR_STATE_GENERATING;
23+
requestId: string;
24+
};
25+
26+
type MockDataGeneratorCompletedState = {
27+
status: typeof MOCK_DATA_GENERATOR_STATE_COMPLETED;
28+
fakerSchema: MockDataSchemaResponse;
29+
requestId: string;
30+
};
31+
32+
type MockDataGeneratorErrorState = {
33+
status: typeof MOCK_DATA_GENERATOR_STATE_ERROR;
34+
error: unknown;
35+
requestId: string;
36+
};
37+
38+
export type MockDataGeneratorState =
39+
| MockDataGeneratorIdleState
40+
| MockDataGeneratorGeneratingState
41+
| MockDataGeneratorCompletedState
42+
| MockDataGeneratorErrorState;

0 commit comments

Comments
 (0)