refactor: remove side effects from computed properties
This commit is contained in:
@@ -239,14 +239,14 @@ const saveRequestAs = async () => {
|
||||
)
|
||||
|
||||
if (E.isLeft(collHandleResult)) {
|
||||
// INVALID_WORKSPACE_HANDLE
|
||||
// INVALID_WORKSPACE_HANDLE | INVALID_COLLECTION_ID | INVALID_PATH
|
||||
return
|
||||
}
|
||||
|
||||
const collHandle = collHandleResult.right
|
||||
|
||||
if (collHandle.value.type === "invalid") {
|
||||
// WORKSPACE_INVALIDATED | INVALID_COLLECTION_HANDLE
|
||||
// WORKSPACE_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
@@ -278,14 +278,14 @@ const saveRequestAs = async () => {
|
||||
)
|
||||
|
||||
if (E.isLeft(requestHandleResult)) {
|
||||
// INVALID_WORKSPACE_HANDLE
|
||||
// INVALID_COLLECTION_HANDLE | INVALID_REQUEST_ID | REQUEST_NOT_FOUND
|
||||
return
|
||||
}
|
||||
|
||||
const requestHandle = requestHandleResult.right
|
||||
|
||||
if (requestHandle.value.type === "invalid") {
|
||||
// WORKSPACE_INVALIDATED | INVALID_REQUEST_HANDLE
|
||||
// WORKSPACE_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -353,14 +353,14 @@ const onRemoveRootCollection = async () => {
|
||||
)
|
||||
|
||||
if (E.isLeft(collectionHandleResult)) {
|
||||
// INVALID_WORKSPACE_HANDLE
|
||||
// INVALID_WORKSPACE_HANDLE | INVALID_COLLECTION_ID | INVALID_PATH
|
||||
return
|
||||
}
|
||||
|
||||
const collectionHandle = collectionHandleResult.right
|
||||
|
||||
if (collectionHandle.value.type === "invalid") {
|
||||
// WORKSPACE_INVALIDATED | INVALID_COLLECTION_HANDLE
|
||||
// WORKSPACE_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
@@ -433,14 +433,14 @@ const onAddRequest = async (requestName: string) => {
|
||||
)
|
||||
|
||||
if (E.isLeft(collectionHandleResult)) {
|
||||
// INVALID_WORKSPACE_HANDLE
|
||||
// INVALID_WORKSPACE_HANDLE | INVALID_COLLECTION_ID | INVALID_PATH
|
||||
return
|
||||
}
|
||||
|
||||
const collectionHandle = collectionHandleResult.right
|
||||
|
||||
if (collectionHandle.value.type === "invalid") {
|
||||
// WORKSPACE_INVALIDATED | INVALID_COLLECTION_HANDLE
|
||||
// WORKSPACE_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
@@ -515,14 +515,14 @@ const onAddChildCollection = async (newChildCollectionName: string) => {
|
||||
)
|
||||
|
||||
if (E.isLeft(collectionHandleResult)) {
|
||||
// INVALID_WORKSPACE_HANDLE
|
||||
// INVALID_WORKSPACE_HANDLE | INVALID_COLLECTION_ID | INVALID_PATH
|
||||
return
|
||||
}
|
||||
|
||||
const collectionHandle = collectionHandleResult.right
|
||||
|
||||
if (collectionHandle.value.type === "invalid") {
|
||||
// WORKSPACE_INVALIDATED | INVALID_COLLECTION_HANDLE
|
||||
// WORKSPACE_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
@@ -565,14 +565,14 @@ const onEditRootCollection = async (newCollectionName: string) => {
|
||||
)
|
||||
|
||||
if (E.isLeft(collectionHandleResult)) {
|
||||
// INVALID_WORKSPACE_HANDLE
|
||||
// INVALID_WORKSPACE_HANDLE | INVALID_COLLECTION_ID | INVALID_PATH
|
||||
return
|
||||
}
|
||||
|
||||
const collectionHandle = collectionHandleResult.right
|
||||
|
||||
if (collectionHandle.value.type === "invalid") {
|
||||
// WORKSPACE_INVALIDATED | INVALID_COLLECTION_HANDLE
|
||||
// WORKSPACE_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
@@ -610,14 +610,14 @@ const onEditChildCollection = async (newChildCollectionName: string) => {
|
||||
)
|
||||
|
||||
if (E.isLeft(collectionHandleResult)) {
|
||||
// INVALID_WORKSPACE_HANDLE
|
||||
// INVALID_WORKSPACE_HANDLE | INVALID_COLLECTION_ID | INVALID_PATH
|
||||
return
|
||||
}
|
||||
|
||||
const collectionHandle = collectionHandleResult.right
|
||||
|
||||
if (collectionHandle.value.type === "invalid") {
|
||||
// WORKSPACE_INVALIDATED | INVALID_COLLECTION_HANDLE
|
||||
// WORKSPACE_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
@@ -651,14 +651,14 @@ const onRemoveChildCollection = async () => {
|
||||
)
|
||||
|
||||
if (E.isLeft(parentCollectionHandleResult)) {
|
||||
// INVALID_WORKSPACE_HANDLE
|
||||
// INVALID_WORKSPACE_HANDLE | INVALID_COLLECTION_ID | INVALID_PATH
|
||||
return
|
||||
}
|
||||
|
||||
const parentCollectionHandle = parentCollectionHandleResult.right
|
||||
|
||||
if (parentCollectionHandle.value.type === "invalid") {
|
||||
// WORKSPACE_INVALIDATED | INVALID_COLLECTION_HANDLE
|
||||
// WORKSPACE_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
@@ -742,14 +742,14 @@ const onRemoveRequest = async () => {
|
||||
)
|
||||
|
||||
if (E.isLeft(requestHandleResult)) {
|
||||
// INVALID_COLLECTION_HANDLE
|
||||
// INVALID_COLLECTION_HANDLE | INVALID_REQUEST_ID | REQUEST_NOT_FOUND
|
||||
return
|
||||
}
|
||||
|
||||
const requestHandle = requestHandleResult.right
|
||||
|
||||
if (requestHandle.value.type === "invalid") {
|
||||
// COLLECTION_INVALIDATED | INVALID_REQUEST_HANDLE
|
||||
// COLLECTION_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
@@ -819,14 +819,14 @@ const selectRequest = async (requestIndexPath: string) => {
|
||||
)
|
||||
|
||||
if (E.isLeft(requestHandleResult)) {
|
||||
// INVALID_COLLECTION_HANDLE
|
||||
// INVALID_COLLECTION_HANDLE | INVALID_REQUEST_ID | REQUEST_NOT_FOUND
|
||||
return
|
||||
}
|
||||
|
||||
const requestHandle = requestHandleResult.right
|
||||
|
||||
if (requestHandle.value.type === "invalid") {
|
||||
// COLLECTION_INVALIDATED | INVALID_REQUEST_HANDLE
|
||||
// COLLECTION_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
@@ -883,14 +883,14 @@ const duplicateRequest = async (requestIndexPath: string) => {
|
||||
)
|
||||
|
||||
if (E.isLeft(requestHandleResult)) {
|
||||
// INVALID_COLLECTION_HANDLE
|
||||
// INVALID_COLLECTION_HANDLE | INVALID_REQUEST_ID | REQUEST_NOT_FOUND
|
||||
return
|
||||
}
|
||||
|
||||
const requestHandle = requestHandleResult.right
|
||||
|
||||
if (requestHandle.value.type === "invalid") {
|
||||
// COLLECTION_INVALIDATED | INVALID_REQUEST_HANDLE
|
||||
// COLLECTION_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
@@ -931,14 +931,14 @@ const onEditRequest = async (newRequestName: string) => {
|
||||
)
|
||||
|
||||
if (E.isLeft(requestHandleResult)) {
|
||||
// INVALID_COLLECTION_HANDLE
|
||||
// INVALID_COLLECTION_HANDLE | INVALID_REQUEST_ID | REQUEST_NOT_FOUND
|
||||
return
|
||||
}
|
||||
|
||||
const requestHandle = requestHandleResult.right
|
||||
|
||||
if (requestHandle.value.type === "invalid") {
|
||||
// COLLECTION_INVALIDATED | INVALID_REQUEST_HANDLE
|
||||
// COLLECTION_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
@@ -994,14 +994,14 @@ const editCollectionProperties = async (collectionIndexPath: string) => {
|
||||
)
|
||||
|
||||
if (E.isLeft(collectionHandleResult)) {
|
||||
// INVALID_WORKSPACE_HANDLE
|
||||
// INVALID_WORKSPACE_HANDLE | INVALID_COLLECTION_ID | INVALID_PATH
|
||||
return
|
||||
}
|
||||
|
||||
const collectionHandle = collectionHandleResult.right
|
||||
|
||||
if (collectionHandle.value.type === "invalid") {
|
||||
// WORKSPACE_INVALIDATED | INVALID_COLLECTION_HANDLE
|
||||
// WORKSPACE_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1059,14 +1059,14 @@ const setCollectionProperties = async (updatedCollectionProps: {
|
||||
)
|
||||
|
||||
if (E.isLeft(collectionHandleResult)) {
|
||||
// INVALID_WORKSPACE_HANDLE
|
||||
// INVALID_WORKSPACE_HANDLE | INVALID_COLLECTION_ID | INVALID_PATH
|
||||
return
|
||||
}
|
||||
|
||||
const collectionHandle = collectionHandleResult.right
|
||||
|
||||
if (collectionHandle.value.type === "invalid") {
|
||||
// WORKSPACE_INVALIDATED | INVALID_COLLECTION_HANDLE
|
||||
// WORKSPACE_INVALIDATED
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -104,6 +104,29 @@ export class PersonalWorkspaceProviderService
|
||||
return Promise.resolve(E.left("INVALID_WORKSPACE_HANDLE" as const))
|
||||
}
|
||||
|
||||
const newCollectionName = newCollection.name as string
|
||||
const newCollectionID =
|
||||
this.restCollectionState.value.state.length.toString()
|
||||
|
||||
const newRootCollection = makeCollection({
|
||||
name: newCollectionName,
|
||||
folders: [],
|
||||
requests: [],
|
||||
headers: [],
|
||||
auth: {
|
||||
authType: "inherit",
|
||||
authActive: false,
|
||||
},
|
||||
})
|
||||
addRESTCollection(newRootCollection)
|
||||
|
||||
platform.analytics?.logEvent({
|
||||
type: "HOPP_CREATE_COLLECTION",
|
||||
platform: "rest",
|
||||
workspaceType: "personal",
|
||||
isRootCollection: true,
|
||||
})
|
||||
|
||||
return Promise.resolve(
|
||||
E.right(
|
||||
computed(() => {
|
||||
@@ -118,29 +141,6 @@ export class PersonalWorkspaceProviderService
|
||||
}
|
||||
}
|
||||
|
||||
const newCollectionName = newCollection.name as string
|
||||
const newCollectionID =
|
||||
this.restCollectionState.value.state.length.toString()
|
||||
|
||||
const newRootCollection = makeCollection({
|
||||
name: newCollectionName,
|
||||
folders: [],
|
||||
requests: [],
|
||||
headers: [],
|
||||
auth: {
|
||||
authType: "inherit",
|
||||
authActive: false,
|
||||
},
|
||||
})
|
||||
addRESTCollection(newRootCollection)
|
||||
|
||||
platform.analytics?.logEvent({
|
||||
type: "HOPP_CREATE_COLLECTION",
|
||||
platform: "rest",
|
||||
workspaceType: "personal",
|
||||
isRootCollection: true,
|
||||
})
|
||||
|
||||
return {
|
||||
type: "ok",
|
||||
data: {
|
||||
@@ -167,6 +167,19 @@ export class PersonalWorkspaceProviderService
|
||||
return Promise.resolve(E.left("INVALID_COLLECTION_HANDLE" as const))
|
||||
}
|
||||
|
||||
const { collectionID, providerID, workspaceID } =
|
||||
parentCollectionHandle.value.data
|
||||
|
||||
const newCollectionName = newChildCollection.name as string
|
||||
addRESTFolder(newCollectionName, collectionID)
|
||||
|
||||
platform.analytics?.logEvent({
|
||||
type: "HOPP_CREATE_COLLECTION",
|
||||
workspaceType: "personal",
|
||||
isRootCollection: false,
|
||||
platform: "rest",
|
||||
})
|
||||
|
||||
return Promise.resolve(
|
||||
E.right(
|
||||
computed(() => {
|
||||
@@ -181,19 +194,6 @@ export class PersonalWorkspaceProviderService
|
||||
}
|
||||
}
|
||||
|
||||
const { collectionID, providerID, workspaceID } =
|
||||
parentCollectionHandle.value.data
|
||||
|
||||
const newCollectionName = newChildCollection.name as string
|
||||
addRESTFolder(newCollectionName, collectionID)
|
||||
|
||||
platform.analytics?.logEvent({
|
||||
type: "HOPP_CREATE_COLLECTION",
|
||||
workspaceType: "personal",
|
||||
isRootCollection: false,
|
||||
platform: "rest",
|
||||
})
|
||||
|
||||
return {
|
||||
type: "ok",
|
||||
data: {
|
||||
@@ -405,6 +405,34 @@ export class PersonalWorkspaceProviderService
|
||||
return Promise.resolve(E.left("INVALID_WORKSPACE_HANDLE" as const))
|
||||
}
|
||||
|
||||
if (!collectionID) {
|
||||
return Promise.resolve(E.left("INVALID_COLLECTION_ID" as const))
|
||||
}
|
||||
|
||||
const collection = navigateToFolderWithIndexPath(
|
||||
this.restCollectionState.value.state,
|
||||
collectionID.split("/").map((x) => parseInt(x))
|
||||
)
|
||||
|
||||
if (!collection) {
|
||||
const parentCollectionIndexPath = collectionID
|
||||
.split("/")
|
||||
.slice(0, -1)
|
||||
.join("/")
|
||||
const requestIndex = this.pathToLastIndex(collectionID)
|
||||
|
||||
const parentCollection = navigateToFolderWithIndexPath(
|
||||
this.restCollectionState.value.state,
|
||||
parentCollectionIndexPath.split("/").map((x) => parseInt(x))
|
||||
)
|
||||
|
||||
if (!parentCollection || !parentCollection.requests[requestIndex]) {
|
||||
return Promise.resolve(E.left("INVALID_PATH"))
|
||||
}
|
||||
}
|
||||
|
||||
const { providerID, workspaceID } = workspaceHandle.value.data
|
||||
|
||||
return Promise.resolve(
|
||||
E.right(
|
||||
computed(() => {
|
||||
@@ -419,47 +447,13 @@ export class PersonalWorkspaceProviderService
|
||||
}
|
||||
}
|
||||
|
||||
if (!collectionID) {
|
||||
return {
|
||||
type: "invalid" as const,
|
||||
reason: "INVALID_COLLECTION_HANDLE" as const,
|
||||
}
|
||||
}
|
||||
|
||||
const collection = navigateToFolderWithIndexPath(
|
||||
this.restCollectionState.value.state,
|
||||
collectionID.split("/").map((x) => parseInt(x))
|
||||
)
|
||||
|
||||
if (!collection) {
|
||||
const parentCollectionIndexPath = collectionID
|
||||
.split("/")
|
||||
.slice(0, -1)
|
||||
.join("/")
|
||||
const requestIndex = this.pathToLastIndex(collectionID)
|
||||
|
||||
const parentCollection = navigateToFolderWithIndexPath(
|
||||
this.restCollectionState.value.state,
|
||||
parentCollectionIndexPath.split("/").map((x) => parseInt(x))
|
||||
)
|
||||
|
||||
if (!parentCollection || !parentCollection.requests[requestIndex]) {
|
||||
return {
|
||||
type: "invalid" as const,
|
||||
reason: "INVALID_PATH" as const,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const { providerID, workspaceID } = workspaceHandle.value.data
|
||||
|
||||
return {
|
||||
type: "ok",
|
||||
data: {
|
||||
providerID,
|
||||
workspaceID,
|
||||
collectionID,
|
||||
name: collection?.name as string,
|
||||
name: collection.name,
|
||||
},
|
||||
}
|
||||
})
|
||||
@@ -479,6 +473,34 @@ export class PersonalWorkspaceProviderService
|
||||
return Promise.resolve(E.left("INVALID_COLLECTION_HANDLE" as const))
|
||||
}
|
||||
|
||||
if (!requestID) {
|
||||
return Promise.resolve(E.left("INVALID_REQUEST_ID" as const))
|
||||
}
|
||||
|
||||
const { providerID, workspaceID } = workspaceHandle.value.data
|
||||
|
||||
const collectionID = requestID.split("/").slice(0, -1).join("/")
|
||||
const requestIndexPath = requestID.split("/").slice(-1)[0]
|
||||
|
||||
if (!requestIndexPath) {
|
||||
return Promise.resolve(E.left("INVALID_REQUEST_ID" as const))
|
||||
}
|
||||
|
||||
const requestIndex = parseInt(requestIndexPath)
|
||||
|
||||
// Navigate to the collection containing the request
|
||||
const collection = navigateToFolderWithIndexPath(
|
||||
this.restCollectionState.value.state,
|
||||
collectionID.split("/").map((x) => parseInt(x))
|
||||
)
|
||||
|
||||
// Grab the request with it's index
|
||||
const request = collection?.requests[requestIndex] as HoppRESTRequest
|
||||
|
||||
if (!request) {
|
||||
return Promise.resolve(E.left("REQUEST_NOT_FOUND" as const))
|
||||
}
|
||||
|
||||
return Promise.resolve(
|
||||
E.right(
|
||||
computed(() => {
|
||||
@@ -493,43 +515,6 @@ export class PersonalWorkspaceProviderService
|
||||
}
|
||||
}
|
||||
|
||||
if (!requestID) {
|
||||
return {
|
||||
type: "invalid" as const,
|
||||
reason: "INVALID_REQUEST_HANDLE" as const,
|
||||
}
|
||||
}
|
||||
|
||||
const { providerID, workspaceID } = workspaceHandle.value.data
|
||||
|
||||
const collectionID = requestID.split("/").slice(0, -1).join("/")
|
||||
const requestIndexPath = requestID.split("/").slice(-1)[0]
|
||||
|
||||
if (!requestIndexPath) {
|
||||
return {
|
||||
type: "invalid" as const,
|
||||
reason: "INVALID_REQUEST_HANDLE" as const,
|
||||
}
|
||||
}
|
||||
|
||||
const requestIndex = parseInt(requestIndexPath)
|
||||
|
||||
// Navigate to the collection containing the request
|
||||
const collection = navigateToFolderWithIndexPath(
|
||||
this.restCollectionState.value.state,
|
||||
collectionID.split("/").map((x) => parseInt(x))
|
||||
)
|
||||
|
||||
// Grab the request with it's index
|
||||
const request = collection?.requests[requestIndex] as HoppRESTRequest
|
||||
|
||||
if (!request) {
|
||||
return {
|
||||
type: "invalid" as const,
|
||||
reason: "REQUEST_PATH_NOT_FOUND" as const,
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
type: "ok",
|
||||
data: {
|
||||
|
||||
Reference in New Issue
Block a user