refactor: move more things to handles instead of handleref
This commit is contained in:
committed by
jamesgeorge007
parent
2f2273ee2c
commit
c8f0142b16
@@ -368,8 +368,10 @@ watch(
|
||||
const newWorkspaceService = useService(NewWorkspaceService)
|
||||
|
||||
const activeWorkspaceName = computed(() => {
|
||||
if (newWorkspaceService.activeWorkspaceHandle.value?.value.type === "ok") {
|
||||
return newWorkspaceService.activeWorkspaceHandle.value?.value.data.name
|
||||
const activeWorkspaceHandleRef = newWorkspaceService.activeWorkspaceHandle.value?.get()
|
||||
|
||||
if (activeWorkspaceHandleRef?.value.type === "ok") {
|
||||
return activeWorkspaceHandleRef.value.data.name
|
||||
}
|
||||
|
||||
return t("workspace.no_workspace")
|
||||
|
||||
@@ -245,11 +245,6 @@ const saveRequestAs = async () => {
|
||||
|
||||
const collectionHandle = collectionHandleResult.right
|
||||
|
||||
if (collectionHandle.value.type === "invalid") {
|
||||
// WORKSPACE_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
const requestHandleResult = await workspaceService.createRESTRequest(
|
||||
collectionHandle,
|
||||
updatedRequest
|
||||
|
||||
@@ -20,8 +20,6 @@ import { useVModel } from "@vueuse/core"
|
||||
import { cloneDeep, isEqual } from "lodash-es"
|
||||
import { HoppTab } from "~/services/tab"
|
||||
import { HoppRESTDocument } from "~/helpers/rest/document"
|
||||
import { WorkspaceRequest } from "~/services/new-workspace/workspace"
|
||||
import { HandleRef } from "~/services/new-workspace/handle"
|
||||
|
||||
// TODO: Move Response and Request execution code to over here
|
||||
|
||||
@@ -43,24 +41,23 @@ watch(
|
||||
tab.value.document.saveContext?.originLocation ===
|
||||
"workspace-user-collection"
|
||||
) {
|
||||
const requestHandle = tab.value.document.saveContext.requestHandle as
|
||||
| HandleRef<WorkspaceRequest>["value"]
|
||||
| undefined
|
||||
const requestHandleRef =
|
||||
tab.value.document.saveContext.requestHandle?.get()
|
||||
|
||||
if (!requestHandle || requestHandle.type === "invalid") {
|
||||
if (!requestHandleRef || requestHandleRef.value.type === "invalid") {
|
||||
return
|
||||
}
|
||||
|
||||
if (
|
||||
!tab.value.document.isDirty &&
|
||||
!isEqual(oldRequest, requestHandle?.data.request)
|
||||
!isEqual(oldRequest, requestHandleRef?.value.data.request)
|
||||
) {
|
||||
tab.value.document.isDirty = true
|
||||
}
|
||||
|
||||
if (
|
||||
tab.value.document.isDirty &&
|
||||
isEqual(oldRequest, requestHandle?.data.request)
|
||||
isEqual(oldRequest, requestHandleRef?.value.data.request)
|
||||
) {
|
||||
tab.value.document.isDirty = false
|
||||
}
|
||||
|
||||
@@ -514,7 +514,7 @@ import { platform } from "~/platform"
|
||||
import { NewWorkspaceService } from "~/services/new-workspace"
|
||||
import { HandleRef } from "~/services/new-workspace/handle"
|
||||
import { RESTCollectionViewRequest } from "~/services/new-workspace/view"
|
||||
import { Workspace, WorkspaceRequest } from "~/services/new-workspace/workspace"
|
||||
import { Workspace } from "~/services/new-workspace/workspace"
|
||||
import { RESTTabService } from "~/services/tab/rest"
|
||||
import IconImport from "~icons/lucide/folder-down"
|
||||
import IconHelpCircle from "~icons/lucide/help-circle"
|
||||
@@ -1110,12 +1110,7 @@ const selectRequest = async (requestIndexPath: string) => {
|
||||
return
|
||||
}
|
||||
|
||||
const collectionHandle = collectionHandleResult.right.get()
|
||||
|
||||
if (collectionHandle.value.type === "invalid") {
|
||||
// WORKSPACE_INVALIDATED | INVALID_COLLECTION_HANDLE
|
||||
return
|
||||
}
|
||||
const collectionHandle = collectionHandleResult.right
|
||||
|
||||
const requestHandleResult = await workspaceService.getRequestHandle(
|
||||
props.workspaceHandle,
|
||||
@@ -1127,12 +1122,7 @@ const selectRequest = async (requestIndexPath: string) => {
|
||||
return
|
||||
}
|
||||
|
||||
const requestHandle = requestHandleResult.right.get()
|
||||
|
||||
if (requestHandle.value.type === "invalid") {
|
||||
// COLLECTION_INVALIDATED
|
||||
return
|
||||
}
|
||||
const requestHandle = requestHandleResult.right
|
||||
|
||||
const cascadingAuthHeadersHandleResult =
|
||||
await workspaceService.getRESTCollectionLevelAuthHeadersView(
|
||||
@@ -1163,9 +1153,11 @@ const selectRequest = async (requestIndexPath: string) => {
|
||||
if (possibleTab) {
|
||||
tabs.setActiveTab(possibleTab.value.id)
|
||||
} else {
|
||||
const requestHandleRef = requestHandle.get()
|
||||
|
||||
// If not, open the request in a new tab
|
||||
tabs.createNewTab({
|
||||
request: requestHandle.value.data.request,
|
||||
request: requestHandleRef.value.data.request,
|
||||
isDirty: false,
|
||||
saveContext: {
|
||||
originLocation: "workspace-user-collection",
|
||||
@@ -1640,12 +1632,7 @@ const dropRequest = async (payload: {
|
||||
return
|
||||
}
|
||||
|
||||
const requestHandle = requestHandleResult.right.get()
|
||||
|
||||
if (requestHandle.value.type === "invalid") {
|
||||
// COLLECTION_INVALIDATED
|
||||
return
|
||||
}
|
||||
const requestHandle = requestHandleResult.right
|
||||
|
||||
const result = await workspaceService.moveRESTRequest(
|
||||
requestHandle,
|
||||
@@ -1667,12 +1654,7 @@ const dropRequest = async (payload: {
|
||||
return
|
||||
}
|
||||
|
||||
const collectionHandle = collectionHandleResult.right.get()
|
||||
|
||||
if (collectionHandle.value.type === "invalid") {
|
||||
// WORKSPACE_INVALIDATED
|
||||
return
|
||||
}
|
||||
const collectionHandle = collectionHandleResult.right
|
||||
|
||||
const cascadingAuthHeadersHandleResult =
|
||||
await workspaceService.getRESTCollectionLevelAuthHeadersView(
|
||||
@@ -2098,18 +2080,20 @@ const isActiveRequest = (requestView: RESTCollectionViewRequest) => {
|
||||
return false
|
||||
}
|
||||
|
||||
// TODO: Investigate why requestHandle is available unwrapped here
|
||||
const requestHandle = tabs.currentActiveTab.value.document.saveContext
|
||||
.requestHandle as HandleRef<WorkspaceRequest>["value"] | undefined
|
||||
const requestHandle =
|
||||
tabs.currentActiveTab.value.document.saveContext.requestHandle
|
||||
|
||||
if (!requestHandle) {
|
||||
return false
|
||||
}
|
||||
|
||||
if (requestHandle.type === "invalid") {
|
||||
const requestHandleRef = requestHandle.get()
|
||||
|
||||
if (requestHandleRef.value.type === "invalid") {
|
||||
return false
|
||||
}
|
||||
|
||||
return requestHandle.data.requestID === requestView.requestID
|
||||
return requestHandleRef.value.data.requestID === requestView.requestID
|
||||
}
|
||||
|
||||
const onSelectPick = (payload: Picked | null) => {
|
||||
|
||||
@@ -26,8 +26,10 @@ const workspaceService = useService(NewWorkspaceService)
|
||||
const activeWorkspaceHandle = workspaceService.activeWorkspaceHandle
|
||||
|
||||
const workspaceName = computed(() => {
|
||||
if (activeWorkspaceHandle.value?.value.type === "ok") {
|
||||
return activeWorkspaceHandle.value.value.data.name
|
||||
const activeWorkspaceHandleRef = activeWorkspaceHandle.value?.get()
|
||||
|
||||
if (activeWorkspaceHandleRef?.value.type === "ok") {
|
||||
return activeWorkspaceHandleRef.value.data.name
|
||||
}
|
||||
|
||||
return undefined
|
||||
|
||||
@@ -34,12 +34,13 @@ const personalWorkspaceProviderService = useService(
|
||||
)
|
||||
|
||||
const activeWorkspaceInfo = computed(() => {
|
||||
const activeWorkspace = workspaceService.activeWorkspaceHandle.value
|
||||
const activeWorkspaceHandleRef =
|
||||
workspaceService.activeWorkspaceHandle.value?.get()
|
||||
|
||||
if (activeWorkspace?.value.type === "ok") {
|
||||
if (activeWorkspaceHandleRef?.value.type === "ok") {
|
||||
return {
|
||||
provider: activeWorkspace.value.data.providerID,
|
||||
workspaceID: activeWorkspace.value.data.workspaceID,
|
||||
provider: activeWorkspaceHandleRef.value.data.providerID,
|
||||
workspaceID: activeWorkspaceHandleRef.value.data.workspaceID,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,6 +49,6 @@ const activeWorkspaceInfo = computed(() => {
|
||||
|
||||
function selectWorkspace() {
|
||||
workspaceService.activeWorkspaceHandle.value =
|
||||
personalWorkspaceProviderService.getPersonalWorkspaceHandle().get()
|
||||
personalWorkspaceProviderService.getPersonalWorkspaceHandle()
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -37,12 +37,13 @@ const testWorkspaceProviderService = useService(TestWorkspaceProviderService)
|
||||
const candidates = testWorkspaceProviderService.getWorkspaceCandidates()
|
||||
|
||||
const activeWorkspaceInfo = computed(() => {
|
||||
const activeWorkspace = workspaceService.activeWorkspaceHandle.value
|
||||
const activeWorkspaceHandle = workspaceService.activeWorkspaceHandle.value
|
||||
const activeWorkspaceHandleRef = activeWorkspaceHandle?.get()
|
||||
|
||||
if (activeWorkspace?.value.type === "ok") {
|
||||
if (activeWorkspaceHandleRef?.value.type === "ok") {
|
||||
return {
|
||||
provider: activeWorkspace.value.data.providerID,
|
||||
workspaceID: activeWorkspace.value.data.workspaceID,
|
||||
provider: activeWorkspaceHandleRef.value.data.providerID,
|
||||
workspaceID: activeWorkspaceHandleRef.value.data.workspaceID,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,6 +60,6 @@ async function selectWorkspace(workspaceID: string) {
|
||||
return
|
||||
}
|
||||
|
||||
workspaceService.activeWorkspaceHandle.value = result.right.get()
|
||||
workspaceService.activeWorkspaceHandle.value = result.right
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user