refactor: consistent return formats
This commit is contained in:
@@ -104,7 +104,7 @@
|
||||
:shortcut="['⌫']"
|
||||
@click="
|
||||
() => {
|
||||
emit('remove-request')
|
||||
emit('remove-request', requestView.requestID)
|
||||
hide()
|
||||
}
|
||||
"
|
||||
@@ -145,7 +145,7 @@ const emit = defineEmits<{
|
||||
requestName: string
|
||||
}
|
||||
): void
|
||||
(event: "remove-request"): void
|
||||
(event: "remove-request", requestIndexPath: string): void
|
||||
(event: "select-request", requestIndexPath: string): void
|
||||
}>()
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
:request-view="node.data.value"
|
||||
@duplicate-request="duplicateRequest"
|
||||
@edit-request="editRequest"
|
||||
@remove-request="removeRequest(node.data.value.requestID)"
|
||||
@remove-request="removeRequest"
|
||||
@select-request="selectRequest"
|
||||
/>
|
||||
<div v-else @click="toggleChildren">
|
||||
@@ -142,13 +142,14 @@ import {
|
||||
cascadeParentCollectionForHeaderAuth,
|
||||
navigateToFolderWithIndexPath,
|
||||
restCollectionStore,
|
||||
restCollections$,
|
||||
saveRESTRequestAs,
|
||||
} from "~/newstore/collections"
|
||||
import { cloneDeep } from "lodash-es"
|
||||
import { HoppCollection, HoppRESTAuth, HoppRESTRequest } from "@hoppscotch/data"
|
||||
import { TeamCollection } from "~/helpers/backend/graphql"
|
||||
import { HoppInheritedProperty } from "~/helpers/types/HoppInheritedProperties"
|
||||
import { useStreamStatic } from "~/composables/stream"
|
||||
import { useReadonlyStream } from "~/composables/stream"
|
||||
import { updateInheritedPropertiesForAffectedRequests } from "~/helpers/collection/collection"
|
||||
|
||||
const t = useI18n()
|
||||
@@ -165,6 +166,8 @@ defineEmits<{
|
||||
}>()
|
||||
|
||||
const workspaceService = useService(NewWorkspaceService)
|
||||
const restCollectionState = useReadonlyStream(restCollections$, [])
|
||||
|
||||
const treeAdapter = markRaw(
|
||||
new WorkspaceRESTCollectionTreeAdapter(
|
||||
props.workspaceHandle,
|
||||
@@ -249,9 +252,12 @@ const displayConfirmModal = (show: boolean) => {
|
||||
const addNewRootCollection = async (name: string) => {
|
||||
modalLoadingState.value = true
|
||||
|
||||
const newCollectionID = restCollectionState.value.length.toString()
|
||||
|
||||
const result = await workspaceService.createRESTRootCollection(
|
||||
props.workspaceHandle,
|
||||
name
|
||||
name,
|
||||
newCollectionID
|
||||
)
|
||||
|
||||
if (E.isLeft(result)) {
|
||||
@@ -807,16 +813,8 @@ const editCollectionProperties = async (collectionIndexPath: string) => {
|
||||
return
|
||||
}
|
||||
|
||||
const restCollectionState = useStreamStatic(
|
||||
restCollectionStore.subject$,
|
||||
{ state: [] },
|
||||
() => {
|
||||
/* noop */
|
||||
}
|
||||
)[0]
|
||||
|
||||
const collection = navigateToFolderWithIndexPath(
|
||||
restCollectionState.value.state,
|
||||
restCollectionState.value,
|
||||
collectionIndexPath.split("/").map((id) => parseInt(id))
|
||||
)
|
||||
|
||||
|
||||
@@ -170,7 +170,8 @@ export class NewWorkspaceService extends Service {
|
||||
|
||||
public async createRESTRootCollection(
|
||||
workspaceHandle: HandleRef<Workspace>,
|
||||
collectionName: string
|
||||
collectionName: string,
|
||||
newCollectionID: string
|
||||
): Promise<
|
||||
E.Either<
|
||||
WorkspaceError<"INVALID_HANDLE" | "INVALID_PROVIDER">,
|
||||
@@ -191,7 +192,8 @@ export class NewWorkspaceService extends Service {
|
||||
|
||||
const result = await provider.createRESTRootCollection(
|
||||
workspaceHandle,
|
||||
collectionName
|
||||
collectionName,
|
||||
newCollectionID
|
||||
)
|
||||
|
||||
if (E.isLeft(result)) {
|
||||
@@ -334,7 +336,7 @@ export class NewWorkspaceService extends Service {
|
||||
): Promise<
|
||||
E.Either<
|
||||
WorkspaceError<"INVALID_HANDLE" | "INVALID_PROVIDER">,
|
||||
HandleRef<WorkspaceCollection>
|
||||
HandleRef<WorkspaceRequest>
|
||||
>
|
||||
> {
|
||||
if (parentCollectionHandle.value.type === "invalid") {
|
||||
|
||||
@@ -39,7 +39,8 @@ export interface WorkspaceProvider {
|
||||
|
||||
createRESTRootCollection(
|
||||
workspaceHandle: HandleRef<Workspace>,
|
||||
collectionName: string
|
||||
collectionName: string,
|
||||
newCollectionID: string
|
||||
): Promise<E.Either<unknown, HandleRef<WorkspaceCollection>>>
|
||||
createRESTChildCollection(
|
||||
parentCollectionHandle: HandleRef<WorkspaceCollection>,
|
||||
@@ -59,7 +60,7 @@ export interface WorkspaceProvider {
|
||||
parentCollectionHandle: HandleRef<WorkspaceCollection>,
|
||||
requestName: string,
|
||||
openInNewTab: boolean
|
||||
): Promise<E.Either<unknown, HandleRef<WorkspaceCollection>>>
|
||||
): Promise<E.Either<unknown, HandleRef<WorkspaceRequest>>>
|
||||
updateRESTRequest(
|
||||
requestHandle: HandleRef<WorkspaceRequest>,
|
||||
updatedRequest: HoppRESTRequest
|
||||
|
||||
@@ -96,7 +96,8 @@ export class PersonalWorkspaceProviderService
|
||||
|
||||
public createRESTRootCollection(
|
||||
workspaceHandle: HandleRef<Workspace>,
|
||||
collectionName: string
|
||||
collectionName: string,
|
||||
newCollectionID: string
|
||||
): Promise<E.Either<unknown, HandleRef<WorkspaceCollection>>> {
|
||||
if (
|
||||
workspaceHandle.value.type !== "ok" ||
|
||||
@@ -144,7 +145,7 @@ export class PersonalWorkspaceProviderService
|
||||
data: {
|
||||
providerID: this.providerID,
|
||||
workspaceID: workspaceHandle.value.data.workspaceID,
|
||||
collectionID: "", // Compute this and supply
|
||||
collectionID: newCollectionID,
|
||||
name: collectionName,
|
||||
},
|
||||
}
|
||||
@@ -348,7 +349,7 @@ export class PersonalWorkspaceProviderService
|
||||
const folderToRemove = path
|
||||
? navigateToFolderWithIndexPath(
|
||||
restCollectionStore.value.state,
|
||||
collectionID.split("/").map((i) => parseInt(i))
|
||||
collectionID.split("/").map((id) => parseInt(id))
|
||||
)
|
||||
: undefined
|
||||
|
||||
@@ -381,7 +382,7 @@ export class PersonalWorkspaceProviderService
|
||||
parentCollHandle: HandleRef<WorkspaceCollection>,
|
||||
requestName: string,
|
||||
openInNewTab: boolean
|
||||
): Promise<E.Either<unknown, HandleRef<WorkspaceCollection>>> {
|
||||
): Promise<E.Either<unknown, HandleRef<WorkspaceRequest>>> {
|
||||
if (
|
||||
parentCollHandle.value.type !== "ok" ||
|
||||
parentCollHandle.value.data.providerID !== this.providerID ||
|
||||
@@ -404,7 +405,7 @@ export class PersonalWorkspaceProviderService
|
||||
}
|
||||
}
|
||||
|
||||
const { collectionID, providerID, workspaceID, name } =
|
||||
const { collectionID, providerID, workspaceID } =
|
||||
parentCollHandle.value.data
|
||||
|
||||
const newRequest = {
|
||||
@@ -442,13 +443,16 @@ export class PersonalWorkspaceProviderService
|
||||
platform: "rest",
|
||||
})
|
||||
|
||||
const requestID = `${collectionID}/${insertionIndex}`
|
||||
|
||||
return {
|
||||
type: "ok",
|
||||
data: {
|
||||
providerID,
|
||||
workspaceID,
|
||||
collectionID,
|
||||
name,
|
||||
requestID,
|
||||
request: newRequest,
|
||||
},
|
||||
}
|
||||
})
|
||||
@@ -498,7 +502,7 @@ export class PersonalWorkspaceProviderService
|
||||
|
||||
const requestToRemove = navigateToFolderWithIndexPath(
|
||||
restCollectionStore.value.state,
|
||||
collectionID.split("/").map((i) => parseInt(i))
|
||||
collectionID.split("/").map((id) => parseInt(id))
|
||||
)?.requests[requestIndex]
|
||||
|
||||
removeRESTRequest(collectionID, requestIndex, requestToRemove?.id)
|
||||
|
||||
Reference in New Issue
Block a user