Skip to content

Commit

Permalink
fix: Generate PHP SDK from OpenAPI spec imported from @seamapi/types (
Browse files Browse the repository at this point in the history
#98)

* Generate PHP SDK from OpenAPI spec imported from @seamapi/types

* Set type to module

* ci: Generate code

* Fix tests

---------

Co-authored-by: Seam Bot <[email protected]>
  • Loading branch information
andrii-balitskyi and seambot authored Apr 15, 2024
1 parent ddc8358 commit a5349ea
Show file tree
Hide file tree
Showing 73 changed files with 3,350 additions and 2,963 deletions.
484 changes: 473 additions & 11 deletions package-lock.json

Large diffs are not rendered by default.

8 changes: 5 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
{
"name": "@seamapi/php",
"version": "2.0.0",
"type": "module",
"private": true,
"license": "MIT",
"scripts": {
"generate": "./scripts/generate.sh",
"generate": "node ./scripts/generate.js",
"postgenerate": "prettier --write --ignore-path .gitignore ."
},
"devDependencies": {
"@prettier/plugin-php": "^0.22.1",
"@seamapi/nextlove-sdk-generator": "^1.6.1",
"@seamapi/types": "^1.75.0",
"@seamapi/nextlove-sdk-generator": "1.8.2",
"@seamapi/types": "1.157.1",
"del": "^7.1.0",
"prettier": "^3.0.0"
}
}
37 changes: 37 additions & 0 deletions scripts/generate.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import { generatePhpSDK, writeFs } from "@seamapi/nextlove-sdk-generator"
import { openapi } from "@seamapi/types/connect"
import path from "node:path"
import { fileURLToPath } from "node:url"
import { deleteAsync } from "del"

const PHP_SDK_DIRECTORY_PREFIX = "src/"
const PROJECT_ROOT_PATH = path.resolve(
path.dirname(fileURLToPath(import.meta.url)),
"../",
)
const MAIN_SEAM_DIR_PATH = path.resolve(
PROJECT_ROOT_PATH,
PHP_SDK_DIRECTORY_PREFIX,
)

const main = async () => {
try {
await deleteAsync(MAIN_SEAM_DIR_PATH)

const pythonSdkFileSystem = await generatePhpSDK({
openApiSpecObject: openapi,
})

const seamFiles = Object.entries(pythonSdkFileSystem).filter(([fileName]) =>
fileName.startsWith(PHP_SDK_DIRECTORY_PREFIX),
)

writeFs(PROJECT_ROOT_PATH, Object.fromEntries(seamFiles))

console.log("PHP SDK generated successfully!")
} catch (error) {
console.error("Failed to generate SDK:", error)
}
}

await main()
56 changes: 28 additions & 28 deletions src/Objects/AccessCode.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 10 additions & 10 deletions src/Objects/AcsAccessGroup.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

38 changes: 19 additions & 19 deletions src/Objects/AcsCredential.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions src/Objects/AcsCredentialPool.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions src/Objects/AcsCredentialProvisioningAutomation.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions src/Objects/AcsCredentialVisionlineMetadata.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions src/Objects/AcsCredentialWarnings.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions src/Objects/AcsEntrance.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions src/Objects/AcsEntranceLatchMetadata.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit a5349ea

Please sign in to comment.