From d6af88ad41e3d5137758606c4da9b12640159cd4 Mon Sep 17 00:00:00 2001 From: kaitoyama Date: Mon, 9 Feb 2026 02:53:58 +0900 Subject: [PATCH] Use int64 for invoice/checkout amounts and Unix timestamps - Add format: int64 to amount_due, amount_paid, amount_remaining, created in Invoice and GetCheckoutSessionsResponse schemas - Regenerate server/gen.go so Go types are *int64 instead of *int Avoids silent overflow on 32-bit builds and Unix timestamp overflow in 2038. Co-authored-by: Cursor --- openapi.yaml | 7 +++++ server/gen.go | 85 ++++++++++++++++++++++++++------------------------- 2 files changed, 50 insertions(+), 42 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 236a222..4fc8c14 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -380,18 +380,22 @@ components: example: in_1MtHbELkdIwHu7ixl4OzzPMv amount_due: type: integer + format: int64 description: 最終的に支払う金額 example: 0 amount_paid: type: integer + format: int64 description: 支払い済み金額 example: 0 amount_remaining: type: integer + format: int64 description: 支払い残高 example: 0 created: type: integer + format: int64 description: 作成日時 (Unix 時間) example: 1680644467 customer: @@ -433,14 +437,17 @@ components: example: cs_test_1234567890 amount_total: type: integer + format: int64 description: 支払い金額 example: 2198 amount_subtotal: type: integer + format: int64 description: 割引・税金を含まない支払い金額 example: 1998 created: type: integer + format: int64 description: 作成日時 (Unix 時間) example: 1679600215 customer: diff --git a/server/gen.go b/server/gen.go index 623da29..2c098ee 100644 --- a/server/gen.go +++ b/server/gen.go @@ -1,6 +1,6 @@ // Package api provides primitives to interact with the openapi HTTP API. // -// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.4.1 DO NOT EDIT. +// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT. package api import ( @@ -81,13 +81,13 @@ type Customer struct { type GetCheckoutSessionsResponse struct { Data *[]struct { // AmountSubtotal 割引・税金を含まない支払い金額 - AmountSubtotal *int `json:"amount_subtotal,omitempty"` + AmountSubtotal *int64 `json:"amount_subtotal,omitempty"` // AmountTotal 支払い金額 - AmountTotal *int `json:"amount_total,omitempty"` + AmountTotal *int64 `json:"amount_total,omitempty"` // Created 作成日時 (Unix 時間) - Created *int `json:"created,omitempty"` + Created *int64 `json:"created,omitempty"` // Customer Customer の情報 Customer *Customer `json:"customer,omitempty"` @@ -116,16 +116,16 @@ type GetCheckoutSessionsResponseDataStatus string type Invoice struct { Data *[]struct { // AmountDue 最終的に支払う金額 - AmountDue *int `json:"amount_due,omitempty"` + AmountDue *int64 `json:"amount_due,omitempty"` // AmountPaid 支払い済み金額 - AmountPaid *int `json:"amount_paid,omitempty"` + AmountPaid *int64 `json:"amount_paid,omitempty"` // AmountRemaining 支払い残高 - AmountRemaining *int `json:"amount_remaining,omitempty"` + AmountRemaining *int64 `json:"amount_remaining,omitempty"` // Created 作成日時 (Unix 時間) - Created *int `json:"created,omitempty"` + Created *int64 `json:"created,omitempty"` // Customer Customer の情報 Customer *Customer `json:"customer,omitempty"` @@ -611,40 +611,41 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", + "xI+8JgAA", } // GetSwagger returns the content of the embedded swagger specification file