77 lines
1.6 KiB
TypeScript
77 lines
1.6 KiB
TypeScript
import { HoppGQLRequest } from "@hoppscotch/data"
|
|
import { GQLResponseEvent } from "./connection"
|
|
import { GQLOptionTabs } from "~/components/graphql/RequestOptions.vue"
|
|
|
|
export type HoppGQLSaveContext =
|
|
| {
|
|
/**
|
|
* The origin source of the request
|
|
*/
|
|
originLocation: "user-collection"
|
|
/**
|
|
* Path to the request folder
|
|
*/
|
|
folderPath: string
|
|
/**
|
|
* Index to the request
|
|
*/
|
|
requestIndex: number
|
|
}
|
|
| {
|
|
/**
|
|
* The origin source of the request
|
|
*/
|
|
originLocation: "team-collection"
|
|
/**
|
|
* ID of the request in the team
|
|
*/
|
|
requestID: string
|
|
/**
|
|
* ID of the team
|
|
*/
|
|
teamID?: string
|
|
/**
|
|
* ID of the collection loaded
|
|
*/
|
|
collectionID?: string
|
|
}
|
|
| null
|
|
|
|
/**
|
|
* Defines a live 'document' (something that is open and being edited) in the app
|
|
*/
|
|
export type HoppGQLDocument = {
|
|
/**
|
|
* The request as it is in the document
|
|
*/
|
|
request: HoppGQLRequest
|
|
|
|
/**
|
|
* Whether the request has any unsaved changes
|
|
* (atleast as far as we can say)
|
|
*/
|
|
isDirty: boolean
|
|
|
|
/**
|
|
* Info about where this request should be saved.
|
|
* This contains where the request is originated from basically.
|
|
*/
|
|
saveContext?: HoppGQLSaveContext
|
|
|
|
/**
|
|
* The response as it is in the document
|
|
* (if any)
|
|
*/
|
|
response?: GQLResponseEvent[] | null
|
|
|
|
/**
|
|
* Response tab preference for the current tab's document
|
|
*/
|
|
responseTabPreference?: string
|
|
|
|
/**
|
|
* Options tab preference for the current tab's document
|
|
*/
|
|
optionTabPreference?: GQLOptionTabs
|
|
}
|