diff --git a/src/datasources/product-api.ts b/src/datasources/product-api.ts index dd65d20..5392a40 100644 --- a/src/datasources/product-api.ts +++ b/src/datasources/product-api.ts @@ -221,6 +221,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 457aee2..13a84ad 100644 --- a/src/schema.graphql +++ b/src/schema.graphql @@ -396,6 +396,7 @@ input ProductBlacklistingInput { type Mutation { productInfo(productId: Int!, info: ProductInfoInput!): Product + productFocusPoint(productId: Int!, focusXpoint2: Float!, focusYpoint2: Float!): Product productBlacklisting( productId: Int! markets: [ProductBlacklistingInput]