From 07f416e5d79c9622daf785ded2a5b16022479ba9 Mon Sep 17 00:00:00 2001 From: Anders Gustafsson Date: Tue, 7 Sep 2021 10:21:02 +0200 Subject: [PATCH] 104 add focus point mutation --- src/datasources/product-api.ts | 22 +++++++++++++++++++++- src/resolvers/products-resolver.ts | 13 ++++++++++++- src/schema.graphql | 1 + 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/datasources/product-api.ts b/src/datasources/product-api.ts index 9c18743..15ac4e4 100644 --- a/src/datasources/product-api.ts +++ b/src/datasources/product-api.ts @@ -12,7 +12,6 @@ import { Orientation, ProductsFilterInput, ProductInfoInput, - ProductBlacklistInput, ProductBlacklistMarketInput, ProductMaterials, ProductSizeTypes, @@ -204,6 +203,27 @@ export class ProductAPI extends BaseSQLDataSource { return Promise.all(promises); } + async updateFocusPoint( + productId: number, + focusXpoint2: number, + focusYpoint2: number, + ): Promise[]> { + const promises = []; + promises.push( + this.updateProductField( + productId, + 'focusXpoint2', + focusXpoint2.toString(), + ), + this.updateProductField( + productId, + 'focusYpoint2', + focusYpoint2.toString(), + ), + ); + return Promise.all(promises); + } + async updateBlacklisting( productId: number, markets: Array, diff --git a/src/resolvers/products-resolver.ts b/src/resolvers/products-resolver.ts index 61c73cd..34b5562 100644 --- a/src/resolvers/products-resolver.ts +++ b/src/resolvers/products-resolver.ts @@ -1,7 +1,6 @@ import { ProductAPI } from '../datasources/product-api'; import { Product, - ProductGroup, ProductListResult, ProductsFilterInput, } from '../types/product-types'; @@ -88,6 +87,18 @@ export const productMutationTypeDefs = { ); return (dataSources.productApi).getProduct(productId); }, + async productFocusPoint( + _, + { productId, focusXpoint2, focusYpoint2 }, + { dataSources }, + ) { + await (dataSources.productApi).updateFocusPoint( + productId, + focusXpoint2, + focusYpoint2, + ); + return (dataSources.productApi).getProduct(productId); + }, async productBlacklisting(_, { productId, markets }, { dataSources }) { await (dataSources.productApi).updateBlacklisting( productId, diff --git a/src/schema.graphql b/src/schema.graphql index 86767de..4b7c662 100644 --- a/src/schema.graphql +++ b/src/schema.graphql @@ -398,6 +398,7 @@ input ProductBlacklistingInput { type Mutation { productInfo(productId: Int!, info: ProductInfoInput!): Product + productFocusPoint(productId: Int!, focusXpoint2: Float!, focusYpoint2: Float!): Product productBlacklisting( productId: Int! markets: [ProductBlacklistingInput]