feat: added reordering and moving for collection (#2916)

This commit is contained in:
Nivedin
2023-02-24 19:09:07 +05:30
committed by GitHub
parent dcd441f15e
commit 4ca6e9ec3a
24 changed files with 1721 additions and 359 deletions

View File

@@ -0,0 +1,8 @@
mutation MoveRESTTeamCollection($collectionID: ID!, $parentCollectionID: ID) {
moveCollection(
collectionID: $collectionID
parentCollectionID: $parentCollectionID
) {
id
}
}

View File

@@ -0,0 +1,5 @@
mutation MoveRESTTeamRequest($collectionID: ID!, $requestID: ID!) {
moveRequest(destCollID: $collectionID, requestID: $requestID) {
id
}
}

View File

@@ -1,5 +0,0 @@
mutation MoveRESTTeamRequest($requestID: ID!, $collectionID: ID!) {
moveRequest(requestID: $requestID, destCollID: $collectionID) {
id
}
}

View File

@@ -0,0 +1,3 @@
mutation UpdateCollectionOrder($collectionID: ID!, $destCollID: ID!) {
updateCollectionOrder(collectionID: $collectionID, destCollID: $destCollID)
}

View File

@@ -0,0 +1,11 @@
mutation UpdateLookUpRequestOrder(
$requestID: ID!
$nextRequestID: ID
$collectionID: ID!
) {
updateLookUpRequestOrder(
requestID: $requestID
nextRequestID: $nextRequestID
collectionID: $collectionID
)
}

View File

@@ -0,0 +1,9 @@
query GetSingleCollection($collectionID: ID!) {
collection(collectionID: $collectionID) {
id
title
parent {
id
}
}
}

View File

@@ -0,0 +1,8 @@
query GetSingleRequest($requestID: ID!) {
request(requestID: $requestID) {
id
collectionID
title
request
}
}

View File

@@ -0,0 +1,9 @@
subscription TeamCollectionMoved($teamID: ID!) {
teamCollectionMoved(teamID: $teamID) {
id
title
parent {
id
}
}
}

View File

@@ -0,0 +1,18 @@
subscription TeamCollectionOrderUpdated($teamID: ID!) {
collectionOrderUpdated(teamID: $teamID) {
collection {
id
title
parent {
id
}
}
nextCollection {
id
title
parent {
id
}
}
}
}

View File

@@ -0,0 +1,8 @@
subscription TeamRequestMoved($teamID: ID!) {
requestMoved(teamID: $teamID) {
id
collectionID
request
title
}
}

View File

@@ -0,0 +1,16 @@
subscription TeamRequestOrderUpdated($teamID: ID!) {
requestOrderUpdated(teamID: $teamID) {
request {
id
collectionID
request
title
}
nextRequest {
id
collectionID
request
title
}
}
}

View File

@@ -12,16 +12,37 @@ import {
ImportFromJsonDocument,
ImportFromJsonMutation,
ImportFromJsonMutationVariables,
MoveRestTeamCollectionDocument,
MoveRestTeamCollectionMutation,
MoveRestTeamCollectionMutationVariables,
RenameCollectionDocument,
RenameCollectionMutation,
RenameCollectionMutationVariables,
UpdateCollectionOrderDocument,
UpdateCollectionOrderMutation,
UpdateCollectionOrderMutationVariables,
} from "../graphql"
type CreateNewRootCollectionError = "team_coll/short_title"
type CreateChildCollectionError = "team_coll/short_title"
type RenameCollectionError = "team_coll/short_title"
type DeleteCollectionError = "team/invalid_coll_id"
type MoveRestTeamCollectionError =
| "team/invalid_coll_id"
| "team_coll/invalid_target_id"
| "team/collection_is_parent_coll"
| "team/target_and_destination_collection_are_same"
| "team/target_collection_is_already_root_collection"
type UpdateCollectionOrderError =
| "team/invalid_coll_id"
| "team/collection_and_next_collection_are_same"
| "team/team_collections_have_different_parents"
export const createNewRootCollection = (title: string, teamID: string) =>
runMutation<
CreateNewRootCollectionMutation,
@@ -66,6 +87,33 @@ export const deleteCollection = (collectionID: string) =>
collectionID,
})
/** Can be used to move both collection and folder (considered same in BE) */
export const moveRESTTeamCollection = (
collectionID: string,
destinationCollectionID: string | null
) =>
runMutation<
MoveRestTeamCollectionMutation,
MoveRestTeamCollectionMutationVariables,
MoveRestTeamCollectionError
>(MoveRestTeamCollectionDocument, {
collectionID,
parentCollectionID: destinationCollectionID,
})
export const updateOrderRESTTeamCollection = (
collectionID: string,
destCollID: string
) =>
runMutation<
UpdateCollectionOrderMutation,
UpdateCollectionOrderMutationVariables,
UpdateCollectionOrderError
>(UpdateCollectionOrderDocument, {
collectionID,
destCollID,
})
export const importJSONToTeam = (collectionJSON: string, teamID: string) =>
runMutation<ImportFromJsonMutation, ImportFromJsonMutationVariables, "">(
ImportFromJsonDocument,

View File

@@ -9,16 +9,27 @@ import {
MoveRestTeamRequestDocument,
MoveRestTeamRequestMutation,
MoveRestTeamRequestMutationVariables,
UpdateLookUpRequestOrderDocument,
UpdateLookUpRequestOrderMutation,
UpdateLookUpRequestOrderMutationVariables,
UpdateRequestDocument,
UpdateRequestMutation,
UpdateRequestMutationVariables,
} from "../graphql"
type DeleteRequestErrors = "team_req/not_found"
type MoveRestTeamRequestErrors =
| "team_req/not_found"
| "team_req/invalid_target_id"
| "team/invalid_coll_id"
| "team_req/not_required_role"
| "bug/team_req/no_req_id"
type DeleteRequestErrors = "team_req/not_found"
type UpdateLookUpRequestOrderErrors =
| "team_req/not_found"
| "team/request_and_next_request_are_same"
| "team_req/requests_not_from_same_collection"
export const createRequestInCollection = (
collectionID: string,
@@ -61,12 +72,27 @@ export const deleteTeamRequest = (requestID: string) =>
requestID,
})
export const moveRESTTeamRequest = (requestID: string, collectionID: string) =>
export const moveRESTTeamRequest = (collectionID: string, requestID: string) =>
runMutation<
MoveRestTeamRequestMutation,
MoveRestTeamRequestMutationVariables,
MoveRestTeamRequestErrors
>(MoveRestTeamRequestDocument, {
collectionID,
requestID,
})
export const updateOrderRESTTeamRequest = (
requestID: string,
nextRequestID: string,
collectionID: string
) =>
runMutation<
UpdateLookUpRequestOrderMutation,
UpdateLookUpRequestOrderMutationVariables,
UpdateLookUpRequestOrderErrors
>(UpdateLookUpRequestOrderDocument, {
requestID,
nextRequestID,
collectionID,
})