Преглед изворни кода

feat(core): Add updateProductVariant mutation

Michael Bromley пре 10 месеци
родитељ
комит
0b854b41a8

+ 7 - 0
packages/admin-ui/src/lib/core/src/common/generated-types.ts

@@ -3053,6 +3053,8 @@ export type Mutation = {
   updateProductOption: ProductOption;
   /** Update an existing ProductOptionGroup */
   updateProductOptionGroup: ProductOptionGroup;
+  /** Update an existing ProductVariant */
+  updateProductVariant: ProductVariant;
   /** Update existing ProductVariants */
   updateProductVariants: Array<Maybe<ProductVariant>>;
   /** Update multiple existing Products */
@@ -3892,6 +3894,11 @@ export type MutationUpdateProductOptionGroupArgs = {
 };
 
 
+export type MutationUpdateProductVariantArgs = {
+  input: UpdateProductVariantInput;
+};
+
+
 export type MutationUpdateProductVariantsArgs = {
   input: Array<UpdateProductVariantInput>;
 };

+ 6 - 0
packages/asset-server-plugin/e2e/graphql/generated-e2e-asset-server-plugin-types.ts

@@ -2979,6 +2979,8 @@ export type Mutation = {
     updateProductOption: ProductOption;
     /** Update an existing ProductOptionGroup */
     updateProductOptionGroup: ProductOptionGroup;
+    /** Update an existing ProductVariant */
+    updateProductVariant: ProductVariant;
     /** Update existing ProductVariants */
     updateProductVariants: Array<Maybe<ProductVariant>>;
     /** Update multiple existing Products */
@@ -3628,6 +3630,10 @@ export type MutationUpdateProductOptionGroupArgs = {
     input: UpdateProductOptionGroupInput;
 };
 
+export type MutationUpdateProductVariantArgs = {
+    input: UpdateProductVariantInput;
+};
+
 export type MutationUpdateProductVariantsArgs = {
     input: Array<UpdateProductVariantInput>;
 };

+ 7 - 0
packages/common/src/generated-types.ts

@@ -3030,6 +3030,8 @@ export type Mutation = {
   updateProductOption: ProductOption;
   /** Update an existing ProductOptionGroup */
   updateProductOptionGroup: ProductOptionGroup;
+  /** Update an existing ProductVariant */
+  updateProductVariant: ProductVariant;
   /** Update existing ProductVariants */
   updateProductVariants: Array<Maybe<ProductVariant>>;
   /** Update multiple existing Products */
@@ -3828,6 +3830,11 @@ export type MutationUpdateProductOptionGroupArgs = {
 };
 
 
+export type MutationUpdateProductVariantArgs = {
+  input: UpdateProductVariantInput;
+};
+
+
 export type MutationUpdateProductVariantsArgs = {
   input: Array<UpdateProductVariantInput>;
 };

+ 6 - 0
packages/core/e2e/graphql/generated-e2e-admin-types.ts

@@ -2979,6 +2979,8 @@ export type Mutation = {
     updateProductOption: ProductOption;
     /** Update an existing ProductOptionGroup */
     updateProductOptionGroup: ProductOptionGroup;
+    /** Update an existing ProductVariant */
+    updateProductVariant: ProductVariant;
     /** Update existing ProductVariants */
     updateProductVariants: Array<Maybe<ProductVariant>>;
     /** Update multiple existing Products */
@@ -3628,6 +3630,10 @@ export type MutationUpdateProductOptionGroupArgs = {
     input: UpdateProductOptionGroupInput;
 };
 
+export type MutationUpdateProductVariantArgs = {
+    input: UpdateProductVariantInput;
+};
+
 export type MutationUpdateProductVariantsArgs = {
     input: Array<UpdateProductVariantInput>;
 };

+ 12 - 0
packages/core/src/api/resolvers/admin/product.resolver.ts

@@ -15,6 +15,7 @@ import {
     MutationRemoveProductVariantsFromChannelArgs,
     MutationUpdateProductArgs,
     MutationUpdateProductsArgs,
+    MutationUpdateProductVariantArgs,
     MutationUpdateProductVariantsArgs,
     Permission,
     QueryProductArgs,
@@ -191,6 +192,17 @@ export class ProductResolver {
         return this.productVariantService.create(ctx, input);
     }
 
+    @Transaction()
+    @Mutation()
+    @Allow(Permission.UpdateCatalog, Permission.UpdateProduct)
+    async updateProductVariant(
+        @Ctx() ctx: RequestContext,
+        @Args() args: MutationUpdateProductVariantArgs,
+    ): Promise<Translated<ProductVariant>> {
+        const { input } = args;
+        return this.productVariantService.update(ctx, [input]).then(variants => variants[0]);
+    }
+
     @Transaction()
     @Mutation()
     @Allow(Permission.UpdateCatalog, Permission.UpdateProduct)

+ 4 - 1
packages/core/src/api/schema/admin-api/product.api.graphql

@@ -41,8 +41,11 @@ type Mutation {
 
     "Update existing ProductVariants"
     updateProductVariants(input: [UpdateProductVariantInput!]!): [ProductVariant]!
+        
+    "Update an existing ProductVariant"
+    updateProductVariant(input: UpdateProductVariantInput!): ProductVariant! 
 
-    "Delete a ProductVariant"
+    "Delete a ProductVariant" 
     deleteProductVariant(id: ID!): DeletionResponse!
 
     "Delete multiple ProductVariants"

+ 6 - 0
packages/elasticsearch-plugin/e2e/graphql/generated-e2e-elasticsearch-plugin-types.ts

@@ -2979,6 +2979,8 @@ export type Mutation = {
     updateProductOption: ProductOption;
     /** Update an existing ProductOptionGroup */
     updateProductOptionGroup: ProductOptionGroup;
+    /** Update an existing ProductVariant */
+    updateProductVariant: ProductVariant;
     /** Update existing ProductVariants */
     updateProductVariants: Array<Maybe<ProductVariant>>;
     /** Update multiple existing Products */
@@ -3628,6 +3630,10 @@ export type MutationUpdateProductOptionGroupArgs = {
     input: UpdateProductOptionGroupInput;
 };
 
+export type MutationUpdateProductVariantArgs = {
+    input: UpdateProductVariantInput;
+};
+
 export type MutationUpdateProductVariantsArgs = {
     input: Array<UpdateProductVariantInput>;
 };

+ 6 - 0
packages/payments-plugin/e2e/graphql/generated-admin-types.ts

@@ -3045,6 +3045,8 @@ export type Mutation = {
     updateProductOption: ProductOption;
     /** Update an existing ProductOptionGroup */
     updateProductOptionGroup: ProductOptionGroup;
+    /** Update an existing ProductVariant */
+    updateProductVariant: ProductVariant;
     /** Update existing ProductVariants */
     updateProductVariants: Array<Maybe<ProductVariant>>;
     /** Update multiple existing Products */
@@ -3698,6 +3700,10 @@ export type MutationUpdateProductOptionGroupArgs = {
     input: UpdateProductOptionGroupInput;
 };
 
+export type MutationUpdateProductVariantArgs = {
+    input: UpdateProductVariantInput;
+};
+
 export type MutationUpdateProductVariantsArgs = {
     input: Array<UpdateProductVariantInput>;
 };

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
schema-admin.json


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
schema-shop.json


Неке датотеке нису приказане због велике количине промена