# Installation The instructions below will help you to properly installand run the generated package to the lavalite project. ## Location Extract the package contents to the folder `/packages/litecms/snagging/` ## Composer Add the below entries in the `composer.json`. ```json ... "repositories": { ... { "type": "path", "url": "packages/litecms/snagging" } ... }, ... ``` Then run `composer require litecms/snagging` ## Migration and seeds ``` php artisan migrate php artisan db:seed --class=Litecms\\Snagging\\Seeders\\SnaggingTableSeeder ``` ## Publishing * Configuration ``` php artisan vendor:publish --provider="Litecms\Snagging\Providers\SnaggingServiceProvider" --tag="config" ``` * Language ``` php artisan vendor:publish --provider="Litecms\Snagging\Providers\SnaggingServiceProvider" --tag="lang" ``` * Views ``` php artisan vendor:publish --provider="Litecms\Snagging\Providers\SnaggingServiceProvider" --tag="view" ``` ## URLs and APIs ### Web Urls * Admin ``` http://path-to-route-folder/admin/snagging/{modulename} ``` * User ``` http://path-to-route-folder/user/snagging/{modulename} ``` * Public ``` http://path-to-route-folder/snaggings ``` ### API endpoints These endpoints can be used with or without `/api/` And also the user can be varied depend on the type of users, eg user, client, admin etc. #### Resource * List ``` http://path-to-route-folder/api/user/snagging/{modulename} METHOD: GET ``` * Create ``` http://path-to-route-folder/api/user/snagging/{modulename} METHOD: POST ``` * Edit ``` http://path-to-route-folder/api/user/snagging/{modulename}/{id} METHOD: PUT ``` * Delete ``` http://path-to-route-folder/api/user/snagging/{modulename}/{id} METHOD: DELETE ``` #### Public * List ``` http://path-to-route-folder/api/snagging/{modulename} METHOD: GET ``` * Single Item ``` http://path-to-route-folder/api/snagging/{modulename}/{slug} METHOD: GET ``` #### Others * Report ``` http://path-to-route-folder/api/user/snagging/{modulename}/report/{report} METHOD: GET ``` * Export/Import ``` http://path-to-route-folder/api/user/snagging/{modulename}/exim/{exim} METHOD: POST ``` * Action ``` http://path-to-route-folder/api/user/snagging/{modulename}/action/{id}/{action} METHOD: PATCH ``` * Actions ``` http://path-to-route-folder/api/user/snagging/{modulename}/actions/{action} METHOD: PATCH ``` * Workflow ``` http://path-to-route-folder/api/user/snagging/{modulename}/workflow/{id}/{transition} METHOD: PATCH ```