refactor: consistent return formats

This commit is contained in:
jamesgeorge007
2024-02-09 12:31:15 +05:30
parent f0f504d10e
commit 1abbdb0fe0
5 changed files with 31 additions and 26 deletions

View File

@@ -104,7 +104,7 @@
:shortcut="['⌫']" :shortcut="['⌫']"
@click=" @click="
() => { () => {
emit('remove-request') emit('remove-request', requestView.requestID)
hide() hide()
} }
" "
@@ -145,7 +145,7 @@ const emit = defineEmits<{
requestName: string requestName: string
} }
): void ): void
(event: "remove-request"): void (event: "remove-request", requestIndexPath: string): void
(event: "select-request", requestIndexPath: string): void (event: "select-request", requestIndexPath: string): void
}>() }>()

View File

@@ -49,7 +49,7 @@
:request-view="node.data.value" :request-view="node.data.value"
@duplicate-request="duplicateRequest" @duplicate-request="duplicateRequest"
@edit-request="editRequest" @edit-request="editRequest"
@remove-request="removeRequest(node.data.value.requestID)" @remove-request="removeRequest"
@select-request="selectRequest" @select-request="selectRequest"
/> />
<div v-else @click="toggleChildren"> <div v-else @click="toggleChildren">
@@ -142,13 +142,14 @@ import {
cascadeParentCollectionForHeaderAuth, cascadeParentCollectionForHeaderAuth,
navigateToFolderWithIndexPath, navigateToFolderWithIndexPath,
restCollectionStore, restCollectionStore,
restCollections$,
saveRESTRequestAs, saveRESTRequestAs,
} from "~/newstore/collections" } from "~/newstore/collections"
import { cloneDeep } from "lodash-es" import { cloneDeep } from "lodash-es"
import { HoppCollection, HoppRESTAuth, HoppRESTRequest } from "@hoppscotch/data" import { HoppCollection, HoppRESTAuth, HoppRESTRequest } from "@hoppscotch/data"
import { TeamCollection } from "~/helpers/backend/graphql" import { TeamCollection } from "~/helpers/backend/graphql"
import { HoppInheritedProperty } from "~/helpers/types/HoppInheritedProperties" import { HoppInheritedProperty } from "~/helpers/types/HoppInheritedProperties"
import { useStreamStatic } from "~/composables/stream" import { useReadonlyStream } from "~/composables/stream"
import { updateInheritedPropertiesForAffectedRequests } from "~/helpers/collection/collection" import { updateInheritedPropertiesForAffectedRequests } from "~/helpers/collection/collection"
const t = useI18n() const t = useI18n()
@@ -165,6 +166,8 @@ defineEmits<{
}>() }>()
const workspaceService = useService(NewWorkspaceService) const workspaceService = useService(NewWorkspaceService)
const restCollectionState = useReadonlyStream(restCollections$, [])
const treeAdapter = markRaw( const treeAdapter = markRaw(
new WorkspaceRESTCollectionTreeAdapter( new WorkspaceRESTCollectionTreeAdapter(
props.workspaceHandle, props.workspaceHandle,
@@ -249,9 +252,12 @@ const displayConfirmModal = (show: boolean) => {
const addNewRootCollection = async (name: string) => { const addNewRootCollection = async (name: string) => {
modalLoadingState.value = true modalLoadingState.value = true
const newCollectionID = restCollectionState.value.length.toString()
const result = await workspaceService.createRESTRootCollection( const result = await workspaceService.createRESTRootCollection(
props.workspaceHandle, props.workspaceHandle,
name name,
newCollectionID
) )
if (E.isLeft(result)) { if (E.isLeft(result)) {
@@ -807,16 +813,8 @@ const editCollectionProperties = async (collectionIndexPath: string) => {
return return
} }
const restCollectionState = useStreamStatic(
restCollectionStore.subject$,
{ state: [] },
() => {
/* noop */
}
)[0]
const collection = navigateToFolderWithIndexPath( const collection = navigateToFolderWithIndexPath(
restCollectionState.value.state, restCollectionState.value,
collectionIndexPath.split("/").map((id) => parseInt(id)) collectionIndexPath.split("/").map((id) => parseInt(id))
) )

View File

@@ -170,7 +170,8 @@ export class NewWorkspaceService extends Service {
public async createRESTRootCollection( public async createRESTRootCollection(
workspaceHandle: HandleRef<Workspace>, workspaceHandle: HandleRef<Workspace>,
collectionName: string collectionName: string,
newCollectionID: string
): Promise< ): Promise<
E.Either< E.Either<
WorkspaceError<"INVALID_HANDLE" | "INVALID_PROVIDER">, WorkspaceError<"INVALID_HANDLE" | "INVALID_PROVIDER">,
@@ -191,7 +192,8 @@ export class NewWorkspaceService extends Service {
const result = await provider.createRESTRootCollection( const result = await provider.createRESTRootCollection(
workspaceHandle, workspaceHandle,
collectionName collectionName,
newCollectionID
) )
if (E.isLeft(result)) { if (E.isLeft(result)) {
@@ -334,7 +336,7 @@ export class NewWorkspaceService extends Service {
): Promise< ): Promise<
E.Either< E.Either<
WorkspaceError<"INVALID_HANDLE" | "INVALID_PROVIDER">, WorkspaceError<"INVALID_HANDLE" | "INVALID_PROVIDER">,
HandleRef<WorkspaceCollection> HandleRef<WorkspaceRequest>
> >
> { > {
if (parentCollectionHandle.value.type === "invalid") { if (parentCollectionHandle.value.type === "invalid") {

View File

@@ -39,7 +39,8 @@ export interface WorkspaceProvider {
createRESTRootCollection( createRESTRootCollection(
workspaceHandle: HandleRef<Workspace>, workspaceHandle: HandleRef<Workspace>,
collectionName: string collectionName: string,
newCollectionID: string
): Promise<E.Either<unknown, HandleRef<WorkspaceCollection>>> ): Promise<E.Either<unknown, HandleRef<WorkspaceCollection>>>
createRESTChildCollection( createRESTChildCollection(
parentCollectionHandle: HandleRef<WorkspaceCollection>, parentCollectionHandle: HandleRef<WorkspaceCollection>,
@@ -59,7 +60,7 @@ export interface WorkspaceProvider {
parentCollectionHandle: HandleRef<WorkspaceCollection>, parentCollectionHandle: HandleRef<WorkspaceCollection>,
requestName: string, requestName: string,
openInNewTab: boolean openInNewTab: boolean
): Promise<E.Either<unknown, HandleRef<WorkspaceCollection>>> ): Promise<E.Either<unknown, HandleRef<WorkspaceRequest>>>
updateRESTRequest( updateRESTRequest(
requestHandle: HandleRef<WorkspaceRequest>, requestHandle: HandleRef<WorkspaceRequest>,
updatedRequest: HoppRESTRequest updatedRequest: HoppRESTRequest

View File

@@ -96,7 +96,8 @@ export class PersonalWorkspaceProviderService
public createRESTRootCollection( public createRESTRootCollection(
workspaceHandle: HandleRef<Workspace>, workspaceHandle: HandleRef<Workspace>,
collectionName: string collectionName: string,
newCollectionID: string
): Promise<E.Either<unknown, HandleRef<WorkspaceCollection>>> { ): Promise<E.Either<unknown, HandleRef<WorkspaceCollection>>> {
if ( if (
workspaceHandle.value.type !== "ok" || workspaceHandle.value.type !== "ok" ||
@@ -144,7 +145,7 @@ export class PersonalWorkspaceProviderService
data: { data: {
providerID: this.providerID, providerID: this.providerID,
workspaceID: workspaceHandle.value.data.workspaceID, workspaceID: workspaceHandle.value.data.workspaceID,
collectionID: "", // Compute this and supply collectionID: newCollectionID,
name: collectionName, name: collectionName,
}, },
} }
@@ -348,7 +349,7 @@ export class PersonalWorkspaceProviderService
const folderToRemove = path const folderToRemove = path
? navigateToFolderWithIndexPath( ? navigateToFolderWithIndexPath(
restCollectionStore.value.state, restCollectionStore.value.state,
collectionID.split("/").map((i) => parseInt(i)) collectionID.split("/").map((id) => parseInt(id))
) )
: undefined : undefined
@@ -381,7 +382,7 @@ export class PersonalWorkspaceProviderService
parentCollHandle: HandleRef<WorkspaceCollection>, parentCollHandle: HandleRef<WorkspaceCollection>,
requestName: string, requestName: string,
openInNewTab: boolean openInNewTab: boolean
): Promise<E.Either<unknown, HandleRef<WorkspaceCollection>>> { ): Promise<E.Either<unknown, HandleRef<WorkspaceRequest>>> {
if ( if (
parentCollHandle.value.type !== "ok" || parentCollHandle.value.type !== "ok" ||
parentCollHandle.value.data.providerID !== this.providerID || 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 parentCollHandle.value.data
const newRequest = { const newRequest = {
@@ -442,13 +443,16 @@ export class PersonalWorkspaceProviderService
platform: "rest", platform: "rest",
}) })
const requestID = `${collectionID}/${insertionIndex}`
return { return {
type: "ok", type: "ok",
data: { data: {
providerID, providerID,
workspaceID, workspaceID,
collectionID, collectionID,
name, requestID,
request: newRequest,
}, },
} }
}) })
@@ -498,7 +502,7 @@ export class PersonalWorkspaceProviderService
const requestToRemove = navigateToFolderWithIndexPath( const requestToRemove = navigateToFolderWithIndexPath(
restCollectionStore.value.state, restCollectionStore.value.state,
collectionID.split("/").map((i) => parseInt(i)) collectionID.split("/").map((id) => parseInt(id))
)?.requests[requestIndex] )?.requests[requestIndex]
removeRESTRequest(collectionID, requestIndex, requestToRemove?.id) removeRESTRequest(collectionID, requestIndex, requestToRemove?.id)