Skip to content

Commit b8657a1

Browse files
committed
Generate int properties using the blueprint isInt flag
Upgrade @seamapi/blueprint to 0.58.0, which adds the isInt flag to number properties, and @seamapi/types to 1.966.0, which restores the missing created_at property on error and warning resources. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EjeywMUAsXPYML3H7imc4H
1 parent 38ff400 commit b8657a1

17 files changed

Lines changed: 40 additions & 30 deletions

codegen/lib/map-php-type.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
1-
// Maps a blueprint JSON type to the PHP type used in generated declarations.
1+
// Maps a blueprint parameter or property to the PHP type used in generated
2+
// declarations.
23

3-
import type { Parameter } from '@seamapi/blueprint'
4+
import type { Parameter, Property } from '@seamapi/blueprint'
45

5-
export const getParameterPhpType = (parameter: Parameter): string =>
6-
parameter.format === 'number' && parameter.isInt
7-
? 'int'
8-
: getPhpType(parameter.jsonType)
6+
export const getPhpType = (schema: Parameter | Property): string => {
7+
if (schema.format === 'number' && schema.isInt) return 'int'
98

10-
export const getPhpType = (jsonType: string): string => {
11-
switch (jsonType) {
9+
switch (schema.jsonType) {
1210
case 'string':
1311
return 'string'
1412

codegen/lib/resource-model.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ const createResourceObjectProperty = (
136136
return {
137137
name: property.name,
138138
kind: 'value',
139-
phpType: getPhpType(property.jsonType),
139+
phpType: getPhpType(property),
140140
}
141141
}
142142

codegen/lib/routes.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import type Metalsmith from 'metalsmith'
1111
import type { PhpClient, PhpClientMethod } from './class-model.js'
1212
import { setObjectLayoutContext } from './layouts/object.js'
1313
import { setSeamClientLayoutContext } from './layouts/seam-client.js'
14-
import { getParameterPhpType } from './map-php-type.js'
14+
import { getPhpType } from './map-php-type.js'
1515
import { createResourceObjectModel } from './resource-model.js'
1616

1717
interface Metadata {
@@ -118,7 +118,7 @@ const createClientMethod = (endpoint: Endpoint): PhpClientMethod => {
118118
.filter((parameter) => !parameter.isUndocumented)
119119
.map((parameter) => ({
120120
name: parameter.name,
121-
type: getParameterPhpType(parameter),
121+
type: getPhpType(parameter),
122122
required: parameter.isRequired,
123123
// The primary identifier of a get endpoint always sorts first in the
124124
// method signature.

package-lock.json

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
},
1717
"devDependencies": {
1818
"@prettier/plugin-php": "^0.24.0",
19-
"@seamapi/blueprint": "^0.57.0",
19+
"@seamapi/blueprint": "^0.58.0",
2020
"@seamapi/smith": "^0.5.2",
21-
"@seamapi/types": "1.964.0",
21+
"@seamapi/types": "^1.966.0",
2222
"change-case": "^5.4.4",
2323
"prettier": "^3.0.0"
2424
}

src/Objects/AccessGrantRequestedAccessMethods.php

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Objects/AcsCredentialErrors.php

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Objects/AcsEntranceErrors.php

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Objects/ActionAttemptErrors.php

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Objects/ConnectedAccountSites.php

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)