|
| 1 | +async function productById({ args, graphql }) { |
| 2 | + const results = await graphql(`query GetProductById($productId: String!) { |
| 3 | + getProduct(id: $productId) { |
| 4 | + id |
| 5 | + sku |
| 6 | + package |
| 7 | + variation { id } |
| 8 | + dimensions { size weight unit } |
| 9 | + createdBy { email name totalProductsCreated } |
| 10 | + research { study { caseNumber description }} |
| 11 | + } |
| 12 | + }`, {"productId": args.id}) |
| 13 | + return results.data.getProduct |
| 14 | + } |
| 15 | + |
| 16 | +async function deprecatedProductBySkuAndPackage({ args, graphql }) { |
| 17 | + console.log("executing deprecated product by sku and package", args) |
| 18 | + const results = await graphql(`query GetDeprecatedProductBySkuAndPackage($sku: String!, $pkg: String!) { |
| 19 | + getDeprecatedProduct(sku: $sku, package: $pkg) { |
| 20 | + sku |
| 21 | + package |
| 22 | + reason |
| 23 | + createdBy { email name totalProductsCreated } |
| 24 | + } |
| 25 | + }`, {"sku": args.sku, "pkg": args.package}) |
| 26 | + console.log("executed query") |
| 27 | + console.log("results", results) |
| 28 | + return results.data.getDeprecatedProduct |
| 29 | +} |
| 30 | + |
| 31 | +async function userAverageProductsCreatedPerYear({parent: {totalProductsCreated, yearsOfEmployment}}) { |
| 32 | + if (totalProductsCreated) { |
| 33 | + Math.round(totalProductsCreated / yearsOfEmployment) |
| 34 | + } else { |
| 35 | + null |
| 36 | + } |
| 37 | +} |
| 38 | + |
| 39 | +self.addGraphQLResolvers({ |
| 40 | + "Query.product": productById, |
| 41 | + "Query.deprecatedProduct": deprecatedProductBySkuAndPackage, |
| 42 | + "User.averageProductsCreatedPerYear": userAverageProductsCreatedPerYear |
| 43 | +}) |
0 commit comments