From 470b216bcb0c43f6aa9a62dcd9806dea7e4e602b Mon Sep 17 00:00:00 2001 From: Steve Rydz Date: Fri, 17 Jan 2025 13:24:47 +0000 Subject: [PATCH] chore: Move brand store components into publisher --- static/js/brand-store/hooks/index.ts | 131 ------------------ static/js/brand-store/utils/index.ts | 17 --- .../brand-store.tsx | 0 .../AppPagination/AppPagination.tsx | 0 .../components/AppPagination/index.ts | 0 .../components/Filter/Filter.tsx | 0 .../Filter/__tests__/Filter.test.tsx | 0 .../components/Filter/index.ts | 0 .../components/Navigation/Logo.tsx | 0 .../components/Navigation/Navigation.tsx | 0 .../components/Navigation/index.ts | 0 .../components/PrimaryNav/PrimaryNav.tsx | 2 +- .../hooks/__tests__/useBrand.test.ts | 0 .../hooks/__tests__/useModels.test.ts | 0 .../hooks/__tests__/usePolicies.test.ts | 0 .../hooks/__tests__/usePublisher.test.ts | 0 .../hooks/__tests__/useSigningKeys.test.ts | 0 static/js/publisher/hooks/index.ts | 18 +++ static/js/publisher/hooks/useBrand.ts | 24 ++++ .../hooks/useBrandStores.ts | 0 .../hooks/useInvites.ts | 0 .../hooks/useMembers.ts | 0 static/js/publisher/hooks/useModels.ts | 28 ++++ static/js/publisher/hooks/usePolicies.ts | 31 +++++ static/js/publisher/hooks/usePublisher.ts | 19 +++ static/js/publisher/hooks/useSigningKeys.ts | 27 ++++ .../hooks/useSnaps.ts | 0 .../pages/AccountDetails/AccountDetails.tsx | 0 .../__tests__/AccountDetails.test.tsx | 0 .../pages/AccountDetails/index.ts | 0 .../BrandStoreSettings/BrandStoreSettings.tsx | 0 .../pages/BrandStoreSettings/index.ts | 0 .../pages/Members/InviteModal.tsx | 0 .../pages/Members/InvitesTable.tsx | 0 .../pages/Members/Members.tsx | 0 .../pages/Members/MembersTable.tsx | 0 .../Members/__tests__/InviteModal.test.tsx | 0 .../pages/Members/index.ts | 0 .../pages/Members/memberRoles.ts | 0 .../pages/Model/CreatePolicyForm.tsx | 0 .../pages/Model/Model.tsx | 0 .../pages/Model/ModelBreadcrumb.tsx | 0 .../pages/Model/ModelNav.tsx | 0 .../pages/Model/Policies.tsx | 8 +- .../pages/Model/PoliciesTable.tsx | 3 +- .../Model/__tests__/CreatePolicyForm.test.tsx | 0 .../pages/Model/__tests__/Model.test.tsx | 0 .../pages/Model/__tests__/ModelNav.test.tsx | 0 .../pages/Model/__tests__/Policies.test.tsx | 0 .../Model/__tests__/PoliciesTable.test.tsx | 0 .../pages/Model/index.ts | 0 .../pages/Models/CreateModelForm.tsx | 0 .../pages/Models/Models.tsx | 0 .../pages/Models/ModelsTable.tsx | 0 .../Models/__tests__/CreateModelForm.test.tsx | 0 .../pages/Models/__tests__/Models.test.tsx | 0 .../Models/__tests__/ModelsTable.test.tsx | 0 .../pages/Models/index.ts | 0 .../pages/Publisher/Publisher.tsx | 0 .../Publisher/__tests__/Publisher.test.tsx | 0 .../pages/Publisher/index.ts | 0 .../pages/Reviewer/Reviewer.tsx | 0 .../Reviewer/__tests__/Reviewer.test.tsx | 0 .../pages/Reviewer/index.ts | 0 .../ReviewerAndPublisher.tsx | 0 .../__tests__/ReviewerAndPubliser.test.tsx | 0 .../pages/ReviewerAndPublisher/index.ts | 0 .../SigningKeys/CreateSigningKeyForm.tsx | 0 .../SigningKeys/DeactivateSigningKeyModal.tsx | 0 .../pages/SigningKeys/SigningKeys.tsx | 0 .../pages/SigningKeys/SigningKeysTable.tsx | 0 .../pages/SigningKeys/index.ts | 0 .../pages/Snaps/IncludedSnapsTable.tsx | 0 .../pages/Snaps/PublishedSnapsTable.tsx | 0 .../pages/Snaps/Snaps.tsx | 0 .../pages/Snaps/SnapsFilter.tsx | 0 .../pages/Snaps/SnapsSearch.tsx | 0 .../pages/Snaps/index.ts | 0 .../pages/StoreNotFound/StoreNotFound.tsx | 0 .../__tests__/StoreNotFound.test.tsx | 0 .../pages/StoreNotFound/index.ts | 0 .../routes/brand-store-root.tsx | 0 .../state/brandStoreState.ts | 0 .../state/modelsState.ts | 0 .../state/policiesState.ts | 0 .../state/publisherState.ts | 0 .../state/signingKeysState.ts | 0 .../types/global.d.ts | 0 static/js/publisher/types/interfaces.ts | 13 ++ .../types/shared.ts | 0 .../__tests__}/checkModelNameExists.test.ts | 2 +- .../__tests__}/checkSigningKeyExists.test.ts | 2 +- .../utils/__tests__}/isClosedPanel.test.ts | 2 +- .../utils/__tests__}/maskString.test.ts | 2 +- .../__tests__}/sortByDateDescending.test.ts | 2 +- .../utils/checkModelNameExists.ts | 0 .../utils/checkSigningKeyExists.ts | 0 .../utils/getPolicies.ts | 0 static/js/publisher/utils/index.ts | 14 ++ .../utils/isClosedPanel.ts | 0 .../utils/maskString.ts | 0 .../utils/setPageTitle.ts | 0 .../utils/sortByDateDescending.ts | 0 webpack.config.entry.js | 2 +- 104 files changed, 185 insertions(+), 162 deletions(-) delete mode 100644 static/js/brand-store/hooks/index.ts delete mode 100644 static/js/brand-store/utils/index.ts rename static/js/{brand-store => publisher}/brand-store.tsx (100%) rename static/js/{brand-store => publisher}/components/AppPagination/AppPagination.tsx (100%) rename static/js/{brand-store => publisher}/components/AppPagination/index.ts (100%) rename static/js/{brand-store => publisher}/components/Filter/Filter.tsx (100%) rename static/js/{brand-store => publisher}/components/Filter/__tests__/Filter.test.tsx (100%) rename static/js/{brand-store => publisher}/components/Filter/index.ts (100%) rename static/js/{brand-store => publisher}/components/Navigation/Logo.tsx (100%) rename static/js/{brand-store => publisher}/components/Navigation/Navigation.tsx (100%) rename static/js/{brand-store => publisher}/components/Navigation/index.ts (100%) rename static/js/{brand-store => publisher}/hooks/__tests__/useBrand.test.ts (100%) rename static/js/{brand-store => publisher}/hooks/__tests__/useModels.test.ts (100%) rename static/js/{brand-store => publisher}/hooks/__tests__/usePolicies.test.ts (100%) rename static/js/{brand-store => publisher}/hooks/__tests__/usePublisher.test.ts (100%) rename static/js/{brand-store => publisher}/hooks/__tests__/useSigningKeys.test.ts (100%) create mode 100644 static/js/publisher/hooks/useBrand.ts rename static/js/{brand-store => publisher}/hooks/useBrandStores.ts (100%) rename static/js/{brand-store => publisher}/hooks/useInvites.ts (100%) rename static/js/{brand-store => publisher}/hooks/useMembers.ts (100%) create mode 100644 static/js/publisher/hooks/useModels.ts create mode 100644 static/js/publisher/hooks/usePolicies.ts create mode 100644 static/js/publisher/hooks/usePublisher.ts create mode 100644 static/js/publisher/hooks/useSigningKeys.ts rename static/js/{brand-store => publisher}/hooks/useSnaps.ts (100%) rename static/js/{brand-store => publisher}/pages/AccountDetails/AccountDetails.tsx (100%) rename static/js/{brand-store => publisher}/pages/AccountDetails/__tests__/AccountDetails.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/AccountDetails/index.ts (100%) rename static/js/{brand-store => publisher}/pages/BrandStoreSettings/BrandStoreSettings.tsx (100%) rename static/js/{brand-store => publisher}/pages/BrandStoreSettings/index.ts (100%) rename static/js/{brand-store => publisher}/pages/Members/InviteModal.tsx (100%) rename static/js/{brand-store => publisher}/pages/Members/InvitesTable.tsx (100%) rename static/js/{brand-store => publisher}/pages/Members/Members.tsx (100%) rename static/js/{brand-store => publisher}/pages/Members/MembersTable.tsx (100%) rename static/js/{brand-store => publisher}/pages/Members/__tests__/InviteModal.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/Members/index.ts (100%) rename static/js/{brand-store => publisher}/pages/Members/memberRoles.ts (100%) rename static/js/{brand-store => publisher}/pages/Model/CreatePolicyForm.tsx (100%) rename static/js/{brand-store => publisher}/pages/Model/Model.tsx (100%) rename static/js/{brand-store => publisher}/pages/Model/ModelBreadcrumb.tsx (100%) rename static/js/{brand-store => publisher}/pages/Model/ModelNav.tsx (100%) rename static/js/{brand-store => publisher}/pages/Model/Policies.tsx (98%) rename static/js/{brand-store => publisher}/pages/Model/PoliciesTable.tsx (98%) rename static/js/{brand-store => publisher}/pages/Model/__tests__/CreatePolicyForm.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/Model/__tests__/Model.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/Model/__tests__/ModelNav.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/Model/__tests__/Policies.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/Model/__tests__/PoliciesTable.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/Model/index.ts (100%) rename static/js/{brand-store => publisher}/pages/Models/CreateModelForm.tsx (100%) rename static/js/{brand-store => publisher}/pages/Models/Models.tsx (100%) rename static/js/{brand-store => publisher}/pages/Models/ModelsTable.tsx (100%) rename static/js/{brand-store => publisher}/pages/Models/__tests__/CreateModelForm.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/Models/__tests__/Models.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/Models/__tests__/ModelsTable.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/Models/index.ts (100%) rename static/js/{brand-store => publisher}/pages/Publisher/Publisher.tsx (100%) rename static/js/{brand-store => publisher}/pages/Publisher/__tests__/Publisher.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/Publisher/index.ts (100%) rename static/js/{brand-store => publisher}/pages/Reviewer/Reviewer.tsx (100%) rename static/js/{brand-store => publisher}/pages/Reviewer/__tests__/Reviewer.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/Reviewer/index.ts (100%) rename static/js/{brand-store => publisher}/pages/ReviewerAndPublisher/ReviewerAndPublisher.tsx (100%) rename static/js/{brand-store => publisher}/pages/ReviewerAndPublisher/__tests__/ReviewerAndPubliser.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/ReviewerAndPublisher/index.ts (100%) rename static/js/{brand-store => publisher}/pages/SigningKeys/CreateSigningKeyForm.tsx (100%) rename static/js/{brand-store => publisher}/pages/SigningKeys/DeactivateSigningKeyModal.tsx (100%) rename static/js/{brand-store => publisher}/pages/SigningKeys/SigningKeys.tsx (100%) rename static/js/{brand-store => publisher}/pages/SigningKeys/SigningKeysTable.tsx (100%) rename static/js/{brand-store => publisher}/pages/SigningKeys/index.ts (100%) rename static/js/{brand-store => publisher}/pages/Snaps/IncludedSnapsTable.tsx (100%) rename static/js/{brand-store => publisher}/pages/Snaps/PublishedSnapsTable.tsx (100%) rename static/js/{brand-store => publisher}/pages/Snaps/Snaps.tsx (100%) rename static/js/{brand-store => publisher}/pages/Snaps/SnapsFilter.tsx (100%) rename static/js/{brand-store => publisher}/pages/Snaps/SnapsSearch.tsx (100%) rename static/js/{brand-store => publisher}/pages/Snaps/index.ts (100%) rename static/js/{brand-store => publisher}/pages/StoreNotFound/StoreNotFound.tsx (100%) rename static/js/{brand-store => publisher}/pages/StoreNotFound/__tests__/StoreNotFound.test.tsx (100%) rename static/js/{brand-store => publisher}/pages/StoreNotFound/index.ts (100%) rename static/js/{brand-store => publisher}/routes/brand-store-root.tsx (100%) rename static/js/{brand-store => publisher}/state/brandStoreState.ts (100%) rename static/js/{brand-store => publisher}/state/modelsState.ts (100%) rename static/js/{brand-store => publisher}/state/policiesState.ts (100%) rename static/js/{brand-store => publisher}/state/publisherState.ts (100%) rename static/js/{brand-store => publisher}/state/signingKeysState.ts (100%) rename static/js/{brand-store => publisher}/types/global.d.ts (100%) create mode 100644 static/js/publisher/types/interfaces.ts rename static/js/{brand-store => publisher}/types/shared.ts (100%) rename static/js/{brand-store/utils => publisher/utils/__tests__}/checkModelNameExists.test.ts (96%) rename static/js/{brand-store/utils => publisher/utils/__tests__}/checkSigningKeyExists.test.ts (95%) rename static/js/{brand-store/utils => publisher/utils/__tests__}/isClosedPanel.test.ts (87%) rename static/js/{brand-store/utils => publisher/utils/__tests__}/maskString.test.ts (96%) rename static/js/{brand-store/utils => publisher/utils/__tests__}/sortByDateDescending.test.ts (90%) rename static/js/{brand-store => publisher}/utils/checkModelNameExists.ts (100%) rename static/js/{brand-store => publisher}/utils/checkSigningKeyExists.ts (100%) rename static/js/{brand-store => publisher}/utils/getPolicies.ts (100%) rename static/js/{brand-store => publisher}/utils/isClosedPanel.ts (100%) rename static/js/{brand-store => publisher}/utils/maskString.ts (100%) rename static/js/{brand-store => publisher}/utils/setPageTitle.ts (100%) rename static/js/{brand-store => publisher}/utils/sortByDateDescending.ts (100%) diff --git a/static/js/brand-store/hooks/index.ts b/static/js/brand-store/hooks/index.ts deleted file mode 100644 index 764bd0f2dc..0000000000 --- a/static/js/brand-store/hooks/index.ts +++ /dev/null @@ -1,131 +0,0 @@ -import { useQuery, UseQueryResult } from "react-query"; -import type { Model as ModelType, SigningKey, Policy } from "../types/shared"; - -import useBrandStores from "./useBrandStores"; -import useSnaps from "./useSnaps"; -import useMembers from "./useMembers"; -import useInvites from "./useInvites"; - -export interface ApiError { - message: string; -} - -export interface UsePoliciesResponse { - isLoading: boolean; - isError: boolean; - error: unknown; - refetch: () => void; - data: Policy[] | undefined; -} - -export function usePolicies( - brandId: string | undefined, - modelId: string | undefined, -): UsePoliciesResponse { - return useQuery({ - queryKey: ["policies", brandId], - queryFn: async () => { - const response = await fetch( - `/api/store/${brandId}/models/${modelId}/policies`, - ); - - if (!response.ok) { - throw new Error("There was a problem fetching policies"); - } - - const policiesData = await response.json(); - - if (!policiesData.success) { - throw new Error(policiesData.message); - } - - return policiesData.data; - }, - }); -} - -export const useSigningKeys = ( - brandId: string | undefined, -): UseQueryResult => { - return useQuery({ - queryKey: ["signingKeys", brandId], - queryFn: async () => { - const response = await fetch(`/api/store/${brandId}/signing-keys`); - - if (!response.ok) { - throw new Error("There was a problem fetching signing keys"); - } - - const signingKeysData = await response.json(); - - if (!signingKeysData.success) { - throw new Error(signingKeysData.message); - } - - return signingKeysData.data; - }, - }); -}; - -export function useBrand(id: string | undefined) { - return useQuery({ - queryKey: ["brand", id], - queryFn: async () => { - const response = await fetch(`/api/store/${id}/brand`); - - if (!response.ok) { - throw new Error("There was a problem fetching models"); - } - - const brandData = await response.json(); - - if (!brandData.success) { - throw new Error(brandData.message); - } - - return brandData.data; - }, - }); -} - -export const useModels = ( - brandId: string | undefined, -): UseQueryResult => { - return useQuery({ - queryKey: ["models", brandId], - queryFn: async () => { - const response = await fetch(`/api/store/${brandId}/models`); - - if (!response.ok) { - throw new Error("There was a problem fetching models"); - } - - const modelsData = await response.json(); - - if (!modelsData.success) { - throw new Error(modelsData.message); - } - - return modelsData.data; - }, - enabled: !!brandId, - }); -}; - -export function usePublisher() { - return useQuery("publisher", async () => { - const response = await fetch("/account.json"); - - if (!response.ok) { - return { - publisher: null, - }; - } - - const publisherData = await response.json(); - - return publisherData; - }); -} - -export { useBrandStores, useSnaps, useMembers, useInvites }; diff --git a/static/js/brand-store/utils/index.ts b/static/js/brand-store/utils/index.ts deleted file mode 100644 index afdd022068..0000000000 --- a/static/js/brand-store/utils/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import checkModelNameExists from "./checkModelNameExists"; -import isClosedPanel from "./isClosedPanel"; -import maskString from "./maskString"; -import setPageTitle from "./setPageTitle"; -import checkSigningKeyExists from "./checkSigningKeyExists"; -import sortByDateDescending from "./sortByDateDescending"; -import getPolicies from "./getPolicies"; - -export { - checkModelNameExists, - isClosedPanel, - maskString, - setPageTitle, - checkSigningKeyExists, - sortByDateDescending, - getPolicies, -}; diff --git a/static/js/brand-store/brand-store.tsx b/static/js/publisher/brand-store.tsx similarity index 100% rename from static/js/brand-store/brand-store.tsx rename to static/js/publisher/brand-store.tsx diff --git a/static/js/brand-store/components/AppPagination/AppPagination.tsx b/static/js/publisher/components/AppPagination/AppPagination.tsx similarity index 100% rename from static/js/brand-store/components/AppPagination/AppPagination.tsx rename to static/js/publisher/components/AppPagination/AppPagination.tsx diff --git a/static/js/brand-store/components/AppPagination/index.ts b/static/js/publisher/components/AppPagination/index.ts similarity index 100% rename from static/js/brand-store/components/AppPagination/index.ts rename to static/js/publisher/components/AppPagination/index.ts diff --git a/static/js/brand-store/components/Filter/Filter.tsx b/static/js/publisher/components/Filter/Filter.tsx similarity index 100% rename from static/js/brand-store/components/Filter/Filter.tsx rename to static/js/publisher/components/Filter/Filter.tsx diff --git a/static/js/brand-store/components/Filter/__tests__/Filter.test.tsx b/static/js/publisher/components/Filter/__tests__/Filter.test.tsx similarity index 100% rename from static/js/brand-store/components/Filter/__tests__/Filter.test.tsx rename to static/js/publisher/components/Filter/__tests__/Filter.test.tsx diff --git a/static/js/brand-store/components/Filter/index.ts b/static/js/publisher/components/Filter/index.ts similarity index 100% rename from static/js/brand-store/components/Filter/index.ts rename to static/js/publisher/components/Filter/index.ts diff --git a/static/js/brand-store/components/Navigation/Logo.tsx b/static/js/publisher/components/Navigation/Logo.tsx similarity index 100% rename from static/js/brand-store/components/Navigation/Logo.tsx rename to static/js/publisher/components/Navigation/Logo.tsx diff --git a/static/js/brand-store/components/Navigation/Navigation.tsx b/static/js/publisher/components/Navigation/Navigation.tsx similarity index 100% rename from static/js/brand-store/components/Navigation/Navigation.tsx rename to static/js/publisher/components/Navigation/Navigation.tsx diff --git a/static/js/brand-store/components/Navigation/index.ts b/static/js/publisher/components/Navigation/index.ts similarity index 100% rename from static/js/brand-store/components/Navigation/index.ts rename to static/js/publisher/components/Navigation/index.ts diff --git a/static/js/publisher/components/PrimaryNav/PrimaryNav.tsx b/static/js/publisher/components/PrimaryNav/PrimaryNav.tsx index 6ef3ee7242..fd9469fae5 100644 --- a/static/js/publisher/components/PrimaryNav/PrimaryNav.tsx +++ b/static/js/publisher/components/PrimaryNav/PrimaryNav.tsx @@ -4,7 +4,7 @@ import { SideNavigationText, } from "@canonical/react-components"; -import { usePublisher } from "../../../brand-store/hooks"; +import { usePublisher } from "../../hooks"; function PrimaryNav({ collapseNavigation, diff --git a/static/js/brand-store/hooks/__tests__/useBrand.test.ts b/static/js/publisher/hooks/__tests__/useBrand.test.ts similarity index 100% rename from static/js/brand-store/hooks/__tests__/useBrand.test.ts rename to static/js/publisher/hooks/__tests__/useBrand.test.ts diff --git a/static/js/brand-store/hooks/__tests__/useModels.test.ts b/static/js/publisher/hooks/__tests__/useModels.test.ts similarity index 100% rename from static/js/brand-store/hooks/__tests__/useModels.test.ts rename to static/js/publisher/hooks/__tests__/useModels.test.ts diff --git a/static/js/brand-store/hooks/__tests__/usePolicies.test.ts b/static/js/publisher/hooks/__tests__/usePolicies.test.ts similarity index 100% rename from static/js/brand-store/hooks/__tests__/usePolicies.test.ts rename to static/js/publisher/hooks/__tests__/usePolicies.test.ts diff --git a/static/js/brand-store/hooks/__tests__/usePublisher.test.ts b/static/js/publisher/hooks/__tests__/usePublisher.test.ts similarity index 100% rename from static/js/brand-store/hooks/__tests__/usePublisher.test.ts rename to static/js/publisher/hooks/__tests__/usePublisher.test.ts diff --git a/static/js/brand-store/hooks/__tests__/useSigningKeys.test.ts b/static/js/publisher/hooks/__tests__/useSigningKeys.test.ts similarity index 100% rename from static/js/brand-store/hooks/__tests__/useSigningKeys.test.ts rename to static/js/publisher/hooks/__tests__/useSigningKeys.test.ts diff --git a/static/js/publisher/hooks/index.ts b/static/js/publisher/hooks/index.ts index 6bac724388..f1f8284801 100644 --- a/static/js/publisher/hooks/index.ts +++ b/static/js/publisher/hooks/index.ts @@ -2,10 +2,28 @@ import useValidationSets from "./useValidationSets"; import useValidationSet from "./useValidationSet"; import useMutateListingData from "./useMutateListingData"; import useVerified from "./useVerified"; +import useBrandStores from "./useBrandStores"; +import useSnaps from "./useSnaps"; +import useMembers from "./useMembers"; +import useInvites from "./useInvites"; +import useSigningKeys from "./useSigningKeys"; +import useModels from "./useModels"; +import useBrand from "./useBrand"; +import usePolicies from "./usePolicies"; +import usePublisher from "./usePublisher"; export { useValidationSets, useValidationSet, useMutateListingData, useVerified, + useBrandStores, + useSnaps, + useMembers, + useInvites, + useSigningKeys, + useModels, + useBrand, + usePolicies, + usePublisher, }; diff --git a/static/js/publisher/hooks/useBrand.ts b/static/js/publisher/hooks/useBrand.ts new file mode 100644 index 0000000000..6d248b3419 --- /dev/null +++ b/static/js/publisher/hooks/useBrand.ts @@ -0,0 +1,24 @@ +import { useQuery } from "react-query"; + +function useBrand(id: string | undefined) { + return useQuery({ + queryKey: ["brand", id], + queryFn: async () => { + const response = await fetch(`/api/store/${id}/brand`); + + if (!response.ok) { + throw new Error("There was a problem fetching models"); + } + + const brandData = await response.json(); + + if (!brandData.success) { + throw new Error(brandData.message); + } + + return brandData.data; + }, + }); +} + +export default useBrand; diff --git a/static/js/brand-store/hooks/useBrandStores.ts b/static/js/publisher/hooks/useBrandStores.ts similarity index 100% rename from static/js/brand-store/hooks/useBrandStores.ts rename to static/js/publisher/hooks/useBrandStores.ts diff --git a/static/js/brand-store/hooks/useInvites.ts b/static/js/publisher/hooks/useInvites.ts similarity index 100% rename from static/js/brand-store/hooks/useInvites.ts rename to static/js/publisher/hooks/useInvites.ts diff --git a/static/js/brand-store/hooks/useMembers.ts b/static/js/publisher/hooks/useMembers.ts similarity index 100% rename from static/js/brand-store/hooks/useMembers.ts rename to static/js/publisher/hooks/useMembers.ts diff --git a/static/js/publisher/hooks/useModels.ts b/static/js/publisher/hooks/useModels.ts new file mode 100644 index 0000000000..8ef2578830 --- /dev/null +++ b/static/js/publisher/hooks/useModels.ts @@ -0,0 +1,28 @@ +import { useQuery, UseQueryResult } from "react-query"; +import type { Model as ModelType } from "../types/shared"; + +const useModels = ( + brandId: string | undefined, +): UseQueryResult => { + return useQuery({ + queryKey: ["models", brandId], + queryFn: async () => { + const response = await fetch(`/api/store/${brandId}/models`); + + if (!response.ok) { + throw new Error("There was a problem fetching models"); + } + + const modelsData = await response.json(); + + if (!modelsData.success) { + throw new Error(modelsData.message); + } + + return modelsData.data; + }, + enabled: !!brandId, + }); +}; + +export default useModels; diff --git a/static/js/publisher/hooks/usePolicies.ts b/static/js/publisher/hooks/usePolicies.ts new file mode 100644 index 0000000000..411adeab7b --- /dev/null +++ b/static/js/publisher/hooks/usePolicies.ts @@ -0,0 +1,31 @@ +import { useQuery } from "react-query"; +import type { Policy } from "../types/shared"; +import { UsePoliciesResponse, ApiError } from "../types/interfaces"; + +function usePolicies( + brandId: string | undefined, + modelId: string | undefined, +): UsePoliciesResponse { + return useQuery({ + queryKey: ["policies", brandId], + queryFn: async () => { + const response = await fetch( + `/api/store/${brandId}/models/${modelId}/policies`, + ); + + if (!response.ok) { + throw new Error("There was a problem fetching policies"); + } + + const policiesData = await response.json(); + + if (!policiesData.success) { + throw new Error(policiesData.message); + } + + return policiesData.data; + }, + }); +} + +export default usePolicies; diff --git a/static/js/publisher/hooks/usePublisher.ts b/static/js/publisher/hooks/usePublisher.ts new file mode 100644 index 0000000000..b0f2c505e3 --- /dev/null +++ b/static/js/publisher/hooks/usePublisher.ts @@ -0,0 +1,19 @@ +import { useQuery } from "react-query"; + +function usePublisher() { + return useQuery("publisher", async () => { + const response = await fetch("/account.json"); + + if (!response.ok) { + return { + publisher: null, + }; + } + + const publisherData = await response.json(); + + return publisherData; + }); +} + +export default usePublisher; diff --git a/static/js/publisher/hooks/useSigningKeys.ts b/static/js/publisher/hooks/useSigningKeys.ts new file mode 100644 index 0000000000..79a3a59f71 --- /dev/null +++ b/static/js/publisher/hooks/useSigningKeys.ts @@ -0,0 +1,27 @@ +import { useQuery, UseQueryResult } from "react-query"; +import type { SigningKey } from "../types/shared"; + +const useSigningKeys = ( + brandId: string | undefined, +): UseQueryResult => { + return useQuery({ + queryKey: ["signingKeys", brandId], + queryFn: async () => { + const response = await fetch(`/api/store/${brandId}/signing-keys`); + + if (!response.ok) { + throw new Error("There was a problem fetching signing keys"); + } + + const signingKeysData = await response.json(); + + if (!signingKeysData.success) { + throw new Error(signingKeysData.message); + } + + return signingKeysData.data; + }, + }); +}; + +export default useSigningKeys; diff --git a/static/js/brand-store/hooks/useSnaps.ts b/static/js/publisher/hooks/useSnaps.ts similarity index 100% rename from static/js/brand-store/hooks/useSnaps.ts rename to static/js/publisher/hooks/useSnaps.ts diff --git a/static/js/brand-store/pages/AccountDetails/AccountDetails.tsx b/static/js/publisher/pages/AccountDetails/AccountDetails.tsx similarity index 100% rename from static/js/brand-store/pages/AccountDetails/AccountDetails.tsx rename to static/js/publisher/pages/AccountDetails/AccountDetails.tsx diff --git a/static/js/brand-store/pages/AccountDetails/__tests__/AccountDetails.test.tsx b/static/js/publisher/pages/AccountDetails/__tests__/AccountDetails.test.tsx similarity index 100% rename from static/js/brand-store/pages/AccountDetails/__tests__/AccountDetails.test.tsx rename to static/js/publisher/pages/AccountDetails/__tests__/AccountDetails.test.tsx diff --git a/static/js/brand-store/pages/AccountDetails/index.ts b/static/js/publisher/pages/AccountDetails/index.ts similarity index 100% rename from static/js/brand-store/pages/AccountDetails/index.ts rename to static/js/publisher/pages/AccountDetails/index.ts diff --git a/static/js/brand-store/pages/BrandStoreSettings/BrandStoreSettings.tsx b/static/js/publisher/pages/BrandStoreSettings/BrandStoreSettings.tsx similarity index 100% rename from static/js/brand-store/pages/BrandStoreSettings/BrandStoreSettings.tsx rename to static/js/publisher/pages/BrandStoreSettings/BrandStoreSettings.tsx diff --git a/static/js/brand-store/pages/BrandStoreSettings/index.ts b/static/js/publisher/pages/BrandStoreSettings/index.ts similarity index 100% rename from static/js/brand-store/pages/BrandStoreSettings/index.ts rename to static/js/publisher/pages/BrandStoreSettings/index.ts diff --git a/static/js/brand-store/pages/Members/InviteModal.tsx b/static/js/publisher/pages/Members/InviteModal.tsx similarity index 100% rename from static/js/brand-store/pages/Members/InviteModal.tsx rename to static/js/publisher/pages/Members/InviteModal.tsx diff --git a/static/js/brand-store/pages/Members/InvitesTable.tsx b/static/js/publisher/pages/Members/InvitesTable.tsx similarity index 100% rename from static/js/brand-store/pages/Members/InvitesTable.tsx rename to static/js/publisher/pages/Members/InvitesTable.tsx diff --git a/static/js/brand-store/pages/Members/Members.tsx b/static/js/publisher/pages/Members/Members.tsx similarity index 100% rename from static/js/brand-store/pages/Members/Members.tsx rename to static/js/publisher/pages/Members/Members.tsx diff --git a/static/js/brand-store/pages/Members/MembersTable.tsx b/static/js/publisher/pages/Members/MembersTable.tsx similarity index 100% rename from static/js/brand-store/pages/Members/MembersTable.tsx rename to static/js/publisher/pages/Members/MembersTable.tsx diff --git a/static/js/brand-store/pages/Members/__tests__/InviteModal.test.tsx b/static/js/publisher/pages/Members/__tests__/InviteModal.test.tsx similarity index 100% rename from static/js/brand-store/pages/Members/__tests__/InviteModal.test.tsx rename to static/js/publisher/pages/Members/__tests__/InviteModal.test.tsx diff --git a/static/js/brand-store/pages/Members/index.ts b/static/js/publisher/pages/Members/index.ts similarity index 100% rename from static/js/brand-store/pages/Members/index.ts rename to static/js/publisher/pages/Members/index.ts diff --git a/static/js/brand-store/pages/Members/memberRoles.ts b/static/js/publisher/pages/Members/memberRoles.ts similarity index 100% rename from static/js/brand-store/pages/Members/memberRoles.ts rename to static/js/publisher/pages/Members/memberRoles.ts diff --git a/static/js/brand-store/pages/Model/CreatePolicyForm.tsx b/static/js/publisher/pages/Model/CreatePolicyForm.tsx similarity index 100% rename from static/js/brand-store/pages/Model/CreatePolicyForm.tsx rename to static/js/publisher/pages/Model/CreatePolicyForm.tsx diff --git a/static/js/brand-store/pages/Model/Model.tsx b/static/js/publisher/pages/Model/Model.tsx similarity index 100% rename from static/js/brand-store/pages/Model/Model.tsx rename to static/js/publisher/pages/Model/Model.tsx diff --git a/static/js/brand-store/pages/Model/ModelBreadcrumb.tsx b/static/js/publisher/pages/Model/ModelBreadcrumb.tsx similarity index 100% rename from static/js/brand-store/pages/Model/ModelBreadcrumb.tsx rename to static/js/publisher/pages/Model/ModelBreadcrumb.tsx diff --git a/static/js/brand-store/pages/Model/ModelNav.tsx b/static/js/publisher/pages/Model/ModelNav.tsx similarity index 100% rename from static/js/brand-store/pages/Model/ModelNav.tsx rename to static/js/publisher/pages/Model/ModelNav.tsx diff --git a/static/js/brand-store/pages/Model/Policies.tsx b/static/js/publisher/pages/Model/Policies.tsx similarity index 98% rename from static/js/brand-store/pages/Model/Policies.tsx rename to static/js/publisher/pages/Model/Policies.tsx index 9ed3986255..682c2dd4e6 100644 --- a/static/js/brand-store/pages/Model/Policies.tsx +++ b/static/js/publisher/pages/Model/Policies.tsx @@ -16,12 +16,8 @@ import PoliciesTable from "./PoliciesTable"; import CreatePolicyForm from "./CreatePolicyForm"; import Navigation from "../../components/Navigation"; -import { - ApiError, - UsePoliciesResponse, - usePolicies, - useSigningKeys, -} from "../../hooks"; +import { usePolicies, useSigningKeys } from "../../hooks"; +import { ApiError, UsePoliciesResponse } from "../../types/interfaces"; import { policiesListFilterState, policiesListState, diff --git a/static/js/brand-store/pages/Model/PoliciesTable.tsx b/static/js/publisher/pages/Model/PoliciesTable.tsx similarity index 98% rename from static/js/brand-store/pages/Model/PoliciesTable.tsx rename to static/js/publisher/pages/Model/PoliciesTable.tsx index 2458194085..c65f23db03 100644 --- a/static/js/brand-store/pages/Model/PoliciesTable.tsx +++ b/static/js/publisher/pages/Model/PoliciesTable.tsx @@ -6,7 +6,8 @@ import { MainTable, Button, Modal, Icon } from "@canonical/react-components"; import AppPagination from "../../components/AppPagination"; -import { usePolicies, UsePoliciesResponse } from "../../hooks"; +import { usePolicies } from "../../hooks"; +import { UsePoliciesResponse } from "../../types/interfaces"; import { brandIdState } from "../../state/brandStoreState"; import { filteredPoliciesListState } from "../../state/policiesState"; diff --git a/static/js/brand-store/pages/Model/__tests__/CreatePolicyForm.test.tsx b/static/js/publisher/pages/Model/__tests__/CreatePolicyForm.test.tsx similarity index 100% rename from static/js/brand-store/pages/Model/__tests__/CreatePolicyForm.test.tsx rename to static/js/publisher/pages/Model/__tests__/CreatePolicyForm.test.tsx diff --git a/static/js/brand-store/pages/Model/__tests__/Model.test.tsx b/static/js/publisher/pages/Model/__tests__/Model.test.tsx similarity index 100% rename from static/js/brand-store/pages/Model/__tests__/Model.test.tsx rename to static/js/publisher/pages/Model/__tests__/Model.test.tsx diff --git a/static/js/brand-store/pages/Model/__tests__/ModelNav.test.tsx b/static/js/publisher/pages/Model/__tests__/ModelNav.test.tsx similarity index 100% rename from static/js/brand-store/pages/Model/__tests__/ModelNav.test.tsx rename to static/js/publisher/pages/Model/__tests__/ModelNav.test.tsx diff --git a/static/js/brand-store/pages/Model/__tests__/Policies.test.tsx b/static/js/publisher/pages/Model/__tests__/Policies.test.tsx similarity index 100% rename from static/js/brand-store/pages/Model/__tests__/Policies.test.tsx rename to static/js/publisher/pages/Model/__tests__/Policies.test.tsx diff --git a/static/js/brand-store/pages/Model/__tests__/PoliciesTable.test.tsx b/static/js/publisher/pages/Model/__tests__/PoliciesTable.test.tsx similarity index 100% rename from static/js/brand-store/pages/Model/__tests__/PoliciesTable.test.tsx rename to static/js/publisher/pages/Model/__tests__/PoliciesTable.test.tsx diff --git a/static/js/brand-store/pages/Model/index.ts b/static/js/publisher/pages/Model/index.ts similarity index 100% rename from static/js/brand-store/pages/Model/index.ts rename to static/js/publisher/pages/Model/index.ts diff --git a/static/js/brand-store/pages/Models/CreateModelForm.tsx b/static/js/publisher/pages/Models/CreateModelForm.tsx similarity index 100% rename from static/js/brand-store/pages/Models/CreateModelForm.tsx rename to static/js/publisher/pages/Models/CreateModelForm.tsx diff --git a/static/js/brand-store/pages/Models/Models.tsx b/static/js/publisher/pages/Models/Models.tsx similarity index 100% rename from static/js/brand-store/pages/Models/Models.tsx rename to static/js/publisher/pages/Models/Models.tsx diff --git a/static/js/brand-store/pages/Models/ModelsTable.tsx b/static/js/publisher/pages/Models/ModelsTable.tsx similarity index 100% rename from static/js/brand-store/pages/Models/ModelsTable.tsx rename to static/js/publisher/pages/Models/ModelsTable.tsx diff --git a/static/js/brand-store/pages/Models/__tests__/CreateModelForm.test.tsx b/static/js/publisher/pages/Models/__tests__/CreateModelForm.test.tsx similarity index 100% rename from static/js/brand-store/pages/Models/__tests__/CreateModelForm.test.tsx rename to static/js/publisher/pages/Models/__tests__/CreateModelForm.test.tsx diff --git a/static/js/brand-store/pages/Models/__tests__/Models.test.tsx b/static/js/publisher/pages/Models/__tests__/Models.test.tsx similarity index 100% rename from static/js/brand-store/pages/Models/__tests__/Models.test.tsx rename to static/js/publisher/pages/Models/__tests__/Models.test.tsx diff --git a/static/js/brand-store/pages/Models/__tests__/ModelsTable.test.tsx b/static/js/publisher/pages/Models/__tests__/ModelsTable.test.tsx similarity index 100% rename from static/js/brand-store/pages/Models/__tests__/ModelsTable.test.tsx rename to static/js/publisher/pages/Models/__tests__/ModelsTable.test.tsx diff --git a/static/js/brand-store/pages/Models/index.ts b/static/js/publisher/pages/Models/index.ts similarity index 100% rename from static/js/brand-store/pages/Models/index.ts rename to static/js/publisher/pages/Models/index.ts diff --git a/static/js/brand-store/pages/Publisher/Publisher.tsx b/static/js/publisher/pages/Publisher/Publisher.tsx similarity index 100% rename from static/js/brand-store/pages/Publisher/Publisher.tsx rename to static/js/publisher/pages/Publisher/Publisher.tsx diff --git a/static/js/brand-store/pages/Publisher/__tests__/Publisher.test.tsx b/static/js/publisher/pages/Publisher/__tests__/Publisher.test.tsx similarity index 100% rename from static/js/brand-store/pages/Publisher/__tests__/Publisher.test.tsx rename to static/js/publisher/pages/Publisher/__tests__/Publisher.test.tsx diff --git a/static/js/brand-store/pages/Publisher/index.ts b/static/js/publisher/pages/Publisher/index.ts similarity index 100% rename from static/js/brand-store/pages/Publisher/index.ts rename to static/js/publisher/pages/Publisher/index.ts diff --git a/static/js/brand-store/pages/Reviewer/Reviewer.tsx b/static/js/publisher/pages/Reviewer/Reviewer.tsx similarity index 100% rename from static/js/brand-store/pages/Reviewer/Reviewer.tsx rename to static/js/publisher/pages/Reviewer/Reviewer.tsx diff --git a/static/js/brand-store/pages/Reviewer/__tests__/Reviewer.test.tsx b/static/js/publisher/pages/Reviewer/__tests__/Reviewer.test.tsx similarity index 100% rename from static/js/brand-store/pages/Reviewer/__tests__/Reviewer.test.tsx rename to static/js/publisher/pages/Reviewer/__tests__/Reviewer.test.tsx diff --git a/static/js/brand-store/pages/Reviewer/index.ts b/static/js/publisher/pages/Reviewer/index.ts similarity index 100% rename from static/js/brand-store/pages/Reviewer/index.ts rename to static/js/publisher/pages/Reviewer/index.ts diff --git a/static/js/brand-store/pages/ReviewerAndPublisher/ReviewerAndPublisher.tsx b/static/js/publisher/pages/ReviewerAndPublisher/ReviewerAndPublisher.tsx similarity index 100% rename from static/js/brand-store/pages/ReviewerAndPublisher/ReviewerAndPublisher.tsx rename to static/js/publisher/pages/ReviewerAndPublisher/ReviewerAndPublisher.tsx diff --git a/static/js/brand-store/pages/ReviewerAndPublisher/__tests__/ReviewerAndPubliser.test.tsx b/static/js/publisher/pages/ReviewerAndPublisher/__tests__/ReviewerAndPubliser.test.tsx similarity index 100% rename from static/js/brand-store/pages/ReviewerAndPublisher/__tests__/ReviewerAndPubliser.test.tsx rename to static/js/publisher/pages/ReviewerAndPublisher/__tests__/ReviewerAndPubliser.test.tsx diff --git a/static/js/brand-store/pages/ReviewerAndPublisher/index.ts b/static/js/publisher/pages/ReviewerAndPublisher/index.ts similarity index 100% rename from static/js/brand-store/pages/ReviewerAndPublisher/index.ts rename to static/js/publisher/pages/ReviewerAndPublisher/index.ts diff --git a/static/js/brand-store/pages/SigningKeys/CreateSigningKeyForm.tsx b/static/js/publisher/pages/SigningKeys/CreateSigningKeyForm.tsx similarity index 100% rename from static/js/brand-store/pages/SigningKeys/CreateSigningKeyForm.tsx rename to static/js/publisher/pages/SigningKeys/CreateSigningKeyForm.tsx diff --git a/static/js/brand-store/pages/SigningKeys/DeactivateSigningKeyModal.tsx b/static/js/publisher/pages/SigningKeys/DeactivateSigningKeyModal.tsx similarity index 100% rename from static/js/brand-store/pages/SigningKeys/DeactivateSigningKeyModal.tsx rename to static/js/publisher/pages/SigningKeys/DeactivateSigningKeyModal.tsx diff --git a/static/js/brand-store/pages/SigningKeys/SigningKeys.tsx b/static/js/publisher/pages/SigningKeys/SigningKeys.tsx similarity index 100% rename from static/js/brand-store/pages/SigningKeys/SigningKeys.tsx rename to static/js/publisher/pages/SigningKeys/SigningKeys.tsx diff --git a/static/js/brand-store/pages/SigningKeys/SigningKeysTable.tsx b/static/js/publisher/pages/SigningKeys/SigningKeysTable.tsx similarity index 100% rename from static/js/brand-store/pages/SigningKeys/SigningKeysTable.tsx rename to static/js/publisher/pages/SigningKeys/SigningKeysTable.tsx diff --git a/static/js/brand-store/pages/SigningKeys/index.ts b/static/js/publisher/pages/SigningKeys/index.ts similarity index 100% rename from static/js/brand-store/pages/SigningKeys/index.ts rename to static/js/publisher/pages/SigningKeys/index.ts diff --git a/static/js/brand-store/pages/Snaps/IncludedSnapsTable.tsx b/static/js/publisher/pages/Snaps/IncludedSnapsTable.tsx similarity index 100% rename from static/js/brand-store/pages/Snaps/IncludedSnapsTable.tsx rename to static/js/publisher/pages/Snaps/IncludedSnapsTable.tsx diff --git a/static/js/brand-store/pages/Snaps/PublishedSnapsTable.tsx b/static/js/publisher/pages/Snaps/PublishedSnapsTable.tsx similarity index 100% rename from static/js/brand-store/pages/Snaps/PublishedSnapsTable.tsx rename to static/js/publisher/pages/Snaps/PublishedSnapsTable.tsx diff --git a/static/js/brand-store/pages/Snaps/Snaps.tsx b/static/js/publisher/pages/Snaps/Snaps.tsx similarity index 100% rename from static/js/brand-store/pages/Snaps/Snaps.tsx rename to static/js/publisher/pages/Snaps/Snaps.tsx diff --git a/static/js/brand-store/pages/Snaps/SnapsFilter.tsx b/static/js/publisher/pages/Snaps/SnapsFilter.tsx similarity index 100% rename from static/js/brand-store/pages/Snaps/SnapsFilter.tsx rename to static/js/publisher/pages/Snaps/SnapsFilter.tsx diff --git a/static/js/brand-store/pages/Snaps/SnapsSearch.tsx b/static/js/publisher/pages/Snaps/SnapsSearch.tsx similarity index 100% rename from static/js/brand-store/pages/Snaps/SnapsSearch.tsx rename to static/js/publisher/pages/Snaps/SnapsSearch.tsx diff --git a/static/js/brand-store/pages/Snaps/index.ts b/static/js/publisher/pages/Snaps/index.ts similarity index 100% rename from static/js/brand-store/pages/Snaps/index.ts rename to static/js/publisher/pages/Snaps/index.ts diff --git a/static/js/brand-store/pages/StoreNotFound/StoreNotFound.tsx b/static/js/publisher/pages/StoreNotFound/StoreNotFound.tsx similarity index 100% rename from static/js/brand-store/pages/StoreNotFound/StoreNotFound.tsx rename to static/js/publisher/pages/StoreNotFound/StoreNotFound.tsx diff --git a/static/js/brand-store/pages/StoreNotFound/__tests__/StoreNotFound.test.tsx b/static/js/publisher/pages/StoreNotFound/__tests__/StoreNotFound.test.tsx similarity index 100% rename from static/js/brand-store/pages/StoreNotFound/__tests__/StoreNotFound.test.tsx rename to static/js/publisher/pages/StoreNotFound/__tests__/StoreNotFound.test.tsx diff --git a/static/js/brand-store/pages/StoreNotFound/index.ts b/static/js/publisher/pages/StoreNotFound/index.ts similarity index 100% rename from static/js/brand-store/pages/StoreNotFound/index.ts rename to static/js/publisher/pages/StoreNotFound/index.ts diff --git a/static/js/brand-store/routes/brand-store-root.tsx b/static/js/publisher/routes/brand-store-root.tsx similarity index 100% rename from static/js/brand-store/routes/brand-store-root.tsx rename to static/js/publisher/routes/brand-store-root.tsx diff --git a/static/js/brand-store/state/brandStoreState.ts b/static/js/publisher/state/brandStoreState.ts similarity index 100% rename from static/js/brand-store/state/brandStoreState.ts rename to static/js/publisher/state/brandStoreState.ts diff --git a/static/js/brand-store/state/modelsState.ts b/static/js/publisher/state/modelsState.ts similarity index 100% rename from static/js/brand-store/state/modelsState.ts rename to static/js/publisher/state/modelsState.ts diff --git a/static/js/brand-store/state/policiesState.ts b/static/js/publisher/state/policiesState.ts similarity index 100% rename from static/js/brand-store/state/policiesState.ts rename to static/js/publisher/state/policiesState.ts diff --git a/static/js/brand-store/state/publisherState.ts b/static/js/publisher/state/publisherState.ts similarity index 100% rename from static/js/brand-store/state/publisherState.ts rename to static/js/publisher/state/publisherState.ts diff --git a/static/js/brand-store/state/signingKeysState.ts b/static/js/publisher/state/signingKeysState.ts similarity index 100% rename from static/js/brand-store/state/signingKeysState.ts rename to static/js/publisher/state/signingKeysState.ts diff --git a/static/js/brand-store/types/global.d.ts b/static/js/publisher/types/global.d.ts similarity index 100% rename from static/js/brand-store/types/global.d.ts rename to static/js/publisher/types/global.d.ts diff --git a/static/js/publisher/types/interfaces.ts b/static/js/publisher/types/interfaces.ts new file mode 100644 index 0000000000..1d9c8f2cf2 --- /dev/null +++ b/static/js/publisher/types/interfaces.ts @@ -0,0 +1,13 @@ +import type { Policy } from "../types/shared"; + +export interface UsePoliciesResponse { + isLoading: boolean; + isError: boolean; + error: unknown; + refetch: () => void; + data: Policy[] | undefined; +} + +export interface ApiError { + message: string; +} diff --git a/static/js/brand-store/types/shared.ts b/static/js/publisher/types/shared.ts similarity index 100% rename from static/js/brand-store/types/shared.ts rename to static/js/publisher/types/shared.ts diff --git a/static/js/brand-store/utils/checkModelNameExists.test.ts b/static/js/publisher/utils/__tests__/checkModelNameExists.test.ts similarity index 96% rename from static/js/brand-store/utils/checkModelNameExists.test.ts rename to static/js/publisher/utils/__tests__/checkModelNameExists.test.ts index d1871a442d..ea6e60eb1a 100644 --- a/static/js/brand-store/utils/checkModelNameExists.test.ts +++ b/static/js/publisher/utils/__tests__/checkModelNameExists.test.ts @@ -1,4 +1,4 @@ -import checkModelNameExists from "./checkModelNameExists"; +import checkModelNameExists from "../checkModelNameExists"; const models = [ { diff --git a/static/js/brand-store/utils/checkSigningKeyExists.test.ts b/static/js/publisher/utils/__tests__/checkSigningKeyExists.test.ts similarity index 95% rename from static/js/brand-store/utils/checkSigningKeyExists.test.ts rename to static/js/publisher/utils/__tests__/checkSigningKeyExists.test.ts index 02f82173a1..ab57008b13 100644 --- a/static/js/brand-store/utils/checkSigningKeyExists.test.ts +++ b/static/js/publisher/utils/__tests__/checkSigningKeyExists.test.ts @@ -1,4 +1,4 @@ -import checkSigningKeyExists from "./checkSigningKeyExists"; +import checkSigningKeyExists from "../checkSigningKeyExists"; const signingKeys = [ { diff --git a/static/js/brand-store/utils/isClosedPanel.test.ts b/static/js/publisher/utils/__tests__/isClosedPanel.test.ts similarity index 87% rename from static/js/brand-store/utils/isClosedPanel.test.ts rename to static/js/publisher/utils/__tests__/isClosedPanel.test.ts index a12c311bef..c07036646a 100644 --- a/static/js/brand-store/utils/isClosedPanel.test.ts +++ b/static/js/publisher/utils/__tests__/isClosedPanel.test.ts @@ -1,4 +1,4 @@ -import isClosedPanel from "./isClosedPanel"; +import isClosedPanel from "../isClosedPanel"; describe("isClosedPanel", () => { it("returns true if key isn't at the end of the path", () => { diff --git a/static/js/brand-store/utils/maskString.test.ts b/static/js/publisher/utils/__tests__/maskString.test.ts similarity index 96% rename from static/js/brand-store/utils/maskString.test.ts rename to static/js/publisher/utils/__tests__/maskString.test.ts index 710b07123c..0c0957b44e 100644 --- a/static/js/brand-store/utils/maskString.test.ts +++ b/static/js/publisher/utils/__tests__/maskString.test.ts @@ -1,4 +1,4 @@ -import maskString from "./maskString"; +import maskString from "../maskString"; describe("maskString", () => { const str = "761bbec69e2844958fcdj48DfP"; diff --git a/static/js/brand-store/utils/sortByDateDescending.test.ts b/static/js/publisher/utils/__tests__/sortByDateDescending.test.ts similarity index 90% rename from static/js/brand-store/utils/sortByDateDescending.test.ts rename to static/js/publisher/utils/__tests__/sortByDateDescending.test.ts index a6e0d21f1b..db2b4bb899 100644 --- a/static/js/brand-store/utils/sortByDateDescending.test.ts +++ b/static/js/publisher/utils/__tests__/sortByDateDescending.test.ts @@ -1,4 +1,4 @@ -import sortByDateDescending from "./sortByDateDescending"; +import sortByDateDescending from "../sortByDateDescending"; const earlyItem = { "created-at": "2023-06-21T14:10:07.108051" }; const lateItem = { "created-at": "2023-06-22T12:45:28.301419" }; diff --git a/static/js/brand-store/utils/checkModelNameExists.ts b/static/js/publisher/utils/checkModelNameExists.ts similarity index 100% rename from static/js/brand-store/utils/checkModelNameExists.ts rename to static/js/publisher/utils/checkModelNameExists.ts diff --git a/static/js/brand-store/utils/checkSigningKeyExists.ts b/static/js/publisher/utils/checkSigningKeyExists.ts similarity index 100% rename from static/js/brand-store/utils/checkSigningKeyExists.ts rename to static/js/publisher/utils/checkSigningKeyExists.ts diff --git a/static/js/brand-store/utils/getPolicies.ts b/static/js/publisher/utils/getPolicies.ts similarity index 100% rename from static/js/brand-store/utils/getPolicies.ts rename to static/js/publisher/utils/getPolicies.ts diff --git a/static/js/publisher/utils/index.ts b/static/js/publisher/utils/index.ts index 60637ad435..e1b4f9e5f8 100644 --- a/static/js/publisher/utils/index.ts +++ b/static/js/publisher/utils/index.ts @@ -8,6 +8,13 @@ import shouldShowUpdateMetadataWarning from "./shouldShowUpdateMetadataWarning"; import validateImageDimensions from "./validateImageDimensions"; import addDateToFilename from "./addDateToFilename"; import listingTourSteps from "./listingTourSteps"; +import checkModelNameExists from "./checkModelNameExists"; +import isClosedPanel from "./isClosedPanel"; +import maskString from "./maskString"; +import setPageTitle from "./setPageTitle"; +import checkSigningKeyExists from "./checkSigningKeyExists"; +import sortByDateDescending from "./sortByDateDescending"; +import getPolicies from "./getPolicies"; export { getSettingsData, @@ -20,4 +27,11 @@ export { validateImageDimensions, addDateToFilename, listingTourSteps, + checkModelNameExists, + isClosedPanel, + maskString, + setPageTitle, + checkSigningKeyExists, + sortByDateDescending, + getPolicies, }; diff --git a/static/js/brand-store/utils/isClosedPanel.ts b/static/js/publisher/utils/isClosedPanel.ts similarity index 100% rename from static/js/brand-store/utils/isClosedPanel.ts rename to static/js/publisher/utils/isClosedPanel.ts diff --git a/static/js/brand-store/utils/maskString.ts b/static/js/publisher/utils/maskString.ts similarity index 100% rename from static/js/brand-store/utils/maskString.ts rename to static/js/publisher/utils/maskString.ts diff --git a/static/js/brand-store/utils/setPageTitle.ts b/static/js/publisher/utils/setPageTitle.ts similarity index 100% rename from static/js/brand-store/utils/setPageTitle.ts rename to static/js/publisher/utils/setPageTitle.ts diff --git a/static/js/brand-store/utils/sortByDateDescending.ts b/static/js/publisher/utils/sortByDateDescending.ts similarity index 100% rename from static/js/brand-store/utils/sortByDateDescending.ts rename to static/js/publisher/utils/sortByDateDescending.ts diff --git a/webpack.config.entry.js b/webpack.config.entry.js index 6381b78e39..2c7b00d1ed 100644 --- a/webpack.config.entry.js +++ b/webpack.config.entry.js @@ -11,9 +11,9 @@ module.exports = { fsf: "./static/js/public/fsf.ts", "distro-install": "./static/js/public/distro-install.ts", "publisher-details": "./static/js/public/publisher-details.ts", - "brand-store": "./static/js/brand-store/brand-store.tsx", "about-listing": "./static/js/public/about/listing.ts", store: "./static/js/store/index.tsx", publisher: "./static/js/publisher/publisher.tsx", + "brand-store": "./static/js/publisher/brand-store.tsx", "snap-pages": "./static/js/snap-pages/index.tsx", };