From 65fe74e92199a5391a3099b8c5c26707da34280a Mon Sep 17 00:00:00 2001 From: gutwijir <38374015+gutwijir@users.noreply.github.com> Date: Mon, 14 Apr 2025 17:10:41 +0200 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#72362=20chore(?= =?UTF-8?q?node-apple-receipt-verify):=20Add=20missing=20`originalTransact?= =?UTF-8?q?ionId`=20param=20by=20@gutwijir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/node-apple-receipt-verify/index.d.ts | 1 + .../node-apple-receipt-verify-tests.ts | 48 +++++++++++++++---- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/types/node-apple-receipt-verify/index.d.ts b/types/node-apple-receipt-verify/index.d.ts index f6c19249c4ea5f..5fbca9c02c94c6 100644 --- a/types/node-apple-receipt-verify/index.d.ts +++ b/types/node-apple-receipt-verify/index.d.ts @@ -66,6 +66,7 @@ export interface PurchasedProducts { originalPurchaseDate?: number | undefined; // only if extended = true applicationVersion?: string | undefined; // only if extended = true originalApplicationVersion?: string | undefined; // only if extended = true + originalTransactionId?: string | undefined; // only if extended = true } export interface ValidationError extends Error { diff --git a/types/node-apple-receipt-verify/node-apple-receipt-verify-tests.ts b/types/node-apple-receipt-verify/node-apple-receipt-verify-tests.ts index 76602b0e66bf85..8f02e5b7c82170 100644 --- a/types/node-apple-receipt-verify/node-apple-receipt-verify-tests.ts +++ b/types/node-apple-receipt-verify/node-apple-receipt-verify-tests.ts @@ -1,24 +1,56 @@ -import { error } from "server/router"; import appleReceiptVerify = require("node-apple-receipt-verify"); appleReceiptVerify.config({ secret: "test-secret", }); -appleReceiptVerify.validate({ receipt: "test-reciept" }, (err, products) => { +appleReceiptVerify.validate({ receipt: "test-receipt" }, (err: appleReceiptVerify.ValidationError, products: appleReceiptVerify.PurchasedProducts[]) => { if (err) { console.error(err.appleStatus); console.error(err.isRetryable); return; } - console.log(products.map((p: appleReceiptVerify.PurchasedProducts) => p.bundleId)); + console.log(products.map((p) => p.bundleId)); }); appleReceiptVerify - .validate({ receipt: "test-reciept" }) - .then(products => { - console.log(products.map((p: appleReceiptVerify.PurchasedProducts) => p.productId)); - }) - .catch(err => { + .validate({ receipt: "test-receipt" }) + .then((products: appleReceiptVerify.PurchasedProducts[]) => { + products.forEach((p) => { + const { + bundleId, + transactionId, + productId, + purchaseDate, + quantity, + expirationDate, + isTrialPeriod, + isInIntroOfferPeriod, + environment, + originalPurchaseDate, + applicationVersion, + originalApplicationVersion, + originalTransactionId + } = p + + console.log({ + bundleId, + transactionId, + productId, + purchaseDate, + quantity, + expirationDate, + isTrialPeriod, + isInIntroOfferPeriod, + environment, + originalPurchaseDate, + applicationVersion, + originalApplicationVersion, + originalTransactionId + }) + })} + ) + .catch((err: appleReceiptVerify.ValidationError) => { console.error(err); }); + From ff11feade1031fb3b1e0ade3b5a73301c0e05131 Mon Sep 17 00:00:00 2001 From: TypeScript Bot Date: Mon, 14 Apr 2025 15:11:22 +0000 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=A4=96=20dprint=20fmt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../node-apple-receipt-verify-tests.ts | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/types/node-apple-receipt-verify/node-apple-receipt-verify-tests.ts b/types/node-apple-receipt-verify/node-apple-receipt-verify-tests.ts index 8f02e5b7c82170..0c0f8947af4df2 100644 --- a/types/node-apple-receipt-verify/node-apple-receipt-verify-tests.ts +++ b/types/node-apple-receipt-verify/node-apple-receipt-verify-tests.ts @@ -4,20 +4,23 @@ appleReceiptVerify.config({ secret: "test-secret", }); -appleReceiptVerify.validate({ receipt: "test-receipt" }, (err: appleReceiptVerify.ValidationError, products: appleReceiptVerify.PurchasedProducts[]) => { - if (err) { - console.error(err.appleStatus); - console.error(err.isRetryable); - return; - } - console.log(products.map((p) => p.bundleId)); -}); +appleReceiptVerify.validate( + { receipt: "test-receipt" }, + (err: appleReceiptVerify.ValidationError, products: appleReceiptVerify.PurchasedProducts[]) => { + if (err) { + console.error(err.appleStatus); + console.error(err.isRetryable); + return; + } + console.log(products.map((p) => p.bundleId)); + }, +); appleReceiptVerify .validate({ receipt: "test-receipt" }) .then((products: appleReceiptVerify.PurchasedProducts[]) => { products.forEach((p) => { - const { + const { bundleId, transactionId, productId, @@ -30,9 +33,9 @@ appleReceiptVerify originalPurchaseDate, applicationVersion, originalApplicationVersion, - originalTransactionId - } = p - + originalTransactionId, + } = p; + console.log({ bundleId, transactionId, @@ -46,11 +49,10 @@ appleReceiptVerify originalPurchaseDate, applicationVersion, originalApplicationVersion, - originalTransactionId - }) - })} - ) + originalTransactionId, + }); + }); + }) .catch((err: appleReceiptVerify.ValidationError) => { console.error(err); }); - From 7bfd71d787fe673bc22974097541aec4101c99e0 Mon Sep 17 00:00:00 2001 From: "Brandyn Bayes (Microsoft)" Date: Mon, 14 Apr 2025 08:33:49 -0700 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#72245=20docker?= =?UTF-8?q?ode:=20Update=20ImageInspectInfo=20to=20include=20new=20Descrip?= =?UTF-8?q?tor=20model=20by=20@brbayes-msft?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Brandyn Bayes --- types/dockerode/dockerode-tests.ts | 1 + types/dockerode/index.d.ts | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/types/dockerode/dockerode-tests.ts b/types/dockerode/dockerode-tests.ts index 6b5858a8979a5b..6bb07b82d92e8d 100644 --- a/types/dockerode/dockerode-tests.ts +++ b/types/dockerode/dockerode-tests.ts @@ -88,6 +88,7 @@ async function foo() { const imageContainers: number = image.Containers; const foo = await docker5.getImage(image.Id); const inspect = await foo.inspect(); + const imageDescriptor = inspect.Descriptor; await foo.remove(); } diff --git a/types/dockerode/index.d.ts b/types/dockerode/index.d.ts index 28b930993c4e36..8f7ef7c1e01975 100644 --- a/types/dockerode/index.d.ts +++ b/types/dockerode/index.d.ts @@ -945,6 +945,22 @@ declare namespace Dockerode { Layers?: string[] | undefined; BaseLayer?: string | undefined; }; + Descriptor?: { + mediaType: string; + digest: string; + size: number; + urls?: string[] | undefined; + annotations?: { [key: string]: string } | undefined; + data?: string | undefined; + platform?: { + architecture: string; + os: string; + "os.version"?: string | undefined; + "os.features"?: string[] | undefined; + variant?: string | undefined; + } | undefined; + artifactType?: string | undefined; + } | undefined; } interface ImageBuildOptions {