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.
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
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
autotask
command. - /src - Contains the generator source code.
- /Commands - Contains any Symfony commands that the
autotask
command 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.