From 9dbfeed649694992fa20b79d7fd59a4356622aa4 Mon Sep 17 00:00:00 2001 From: rbussola Date: Wed, 28 Feb 2024 20:41:33 -0300 Subject: [PATCH 1/2] feat: add "detailUrl" resolver to order form Item --- CHANGELOG.md | 4 ++++ graphql/types/Item.graphql | 1 + node/clients/searchGraphQL/productQuery.ts | 2 ++ node/package.json | 2 +- node/resolvers/items.ts | 10 ++++++++++ node/yarn.lock | 8 ++++---- 6 files changed, 22 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd371a3..80444ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Add `DetailUrl` resolver to `Item` type + ## [0.67.0] - 2024-02-27 ### Added diff --git a/graphql/types/Item.graphql b/graphql/types/Item.graphql index 4ee8ba5..d66c745 100644 --- a/graphql/types/Item.graphql +++ b/graphql/types/Item.graphql @@ -15,6 +15,7 @@ type Item { bundleItems: [Item!]! detailUrl: String id: ID! + linkText: String imageUrls: ImageUrls listPrice: Float manualPrice: Float diff --git a/node/clients/searchGraphQL/productQuery.ts b/node/clients/searchGraphQL/productQuery.ts index 13b9176..12e8aa9 100644 --- a/node/clients/searchGraphQL/productQuery.ts +++ b/node/clients/searchGraphQL/productQuery.ts @@ -1,6 +1,7 @@ export interface ProductResponse { productName: string productId: string + linkText: String items: Array<{ itemId: string name: string @@ -33,6 +34,7 @@ query Product($values: [ID!]!) { productsByIdentifier(field: id, values: $values) { productName productId + linkText items { itemId name diff --git a/node/package.json b/node/package.json index f1e3bd4..599004a 100644 --- a/node/package.json +++ b/node/package.json @@ -24,7 +24,7 @@ "@types/node": "^12.0.0", "@types/ramda": "types/npm-ramda#dist", "@types/set-cookie-parser": "^2.4.2", - "@vtex/api": "6.45.20", + "@vtex/api": "6.46.1", "@vtex/test-tools": "^3.1.0", "@vtex/tsconfig": "^0.2.0", "typescript": "3.9.7", diff --git a/node/resolvers/items.ts b/node/resolvers/items.ts index f7ad3a8..0743bc1 100644 --- a/node/resolvers/items.ts +++ b/node/resolvers/items.ts @@ -49,6 +49,16 @@ export const root = { return product?.productName ?? item.name }, + detailUrl: async (item: OrderFormItem, _: unknown, ctx: Context) => { + const { + vtex: { logger }, + clients: { searchGraphQL }, + } = ctx + + const product = await getProductInfo(item, searchGraphQL, logger) + + return product?.linkText ?? [] + }, skuName: async (item: OrderFormItem, _: unknown, ctx: Context) => { const { vtex: { logger }, diff --git a/node/yarn.lock b/node/yarn.lock index 00976fb..cdac672 100644 --- a/node/yarn.lock +++ b/node/yarn.lock @@ -1604,10 +1604,10 @@ resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.0.tgz#8b63ab7f1aa5321248aad5ac890a485656dcea4d" integrity sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg== -"@vtex/api@6.45.20": - version "6.45.20" - resolved "https://registry.yarnpkg.com/@vtex/api/-/api-6.45.20.tgz#c1090249a424fd700499de3fed0d80d99ff53332" - integrity sha512-O7RJWWr4PfvixNpc0GgQh85iKcv9j1IKkpApwJQSW/WzxoTgSrcjYHOVUmJ1GWWBmRV/qvB2VaV6Ow1QL3UOCQ== +"@vtex/api@6.46.1": + version "6.46.1" + resolved "https://registry.yarnpkg.com/@vtex/api/-/api-6.46.1.tgz#55a8755ae48f5400e7f1ed1921cd547950bb7a2a" + integrity sha512-geoxVvyWoQpOQ70Zmx3M8SBkRoGOS/bp9Gy26M+iCue63jofVSwmFz1zf66EaHA1PKOJNRgQPFwY+oeDE1U2lQ== dependencies: "@types/koa" "^2.11.0" "@types/koa-compose" "^3.2.3" From 16c8194743424727a7c3632cd30feb033fc85952 Mon Sep 17 00:00:00 2001 From: rbussola Date: Wed, 28 Feb 2024 20:41:33 -0300 Subject: [PATCH 2/2] adding `/p` to the detailUrl --- CHANGELOG.md | 4 ++++ graphql/types/Item.graphql | 1 + node/clients/searchGraphQL/productQuery.ts | 2 ++ node/package.json | 2 +- node/resolvers/items.ts | 10 ++++++++++ node/yarn.lock | 8 ++++---- 6 files changed, 22 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd371a3..80444ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Add `DetailUrl` resolver to `Item` type + ## [0.67.0] - 2024-02-27 ### Added diff --git a/graphql/types/Item.graphql b/graphql/types/Item.graphql index 4ee8ba5..d66c745 100644 --- a/graphql/types/Item.graphql +++ b/graphql/types/Item.graphql @@ -15,6 +15,7 @@ type Item { bundleItems: [Item!]! detailUrl: String id: ID! + linkText: String imageUrls: ImageUrls listPrice: Float manualPrice: Float diff --git a/node/clients/searchGraphQL/productQuery.ts b/node/clients/searchGraphQL/productQuery.ts index 13b9176..12e8aa9 100644 --- a/node/clients/searchGraphQL/productQuery.ts +++ b/node/clients/searchGraphQL/productQuery.ts @@ -1,6 +1,7 @@ export interface ProductResponse { productName: string productId: string + linkText: String items: Array<{ itemId: string name: string @@ -33,6 +34,7 @@ query Product($values: [ID!]!) { productsByIdentifier(field: id, values: $values) { productName productId + linkText items { itemId name diff --git a/node/package.json b/node/package.json index f1e3bd4..599004a 100644 --- a/node/package.json +++ b/node/package.json @@ -24,7 +24,7 @@ "@types/node": "^12.0.0", "@types/ramda": "types/npm-ramda#dist", "@types/set-cookie-parser": "^2.4.2", - "@vtex/api": "6.45.20", + "@vtex/api": "6.46.1", "@vtex/test-tools": "^3.1.0", "@vtex/tsconfig": "^0.2.0", "typescript": "3.9.7", diff --git a/node/resolvers/items.ts b/node/resolvers/items.ts index f7ad3a8..55d067d 100644 --- a/node/resolvers/items.ts +++ b/node/resolvers/items.ts @@ -49,6 +49,16 @@ export const root = { return product?.productName ?? item.name }, + detailUrl: async (item: OrderFormItem, _: unknown, ctx: Context) => { + const { + vtex: { logger }, + clients: { searchGraphQL }, + } = ctx + + const product = await getProductInfo(item, searchGraphQL, logger) + + return product?.linkText.concat('/p') ?? [] + }, skuName: async (item: OrderFormItem, _: unknown, ctx: Context) => { const { vtex: { logger }, diff --git a/node/yarn.lock b/node/yarn.lock index 00976fb..cdac672 100644 --- a/node/yarn.lock +++ b/node/yarn.lock @@ -1604,10 +1604,10 @@ resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.0.tgz#8b63ab7f1aa5321248aad5ac890a485656dcea4d" integrity sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg== -"@vtex/api@6.45.20": - version "6.45.20" - resolved "https://registry.yarnpkg.com/@vtex/api/-/api-6.45.20.tgz#c1090249a424fd700499de3fed0d80d99ff53332" - integrity sha512-O7RJWWr4PfvixNpc0GgQh85iKcv9j1IKkpApwJQSW/WzxoTgSrcjYHOVUmJ1GWWBmRV/qvB2VaV6Ow1QL3UOCQ== +"@vtex/api@6.46.1": + version "6.46.1" + resolved "https://registry.yarnpkg.com/@vtex/api/-/api-6.46.1.tgz#55a8755ae48f5400e7f1ed1921cd547950bb7a2a" + integrity sha512-geoxVvyWoQpOQ70Zmx3M8SBkRoGOS/bp9Gy26M+iCue63jofVSwmFz1zf66EaHA1PKOJNRgQPFwY+oeDE1U2lQ== dependencies: "@types/koa" "^2.11.0" "@types/koa-compose" "^3.2.3"