From 8f333d79f4d282f63bc40fec1ec1befb6f51d12b Mon Sep 17 00:00:00 2001 From: Craig Whittington Date: Thu, 28 May 2026 12:31:14 +0100 Subject: [PATCH 1/5] Removed expiryDate from CurrentProvider & displacement Updated replacementDate to expirationDate --- specs/Data-Gateway.json | 72 +++++++++++------------------------------ 1 file changed, 19 insertions(+), 53 deletions(-) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index abf7cfd..92702a7 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -3130,24 +3130,18 @@ "examples": [ "C12345678" ] - }, - "expiryDate": { - "$ref": "#/components/schemas/NullableDateTimeStringType", - "description": "Contract expiry date as an ISO 8601 date-time string, or null." } }, "required": [ "name", "terms", - "contractNumber", - "expiryDate" + "contractNumber" ], "examples": [ { "name": "Microsoft", "terms": "5 Years", - "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z" + "contractNumber": "C12345678" } ] }, @@ -3176,7 +3170,6 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -3211,14 +3204,14 @@ ] ] }, - "replacementDate": { + "expirationDate": { "$ref": "#/components/schemas/NullableDateTimeStringType", - "description": "Planned replacement date as an ISO 8601 date-time string, or null." + "description": "Planned expiration date as an ISO 8601 date-time string, or null." } }, "required": [ "costs", - "replacementDate" + "expirationDate" ] } ], @@ -3227,7 +3220,6 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -3235,7 +3227,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-01-01T00:00:00Z" + "expirationDate": "2026-01-01T00:00:00Z" } ] }, @@ -3284,7 +3276,6 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -3295,7 +3286,6 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", - "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -3303,7 +3293,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -3553,7 +3543,6 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -3564,7 +3553,6 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", - "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -3572,7 +3560,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -3696,7 +3684,6 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -3707,7 +3694,6 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", - "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -3715,7 +3701,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -4195,7 +4181,6 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -4206,7 +4191,6 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", - "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -4214,7 +4198,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -4477,7 +4461,6 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -4488,7 +4471,6 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", - "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -4496,7 +4478,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -4675,7 +4657,6 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -4686,7 +4667,6 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", - "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -4694,7 +4674,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -9452,7 +9432,6 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -9463,7 +9442,6 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", - "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -9471,7 +9449,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10063,7 +10041,6 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -10074,7 +10051,6 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", - "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -10082,7 +10058,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10258,7 +10234,6 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -10269,7 +10244,6 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", - "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -10277,7 +10251,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10477,7 +10451,6 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -10488,7 +10461,6 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", - "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -10496,7 +10468,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10672,7 +10644,6 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", - "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -10683,7 +10654,6 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", - "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -10691,7 +10661,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10991,7 +10961,6 @@ "name": "Old Widgets", "terms": "36 months", "contractNumber": "Wid-0475477", - "expiryDate": "2026-12-31T23:59:59.000Z", "costs": { "monthlyCost": 1000, "annualCost": 2000, @@ -11002,8 +10971,7 @@ "name": "New Widgets", "terms": "36 months", "contractNumber": "NWid-20948372", - "expiryDate": "2029-03-01T00:00:00.000Z", - "replacementDate": "2026-06-01T00:00:00.000Z", + "expirationDate": "2026-06-01T00:00:00.000Z", "costs": [ { "monthlyCost": 4000, @@ -11321,7 +11289,6 @@ "name": "Old Widgets", "terms": "36 months", "contractNumber": "Wid-0475477", - "expiryDate": "2026-12-31T23:59:59.000Z", "costs": { "monthlyCost": 1000, "annualCost": 2000, @@ -11332,8 +11299,7 @@ "name": "New Widgets", "terms": "36 months", "contractNumber": "NWid-20948372", - "expiryDate": "2029-03-01T00:00:00.000Z", - "replacementDate": "2026-06-01T00:00:00.000Z", + "expirationDate": "2026-06-01T00:00:00.000Z", "costs": [ { "monthlyCost": 4000, From b4695c90880b209e299f703791b092ae02ba8fc5 Mon Sep 17 00:00:00 2001 From: Craig Whittington Date: Thu, 28 May 2026 12:52:08 +0100 Subject: [PATCH 2/5] SDK patch version bump --- src/dataGateway/TypeScript/package-lock.json | 4 ++-- src/dataGateway/TypeScript/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/dataGateway/TypeScript/package-lock.json b/src/dataGateway/TypeScript/package-lock.json index ed4024c..32e0c91 100644 --- a/src/dataGateway/TypeScript/package-lock.json +++ b/src/dataGateway/TypeScript/package-lock.json @@ -1,12 +1,12 @@ { "name": "@shi-corp/sdk-data-gateway", - "version": "3.3.0", + "version": "3.3.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@shi-corp/sdk-data-gateway", - "version": "3.3.0", + "version": "3.3.1", "license": "MIT", "dependencies": { "@microsoft/kiota-authentication-azure": "~1.0.0-preview.100", diff --git a/src/dataGateway/TypeScript/package.json b/src/dataGateway/TypeScript/package.json index 06b8953..2fc22cc 100644 --- a/src/dataGateway/TypeScript/package.json +++ b/src/dataGateway/TypeScript/package.json @@ -1,6 +1,6 @@ { "name": "@shi-corp/sdk-data-gateway", - "version": "3.3.0", + "version": "3.3.1", "type": "module", "main": "bin/index.js", "description": "SDK client used to interface with the SHI Data Gateway service.", From 148d444a994fbf9253d4e11ee870e0f9174c4961 Mon Sep 17 00:00:00 2001 From: Craig Whittington Date: Fri, 29 May 2026 11:47:49 +0100 Subject: [PATCH 3/5] Revert "Removed expiryDate from CurrentProvider & displacement" This reverts commit 8f333d79f4d282f63bc40fec1ec1befb6f51d12b. --- specs/Data-Gateway.json | 72 ++++++++++++++++++++++++++++++----------- 1 file changed, 53 insertions(+), 19 deletions(-) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index 92702a7..abf7cfd 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -3130,18 +3130,24 @@ "examples": [ "C12345678" ] + }, + "expiryDate": { + "$ref": "#/components/schemas/NullableDateTimeStringType", + "description": "Contract expiry date as an ISO 8601 date-time string, or null." } }, "required": [ "name", "terms", - "contractNumber" + "contractNumber", + "expiryDate" ], "examples": [ { "name": "Microsoft", "terms": "5 Years", - "contractNumber": "C12345678" + "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z" } ] }, @@ -3170,6 +3176,7 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -3204,14 +3211,14 @@ ] ] }, - "expirationDate": { + "replacementDate": { "$ref": "#/components/schemas/NullableDateTimeStringType", - "description": "Planned expiration date as an ISO 8601 date-time string, or null." + "description": "Planned replacement date as an ISO 8601 date-time string, or null." } }, "required": [ "costs", - "expirationDate" + "replacementDate" ] } ], @@ -3220,6 +3227,7 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -3227,7 +3235,7 @@ "contractValue": 5003 } ], - "expirationDate": "2026-01-01T00:00:00Z" + "replacementDate": "2026-01-01T00:00:00Z" } ] }, @@ -3276,6 +3284,7 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -3286,6 +3295,7 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", + "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -3293,7 +3303,7 @@ "contractValue": 5003 } ], - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -3543,6 +3553,7 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -3553,6 +3564,7 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", + "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -3560,7 +3572,7 @@ "contractValue": 5003 } ], - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -3684,6 +3696,7 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -3694,6 +3707,7 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", + "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -3701,7 +3715,7 @@ "contractValue": 5003 } ], - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -4181,6 +4195,7 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -4191,6 +4206,7 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", + "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -4198,7 +4214,7 @@ "contractValue": 5003 } ], - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -4461,6 +4477,7 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -4471,6 +4488,7 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", + "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -4478,7 +4496,7 @@ "contractValue": 5003 } ], - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -4657,6 +4675,7 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -4667,6 +4686,7 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", + "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -4674,7 +4694,7 @@ "contractValue": 5003 } ], - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -9432,6 +9452,7 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -9442,6 +9463,7 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", + "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -9449,7 +9471,7 @@ "contractValue": 5003 } ], - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10041,6 +10063,7 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -10051,6 +10074,7 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", + "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -10058,7 +10082,7 @@ "contractValue": 5003 } ], - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10234,6 +10258,7 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -10244,6 +10269,7 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", + "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -10251,7 +10277,7 @@ "contractValue": 5003 } ], - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10451,6 +10477,7 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -10461,6 +10488,7 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", + "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -10468,7 +10496,7 @@ "contractValue": 5003 } ], - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10644,6 +10672,7 @@ "name": "Microsoft", "terms": "5 Years", "contractNumber": "C12345678", + "expiryDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -10654,6 +10683,7 @@ "name": "Google", "terms": "3 Years", "contractNumber": "C87654321", + "expiryDate": "2026-01-01T00:00:00Z", "costs": [ { "monthlyCost": 5001, @@ -10661,7 +10691,7 @@ "contractValue": 5003 } ], - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10961,6 +10991,7 @@ "name": "Old Widgets", "terms": "36 months", "contractNumber": "Wid-0475477", + "expiryDate": "2026-12-31T23:59:59.000Z", "costs": { "monthlyCost": 1000, "annualCost": 2000, @@ -10971,7 +11002,8 @@ "name": "New Widgets", "terms": "36 months", "contractNumber": "NWid-20948372", - "expirationDate": "2026-06-01T00:00:00.000Z", + "expiryDate": "2029-03-01T00:00:00.000Z", + "replacementDate": "2026-06-01T00:00:00.000Z", "costs": [ { "monthlyCost": 4000, @@ -11289,6 +11321,7 @@ "name": "Old Widgets", "terms": "36 months", "contractNumber": "Wid-0475477", + "expiryDate": "2026-12-31T23:59:59.000Z", "costs": { "monthlyCost": 1000, "annualCost": 2000, @@ -11299,7 +11332,8 @@ "name": "New Widgets", "terms": "36 months", "contractNumber": "NWid-20948372", - "expirationDate": "2026-06-01T00:00:00.000Z", + "expiryDate": "2029-03-01T00:00:00.000Z", + "replacementDate": "2026-06-01T00:00:00.000Z", "costs": [ { "monthlyCost": 4000, From 704db2fe4d340c987d664dbb3ff27d21527b4351 Mon Sep 17 00:00:00 2001 From: Craig Whittington Date: Fri, 29 May 2026 13:42:20 +0100 Subject: [PATCH 4/5] Added expirationDate field to replace expiry and replacementDate in future --- specs/Data-Gateway.json | 50 ++++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index abf7cfd..cc01394 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -3133,7 +3133,7 @@ }, "expiryDate": { "$ref": "#/components/schemas/NullableDateTimeStringType", - "description": "Contract expiry date as an ISO 8601 date-time string, or null." + "description": "DEPRECATED: Contract expiry date as an ISO 8601 date-time string, or null." } }, "required": [ @@ -3213,7 +3213,11 @@ }, "replacementDate": { "$ref": "#/components/schemas/NullableDateTimeStringType", - "description": "Planned replacement date as an ISO 8601 date-time string, or null." + "description": "DEPRECATED: Planned replacement date as an ISO 8601 date-time string, or null. Use expirationDate instead." + }, + "expirationDate": { + "$ref": "#/components/schemas/NullableDateTimeStringType", + "description": "Preferred planned expiration date as an ISO 8601 date-time string, or null." } }, "required": [ @@ -3235,7 +3239,8 @@ "contractValue": 5003 } ], - "replacementDate": "2026-01-01T00:00:00Z" + "replacementDate": "2026-01-01T00:00:00Z", + "expirationDate": "2026-01-01T00:00:00Z" } ] }, @@ -3303,7 +3308,8 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -3572,7 +3578,8 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -3715,7 +3722,8 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -4214,7 +4222,8 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -4496,7 +4505,8 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -4694,7 +4704,8 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -4968,7 +4979,7 @@ }, "description": "Collects data from the various SHI Lab products and makes it available in a standardized way.", "title": "SHI - Data Gateway", - "version": "3.3.0" + "version": "3.3.1" }, "openapi": "3.1.1", "paths": { @@ -9471,7 +9482,8 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10082,7 +10094,8 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10277,7 +10290,8 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10496,7 +10510,8 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10691,7 +10706,8 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -11004,6 +11020,7 @@ "contractNumber": "NWid-20948372", "expiryDate": "2029-03-01T00:00:00.000Z", "replacementDate": "2026-06-01T00:00:00.000Z", + "expirationDate": "2026-06-01T00:00:00.000Z", "costs": [ { "monthlyCost": 4000, @@ -11334,6 +11351,7 @@ "contractNumber": "NWid-20948372", "expiryDate": "2029-03-01T00:00:00.000Z", "replacementDate": "2026-06-01T00:00:00.000Z", + "expirationDate": "2026-06-01T00:00:00.000Z", "costs": [ { "monthlyCost": 4000, @@ -11783,4 +11801,4 @@ "name": "Cloud Matrix" } ] -} \ No newline at end of file +} From 46eee29588bf72a026c841417054febac1dc323b Mon Sep 17 00:00:00 2001 From: Craig Whittington Date: Fri, 29 May 2026 16:27:30 +0100 Subject: [PATCH 5/5] Moved expirationDate to the currentProvider --- specs/Data-Gateway.json | 56 ++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index cc01394..9ca9165 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -3161,6 +3161,10 @@ "type": "object", "description": "Extension of Provider to include cost breakdowns for the current provider.", "properties": { + "expirationDate": { + "$ref": "#/components/schemas/NullableDateTimeStringType", + "description": "Preferred planned expiration date as an ISO 8601 date-time string, or null." + }, "costs": { "$ref": "#/components/schemas/CloudMatrix.Costs", "description": "Cost breakdown with monthly/annual/contract values." @@ -3177,6 +3181,7 @@ "terms": "5 Years", "contractNumber": "C12345678", "expiryDate": "2026-01-01T00:00:00Z", + "expirationDate": "2026-01-01T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -3214,10 +3219,6 @@ "replacementDate": { "$ref": "#/components/schemas/NullableDateTimeStringType", "description": "DEPRECATED: Planned replacement date as an ISO 8601 date-time string, or null. Use expirationDate instead." - }, - "expirationDate": { - "$ref": "#/components/schemas/NullableDateTimeStringType", - "description": "Preferred planned expiration date as an ISO 8601 date-time string, or null." } }, "required": [ @@ -3239,8 +3240,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-01-01T00:00:00Z", - "expirationDate": "2026-01-01T00:00:00Z" + "replacementDate": "2026-01-01T00:00:00Z" } ] }, @@ -3290,6 +3290,7 @@ "terms": "5 Years", "contractNumber": "C12345678", "expiryDate": "2026-01-01T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -3308,8 +3309,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z", - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -3560,6 +3560,7 @@ "terms": "5 Years", "contractNumber": "C12345678", "expiryDate": "2026-01-01T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -3578,8 +3579,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z", - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -3704,6 +3704,7 @@ "terms": "5 Years", "contractNumber": "C12345678", "expiryDate": "2026-01-01T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -3722,8 +3723,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z", - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -4204,6 +4204,7 @@ "terms": "5 Years", "contractNumber": "C12345678", "expiryDate": "2026-01-01T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -4222,8 +4223,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z", - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -4487,6 +4487,7 @@ "terms": "5 Years", "contractNumber": "C12345678", "expiryDate": "2026-01-01T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -4505,8 +4506,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z", - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -4686,6 +4686,7 @@ "terms": "5 Years", "contractNumber": "C12345678", "expiryDate": "2026-01-01T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -4704,8 +4705,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z", - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -9464,6 +9464,7 @@ "terms": "5 Years", "contractNumber": "C12345678", "expiryDate": "2026-01-01T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -9482,8 +9483,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z", - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10076,6 +10076,7 @@ "terms": "5 Years", "contractNumber": "C12345678", "expiryDate": "2026-01-01T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -10094,8 +10095,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z", - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10272,6 +10272,7 @@ "terms": "5 Years", "contractNumber": "C12345678", "expiryDate": "2026-01-01T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -10290,8 +10291,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z", - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -10492,6 +10492,7 @@ "terms": "5 Years", "contractNumber": "C12345678", "expiryDate": "2026-01-01T00:00:00Z", + "expirationDate": "2026-12-31T00:00:00Z", "costs": { "monthlyCost": 5001, "annualCost": 5002, @@ -10510,8 +10511,7 @@ "contractValue": 5003 } ], - "replacementDate": "2026-12-31T00:00:00Z", - "expirationDate": "2026-12-31T00:00:00Z" + "replacementDate": "2026-12-31T00:00:00Z" }, "notes": "Example notes" } @@ -11008,6 +11008,7 @@ "terms": "36 months", "contractNumber": "Wid-0475477", "expiryDate": "2026-12-31T23:59:59.000Z", + "expirationDate": "2026-06-01T00:00:00.000Z", "costs": { "monthlyCost": 1000, "annualCost": 2000, @@ -11020,7 +11021,6 @@ "contractNumber": "NWid-20948372", "expiryDate": "2029-03-01T00:00:00.000Z", "replacementDate": "2026-06-01T00:00:00.000Z", - "expirationDate": "2026-06-01T00:00:00.000Z", "costs": [ { "monthlyCost": 4000, @@ -11339,6 +11339,7 @@ "terms": "36 months", "contractNumber": "Wid-0475477", "expiryDate": "2026-12-31T23:59:59.000Z", + "expirationDate": "2026-06-01T00:00:00.000Z", "costs": { "monthlyCost": 1000, "annualCost": 2000, @@ -11351,7 +11352,6 @@ "contractNumber": "NWid-20948372", "expiryDate": "2029-03-01T00:00:00.000Z", "replacementDate": "2026-06-01T00:00:00.000Z", - "expirationDate": "2026-06-01T00:00:00.000Z", "costs": [ { "monthlyCost": 4000,