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]