agent/api.js
Snider 6bd5049aff
feat: /core:api generate API client from routes (#84)
This commit introduces a new `/core:api generate` command that generates a TypeScript/JavaScript API client or an OpenAPI specification from a project's Laravel API routes.

The implementation includes:

- A PHP script that uses regular expressions to parse the `routes/api.php` file and extract route information.
- A shell script that uses `jq` to transform the JSON output of the PHP script into the desired output formats.
- Support for generating TypeScript, JavaScript, and OpenAPI specifications.
- Updated documentation in the `README.md` file.

Challenges:

An attempt was made to parse the routes by bootstrapping a minimal Laravel application, but a persistent Composer issue prevented the installation of the necessary dependencies. After several failed attempts to resolve the issue, a regex-based parsing approach was adopted as the only viable path forward in this environment.
2026-02-02 07:20:47 +00:00

26 lines
610 B
JavaScript

// Generated from routes/api.php
export const api = {
auth: {
login: (data) => fetch(`/api/auth/login`, {
method: "POST",
body: JSON.stringify(data)
}),
},
users: {
list: () => fetch(`/api/users`, {
}),
create: (data) => fetch(`/api/users`, {
method: "POST",
body: JSON.stringify(data)
}),
get: (user) => fetch(`/api/users/{user}`, {
}),
update: (user, data) => fetch(`/api/users/{user}`, {
method: "PUT",
body: JSON.stringify(data)
}),
delete: (user) => fetch(`/api/users/{user}`, {
method: "DELETE",
}),
},
};