Initial project setup: Add contracts, API definitions, tests, and documentation
- Add Foundry project configuration (foundry.toml, foundry.lock) - Add Solidity contracts (TokenFactory138, BridgeVault138, ComplianceRegistry, etc.) - Add API definitions (OpenAPI, GraphQL, gRPC, AsyncAPI) - Add comprehensive test suite (unit, integration, fuzz, invariants) - Add API services (REST, GraphQL, orchestrator, packet service) - Add documentation (ISO20022 mapping, runbooks, adapter guides) - Add development tools (RBC tool, Swagger UI, mock server) - Update OpenZeppelin submodules to v5.0.0
This commit is contained in:
45
api/tools/openapi-generator/generate-sdks.sh
Executable file
45
api/tools/openapi-generator/generate-sdks.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
# Generate SDKs from OpenAPI specification
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
API_DIR="$SCRIPT_DIR/../.."
|
||||
OPENAPI_SPEC="$API_DIR/packages/openapi/v1/openapi.yaml"
|
||||
|
||||
echo "Generating SDKs from OpenAPI specification..."
|
||||
|
||||
# TypeScript SDK
|
||||
echo "Generating TypeScript SDK..."
|
||||
pnpm exec @openapitools/openapi-generator-cli generate \
|
||||
-i "$OPENAPI_SPEC" \
|
||||
-g typescript-axios \
|
||||
-o "$API_DIR/sdk-templates/typescript" \
|
||||
--additional-properties=npmName=@emoney/sdk-js,npmVersion=1.0.0,withInterfaces=true
|
||||
|
||||
# Python SDK
|
||||
echo "Generating Python SDK..."
|
||||
pnpm exec @openapitools/openapi-generator-cli generate \
|
||||
-i "$OPENAPI_SPEC" \
|
||||
-g python \
|
||||
-o "$API_DIR/sdk-templates/python" \
|
||||
--additional-properties=packageName=emoney_sdk,packageVersion=1.0.0
|
||||
|
||||
# Go SDK
|
||||
echo "Generating Go SDK..."
|
||||
pnpm exec @openapitools/openapi-generator-cli generate \
|
||||
-i "$OPENAPI_SPEC" \
|
||||
-g go \
|
||||
-o "$API_DIR/sdk-templates/go" \
|
||||
--additional-properties=packageName=emoney,packageVersion=1.0.0
|
||||
|
||||
# Java SDK
|
||||
echo "Generating Java SDK..."
|
||||
pnpm exec @openapitools/openapi-generator-cli generate \
|
||||
-i "$OPENAPI_SPEC" \
|
||||
-g java \
|
||||
-o "$API_DIR/sdk-templates/java" \
|
||||
--additional-properties=groupId=com.emoney,artifactId=emoney-sdk,packageVersion=1.0.0
|
||||
|
||||
echo "SDK generation complete!"
|
||||
|
||||
20
api/tools/openapi-generator/package.json
Normal file
20
api/tools/openapi-generator/package.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "@emoney/openapi-generator",
|
||||
"version": "1.0.0",
|
||||
"description": "OpenAPI to SDK generation tooling",
|
||||
"scripts": {
|
||||
"generate:typescript": "pnpm exec openapi-generator-cli generate -i ../../packages/openapi/v1/openapi.yaml -g typescript-axios -o ../../sdk-templates/typescript",
|
||||
"generate:python": "pnpm exec openapi-generator-cli generate -i ../../packages/openapi/v1/openapi.yaml -g python -o ../../sdk-templates/python",
|
||||
"generate:go": "pnpm exec openapi-generator-cli generate -i ../../packages/openapi/v1/openapi.yaml -g go -o ../../sdk-templates/go",
|
||||
"generate:java": "pnpm exec openapi-generator-cli generate -i ../../packages/openapi/v1/openapi.yaml -g java -o ../../sdk-templates/java",
|
||||
"generate:postman": "pnpm exec openapi2postmanv2 -s ../../packages/openapi/v1/openapi.yaml -o ../../packages/postman/eMoney-API.postman_collection.json"
|
||||
},
|
||||
"dependencies": {
|
||||
"@openapitools/openapi-generator-cli": "^2.7.0",
|
||||
"openapi-to-postmanv2": "^4.24.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.10.0"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user