anteris-dev / autotask-client-generator
This package is the brains behind the Autotask API client. It generates each service class using the Autotask API as its guide.
Package info
github.com/Anteris-Dev/autotask-client-generator
pkg:composer/anteris-dev/autotask-client-generator
Requires
- ext-json: *
- guzzlehttp/guzzle: ^6.3|^7.0
- illuminate/collections: ^9.19
- illuminate/support: ^9.0
- phpoption/phpoption: ^1.7
- spatie/data-transfer-object: ^3.0
- symfony/console: ^5.1
- twig/twig: ^3.0
- vlucas/phpdotenv: ^5.1
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
This package is the brains behind the Autotask API client. It generates each service class using the Autotask API as its guide.
To Install
Run composer require --dev anteris-dev/autotask-client-generator
Commands
This package provides command line commands. These are listed below.
Make Endpoint
Running vendor/bin/autotask make:endpoint <entity> will create new endpoint classes for <entity>. <entity> should be the singular or plural form of an Autotask endpoint (e.g. "Ticket" or "Tickets" respectively).
You may pass the argument --output=<directory> to set the directory to write these classes in.
You may pass the argument --force to overwrite existing classes.
You may pass the argument --no-cache to redownload the entity information from Autotask.
Make Defaults
Running vendor/bin/autotask make:defaults will create new endpoint classes for all known Autotask endpoints.
You may pass the argument --output=<directory> to set the directory to write these classes in.
You may pass the argument --force to overwrite existing classes.
You may pass the argument --no-cache to redownload the entity information from Autotask.
Make Support Files
Running vendor/bin/autotask make:support-files will generate support classes that are used across multiple domains. Examples of these classes are http clients, entity classes, etc.
You may pass the argument --output=<directory> to set the directory to write these classes in.
You may pass the argument --force to overwrite existing classes.
Directory Structure
- /bin - Contains the command line logic for the
autotaskcommand. - /src - Contains the generator source code.
- /Commands - Contains any Symfony commands that the
autotaskcommand supports. - /Generators - Contains classes concerned with converting entity information into an actual class.
- /Helpers - Contains static function helpers that are used throughout the package.
- /Responses - Contains data transfer objects for storing the entity information responses from Autotask.
- /Support - Contains any classes used across multiple domains.
- /Writers - Contains classes concerned with writing strings to files.
- Generator.php - The main generator class. In charge of everything.
- /Commands - Contains any Symfony commands that the
- /templates - Contains Twig templates for the generated package.
- /Package - These templates are related to the actual package.
- /Tests - These templates are related to the package tests.