diff --git a/src/datasources/product-api.ts b/src/datasources/product-api.ts index 7518b07..8b1f1bb 100644 --- a/src/datasources/product-api.ts +++ b/src/datasources/product-api.ts @@ -89,6 +89,7 @@ export class ProductAPI extends BaseSQLDataSource { fields['artNo'] = fields['artNo']; fields['name'] = fields['name']; fields['copyright'] = fields['copyright'] ?? ''; + fields['comments'] = fields['comments'] ?? ''; fields['batch'] = fields['batch'] ?? ''; fields['height'] = nullOrNumber(fields['height'] ?? null); fields['width'] = nullOrNumber(fields['width'] ?? null); @@ -281,6 +282,10 @@ export class ProductAPI extends BaseSQLDataSource { return Promise.all(promises); } + async updateComments(productId: number, comments: string): Promise { + return this.updateProductField(productId, 'comments', comments); + } + async updateBlacklisting( productId: number, markets: Array, diff --git a/src/resolvers/products-resolver.ts b/src/resolvers/products-resolver.ts index 9cafeb1..38fa08b 100644 --- a/src/resolvers/products-resolver.ts +++ b/src/resolvers/products-resolver.ts @@ -250,4 +250,11 @@ export const productMutationTypeDefs = { ); return (dataSources.productApi).getProduct(productId); }, + async updateProductComments(_, { productId, comments }, { dataSources }) { + await (dataSources.productApi).updateComments( + productId, + comments, + ); + return (dataSources.productApi).getProduct(productId); + }, }; diff --git a/src/schema.graphql b/src/schema.graphql index 6b12ff3..75ea055 100644 --- a/src/schema.graphql +++ b/src/schema.graphql @@ -295,6 +295,7 @@ type ProductFields { printFileWidth: Int printFileHeight: Int printFileDpi: Int + comments: String } enum Orientation { @@ -469,4 +470,6 @@ type Mutation { addCategoriesToProduct(productId: Int!, categoryIds: [Int]!): Product removeCategoriesFromProduct(productId: Int!, categoryIds: [Int]!): Product + + updateProductComments(productId: Int!, comments: String!): Product } diff --git a/src/types/product-types.ts b/src/types/product-types.ts index 495512e..7cd1061 100644 --- a/src/types/product-types.ts +++ b/src/types/product-types.ts @@ -151,6 +151,7 @@ export interface ProductFields { printFileWidth?: number; printFileHeight?: number; printFileDpi?: number; + comments?: string; // Below exists for Canvas frame in DB but in shop limits.php is used // minHeight: number; // minWidth: number;