feat: Add product routes and components to v2 in admin-next (#6958)

This commit is contained in:
Stevche Radevski
2024-04-06 11:59:52 +02:00
committed by GitHub
parent d333db0842
commit 07fb058d96
81 changed files with 597 additions and 144 deletions
@@ -0,0 +1,21 @@
import {
ProductCollectionListRes,
ProductCollectionRes,
} from "../../types/api-responses"
import { getRequest } from "./common"
async function listProductCategories(query?: Record<string, any>) {
return getRequest<ProductCollectionListRes>(`/admin/categories`, query)
}
async function retrieveProductCategory(
id: string,
query?: Record<string, any>
) {
return getRequest<ProductCollectionRes>(`/admin/categories/${id}`, query)
}
export const categories = {
list: listProductCategories,
retrieve: retrieveProductCategory,
}
@@ -1,5 +1,6 @@
import { apiKeys } from "./api-keys"
import { auth } from "./auth"
import { categories } from "./categories"
import { collections } from "./collections"
import { currencies } from "./currencies"
import { customers } from "./customers"
@@ -11,18 +12,21 @@ import { regions } from "./regions"
import { salesChannels } from "./sales-channels"
import { stockLocations } from "./stock-locations"
import { stores } from "./stores"
import { tags } from "./tags"
import { users } from "./users"
import { workflowExecutions } from "./workflow-executions"
export const client = {
auth: auth,
apiKeys: apiKeys,
categories: categories,
customers: customers,
currencies: currencies,
collections: collections,
promotions: promotions,
stores: stores,
salesChannels: salesChannels,
tags: tags,
users: users,
regions: regions,
invites: invites,
@@ -1,15 +1,34 @@
import { ProductListRes, ProductRes } from "../../types/api-responses"
import { getRequest } from "./common"
import {
ProductDeleteRes,
ProductListRes,
ProductRes,
} from "../../types/api-responses"
import { deleteRequest, getRequest, postRequest } from "./common"
async function retrieveProduct(id: string, query?: Record<string, any>) {
return getRequest<ProductRes>(`/admin/products/${id}`, query)
}
async function createProduct(payload: any) {
return postRequest<ProductRes>(`/admin/products`, payload)
}
async function listProducts(query?: Record<string, any>) {
return getRequest<ProductListRes>(`/admin/products`, query)
}
async function updateProduct(id: string, payload: any) {
return postRequest<ProductRes>(`/admin/products/${id}`, payload)
}
async function deleteProduct(id: string) {
return deleteRequest<ProductDeleteRes>(`/admin/products/${id}`)
}
export const products = {
retrieve: retrieveProduct,
list: listProducts,
create: createProduct,
update: updateProduct,
delete: deleteProduct,
}
@@ -0,0 +1,18 @@
import {
ProductCollectionListRes,
ProductCollectionRes,
} from "../../types/api-responses"
import { getRequest } from "./common"
async function listProductTags(query?: Record<string, any>) {
return getRequest<ProductCollectionListRes>(`/admin/tags`, query)
}
async function retrieveProductTag(id: string, query?: Record<string, any>) {
return getRequest<ProductCollectionRes>(`/admin/tags/${id}`, query)
}
export const tags = {
list: listProductTags,
retrieve: retrieveProductTag,
}