Skip to content
Snippets Groups Projects
Unverified Commit 4772b5e2 authored by Nick Fitzpatrick's avatar Nick Fitzpatrick Committed by GitHub
Browse files

Adding snippets back into getCollection (#44097)


* adding snippets back into getCollection

* e2e test

---------

Co-authored-by: default avatarSloan Sparger <sloansparger@gmail.com>
parent 04a08d33
Branches
Tags
No related merge requests found
Showing
with 40 additions and 24 deletions
......@@ -274,17 +274,21 @@ describeEE("scenarios > question > snippets (EE)", () => {
cy.findByText("snippet 1");
});
it("should display nested snippets in their folder", () => {
createNestedSnippet();
["admin", "nocollection"].map(user => {
it("should display nested snippets in their folder", () => {
createNestedSnippet();
// Open editor and sidebar
openNativeEditor();
cy.icon("snippet").click();
cy.signIn(user);
// Confirm snippet is in folder
rightSidebar().within(() => {
cy.findByText("Snippet Folder").click();
cy.findByText("snippet 1").click();
// Open editor and sidebar
openNativeEditor();
cy.icon("snippet").click();
// Confirm snippet is in folder
rightSidebar().within(() => {
cy.findByText("Snippet Folder").click();
cy.findByText("snippet 1").click();
});
});
});
......
......@@ -137,6 +137,11 @@ export interface CollectionListQuery {
tree?: boolean;
}
export type getCollectionRequest = {
id: CollectionId;
namespace?: "snippets";
};
export type ListCollectionItemsRequest = {
id: CollectionId;
models?: CollectionItemModel[];
......
......@@ -6,8 +6,8 @@ import type {
CreateCollectionRequest,
ListCollectionsRequest,
ListCollectionsTreeRequest,
CollectionId,
DeleteCollectionRequest,
getCollectionRequest,
} from "metabase-types/api";
import { Api } from "./api";
......@@ -55,11 +55,14 @@ export const collectionApi = Api.injectEndpoints({
providesTags: (response, error, { models }) =>
provideCollectionItemListTags(response?.data ?? [], models),
}),
getCollection: builder.query<Collection, CollectionId>({
query: id => ({
method: "GET",
url: `/api/collection/${id}`,
}),
getCollection: builder.query<Collection, getCollectionRequest>({
query: ({ id, ...body }) => {
return {
method: "GET",
url: `/api/collection/${id}`,
body,
};
},
providesTags: collection =>
collection ? provideCollectionTags(collection) : [],
}),
......
......@@ -23,7 +23,7 @@ const CollectionLanding = ({
children,
}: CollectionLandingProps) => {
const dispatch = useDispatch();
const { data: trashCollection } = useGetCollectionQuery("trash");
const { data: trashCollection } = useGetCollectionQuery({ id: "trash" });
const collectionId = extractCollectionId(slug);
......
......@@ -4,7 +4,7 @@ import LoadingAndErrorWrapper from "metabase/components/LoadingAndErrorWrapper";
import { CollectionContent } from "../CollectionContent";
export const TrashCollectionLanding = () => {
const { data, isLoading, error } = useGetCollectionQuery("trash");
const { data, isLoading, error } = useGetCollectionQuery({ id: "trash" });
return (
<LoadingAndErrorWrapper loading={isLoading} error={error} noWrapper>
......
......@@ -44,7 +44,7 @@ export const RootItemList = ({
const { data: personalCollection, isLoading: isLoadingPersonalCollecton } =
useGetCollectionQuery(
currentUser?.personal_collection_id
? currentUser?.personal_collection_id
? { id: currentUser.personal_collection_id }
: skipToken,
);
......@@ -64,7 +64,7 @@ export const RootItemList = ({
data: rootCollection,
isLoading: isLoadingRootCollecton,
error: rootCollectionError,
} = useGetCollectionQuery("root");
} = useGetCollectionQuery({ id: "root" });
const data = useMemo(() => {
const collectionsData: CollectionPickerItem[] = [];
......
......@@ -67,7 +67,9 @@ const useGetInitialCollection = (
const { data: currentCollection, error: collectionError } =
useGetCollectionQuery(
!isDashboard || !!currentDashboard ? requestCollectionId : skipToken,
!isDashboard || !!currentDashboard
? { id: requestCollectionId }
: skipToken,
);
return {
......
......@@ -57,7 +57,7 @@ const useGetInitialCollection = (
: undefined;
const { data: currentCollection, isLoading: isCollectionLoading } =
useGetCollectionQuery(collectionId ? collectionId : skipToken);
useGetCollectionQuery(collectionId ? { id: collectionId } : skipToken);
const { data: currentQuestion, isLoading: isQuestionLoading } =
useGetCardQuery(cardId ? { id: cardId } : skipToken);
......@@ -66,7 +66,9 @@ const useGetInitialCollection = (
data: currentQuestionCollection,
isLoading: isCurrentQuestionCollectionLoading,
} = useGetCollectionQuery(
currentQuestion ? currentQuestion.collection_id ?? "root" : skipToken,
currentQuestion
? { id: currentQuestion.collection_id ?? "root" }
: skipToken,
);
return {
......
......@@ -76,7 +76,7 @@ const Collections = createEntity({
},
get: (entityQuery: { id: number }, options: unknown, dispatch: Dispatch) =>
entityCompatibleQuery(
entityQuery.id,
entityQuery,
dispatch,
collectionApi.endpoints.getCollection,
),
......
......@@ -94,7 +94,7 @@ function MainNavbarContainer({
data: trashCollection,
isLoading,
error,
} = useGetCollectionQuery("trash");
} = useGetCollectionQuery({ id: "trash" });
const collectionTree = useMemo<CollectionTreeItem[]>(() => {
const preparedCollections = [];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment