diff --git a/src/stores/application/workspace.store.ts b/src/stores/application/workspace.store.ts new file mode 100644 index 0000000..ff796fc --- /dev/null +++ b/src/stores/application/workspace.store.ts @@ -0,0 +1,59 @@ +export interface WorkspaceEntity { + name: string; + data: T; +} + +export enum EntityType { + Directory = 'directory', + File = 'file', +} + +export interface BaseEntity { + id: string; + name: string; + description: string; + createdAt: string; + updatedAt: string; +} + +export interface RestResponse { + status: number; + bytes: number; + headers: Record; + body: string; + bodyType: string; +} + +export interface RestProperties { + method: string; + url: string; + headers: Record; + body: string; + bodyType: string; + response: RestResponse; +} + +export interface RestEntity extends BaseEntity { + type: EntityType; + properties: RestProperties; +} + +export interface GraphqlEntity extends BaseEntity {} +export interface WebsocketEntity extends BaseEntity {} +export interface SocketIoEntity extends BaseEntity {} +export interface MqttEntity extends BaseEntity {} +export interface SmtpEntity extends BaseEntity {} + +export interface IWorkspaceEntities { + rest: WorkspaceEntity; + graphql: WorkspaceEntity; + websocket: WorkspaceEntity; + socketio: WorkspaceEntity; + mqtt: WorkspaceEntity; + smtp: WorkspaceEntity; +} + +export interface IWorkspace { + name: string; + entities: IWorkspaceEntities; +}