Skip to content

Commit 628dd2a

Browse files
committed
refactor: refactor use api
- add graphql-tag - remove count from filters
1 parent cd723c6 commit 628dd2a

File tree

17 files changed

+51
-26
lines changed

17 files changed

+51
-26
lines changed

packages/api-client/src/api/customMutation/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import gql from 'graphql-tag';
21
import { FetchPolicy, FetchResult } from '@apollo/client/core';
2+
import { DocumentNode } from 'graphql';
33
import { Context } from '../../types/context';
44
import getHeaders from '../getHeaders';
55

@@ -10,12 +10,12 @@ export default async <MUTATION = any, MUTATION_VARIABLES = any>(
1010
mutationVariables,
1111
fetchPolicy,
1212
}: {
13-
mutation: string,
13+
mutation: DocumentNode,
1414
mutationVariables: MUTATION_VARIABLES,
1515
fetchPolicy?: Extract<FetchPolicy, 'network-only' | 'no-cache'>,
1616
},
1717
): Promise<FetchResult<MUTATION>> => context.client.mutate<MUTATION, MUTATION_VARIABLES>({
18-
mutation: gql`${mutation}`,
18+
mutation,
1919
variables: { ...mutationVariables },
2020
fetchPolicy: fetchPolicy || 'no-cache',
2121
context: {

packages/api-client/src/api/customQuery/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import gql from 'graphql-tag';
21
import { ApolloQueryResult, FetchPolicy } from '@apollo/client/core';
2+
import { DocumentNode } from 'graphql';
33
import { Context } from '../../types/context';
44
import getHeaders from '../getHeaders';
55

@@ -10,12 +10,12 @@ export default async <QUERY = any, QUERY_VARIABLES = any>(
1010
queryVariables,
1111
fetchPolicy,
1212
}: {
13-
query: string,
13+
query: DocumentNode,
1414
queryVariables?: QUERY_VARIABLES,
1515
fetchPolicy?: FetchPolicy,
1616
},
1717
): Promise<ApolloQueryResult<QUERY>> => context.client.query<QUERY, QUERY_VARIABLES>({
18-
query: gql`${query}`,
18+
query,
1919
variables: { ...queryVariables },
2020
fetchPolicy: fetchPolicy || 'no-cache',
2121
context: {

packages/api-client/src/types/API.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { ApolloQueryResult, FetchPolicy, FetchResult } from '@apollo/client/core';
2-
import { ExecutionResult } from 'graphql';
2+
import { DocumentNode, ExecutionResult } from 'graphql';
33
import { CustomQuery } from '@vue-storefront/core';
44
import {
55
AddConfigurableProductsToCartInput,
@@ -279,13 +279,13 @@ export interface MagentoApiMethods {
279279
): Promise<ApolloQueryResult<CustomerOrdersQuery>>;
280280

281281
customQuery<QUERY, QUERY_VARIABLES = any>(params: {
282-
query: string,
282+
query: DocumentNode,
283283
queryVariables?: QUERY_VARIABLES,
284284
fetchPolicy?: FetchPolicy,
285285
}): Promise<ApolloQueryResult<QUERY>>;
286286

287287
customMutation<MUTATION, MUTATION_VARIABLES = any>(params: {
288-
mutation: string,
288+
mutation: DocumentNode,
289289
mutationVariables: MUTATION_VARIABLES,
290290
fetchPolicy?: Extract<FetchPolicy, 'network-only' | 'no-cache'>,
291291
}): Promise<FetchResult<MUTATION>>;

packages/theme/components/TopBar/checkStoresAndCurrency.gql.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
export default `
1+
import gql from 'graphql-tag';
2+
3+
export default gql`
24
query getStoresAndCurrencies {
35
availableStores {
46
store_code

packages/theme/composables/useApi/index.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import { useContext } from '@nuxtjs/composition-api';
2+
import type { DocumentNode } from 'graphql';
3+
import { Logger } from '~/helpers/logger';
24

35
export type FetchPolicy = 'cache-first' | 'network-only' | 'cache-only' | 'no-cache' | 'standby';
46

@@ -17,7 +19,7 @@ export type Error = {
1719
};
1820

1921
export type Request = <DATA, VARIABLES extends Variables = Variables>(
20-
request: string,
22+
request: DocumentNode,
2123
variables?: VARIABLES,
2224
fetchPolicy?: FetchPolicy,
2325
) => Promise<{ data: DATA, errors: Error[] }>;
@@ -73,6 +75,10 @@ export interface UseApiInterface {
7375
mutate: Request;
7476
}
7577

78+
function getGqlString(doc: DocumentNode) {
79+
return doc.loc && doc.loc.source.body;
80+
}
81+
7682
/**
7783
* Allows executing arbitrary GraphQL queries and mutations.
7884
*
@@ -86,7 +92,10 @@ export function useApi(): UseApiInterface {
8692
request,
8793
variables,
8894
) => {
95+
const reqID = `id${Math.random().toString(16).slice(2)}`;
96+
Logger.debug(`customQuery/request/${reqID}`, getGqlString(request));
8997
const { data, errors } = await context.app.$vsf.$magento.api.customQuery({ query: request, queryVariables: variables });
98+
Logger.debug(`customQuery/result/${reqID}`, { data, errors });
9099

91100
return { data, errors };
92101
};
@@ -96,7 +105,10 @@ export function useApi(): UseApiInterface {
96105
request,
97106
variables,
98107
) => {
108+
const reqID = `id${Math.random().toString(16).slice(2)}`;
109+
Logger.debug(`customQuery/request/${reqID}`, getGqlString(request));
99110
const { data, errors } = await context.app.$vsf.$magento.api.customMutation({ mutation: request, mutationVariables: variables });
111+
Logger.debug(`customQuery/result/${reqID}`, { data, errors });
100112

101113
return { data, errors };
102114
};

packages/theme/modules/catalog/category/components/cms/categoryContent.gql.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
export default `
1+
import gql from 'graphql-tag';
2+
3+
export default gql`
24
query getCategoryContentData($filters: CategoryFilterInput) {
35
categoryList(filters: $filters) {
46
uid

packages/theme/modules/catalog/category/components/filters/command/getProductFilterByCategory.gql.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
export default `
1+
import gql from 'graphql-tag';
2+
3+
export default gql`
24
query getProductFiltersByCategory($categoryIdFilter: FilterEqualTypeInput!) {
35
products(filter: { category_uid: $categoryIdFilter }) {
46
aggregations {

packages/theme/modules/catalog/category/components/filters/renderer/CheckboxType.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<SfCheckbox
99
v-for="option in filter.options"
1010
:key="`${filter.attribute_code}-${option.value}`"
11-
:label="option.label + `${option.count ? ` (${option.count})` : ''}`"
11+
:label="option.label"
1212
:selected="Boolean(selected(filter.attribute_code, option.value))"
1313
class="filters__item"
1414
data-testid="category-filter"

packages/theme/modules/catalog/category/components/filters/renderer/RadioType.vue

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99
v-for="option in filter.options"
1010
:key="`${filter.attribute_code}-${option.value}`"
1111
class="radio-filter"
12-
:label="`${option.label}${
13-
option.count ? ` (${option.count})` : ''
14-
}`"
12+
:label="`${option.label}`"
1513
:selected="selected(filter.attribute_code, option.value)"
1614
:value="option.value"
1715
name="filter__price"

packages/theme/modules/catalog/category/components/filters/renderer/YesNoType.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export default defineComponent({
3535
const { app: { i18n } } = useContext();
3636
const { isFilterSelected } = inject('UseFiltersProvider');
3737
const selected = computed(() => ((id: string, optVal: string) => isFilterSelected(id, optVal)));
38-
const label = (option: AggregationOption) => `${(option.value === '1' ? i18n.t('Yes') : i18n.t('No'))} ${`(${option.count})`}`;
38+
const label = (option: AggregationOption) => `${(option.value === '1' ? i18n.t('Yes') : i18n.t('No'))}`;
3939
return { selected, label };
4040
},
4141
});

0 commit comments

Comments
 (0)