From c04315469d5e044ceed18298fa7489ab59a43bb5 Mon Sep 17 00:00:00 2001 From: Dasc3er Date: Mon, 20 Jul 2026 12:14:54 +0200 Subject: [PATCH] Add PHP client for API --- .gitignore | 2 ++ .yarnrc.yml | 7 +++++++ package.json | 9 ++++++--- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 0dfab3b09e..f51d4a6cfa 100755 --- a/.gitignore +++ b/.gitignore @@ -110,3 +110,5 @@ codeception.yml openapi.json assets/api openapitools.json +src/generated +src/OpenAPI \ No newline at end of file diff --git a/.yarnrc.yml b/.yarnrc.yml index 3186f3f079..063ed60164 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -1 +1,8 @@ +approvedGitRepositories: + - "**" + +enableScripts: true + nodeLinker: node-modules + +npmMinimalAgeGate: 0 diff --git a/package.json b/package.json index 5b06fc0d20..2dc6d943e5 100644 --- a/package.json +++ b/package.json @@ -103,9 +103,12 @@ "rector": "vendor/bin/rector process", "setup-corepack": "npm install -g corepack && corepack enable", "export-openapi": "php artisan api:openapi:export --output=openapi.json", + "update-openapi-client": "npm run copy-vendor-css-folder && npm run-script export-openapi && npm run update-openapi-client-js && npm run update-openapi-client-php", "fix-openapi-js": "node -e \"require('fs').writeFileSync('assets/api/src/main.js', \\\"import * as API from './index';global.window.API = API;\\\");\"", - "copy-vendor-css-folder": "node -e \"const fs = require('fs'); const sourceFolder = './vendor/api-platform/laravel/public'; const destFolder = './assets/dist/apiplatform'; const copyFolder = (src, dest) => { if (!fs.existsSync(dest)) fs.mkdirSync(dest); fs.readdirSync(src).forEach(file => { const srcFile = path.join(src, file); const destFile = path.join(dest, file); if (fs.statSync(srcFile).isDirectory()) copyFolder(srcFile, destFile); else fs.copyFileSync(srcFile, destFile); }); }; copyFolder(sourceFolder, destFolder);\"", - "update-openapi-client": "npm run copy-vendor-css-folder && npm run-script export-openapi && npx @openapitools/openapi-generator-cli generate -i openapi.json -g javascript -o assets/api --skip-validate-spec && npm run-script fix-openapi-js && cd ./assets/api && npm install && npx babel src -d dist && cd ../.. && npx browserify -y ./assets/api/dist/main.js -o ./assets/dist/js/api.js" + "copy-folder": "node -e \"const fs = require('fs'), p = require('path'); const sourceFolder = p.resolve(process.env.SRC); const destFolder = p.resolve(process.env.DEST); const copyFolder = (src, dest) => { if (!fs.existsSync(dest)) fs.mkdirSync(dest, { recursive: true }); fs.readdirSync(src).forEach(file => { const srcFile = p.join(src, file); const destFile = p.join(dest, file); if (fs.statSync(srcFile).isDirectory()) copyFolder(srcFile, destFile); else fs.copyFileSync(srcFile, destFile); }); }; copyFolder(sourceFolder, destFolder);\"", + "copy-vendor-css-folder": "SRC=./vendor/api-platform/laravel/public DEST=./assets/dist/apiplatform npm run copy-folder", + "update-openapi-client-js": "npx @openapitools/openapi-generator-cli generate -i openapi.json -g javascript -o assets/api --skip-validate-spec && npm run-script fix-openapi-js && cd ./assets/api && npm install && npx babel src -d dist && cd ../.. && npx browserify -y ./assets/api/dist/main.js -o ./assets/dist/js/api.js", + "update-openapi-client-php": "npx @openapitools/openapi-generator-cli generate -i openapi.json -g php -o src/generated --skip-validate-spec && SRC=./src/generated/lib DEST=./src/OpenAPI/Client npm run copy-folder && rm -rf src/generated" }, - "packageManager": "yarn@4.12.0" + "packageManager": "yarn@4.17.1" }