Feat: Client admin products (#930)
* add exports in product * add product resource * fix failling tests * import reflect metadata Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
This commit is contained in:
1 parent
59e268b919
commit
e0be2da15e
8 files changed
+172
-15
No files matched your search
@@ -27,6 +27,7 @@ export * from "./routes/admin/notes"
|
||||
export * from "./routes/admin/notifications"
|
||||
export * from "./routes/admin/shipping-profiles"
|
||||
export * from "./routes/admin/store"
|
||||
export * from "./routes/admin/products"
|
||||
export * from "./routes/admin/users"
|
||||
export * from "./routes/admin/orders"
|
||||
export * from "./routes/admin/variants"
|
||||
|
||||
@@ -52,7 +52,7 @@ export default async (req, res) => {
|
||||
res.json({ product })
|
||||
}
|
||||
|
||||
class AdminPostProductsProductOptionsReq {
|
||||
export class AdminPostProductsProductOptionsReq {
|
||||
@IsString()
|
||||
title: string
|
||||
}
|
||||
@@ -12,16 +12,13 @@ import {
|
||||
ValidateNested,
|
||||
} from "class-validator"
|
||||
import { EntityManager } from "typeorm"
|
||||
import {
|
||||
defaultAdminProductFields,
|
||||
defaultAdminProductRelations,
|
||||
ProductStatus,
|
||||
} from "."
|
||||
import { defaultAdminProductFields, defaultAdminProductRelations } from "."
|
||||
import {
|
||||
ProductService,
|
||||
ProductVariantService,
|
||||
ShippingProfileService,
|
||||
} from "../../../../services"
|
||||
import { ProductStatus } from "../../../../types/product"
|
||||
import { XorConstraint } from "../../../../types/validators/xor"
|
||||
import { validator } from "../../../../utils/validator"
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import { Router } from "express"
|
||||
import { Product } from "../../../.."
|
||||
import { Product, ProductTag, ProductType } from "../../../.."
|
||||
import { DeleteResponse, PaginatedResponse } from "../../../../types/common"
|
||||
import middlewares from "../../../middlewares"
|
||||
import "reflect-metadata"
|
||||
|
||||
const route = Router()
|
||||
|
||||
@@ -128,13 +129,6 @@ export const allowedAdminProductRelations = [
|
||||
"collection",
|
||||
]
|
||||
|
||||
export enum ProductStatus {
|
||||
DRAFT = "draft",
|
||||
PROPOSED = "proposed",
|
||||
PUBLISHED = "published",
|
||||
REJECTED = "rejected",
|
||||
}
|
||||
|
||||
export type AdminProductsDeleteOptionRes = {
|
||||
option_id: string
|
||||
object: "option"
|
||||
@@ -159,6 +153,30 @@ export type AdminProductsListRes = PaginatedResponse & {
|
||||
products: Product[]
|
||||
}
|
||||
|
||||
export type AdminProductsListTypesRes = {
|
||||
types: ProductType[]
|
||||
}
|
||||
|
||||
export type AdminProductsListTagsRes = {
|
||||
types: ProductTag[]
|
||||
}
|
||||
|
||||
export type AdminProductsRes = {
|
||||
product: Product
|
||||
}
|
||||
|
||||
export * from "./add-option"
|
||||
export * from "./create-product"
|
||||
export * from "./create-variant"
|
||||
export * from "./delete-option"
|
||||
export * from "./delete-product"
|
||||
export * from "./delete-variant"
|
||||
export * from "./get-product"
|
||||
export * from "./get-variants"
|
||||
export * from "./list-products"
|
||||
export * from "./list-tag-usage-count"
|
||||
export * from "./list-types"
|
||||
export * from "./set-metadata"
|
||||
export * from "./update-option"
|
||||
export * from "./update-product"
|
||||
export * from "./update-variant"
|
||||
@@ -167,7 +167,7 @@ class ProductVariantPricesReq {
|
||||
sale_amount?: number
|
||||
}
|
||||
|
||||
class AdminPostProductsProductVariantsVariantReq {
|
||||
export class AdminPostProductsProductVariantsVariantReq {
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
title?: string
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
export enum ProductStatus {
|
||||
DRAFT = "draft",
|
||||
PROPOSED = "proposed",
|
||||
PUBLISHED = "published",
|
||||
REJECTED = "rejected",
|
||||
}
|
||||
Reference in new issue
Block a user