Skip to content
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@linode/api-v4": Tech Stories
---

Clean up unused marketplace v2 apiv4 endpoints ([#13396](https://github.com/linode/manager/pull/13396))
57 changes: 2 additions & 55 deletions packages/api-v4/src/marketplace/marketplace.ts
Original file line number Diff line number Diff line change
@@ -1,62 +1,9 @@
import { createPartnerReferralSchema } from '@linode/validation';

import { BETA_API_ROOT } from 'src/constants';
import Request, {
setData,
setMethod,
setParams,
setURL,
setXFilter,
} from 'src/request';
import Request, { setData, setMethod, setURL } from 'src/request';

import type {
MarketplaceCategory,
MarketplacePartner,
MarketplacePartnerReferralPayload,
MarketplaceProduct,
MarketplaceType,
} from './types';
import type { Filter, ResourcePage as Page, Params } from 'src/types';

export const getMarketplaceProducts = (params?: Params, filters?: Filter) =>
Request<Page<MarketplaceProduct>>(
setURL(`${BETA_API_ROOT}/marketplace/products`),
setMethod('GET'),
setParams(params),
setXFilter(filters),
);

export const getMarketplaceProduct = (productId: number) =>
Request<MarketplaceProduct>(
setURL(
`${BETA_API_ROOT}/marketplace/products/${encodeURIComponent(productId)}/details`,
),
setMethod('GET'),
);

export const getMarketplaceCategories = (params?: Params, filters?: Filter) =>
Request<Page<MarketplaceCategory>>(
setURL(`${BETA_API_ROOT}/marketplace/categories`),
setMethod('GET'),
setParams(params),
setXFilter(filters),
);

export const getMarketplaceTypes = (params?: Params, filters?: Filter) =>
Request<Page<MarketplaceType>>(
setURL(`${BETA_API_ROOT}/marketplace/types`),
setMethod('GET'),
setParams(params),
setXFilter(filters),
);

export const getMarketplacePartners = (params?: Params, filters?: Filter) =>
Request<Page<MarketplacePartner>>(
setURL(`${BETA_API_ROOT}/marketplace/partners`),
setMethod('GET'),
setParams(params),
setXFilter(filters),
);
import type { MarketplacePartnerReferralPayload } from './types';

export const createPartnerReferral = (
data: MarketplacePartnerReferralPayload,
Expand Down
59 changes: 0 additions & 59 deletions packages/api-v4/src/marketplace/types.ts
Original file line number Diff line number Diff line change
@@ -1,62 +1,3 @@
export interface MarketplaceProductDetail {
documentation?: string;
overview?: {
description: string;
};
pricing?: string;
support?: string;
}

export interface MarketplaceProduct {
category_ids: number[];
created_at: string;
created_by: string;
details?: MarketplaceProductDetail;
id: number;
info_banner?: string;
logo_url: string;
name: string;
partner_id: number;
product_tags?: string[];
short_description: string;
tile_tag?: string;
type_id: number;
updated_at?: string;
updated_by?: string;
}

export interface MarketplaceCategory {
created_at: string;
created_by: string;
id: number;
name: string;
products_count: number;
updated_at?: string;
updated_by?: string;
}

export interface MarketplaceType {
created_at: string;
created_by: string;
id: number;
name: string;
products_count: number;
updated_at?: string;
updated_by?: string;
}

export interface MarketplacePartner {
created_at: string;
created_by: string;
id: number;
logo_url_dark_mode: string;
logo_url_light_mode: string;
name: string;
updated_at?: string;
updated_by?: string;
url: string;
}

export interface MarketplacePartnerReferralPayload {
account_executive_email?: string;
additional_emails?: string[];
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@linode/manager": Tech Stories
---

Clean up unused marketplace v2 mocks ([#13396](https://github.com/linode/manager/pull/13396))
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import { DocumentTitleSegment } from 'src/components/DocumentTitle';
import { LandingHeader } from 'src/components/LandingHeader';

import { PRODUCTS } from '../products';
import { marketplaceContainerStyles } from '../shared';
import { CategorySection } from './CategorySection';
import { filterProducts } from './utils';

Expand Down Expand Up @@ -175,19 +176,7 @@ export const MarketplaceLanding = () => {
const showEmptyState = filteredProducts.length === 0;

return (
<Box
sx={(theme) => ({
[theme.breakpoints.down('md')]: {
px: theme.spacingFunction(8),
},
// Adjust Breadcrumb's marginLeft on screens < md to keep it aligned with the Products
'& [data-qa-entity-header]': {
[theme.breakpoints.down('md')]: {
marginLeft: `-${theme.spacingFunction(8)}`,
},
},
})}
>
<Box sx={marketplaceContainerStyles}>
<DocumentTitleSegment segment="Cloud Marketplace - Catalog" />
<LandingHeader
breadcrumbProps={{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import { LandingHeader } from 'src/components/LandingHeader';
import { Markdown } from 'src/components/Markdown/Markdown';

import { getProductById } from '../products';
import { getLogoUrl } from '../shared';
import { getLogoUrl, marketplaceContainerStyles } from '../shared';
import { ContactSalesDrawer } from './ContactSalesDrawer';
import { getProductTabDetails } from './pages';
import {
Expand Down Expand Up @@ -88,15 +88,7 @@ export const ProductDetails = () => {
};

return (
<Box
sx={(theme) => ({
mx: {
md: 0,
sm: theme.spacingFunction(16),
xs: theme.spacingFunction(12),
},
})}
>
<Box sx={marketplaceContainerStyles}>
<DocumentTitleSegment
segment={
isContactSalesOpen
Expand Down
19 changes: 18 additions & 1 deletion packages/manager/src/features/Marketplace/shared.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useFlags } from 'src/hooks/useFlags';

import type { Theme } from '@mui/material/styles';
import type { SxProps, Theme } from '@mui/material/styles';

export type Category =
| 'AI'
Expand Down Expand Up @@ -72,3 +72,20 @@ export const getLogoUrl = (product: Product, theme: Theme) => {
? `${base}${product.partner.logoLightMode}`
: `${base}${product.partner.logoDarkMode}`;
};

/**
* Common container styles for Marketplace pages (Landing and Product Details)
*/
export const marketplaceContainerStyles: SxProps<Theme> = (theme) => ({
mx: {
md: 0,
sm: theme.spacingFunction(16), // tablet
xs: theme.spacingFunction(12), // mobile
},
// Adjust Breadcrumb's marginLeft on screens < md to keep it aligned with the content
'& [data-qa-entity-header]': {
[theme.breakpoints.down('md')]: {
marginLeft: `-${theme.spacingFunction(8)}`,
},
},
});
34 changes: 0 additions & 34 deletions packages/manager/src/mocks/serverHandlers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@ import {
linodeStatsFactory,
linodeTransferFactory,
linodeTypeFactory,
marketplaceCategoryFactory,
marketplacePartnersFactory,
marketplaceProductFactory,
marketplaceTypeFactory,
nodeBalancerConfigFactory,
nodeBalancerConfigNodeFactory,
nodeBalancerFactory,
Expand Down Expand Up @@ -706,36 +702,6 @@ const netLoadBalancers = [
];

const marketplace = [
http.get('*/v4beta/marketplace/products', () => {
const marketplaceProduct = marketplaceProductFactory.buildList(10);
return HttpResponse.json(makeResourcePage([...marketplaceProduct]));
}),
http.get('*/v4beta/marketplace/products/:productId/details', () => {
const marketplaceProductDetail = marketplaceProductFactory.build({
details: {
overview: {
description:
'This is a detailed description of the marketplace product.',
},
pricing: 'Pricing information goes here.',
documentation: 'Documentation link or information goes here.',
support: 'Support information goes here.',
},
});
return HttpResponse.json(marketplaceProductDetail);
}),
http.get('*/v4beta/marketplace/categories', () => {
const marketplaceCategory = marketplaceCategoryFactory.buildList(10);
return HttpResponse.json(makeResourcePage([...marketplaceCategory]));
}),
http.get('*/v4beta/marketplace/types', () => {
const marketplaceType = marketplaceTypeFactory.buildList(100);
return HttpResponse.json(makeResourcePage([...marketplaceType]));
}),
http.get('*/v4beta/marketplace/partners', () => {
const marketplacePartner = marketplacePartnersFactory.buildList(100);
return HttpResponse.json(makeResourcePage([...marketplacePartner]));
}),
http.post('*/v4beta/marketplace/referral', async () => {
await sleep(2000);
return HttpResponse.json({});
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@linode/queries": Tech Stories
---

Clean up unused marketplace v2 queries ([#13396](https://github.com/linode/manager/pull/13396))
2 changes: 0 additions & 2 deletions packages/queries/src/marketplace/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
export * from './keys';
export * from './marketplace';
export * from './requests';
109 changes: 0 additions & 109 deletions packages/queries/src/marketplace/keys.ts

This file was deleted.

Loading