Quellcode durchsuchen

feat(core): Allow "enabled" state to be set when creating products

Relates to #608
Michael Bromley vor 5 Jahren
Ursprung
Commit
02eb9f7894

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

@@ -2016,6 +2016,7 @@ export type ProductTranslationInput = {
 
 export type CreateProductInput = {
   featuredAssetId?: Maybe<Scalars['ID']>;
+  enabled?: Maybe<Scalars['Boolean']>;
   assetIds?: Maybe<Array<Scalars['ID']>>;
   facetValueIds?: Maybe<Array<Scalars['ID']>>;
   translations: Array<ProductTranslationInput>;

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

@@ -1824,6 +1824,7 @@ export type ProductTranslationInput = {
 
 export type CreateProductInput = {
     featuredAssetId?: Maybe<Scalars['ID']>;
+    enabled?: Maybe<Scalars['Boolean']>;
     assetIds?: Maybe<Array<Scalars['ID']>>;
     facetValueIds?: Maybe<Array<Scalars['ID']>>;
     translations: Array<ProductTranslationInput>;

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

@@ -1979,6 +1979,7 @@ export type ProductTranslationInput = {
 
 export type CreateProductInput = {
   featuredAssetId?: Maybe<Scalars['ID']>;
+  enabled?: Maybe<Scalars['Boolean']>;
   assetIds?: Maybe<Array<Scalars['ID']>>;
   facetValueIds?: Maybe<Array<Scalars['ID']>>;
   translations: Array<ProductTranslationInput>;

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

@@ -1824,6 +1824,7 @@ export type ProductTranslationInput = {
 
 export type CreateProductInput = {
     featuredAssetId?: Maybe<Scalars['ID']>;
+    enabled?: Maybe<Scalars['Boolean']>;
     assetIds?: Maybe<Array<Scalars['ID']>>;
     facetValueIds?: Maybe<Array<Scalars['ID']>>;
     translations: Array<ProductTranslationInput>;

+ 21 - 0
packages/core/e2e/product.e2e-spec.ts

@@ -408,6 +408,27 @@ describe('Product resolver', () => {
             newProductWithAssets = result.createProduct;
         });
 
+        it('createProduct creates a disabled Product', async () => {
+            const result = await adminClient.query<CreateProduct.Mutation, CreateProduct.Variables>(
+                CREATE_PRODUCT,
+                {
+                    input: {
+                        enabled: false,
+                        translations: [
+                            {
+                                languageCode: LanguageCode.en,
+                                name: 'en Small apple',
+                                slug: 'en-small-apple',
+                                description: 'A small apple',
+                            },
+                        ],
+                    },
+                },
+            );
+            expect(result.createProduct.enabled).toBe(false);
+            newProduct = result.createProduct;
+        });
+
         it('updateProduct updates a Product', async () => {
             const result = await adminClient.query<UpdateProduct.Mutation, UpdateProduct.Variables>(
                 UPDATE_PRODUCT,

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

@@ -63,6 +63,7 @@ input ProductTranslationInput {
 
 input CreateProductInput {
     featuredAssetId: ID
+    enabled: Boolean
     assetIds: [ID!]
     facetValueIds: [ID!]
     translations: [ProductTranslationInput!]!

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

@@ -1824,6 +1824,7 @@ export type ProductTranslationInput = {
 
 export type CreateProductInput = {
     featuredAssetId?: Maybe<Scalars['ID']>;
+    enabled?: Maybe<Scalars['Boolean']>;
     assetIds?: Maybe<Array<Scalars['ID']>>;
     facetValueIds?: Maybe<Array<Scalars['ID']>>;
     translations: Array<ProductTranslationInput>;

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
schema-admin.json


Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.