snipe-it/routes/api.php

1261 lines
36 KiB
PHP
Raw Normal View History

<?php
2021-06-10 13:17:14 -07:00
use App\Http\Controllers\Api;
// use Illuminate\Http\Request;
2021-06-10 13:19:27 -07:00
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::group(['prefix' => 'v1', 'middleware' => ['api', 'throttle:api']], function () {
Route::get('/', function () {
return response()->json(
[
'status' => 'error',
'message' => '404 endpoint not found. This is the base URL for the API and does not return anything itself. Please check the API reference at https://snipe-it.readme.io/reference to find a valid API endpoint.',
'payload' => null,
], 404);
});
/**
* Account routes
*/
WIP - Improved requested assets (#5289) * WIP - beginning of improved requested assets - Use Ajax tables for faster loading - Use new notifications for requesting an asset TODO: - Use ajax tables for requestable asset models - Use new notifications for canceling an asset request - Expire requests once the asset has been checked out to the requesting user * Only show asset name in email if it has one * Refactor requested method to only include non-canceled requests * Refactored requestable assets to log request and cancelation * Added softdeletes on checkout requests * Differentiate between canceling and deleting requests * Added asset request cancelation notification * Added timestamps and corrected unique key on requests table * Improved requests view * Re-use blade for cancel/request email * Refactored BS table formatter for requested assets * Location name min reduced to 2 * Added PAT test as maintenance option This needs to be refactored into database-driven options with a UI * Better slack message * Added getImageUrl method for assets * Include qty in request notifications TODO: - Try to pull requested info from original request for cancelation, otherwise it will default to 1 * Removed old asset request/cancel emails * Added user profile asset request routes * Added profile controller requested assets method * Added blade link to requested assets for profile view * Sort user history desc * Added requested assets blade * Added canceled at to checkoutRequest method * Include qty in request * Fixed comment, removed allowed_columns * Removed Queable methods, since we don’t use a queue * Fixed return type in method doc * Fixed version number * Changed id to user_id for clarity
2018-04-04 17:33:02 -07:00
Route::group(['prefix' => 'account'], function () {
Route::get('requests',
[
Api\ProfileController::class,
'requestedAssets'
WIP - Improved requested assets (#5289) * WIP - beginning of improved requested assets - Use Ajax tables for faster loading - Use new notifications for requesting an asset TODO: - Use ajax tables for requestable asset models - Use new notifications for canceling an asset request - Expire requests once the asset has been checked out to the requesting user * Only show asset name in email if it has one * Refactor requested method to only include non-canceled requests * Refactored requestable assets to log request and cancelation * Added softdeletes on checkout requests * Differentiate between canceling and deleting requests * Added asset request cancelation notification * Added timestamps and corrected unique key on requests table * Improved requests view * Re-use blade for cancel/request email * Refactored BS table formatter for requested assets * Location name min reduced to 2 * Added PAT test as maintenance option This needs to be refactored into database-driven options with a UI * Better slack message * Added getImageUrl method for assets * Include qty in request notifications TODO: - Try to pull requested info from original request for cancelation, otherwise it will default to 1 * Removed old asset request/cancel emails * Added user profile asset request routes * Added profile controller requested assets method * Added blade link to requested assets for profile view * Sort user history desc * Added requested assets blade * Added canceled at to checkoutRequest method * Include qty in request * Fixed comment, removed allowed_columns * Removed Queable methods, since we don’t use a queue * Fixed return type in method doc * Fixed version number * Changed id to user_id for clarity
2018-04-04 17:33:02 -07:00
]
)->name('api.assets.requested');
Route::get('requestable/hardware',
[
Api\AssetsController::class,
'requestable'
]
)->name('api.assets.requestable');
Route::post('personal-access-tokens',
[
Api\ProfileController::class,
'createApiToken'
]
)->name('api.personal-access-token.create');
Route::get('personal-access-tokens',
[
Api\ProfileController::class,
'showApiTokens'
]
)->name('api.personal-access-token.index');
Route::delete('personal-access-tokens/{tokenId}',
[
Api\ProfileController::class,
'deleteApiToken'
]
)->name('api.personal-access-token.delete');
}); // end account group
/**
* Accessories routes
*/
Route::group(['prefix' => 'accessories'], function () {
Route::get('{accessory}/checkedout',
[
Api\AccessoriesController::class,
'checkedout'
]
)->name('api.accessories.checkedout');
Route::post('{accessory}/checkout',
[
Api\AccessoriesController::class,
'checkout'
]
)->name('api.accessories.checkout');
2019-08-14 22:33:56 -07:00
Route::post('{accessory}/checkin',
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
[
Api\AccessoriesController::class,
'checkin'
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
]
)->name('api.accessories.checkin');
Route::get('selectlist',
[
Api\AccessoriesController::class,
'selectlist'
]
)->name('api.accessories.selectlist');
}); // end accessories group
Route::resource('accessories',
Api\AccessoriesController::class,
['names' => [
'index' => 'api.accessories.index',
'show' => 'api.accessories.show',
'update' => 'api.accessories.update',
'store' => 'api.accessories.store',
'destroy' => 'api.accessories.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['accessory' => 'accessory_id'],
]
);
/**
* Categpries API routes
*/
Route::group(['prefix' => 'categories'], function () {
2017-10-28 11:17:52 -07:00
Route::get('{item_type}/selectlist',
[
Api\CategoriesController::class,
'selectlist'
]
)->name('api.categories.selectlist');
});
Route::resource('categories',
Api\CategoriesController::class,
['names' => [
'index' => 'api.categories.index',
'show' => 'api.categories.show',
'update' => 'api.categories.update',
'store' => 'api.categories.store',
'destroy' => 'api.categories.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['category' => 'category_id'],
2017-01-13 09:01:10 -08:00
]
); // end category API routes
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
/**
* Companies API routes
*/
Route::group(['prefix' => 'companies'], function () {
Route::get('selectlist',
[
Api\CompaniesController::class,
'selectlist'
]
)->name('api.companies.selectlist');
});
2017-10-26 16:37:41 -07:00
Route::resource('companies',
Api\CompaniesController::class,
['names' => [
'index' => 'api.companies.index',
'show' => 'api.companies.show',
'update' => 'api.companies.update',
'store' => 'api.companies.store',
'destroy' => 'api.companies.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['company' => 'company_id'],
2017-01-12 23:41:08 -08:00
]
); // end companies API routes
2017-01-12 19:41:01 -08:00
2017-05-22 21:31:47 -07:00
/**
* Departments API routes
*/
Route::group(['prefix' => 'departments'], function () {
Route::get('selectlist',
[
Api\DepartmentsController::class,
'selectlist'
]
)->name('api.departments.selectlist');
});
2017-01-12 19:41:01 -08:00
Route::resource('departments',
Api\DepartmentsController::class,
['names' => [
'index' => 'api.departments.index',
'show' => 'api.departments.show',
'update' => 'api.departments.update',
'store' => 'api.departments.store',
'destroy' => 'api.departments.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['department' => 'department_id'],
2017-01-12 19:41:01 -08:00
]
); // end departments API routes
2017-01-12 19:41:01 -08:00
/**
* Components API routes
*/
Route::group(['prefix' => 'components'], function () {
Route::get('selectlist',
2017-01-12 19:41:01 -08:00
[
Api\ComponentsController::class,
'selectlist'
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
]
)->name('api.components.selectlist');
2017-01-12 19:41:01 -08:00
Route::get('{component}/assets',
[
Api\ComponentsController::class,
'getAssets'
]
)->name('api.components.assets');
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
2022-07-20 13:41:35 -07:00
});
Route::post('components/{id}/checkin',
[
Api\ComponentsController::class,
'checkin'
]
)->name('api.components.checkin');
Route::post('components/{id}/checkout',
[
Api\ComponentsController::class,
'checkout'
]
)->name('api.components.checkout');
2019-08-14 22:33:56 -07:00
Squashed commit of the following: commit e321aeabaed580f8de6ee309b377654620f117be Merge: 8ec99ff43 37568ae9e Author: snipe <snipe@snipe.net> Date: Mon Aug 31 12:14:44 2020 -0700 Merge branch 'master' into integrations/2020-08-31-v5-rc # Conflicts: # .all-contributorsrc # .nvmrc # README.md # app/Console/Commands/LdapSync.php # app/Http/Controllers/Api/ConsumablesController.php # app/Http/Controllers/Api/ImportController.php # app/Http/Controllers/Assets/AssetsController.php # app/Http/Controllers/Auth/LoginController.php # app/Http/Controllers/CustomFieldsetsController.php # app/Http/Controllers/LicensesController.php # app/Http/Controllers/UsersController.php # app/Importer/import_mappings.md # app/Models/Ldap.php # app/Models/Loggable.php # composer.json # composer.lock # config/version.php # public/css/build/all.css # public/css/dist/all.css # public/css/skins/skin-contrast.css # public/css/skins/skin-contrast.css.map # public/js/build/all.js # public/js/build/vue.js # public/js/build/vue.js.map # public/js/dist/all.js # public/mix-manifest.json # resources/assets/js/components/importer/importer-file.vue # resources/assets/less/overrides.less # resources/macros/macros.php # resources/views/custom_fields/fieldsets/view.blade.php # resources/views/hardware/edit.blade.php # resources/views/hardware/labels.blade.php # resources/views/hardware/view.blade.php # resources/views/layouts/default.blade.php # resources/views/modals/model.blade.php # resources/views/modals/user.blade.php # resources/views/users/index.blade.php # routes/api.php # routes/web/fields.php # tests/unit/UserTest.php commit 37568ae9ec021789d910de91bdef5f64e517451a Merge: 01a832169 32ad9050c Author: snipe <snipe@snipe.net> Date: Tue Aug 25 20:49:37 2020 -0700 Merge pull request #8365 from snipe/fixes/8338_google_maps_CSP Fixed #8338 - Added google maps to CSP commit 32ad9050cff8a9bfc89e5a832a9bbf1ad03dadd3 Author: snipe <snipe@snipe.net> Date: Tue Aug 25 20:48:53 2020 -0700 Added google maps to CSP commit 01a832169c7572960340e743e569fe9ffdc3f996 Merge: bcad49ce7 3c6883489 Author: snipe <snipe@snipe.net> Date: Tue Aug 25 20:38:31 2020 -0700 Merge pull request #8364 from snipe/fixes/8335_assigned_to_null_on_status_assetlist Fixed #8335 - added assignedTo scope on status labels API call for assetlist commit 3c6883489c030df8d90e2f18cab3ad96121205e5 Author: snipe <snipe@snipe.net> Date: Tue Aug 25 20:37:30 2020 -0700 Added assignedTo scope commit bcad49ce79ad7aab99bec8b273a78bb531c48ef0 Author: snipe <snipe@snipe.net> Date: Fri Aug 14 16:10:22 2020 -0700 Try to better handle slack “too many requests” issue commit b5acca89d72a43f42fb81a4bf06e8b7c3da0b93b Author: snipe <snipe@snipe.net> Date: Fri Aug 14 16:02:15 2020 -0700 Check for admin for slack notifications commit e52919cf1b17871c6bf294cfb1a9be59f6033289 Merge: 714576be4 29f3a5c48 Author: snipe <snipe@snipe.net> Date: Fri Aug 14 15:35:15 2020 -0700 Merge pull request #8327 from snipe/features/checkin_license_from_all_users Checkin license from all users cli tool commit 29f3a5c48f9b9fc4fcfb19cc6eebb1ce1e0e5a91 Author: snipe <snipe@snipe.net> Date: Fri Aug 14 15:27:40 2020 -0700 Use more verbose annotation for Auth::user if/else commit 134e8e6fb9958e71b8fa960de53c041324bd9e1c Author: snipe <snipe@snipe.net> Date: Fri Aug 14 15:25:07 2020 -0700 Moved user email nulling until after the save commit 714576be45dabe9a2b23d3090ec0c72ab8ec28da Merge: b999c50a2 512899294 Author: Brady Wetherington <bwetherington@grokability.com> Date: Fri Aug 14 15:24:03 2020 -0700 Merge pull request #8328 from snipe/fix_deprecation_report Fix deprecation report for customers with many active assets commit 5128992940b8565e5e87a2a917d3bcde8e21b711 Author: Brady Wetherington <uberbrady@gmail.com> Date: Fri Aug 14 15:03:03 2020 -0700 Fix deprecation report for customers with many active assets commit 02913235020d242e959f274fec588d9ebf8e39fa Author: snipe <snipe@snipe.net> Date: Fri Aug 14 14:57:58 2020 -0700 Use the user as the target commit e0f6f9b83972ef9fde79dbc342555580a0574591 Author: snipe <snipe@snipe.net> Date: Fri Aug 14 14:43:37 2020 -0700 Artisan command to check in licenses from all users commit f1a6308002caa865fe1a9b17b91d34fbfdd94a75 Author: snipe <snipe@snipe.net> Date: Fri Aug 14 14:43:07 2020 -0700 Check for Auth::user before trying to log id (for cli) commit b999c50a2eef14bdf44be8e4359f794194170d2d Merge: 9ca20e496 e3906b245 Author: snipe <snipe@snipe.net> Date: Wed Aug 12 12:37:47 2020 -0700 Merge pull request #8316 from Godmartinz/bug/ch15028/missing-or-incorrect-error-message-translation Looks great, thank you! commit e3906b245c9b85eca723bffa88b9af28f290e0fe Author: Godfrey M <godmartinz@gmail.com> Date: Wed Aug 12 12:27:18 2020 -0700 added translation for admin/licenses/message.not_found commit 9ca20e4964e57621af8f6b2e790e0d68b69b1afb Merge: e0644dbbf 456a74d88 Author: Brady Wetherington <bwetherington@grokability.com> Date: Tue Aug 11 17:33:19 2020 -0700 Merge pull request #8313 from snipe/improve_ldap_search_error_reporting Improve ldap search error reporting commit 456a74d88c1b1f14828aaf63e5122eb8b6831755 Author: Brady Wetherington <uberbrady@gmail.com> Date: Tue Aug 11 16:41:20 2020 -0700 De-merge out incorrectly merged files. Whoops! commit 799c059070eff849c81550423d16344748522bc7 Author: Brady Wetherington <uberbrady@gmail.com> Date: Tue Aug 11 16:21:18 2020 -0700 Add internationalized version of LDAP error message commit c62d43a77831dd798054b95e7ad9e72210f6accf Author: Brady Wetherington <uberbrady@gmail.com> Date: Mon Aug 10 17:04:17 2020 -0700 Improve Exception management in Artisan LDAP Sync method. Still need to localize this better commit b725bd0fae2b062d81a460283aa07b2186a99197 Author: Brady Wetherington <uberbrady@gmail.com> Date: Mon Aug 10 17:23:04 2020 -0700 Add @PeterUpfold as a contributor commit e0644dbbf6b5601b6712ca16877b481799e9652c Merge: 5b6925b00 004ecad05 Author: Brady Wetherington <bwetherington@grokability.com> Date: Mon Aug 10 17:22:31 2020 -0700 Merge pull request #8105 from PeterUpfold/PeterUpfold-7661workaround Propose workaround for #7661 — suppress E_DEPRECATED on ldap_control_paged_result() commit 5b6925b00c04b1abdea0235d04dda32c89215201 Author: snipe <snipe@snipe.net> Date: Tue Aug 4 21:00:37 2020 -0700 Removed debugging :( commit df17a859bfab8876d3e849c42692e01bdfdbd886 Author: snipe <snipe@snipe.net> Date: Tue Aug 4 20:59:54 2020 -0700 Changed modal IDs so manager creation modal works on user creation main page commit 24c43056ba9e738334eb2310db7c9920d9ab0613 Author: snipe <snipe@snipe.net> Date: Tue Aug 4 20:58:28 2020 -0700 Moved pGenerator script to default layout footer This fixes an issue where the password generator wouldn’t load in a modal in Chrome commit 606b7e905df1918336cef64984e54207ca6a7644 Author: snipe <snipe@snipe.net> Date: Fri Jul 31 17:02:33 2020 -0700 Small edits to PR template Slight text changes to ask specifics about versions commit d73ddad477cb9c675f15fbd54bdb1486bf8f14fc Author: snipe <snipe@snipe.net> Date: Fri Jul 31 16:59:26 2020 -0700 Created a PR template First draft of the PR guidelines template commit 9a39cf721e82aa25623e41eeb280d7bed3b3c178 Merge: 7410b1683 8994f3e15 Author: snipe <snipe@snipe.net> Date: Fri Jul 31 12:18:49 2020 -0700 Merge pull request #8258 from ballertv/features/consumable-api This looks great, thank you! commit 7410b16835bab1563bf2b7baaddb55377083a3a0 Merge: e955c983a b09e7d19b Author: Brady Wetherington <bwetherington@grokability.com> Date: Fri Jul 24 16:22:44 2020 -0700 Merge pull request #8270 from snipe/improve_ad_useraccountcontrol_v4 Add new useraccountcontrol value for valid AD users commit 8994f3e15e9fef5d1ec9c44764b424fa7edf9448 Author: andres <andresgutierrez535@gmail.com> Date: Wed Jul 22 19:57:06 2020 -0400 cleanup commit d23f1a77cac396a3a4962c5993cf1bdbfcf52a29 Author: andres <andresgutierrez535@gmail.com> Date: Wed Jul 22 18:46:02 2020 -0400 implement checkout API commit e955c983a3a9bd7793cf9a5f63b6e2c56d53d63f Merge: 2fa17ac18 eed41e454 Author: snipe <snipe@snipe.net> Date: Wed Jul 22 13:43:29 2020 -0700 Merge pull request #8250 from snipe/features/adds_addr_city_state_to_importer Added address, city, state and country to importer and city to bulk editor commit b09e7d19b3bc424d5960de9f5ffd272b2f19c272 Author: Brady Wetherington <uberbrady@gmail.com> Date: Wed Jul 22 13:32:16 2020 -0700 Add new useraccountcontrol value for valid AD users; document algorithm and values commit 2fa17ac18557969f5627953f6d041610207656a6 Merge: b90515437 3b1e46f72 Author: snipe <snipe@snipe.net> Date: Wed Jul 22 12:06:31 2020 -0700 Merge pull request #8254 from Godmartinz/gmartinez_adds_email_formats Added firstinitial.lastname, lastname_firstinitial, firstnamelastname… commit 3b1e46f72b81bd27e5ba0783c88f9d0d0038d611 Author: Godfrey Martinez <47435081+Godmartinz@users.noreply.github.com> Date: Wed Jul 22 11:25:57 2020 -0700 Update general.php commit 0c1a1de2a21dfd3639e3d2d2df995c3452c15a11 Author: Godfrey Martinez <47435081+Godmartinz@users.noreply.github.com> Date: Wed Jul 22 11:24:36 2020 -0700 Update general.php fixed typo commit 20c9ae5818ae22846bf2149f261e7f70cc8a7c71 Author: Godfrey M <godmartinz@gmail.com> Date: Wed Jul 22 10:21:19 2020 -0700 Added firstinitial.lastname, lastname_firstinitial, firstnamelastname and firstnamelastinitial to username formats commit eed41e454962bb6e9e6cbcf79cb4aed292ac2bbf Author: snipe <snipe@snipe.net> Date: Tue Jul 21 16:57:32 2020 -0700 Moved address down further, fixed broken HTML commit b750f4754f5f4245c0f490f6b6832b4c10615f27 Author: snipe <snipe@snipe.net> Date: Tue Jul 21 16:49:54 2020 -0700 Added city to bulk user importer commit c17a06792a76ee11215bd576f2df9732416b3e9d Author: snipe <snipe@snipe.net> Date: Tue Jul 21 16:49:38 2020 -0700 Added address, city, state, country to user importer commit 4f76cc6cfbad1eeded1981e8569e915ca37b87d9 Author: snipe <snipe@snipe.net> Date: Tue Jul 21 16:46:13 2020 -0700 I don’t actually know what this file is for commit b905154373bcf0b1ef64d57bb95f184557caba37 Author: snipe <snipe@snipe.net> Date: Mon Jul 20 14:29:32 2020 -0700 Fixed #8247 - added notes field to user details display commit daf748e531324215bfd746b406407fee7476d0ab Author: snipe <snipe@snipe.net> Date: Fri Jul 17 12:32:01 2020 -0700 Bumped hash commit 799a93c46a198a8235bbce1527ea7bf4929129c2 Author: snipe <snipe@snipe.net> Date: Fri Jul 17 12:11:32 2020 -0700 Allow for email/username search on users commit 34aa12e229fef497b355a492b5ef2c003337786b Merge: 81a633288 897757bd0 Author: snipe <snipe@snipe.net> Date: Thu Jul 16 17:44:13 2020 -0700 Merge pull request #8239 from snipe/fixes/api_rtd_to_location_on_create Set location_id to rtd_location_id on asset creation commit 897757bd0461cefd2e82aba344d416ed6843c49c Author: snipe <snipe@snipe.net> Date: Thu Jul 16 17:43:44 2020 -0700 Removed added line for location commit c7125c39375b101f852930536dabcc079f2d5e88 Author: snipe <snipe@snipe.net> Date: Thu Jul 16 16:34:39 2020 -0700 Set location_id to rtd_location_id on asset creation commit 81a6332889e9e4684ee65a669bc2b3bc1a3ced50 Author: snipe <snipe@snipe.net> Date: Tue Jul 14 13:55:38 2020 -0700 Removed license ID from seats table cookie info This typically wouldn’t be necessary, since most people would want to view the same *types* of data across licenses commit 6e563f6e4bfd9f8b52c8c8d39a60b466e64ba654 Merge: 5320f5c67 7f69ae953 Author: snipe <snipe@snipe.net> Date: Mon Jul 13 21:16:54 2020 -0700 Merge branch 'master' of https://github.com/snipe/snipe-it commit 5320f5c67ce7dbf4605cc5b7fd7be8773c8ee157 Author: snipe <snipe@snipe.net> Date: Mon Jul 13 21:16:45 2020 -0700 Disallow non-super users from editing their own permissions commit 7f69ae953b7990107bd0db3de16621e5238136e9 Merge: c79f8c1ba 17f6fbabf Author: snipe <snipe@snipe.net> Date: Mon Jul 13 21:16:00 2020 -0700 Merge pull request #8227 from snipe/fix_select2_ajax_pulldowns Changes how we do AJAX calls via Select2 for dynamic drop-down menus commit 17f6fbabfaa15f203a6accecf6a7b83c35d56ef8 Author: Brady Wetherington <uberbrady@gmail.com> Date: Mon Jul 13 21:12:03 2020 -0700 Switch to 'items' to maintain compatbility with other internal API's commit c79f8c1baf920f41d43827094691275eec529448 Merge: 12c92e30b 536401fe0 Author: snipe <snipe@snipe.net> Date: Mon Jul 13 17:42:16 2020 -0700 Merge pull request #8207 from EDVLeer/patch-1 Update snipeit.sh commit e7a820f7c91c14280f96e0e58f9921f73cf88c43 Author: Brady Wetherington <uberbrady@gmail.com> Date: Mon Jul 13 17:14:31 2020 -0700 Changes how we do AJAX calls via Select2 for dynamic drop-down menus commit 12c92e30b7a20ecd0e45b5a052b43c81dd35cc97 Author: snipe <snipe@snipe.net> Date: Fri Jul 10 16:21:27 2020 -0700 Show whether or not the user was imported via LDAP in the view page commit fd10b755b0241e354a265454c13965228a265a85 Author: snipe <snipe@snipe.net> Date: Fri Jul 10 11:30:01 2020 -0700 Removed the sr-only tag in table headers It was breaking Bootstrap Tables column selector :( commit dbbb7680d9d92ab42ffcca825fd93ff6cc3e5f89 Author: snipe <snipe@snipe.net> Date: Thu Jul 9 21:12:50 2020 -0700 A few more fixes for the cli Do not check out a piece of software if it’s already been checked out to the user commit cf0dd5bbadef3689dd9110d96e7d060ddb5fc827 Author: snipe <snipe@snipe.net> Date: Thu Jul 9 20:43:13 2020 -0700 Small fixes for cli tool commit 25e53d8c7f4ba1d5977bb5fbc5265ac9c8c543d9 Merge: ec6ed256f 89d433b41 Author: snipe <snipe@snipe.net> Date: Thu Jul 9 20:27:01 2020 -0700 Merge pull request #8216 from snipe/features/checkout_license_to_all_users Added CLI tool to checkout license to all users commit 89d433b41aa0de862cb60142c8d6ef80f339a958 Author: snipe <snipe@snipe.net> Date: Thu Jul 9 20:26:02 2020 -0700 Removed duplicate seat call commit e2570ada6f158dfc9acead583a0b2fa7fae17ca6 Author: snipe <snipe@snipe.net> Date: Thu Jul 9 20:04:05 2020 -0700 CLI tool to checkout a license to ALL users commit 45afe725a1f039dddd87537e16470963684f0711 Author: snipe <snipe@snipe.net> Date: Thu Jul 9 20:03:47 2020 -0700 Only try to get the company if there is an auth’d user (Needed for command line tools, where no Auth::user() is present) commit 536401fe0ff97cd6a8077cef993bfe755ed46851 Author: EDVLeer <32170051+EDVLeer@users.noreply.github.com> Date: Tue Jul 7 08:21:36 2020 +0200 Update snipeit.sh Ubuntu 20.04 commit ec6ed256fbc7740f76ee22867b6fe2008ff7873e Author: snipe <snipe@snipe.net> Date: Mon Jul 6 18:45:43 2020 -0700 Bumped minor version commit 2aaa7bed2d4fad6e8f7b101ecdae1f46ab8a00c2 Merge: 339bdddc3 cc9f1577a Author: snipe <snipe@snipe.net> Date: Thu Jun 25 18:37:41 2020 -0700 Merge pull request #8183 from snipe/features/merge_users Added merge utility commit cc9f1577a47708a6e11dffeab4797982be243cfa Author: snipe <snipe@snipe.net> Date: Thu Jun 25 17:43:53 2020 -0700 Removed unused use directives commit ab1fe8be0c72522273c468dfd5551553d9f92665 Author: snipe <snipe@snipe.net> Date: Thu Jun 25 17:42:39 2020 -0700 Added merge utility commit 339bdddc384aa655fa186dc36e02cc587487d4af Author: snipe <snipe@snipe.net> Date: Thu Jun 25 11:00:33 2020 -0700 Fix for Vue js not loading due to CSP :( commit 35b9cf4b703b9ced785daec1d35973ca266cdc49 Author: snipe <snipe@snipe.net> Date: Tue Jun 23 02:41:59 2020 -0700 Fixed missing db prefix on scopeDueOrOverdueForAudit commit 7ccb41371e0efc46d51abc790f49a9fb73e9b8bc Author: snipe <snipe@snipe.net> Date: Tue Jun 23 01:09:39 2020 -0700 Removed unoptimized images directive securityheaders.com is claiming it’s onrecognized, even though I got that directive from their site, so… whatever. ¯\_(ツ)_/¯ commit 2e60a457bf45640a0563a2bc4b66e02b0d226271 Author: snipe <snipe@snipe.net> Date: Tue Jun 23 01:07:00 2020 -0700 Dumb fix for feature-policy being dumb. commit 2390d2160bff7b4b340696fa527b1bc871bddff1 Merge: b42801f6a 00b051b8c Author: snipe <snipe@snipe.net> Date: Tue Jun 23 00:27:47 2020 -0700 Merge pull request #8164 from snipe/features/additional_security_headers Additional security headers commit 00b051b8c7f1af5218a11f2b33fcab37934bd894 Author: snipe <snipe@snipe.net> Date: Tue Jun 23 00:26:09 2020 -0700 Added a few more comments commit 05b3a9ad7e72cc71b09ed8ef2e87db19fa3700ee Author: snipe <snipe@snipe.net> Date: Mon Jun 22 23:17:27 2020 -0700 Config variable for HSTS commit 4fb880384fd455bd59a3b91c4244c392d7198c48 Author: snipe <snipe@snipe.net> Date: Mon Jun 22 22:37:14 2020 -0700 Changed comment commit 43042ad8412d8d89a9b09e47e5da8b276c9655f2 Author: snipe <snipe@snipe.net> Date: Mon Jun 22 22:35:59 2020 -0700 Consolidated ReferrerPolicy into new SecurityHeaders file commit a716382ac43d0a58b96604a3ec15e389b7ae97c2 Author: snipe <snipe@snipe.net> Date: Mon Jun 22 22:33:37 2020 -0700 Removed CSP middleware (it’s added in the general header) commit 36c8f7f4f116666c63ae7bc0d12e15f77a8fd6bc Author: snipe <snipe@snipe.net> Date: Mon Jun 22 22:31:01 2020 -0700 Additional security headers commit b42801f6ae635e843d9e062b4119d86fb3d05fc6 Merge: de4934f21 946129f20 Author: snipe <snipe@snipe.net> Date: Mon Jun 22 20:47:35 2020 -0700 Merge pull request #8163 from snipe/fixes/fix-for-css-on-column-selector Fixed weird padlock display in asset listing with encrypted custom fields commit 946129f20614e65bbbecbbda70cfba81b89d0937 Author: snipe <snipe@snipe.net> Date: Mon Jun 22 20:45:20 2020 -0700 Made quote style consistent commit b941ef1e08f84f40f503db6ebe67d0e8dca9c74a Author: snipe <snipe@snipe.net> Date: Mon Jun 22 20:41:40 2020 -0700 Pulled CSS font awesome styles out of the blade and into overrides.css commit d1aa11ec89347fb2c139d751719c4459c2448321 Author: snipe <snipe@snipe.net> Date: Mon Jun 22 20:29:19 2020 -0700 Fix for weird padlock display in asset listing with encrypted custom fields commit de4934f21d34a628e57992fc6a59813f42c55d90 Merge: af06e4205 b10076b01 Author: snipe <snipe@snipe.net> Date: Mon Jun 22 17:28:38 2020 -0700 Merge pull request #8162 from Godmartinz/godfreymartinez-ghi-font-size-of-qr_text Fixed #8161 and #8114 - font-size for labels used static values in blade instead of using values from settings commit b10076b015ac0034fded62548135aaff3f1b2a0a Author: Godfrey M <godmartinz@gmail.com> Date: Mon Jun 22 17:04:39 2020 -0700 corrected an error where font-size for labels were static in settings. commit af06e4205627b29f583b2e2e770fd2913fce5e46 Author: snipe <snipe@snipe.net> Date: Wed Jun 17 11:17:25 2020 -0700 Bumped version commit 9a2440dc4b98a9c12b38a04504875c7c196a510c Merge: beae8efb2 2ac1c1636 Author: snipe <snipe@snipe.net> Date: Tue Jun 16 20:20:07 2020 -0700 Merge pull request #8141 from snipe/fixes/better_handling_when_license_is_invalid Better handle the logic to determine if we should display the license checkout blade [ch13792] commit 2ac1c1636c672db59d601bd5c73d4a8023533ec9 Author: snipe <snipe@snipe.net> Date: Tue Jun 16 16:12:57 2020 -0700 Better handle the logic to determine if we should display the license checkout blade commit 004ecad059d636cc5be62aa5f112e3c4f9762326 Author: Peter Upfold <pgithub@upfold.org.uk> Date: Wed Jun 3 08:59:50 2020 +0100 Force suppress deprecation warning on ldap_control_paged_result() commit beae8efb21c2675b3da4308a87d911c534e70361 Merge: d14ab7e3e 9839e5e56 Author: snipe <snipe@snipe.net> Date: Wed May 27 23:01:33 2020 -0700 Merge pull request #8088 from Godmartinz/Label_Woes Barcode resizing and text adjustment commit 9839e5e566f51f85abe6860dfc8377042834c89b Author: Godfrey M <godmartinz@gmail.com> Date: Wed May 27 12:27:40 2020 -0700 adjusted for all label text, removed local variable commit d14ab7e3e1bf09c931ad148fdb6b65ee5a3dc7b8 Author: snipe <snipe@snipe.net> Date: Wed May 27 00:22:44 2020 -0700 Porting change from #8053 to master Signed-off-by: snipe <snipe@snipe.net> commit e7f74d94c179730f8b8502da5e2c1c90fa8ec594 Author: Godfrey M <godmartinz@gmail.com> Date: Tue May 26 17:22:45 2020 -0700 Label_Woes commit e97cf011b65df9e66826c26464fed7bf4001917a Author: Godfrey M <godmartinz@gmail.com> Date: Tue May 26 17:15:39 2020 -0700 Label_Woes commit ed23505054cd1bdf2ef695b6b010e025382f38da Author: Godfrey M <godmartinz@gmail.com> Date: Tue May 26 17:10:45 2020 -0700 Label_Woes commit 001e721530c41fd8ad8e925cecdef2eb8c96ab4c Merge: f88683766 8210da6e8 Author: snipe <snipe@snipe.net> Date: Wed May 20 10:21:52 2020 -0700 Merge pull request #8063 from dmeltzer/backport-8092 BACKPORT: Fix Missing Category selection in Asset Model Modal dialog - [ch14635] commit 8210da6e82018afab07197abe591a7666a56af21 Author: Daniel Meltzer <dmeltzer.devel@gmail.com> Date: Wed May 20 10:29:27 2020 -0400 Fix Missing Category selection in Asset Model Modal dialog. A select html tag needs a full closing tag. is not valid. This was causing the select2 js to barf and eat additional information. commit f88683766b1c7e9636aebe2fc952e6f036d3882c Author: snipe <snipe@snipe.net> Date: Thu May 14 00:55:47 2020 -0700 Roll back previous change Signed-off-by: snipe <snipe@snipe.net> commit e4385c0f8c584061670a1f98b13bbe90a124ac05 Author: snipe <snipe@snipe.net> Date: Thu May 14 00:48:30 2020 -0700 Fixes #8051 regression Signed-off-by: snipe <snipe@snipe.net> commit 0550fe0ffa4e5569bd7ca28354ca282ca2ef2825 Author: snipe <snipe@snipe.net> Date: Tue May 12 10:31:54 2020 -0700 Fix for session fixation vulnerability Signed-off-by: snipe <snipe@snipe.net> commit 7fb3a9b82c09b3aab65bf2b00f76efc66356155e Merge: 9a2ed804c ecb1e87fe Author: snipe <snipe@snipe.net> Date: Mon May 11 22:41:36 2020 -0700 Merge pull request #8043 from snipe/features/backup-optional-in-import-and-ldap Added option to disable backup in import commit ecb1e87fe6e7ab67900936a0f158670cc4c21c56 Author: snipe <snipe@snipe.net> Date: Mon May 11 20:45:15 2020 -0700 Updated assets Signed-off-by: snipe <snipe@snipe.net> commit f43df5f04147ded31cc625ef92f87127993e94b3 Author: snipe <snipe@snipe.net> Date: Mon May 11 20:44:46 2020 -0700 Fixed form label Signed-off-by: snipe <snipe@snipe.net> commit 95cc48e422e54b373d3a88d20d15d7536a323dce Author: snipe <snipe@snipe.net> Date: Mon May 11 20:41:10 2020 -0700 Added option to disable backup in import Signed-off-by: snipe <snipe@snipe.net> commit 9a2ed804ca9f71a9705da604a2c721ceeb9a5567 Author: snipe <snipe@snipe.net> Date: Mon May 11 20:28:42 2020 -0700 Fixed mismatched HTML header tags Signed-off-by: snipe <snipe@snipe.net> commit d20fad28e5e807c7577d9bd0e5146e5607affa33 Author: snipe <snipe@snipe.net> Date: Mon May 11 20:28:24 2020 -0700 Use more modern request helper Signed-off-by: snipe <snipe@snipe.net> commit ae813ddf75b21c45420016033c667ee35a9fc52b Author: snipe <snipe@snipe.net> Date: Mon May 11 18:11:16 2020 -0700 Add @alek13 as a contributor commit bb42109c0c76b6709f39190ae4a1daa55865d306 Author: snipe <snipe@snipe.net> Date: Mon May 11 18:10:45 2020 -0700 Added a clarifying comment Signed-off-by: snipe <snipe@snipe.net> commit f46ecf8ec0c1723e2e04036357c74644c30d4cb7 Author: snipe <snipe@snipe.net> Date: Mon May 11 18:07:20 2020 -0700 Updated composer lock Signed-off-by: snipe <snipe@snipe.net> commit b9e821c0e65e0745064b42aa6cccf9627c5df3e6 Author: snipe <snipe@snipe.net> Date: Mon May 11 18:07:14 2020 -0700 Small fix for Group Functional Tests Signed-off-by: snipe <snipe@snipe.net> commit 9ee28c7513616018f8ff0b8f5b167469e19070eb Author: snipe <snipe@snipe.net> Date: Mon May 11 18:07:02 2020 -0700 Switched to use info instead of danger on undeployable statuses Signed-off-by: snipe <snipe@snipe.net> commit 1a8ba06702727b1de870d05df53443270b35b8b7 Merge: 0fd232e70 ee4d69b1c Author: snipe <snipe@snipe.net> Date: Mon May 11 17:53:32 2020 -0700 Merge branch 'master' of https://github.com/snipe/snipe-it commit 0fd232e70d2be9ce845a73745ac98800bcfef9e2 Author: snipe <snipe@snipe.net> Date: Mon May 11 17:53:24 2020 -0700 Fixed group functional test (We had changed the minimum to 2 instead of 3) Signed-off-by: snipe <snipe@snipe.net> commit ee4d69b1c59c6baf832574da9e9bbbe67248a4bc Merge: 31c535094 d1ad11194 Author: snipe <snipe@snipe.net> Date: Mon May 11 17:52:45 2020 -0700 Merge pull request #8041 from alek13/patch-1 use supported package for slack commit d1ad11194936c51050d2e7a77d01c0daa1dde4fd Author: Alexander Chibrikin <alek13.me@gmail.com> Date: Mon May 11 20:31:13 2020 +0300 use supported package for slack see https://github.com/maknz/slack/issues/94 commit 31c5350941c7330aed01652b0670b61f6660b15b Author: snipe <snipe@snipe.net> Date: Fri May 1 01:05:48 2020 -0700 Fixed incorrect route for groups edit Signed-off-by: snipe <snipe@snipe.net> commit 7eb70e17e0b4d0f1ed1fe3ed7fbff1728eb077fb Merge: 5bb4f271a 3dfcb4699 Author: snipe <snipe@snipe.net> Date: Fri Apr 24 04:50:37 2020 -0700 Merge pull request #7993 from snipe/fixes/7989_column_selector Fixed #7989 - Converted table heading icons in People to CSS glyphs commit 3dfcb469910456b3213e00c5cd2f839d25dbf2c7 Author: snipe <snipe@snipe.net> Date: Fri Apr 24 04:41:08 2020 -0700 Minor formatting changes Signed-off-by: snipe <snipe@snipe.net> commit 96eb96f964c40b798d5ceed25eff2bbef4f0bc51 Author: snipe <snipe@snipe.net> Date: Fri Apr 24 04:27:00 2020 -0700 Removed stray val (typo) Signed-off-by: snipe <snipe@snipe.net> commit a2f08bd3baa6fb23633ceb58e5408b125b0f0029 Author: snipe <snipe@snipe.net> Date: Fri Apr 24 04:08:54 2020 -0700 Added comments Signed-off-by: snipe <snipe@snipe.net> commit e009fbe59f39a717a4ad7bea5027d39cb5323225 Author: snipe <snipe@snipe.net> Date: Fri Apr 24 04:04:53 2020 -0700 Converted table heading icons in People to CSS glyphs Signed-off-by: snipe <snipe@snipe.net> commit 5bb4f271aaa42a0c211d25e06a500a76c5a224f4 Author: snipe <snipe@snipe.net> Date: Fri Apr 24 00:47:19 2020 -0700 Fixed #7987 - allow toggle of required/optional in custom fields/fieldsets Signed-off-by: snipe <snipe@snipe.net>
2020-08-31 12:17:19 -07:00
Route::resource('components',
Api\ComponentsController::class,
['names' => [
'index' => 'api.components.index',
'show' => 'api.components.show',
'update' => 'api.components.update',
'store' => 'api.components.store',
'destroy' => 'api.components.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['component' => 'component_id'],
]
); // end components API routes
/**
* Consumables API routes
*/
Route::group(['prefix' => 'consumables'], function () {
Route::get('selectlist',
2017-01-12 19:41:01 -08:00
[
Api\ConsumablesController::class,
'selectlist'
]
)->name('api.consumables.selectlist');
Route::get('{id}/users',
[
Api\ConsumablesController::class,
'getDataView'
]
)->name('api.consumables.show.users');
2022-07-20 13:41:35 -07:00
Route::post('{consumable}/checkout',
[
Api\ConsumablesController::class,
'checkout'
]
)->name('api.consumables.checkout');
});
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
Route::resource('consumables',
Api\ConsumablesController::class,
['names' => [
'index' => 'api.consumables.index',
'show' => 'api.consumables.show',
'update' => 'api.consumables.update',
'store' => 'api.consumables.store',
'destroy' => 'api.consumables.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['consumable' => 'consumable_id'],
]
); // end consumables API routes
/**
* Depreciations API routes
*/
Route::resource('depreciations',
Api\DepreciationsController::class,
['names' => [
'index' => 'api.depreciations.index',
'show' => 'api.depreciations.show',
'update' => 'api.depreciations.update',
'store' => 'api.depreciations.store',
'destroy' => 'api.depreciations.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['depreciations' => 'depreciation_id'],
]
); // end depreciations API routes
Route::get('reports/depreciation',
[
Api\AssetsController::class,
'index'
]
)->name('api.depreciation-report.index');
/**
* Fields API routes
*/
Route::group(['prefix' => 'fields'], function () {
Route::post('fieldsets/{id}/order',
[
Api\CustomFieldsController::class,
'postReorder'
]
)->name('api.customfields.order');
Route::post('{field}/associate',
[
Api\CustomFieldsController::class,
'associate'
]
)->name('api.customfields.associate');
Route::post('{field}/disassociate',
[
Api\CustomFieldsController::class,
'disassociate'
]
)->name('api.customfields.disassociate');
});
Route::resource('fields',
Api\CustomFieldsController::class,
['names' =>
[
'index' => 'api.customfields.index',
'show' => 'api.customfields.show',
'update' => 'api.customfields.update',
'store' => 'api.customfields.store',
'destroy' => 'api.customfields.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['field' => 'field_id'],
]
); // end custom fields API routes
/**
* Fieldsets API routes
*/
Route::group(['prefix' => 'fieldsets'], function () {
Route::post('{fieldset}/fields',
[
Api\CustomFieldsetsController::class,
'fields'
]
)->name('api.fieldsets.fields');
Route::post('{fieldset}/fields/{model}',
[
Api\CustomFieldsetsController::class,
'fieldsWithDefaultValues'
]
)->name('api.fieldsets.fields-with-default-value');
});
Route::resource('fieldsets',
Api\CustomFieldsetsController::class,
['names' => [
'index' => 'api.fieldsets.index',
'show' => 'api.fieldsets.show',
'update' => 'api.fieldsets.update',
'store' => 'api.fieldsets.store',
'destroy' => 'api.fieldsets.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['fieldset' => 'fieldset_id'],
]
); // end custom fieldsets API routes
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
/**
* Groups API routes
*/
Route::resource('groups',
Api\GroupsController::class,
['names' => [
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
'index' => 'api.groups.index',
'show' => 'api.groups.show',
'update' => 'api.groups.update',
'store' => 'api.groups.store',
'destroy' => 'api.groups.destroy',
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
],
'except' => ['create', 'edit'],
'parameters' => ['group' => 'group_id'],
]
); // end groups API routes
/**
* Assets API routes
*/
Route::group(['prefix' => 'hardware'], function () {
Route::get('selectlist',
[
Api\AssetsController::class,
'selectlist'
]
)->name('assets.selectlist');
Route::get('{asset_id}/licenses',
[
Api\AssetsController::class,
'licenses'
]
)->name('api.assets.licenselist');
Route::get('bytag/{tag}',
[
Api\AssetsController::class,
'showByTag'
]
)->name('assets.show.bytag');
Route::get('bytag/{any}',
[
Api\AssetsController::class,
'showByTag'
]
)->name('api.assets.show.bytag')
->where('any', '.*');
2022-06-28 23:11:57 -07:00
Route::post('bytag/{any}/checkout',
[
Api\AssetsController::class,
'checkoutByTag'
]
)->name('api.assets.checkout.bytag');
Route::post('bytag/{any}/checkin',
[
Api\AssetsController::class,
'checkinbytag'
]
)->name('api.asset.checkinbytagPath');
Route::post('checkinbytag',
[
Api\AssetsController::class,
'checkinbytag'
]
)->name('api.asset.checkinbytag');
Route::get('byserial/{any}',
[
Api\AssetsController::class,
'showBySerial'
]
)->name('api.assets.show.byserial')
->where('any', '.*');
// LEGACY URL - Get assets that are due or overdue for audit
Route::get('audit/{status}',
[
Api\AssetsController::class,
'index'
]
)->name('api.asset.to-audit');
// This gets the "due or overdue" API endpoints for audits and checkins
Route::get('{action}/{upcoming_status}',
[
Api\AssetsController::class,
'index'
]
)->name('api.assets.list-upcoming')
->where(['action' => 'audits|checkins', 'upcoming_status' => 'due|overdue|due-or-overdue']);
Route::post('audit',
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
[
Api\AssetsController::class,
'audit'
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
]
)->name('api.asset.audit');
2017-01-13 03:19:39 -08:00
Route::post('{id}/checkin',
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
[
Api\AssetsController::class,
'checkin'
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
]
)->name('api.asset.checkin');
2017-01-13 03:19:39 -08:00
Route::post('{id}/checkout',
[
Api\AssetsController::class,
'checkout'
]
)->name('api.asset.checkout');
Route::post('{asset_id}/restore',
[
Api\AssetsController::class,
'restore'
]
)->name('api.assets.restore');
Route::post('{asset_id}/files',
[
Api\AssetFilesController::class,
'store'
]
2024-07-12 12:58:17 -07:00
)->name('api.assets.files.store');
Route::get('{asset_id}/files',
[
Api\AssetFilesController::class,
'list'
]
2024-07-12 12:58:17 -07:00
)->name('api.assets.files.index');
2017-01-13 03:19:39 -08:00
2024-04-30 15:12:39 -07:00
Route::get('{asset_id}/file/{file_id}',
[
Api\AssetFilesController::class,
'show'
]
2024-07-12 12:58:17 -07:00
)->name('api.assets.files.show');
2024-04-30 15:12:39 -07:00
2024-05-01 10:46:23 -07:00
Route::delete('{asset_id}/file/{file_id}',
[
Api\AssetFilesController::class,
'destroy'
]
2024-07-12 12:58:17 -07:00
)->name('api.assets.files.destroy');
2024-05-01 10:46:23 -07:00
});
2017-01-13 03:19:39 -08:00
Route::resource('hardware',
Api\AssetsController::class,
['names' => [
'index' => 'api.assets.index',
'show' => 'api.assets.show',
'update' => 'api.assets.update',
'store' => 'api.assets.store',
'destroy' => 'api.assets.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['asset' => 'asset_id'],
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
]
); // end assets API routes
/**
* Asset maintenances API routes
*/
Route::resource('maintenances',
Api\AssetMaintenancesController::class,
['names' => [
'index' => 'api.maintenances.index',
'show' => 'api.maintenances.show',
'update' => 'api.maintenances.update',
'store' => 'api.maintenances.store',
'destroy' => 'api.maintenances.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['maintenance' => 'maintenance_id'],
]
); // end assets API routes
2018-01-10 18:47:27 -08:00
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
/**
* Imports API routes
*/
Route::group(['prefix' => 'imports'], function () {
Route::post('process/{import}',
[
Api\ImportController::class,
'process'
]
)->name('api.imports.importFile');
});
Route::resource('imports',
Api\ImportController::class,
['names' => [
'index' => 'api.imports.index',
'show' => 'api.imports.show',
'update' => 'api.imports.update',
'store' => 'api.imports.store',
'destroy' => 'api.imports.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['import' => 'import_id'],
]
); // end imports API routes
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
2022-11-01 04:57:51 -07:00
/**
* Labels API routes
*/
Route::group(['prefix' => 'labels'], function() {
Route::get('{name}', [ Api\LabelsController::class, 'show'])
->where('name', '.*')
->name('api.labels.show');
Route::get('', [ Api\LabelsController::class, 'index'])
->name('api.labels.index');
});
2017-01-12 19:41:01 -08:00
/**
* Licenses API routes
*/
Route::group(['prefix' => 'licenses'], function () {
2017-10-26 21:51:09 -07:00
Route::get('selectlist',
[
Api\LicensesController::class,
'selectlist'
2017-10-26 21:51:09 -07:00
]
)->name('api.licenses.selectlist');
2017-10-26 21:51:09 -07:00
});
Route::resource('licenses',
Api\LicensesController::class,
['names' => [
'index' => 'api.licenses.index',
'show' => 'api.licenses.show',
'update' => 'api.licenses.update',
'store' => 'api.licenses.store',
'destroy' => 'api.licenses.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['licenses' => 'license_id'],
2017-01-12 19:41:01 -08:00
]
);
2017-01-12 19:41:01 -08:00
2017-01-12 02:20:32 -08:00
Route::resource('licenses.seats',
Api\LicenseSeatsController::class,
['names' => [
'index' => 'api.licenses.seats.index',
'show' => 'api.licenses.seats.show',
'update' => 'api.licenses.seats.update',
],
'except' => ['create', 'edit', 'destroy', 'store'],
'parameters' => ['licenseseat' => 'licenseseat_id'],
]
); // end license API routes
2017-01-11 18:14:06 -08:00
/**
* Locations API routes
*/
Route::group(['prefix' => 'locations'], function () {
Route::get('selectlist',
[
Api\LocationsController::class,
'selectlist'
]
)->name('api.locations.selectlist');
2017-01-11 18:14:06 -08:00
Route::get('{location}/users',
[
Api\LocationsController::class,
'getDataViewUsers'
]
)->name('api.locations.viewusers');
2017-10-28 08:38:00 -07:00
Route::get('{location}/assets',
2017-10-28 08:38:00 -07:00
[
Api\LocationsController::class,
'getDataViewAssets'
2017-10-28 08:38:00 -07:00
]
)->name('api.locations.viewassets');
});
Route::resource('locations',
Api\LocationsController::class,
['names' => [
'index' => 'api.locations.index',
'show' => 'api.locations.show',
'update' => 'api.locations.update',
'store' => 'api.locations.store',
'destroy' => 'api.locations.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['location' => 'location_id'],
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
]
); // end locations API routes
/**
* Manufacturers API routes
*/
Route::group(['prefix' => 'manufacturers'], function () {
Route::get('selectlist',
[
Api\ManufacturersController::class,
'selectlist'
]
)->name('api.manufacturers.selectlist');
Route::post('{id}/restore',
[
Api\ManufacturersController::class,
'restore'
]
)->name('api.manufacturers.restore');
});
Route::resource('manufacturers',
Api\ManufacturersController::class,
['names' => [
'index' => 'api.manufacturers.index',
'show' => 'api.manufacturers.show',
'update' => 'api.manufacturers.update',
'store' => 'api.manufacturers.store',
'destroy' => 'api.manufacturers.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['manufacturer' => 'manufacturer_id'],
]
); // end manufacturers API routes
/**
* Asset models API routes
*/
Route::group(['prefix' => 'models'], function () {
Route::get('selectlist',
[
Api\AssetModelsController::class,
'selectlist'
]
)->name('api.models.selectlist');
Route::get('assets',
[
Api\AssetModelsController::class,
'assets'
]
)->name('api.models.assets');
Route::post('{id}/restore',
[
Api\AssetModelsController::class,
'restore'
]
)->name('api.models.restore');
});
Route::resource('models',
Api\AssetModelsController::class,
['names' => [
'index' => 'api.models.index',
'show' => 'api.models.show',
'update' => 'api.models.update',
'store' => 'api.models.store',
'destroy' => 'api.models.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['model' => 'model_id'],
]
); // end asset models API routes
/**
* Settings API routes
*/
Route::group(['middleware'=> ['auth', 'authorize:superuser'], 'prefix' => 'settings'], function () {
Route::get('ldaptest',
[
Api\SettingsController::class,
'ldaptest'
]
)->name('api.settings.ldaptest');
Route::post('purge_barcodes',
[
Api\SettingsController::class,
'purgeBarcodes'
]
)->name('api.settings.purgebarcodes');
Route::get('login-attempts',
[
Api\SettingsController::class,
'showLoginAttempts'
]
)->name('api.settings.login_attempts');
Route::post('ldaptestlogin',
[
Api\SettingsController::class,
'ldaptestlogin'
]
)->name('api.settings.ldaptestlogin');
Route::post('slacktest',
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
[
Api\SettingsController::class,
'slacktest'
REST API - Refactoring of routes file, more tests added (#3345) * Toggles the disabled state of auto_increment_prefix To insert a prefix you had to toggle the checkbox, save the settings and reload. With this script it is immediate. Fixes #1390 * Delete asset image: made checkbox more visible Related to #3153 * Added personal-access-token component * Created basic API testing configuration * First version of /components endpoind cest * On-the-fly bearer token generation * Completed testing of PATCH and PUT methods * Added /components/{id}/assets route with tests * Updated route and dataTable in view * Completed test assertion * Added links to assets in ComponentsAssets view * Linked Company in AssetView page * Fixed purchase_cost format expectation in ApiComponentsCest * Refactored api routes file Sorted all prefixes in alphabetical order, removed duplicate routes. For every prefix I placed first Route::resource and then any additional route in a Route::group. Expanded arrays for readability and consistency. Removed useless calls as create and edit everywhere. * Refactored and added one more test to ApiComponentsAssetsCest * Marked one test as incomplete, 404 response should return json * Fixed value expectation * Refactored getToken() * Added API debugging routes * Added more information to ValidationException reporting Now the payload contains the validation errors for each invalid attribute. * /apitests: refactored expectations in component assertions * Created ApiAssetsCest * /apitests: Cleanup in Exceptions/Handler * Reverted change to use * Marked two tests as incomplete, looking for solutions
2017-02-23 16:32:35 -08:00
]
)->name('api.settings.slacktest');
2016-12-14 10:54:05 -08:00
Route::post('mailtest',
[
Api\SettingsController::class,
'ajaxTestEmail'
]
)->name('api.settings.mailtest');
Route::get('backups',
[
Api\SettingsController::class,
'listBackups'
]
)->name('api.settings.backups.index');
Route::get('backups/download/latest',
[
Api\SettingsController::class,
'downloadLatestBackup'
]
)->name('api.settings.backups.latest');
Route::get('backups/download/{file}',
[
Api\SettingsController::class,
'downloadBackup'
]
)->name('api.settings.backups.download');
});
Route::resource('settings',
Api\SettingsController::class,
['names' => [
'index' => 'api.settings.index',
'show' => 'api.settings.show',
'update' => 'api.settings.update',
'store' => 'api.settings.store',
'destroy' => 'api.settings.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['setting' => 'setting_id'],
]
); // end settings API
/**
* Status labels API routes
*/
Route::group(['prefix' => 'statuslabels'], function () {
Route::get('selectlist',
[
Api\StatuslabelsController::class,
'selectlist'
]
)->name('api.statuslabels.selectlist');
Route::get('assets/name',
[
Api\StatuslabelsController::class,
'getAssetCountByStatuslabel'
]
)->name('api.statuslabels.assets.byname');
Route::get('assets/type',
[
Api\StatuslabelsController::class,
'getAssetCountByMetaStatus'
]
)->name('api.statuslabels.assets.bytype');
Route::get('{id}/assetlist',
[
Api\StatuslabelsController::class,
'assets'
]
)->name('api.statuslabels.assets');
Route::get('{statuslabel}/deployable',
[
Api\StatuslabelsController::class,
'checkIfDeployable'
]
)->name('api.statuslabels.deployable');
Route::get('selectlist',
[
Api\StatuslabelsController::class,
'selectlist'
]
)->name('api.statuslabels.selectlist');
});
Route::resource('statuslabels',
Api\StatuslabelsController::class,
['names' => [
'index' => 'api.statuslabels.index',
'show' => 'api.statuslabels.show',
'update' => 'api.statuslabels.update',
'store' => 'api.statuslabels.store',
'destroy' => 'api.statuslabels.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['statuslabel' => 'statuslabel_id'],
]
); // end status labels API routes
/**
* Suppliers API routes
*/
Route::group(['prefix' => 'suppliers'], function () {
Route::get('selectlist',
[
Api\SuppliersController::class,
'selectlist'
]
)->name('api.suppliers.selectlist');
});
Route::resource('suppliers',
Api\SuppliersController::class,
['names' => [
'index' => 'api.suppliers.index',
'show' => 'api.suppliers.show',
'update' => 'api.suppliers.update',
'store' => 'api.suppliers.store',
'destroy' => 'api.suppliers.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['supplier' => 'supplier_id'],
]
); // end suppliers API routes
2019-12-19 18:00:36 -08:00
2017-01-18 04:58:56 -08:00
/**
* Users API routes
*/
Route::group(['prefix' => 'users'], function () {
2017-05-23 09:24:53 -07:00
Route::get('selectlist',
[
Api\UsersController::class,
'selectlist'
]
)->name('api.users.selectlist');
Route::post('two_factor_reset',
[
Api\UsersController::class,
'postTwoFactorReset'
]
)->name('api.users.two_factor_reset');
2018-10-19 07:30:25 -07:00
Route::get('me',
[
Api\UsersController::class,
'getCurrentUserInfo'
]
)->name('api.users.me');
2018-10-19 07:30:25 -07:00
Route::get('list/{status?}',
2018-10-19 07:30:25 -07:00
[
Api\UsersController::class,
'getDatatable'
2018-10-19 07:30:25 -07:00
]
)->name('api.users.list');
Route::get('{user}/assets',
2018-10-19 07:30:25 -07:00
[
Api\UsersController::class,
'assets'
2018-10-19 07:30:25 -07:00
]
)->name('api.users.assetlist');
Route::post('{user}/email',
[
Api\UsersController::class,
'emailAssetList'
]
)->name('api.users.email_assets');
Route::get('{user}/accessories',
2018-10-19 07:30:25 -07:00
[
Api\UsersController::class,
'accessories'
2018-10-19 07:30:25 -07:00
]
)->name('api.users.accessorieslist');
2018-10-19 07:30:25 -07:00
Route::get('{user}/licenses',
2018-10-19 07:30:25 -07:00
[
Api\UsersController::class,
'licenses'
2018-10-19 07:30:25 -07:00
]
)->name('api.users.licenselist');
Route::post('{user}/upload',
2018-10-19 07:30:25 -07:00
[
Api\UsersController::class,
'postUpload'
2018-10-19 07:30:25 -07:00
]
)->name('api.users.uploads');
2021-09-21 10:36:11 -07:00
Route::post('{user}/restore',
[
Api\UsersController::class,
'restore'
]
)->name('api.users.restore');
});
Route::resource('users',
Api\UsersController::class,
['names' => [
'index' => 'api.users.index',
'show' => 'api.users.show',
'update' => 'api.users.update',
'store' => 'api.users.store',
'destroy' => 'api.users.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['user' => 'user_id'],
]
); // end users API routes
2017-05-23 09:24:53 -07:00
/**
* Kits API routes
*/
Route::resource('kits',
Api\PredefinedKitsController::class,
['names' => [
'index' => 'api.kits.index',
'show' => 'api.kits.show',
'update' => 'api.kits.update',
'store' => 'api.kits.store',
'destroy' => 'api.kits.destroy',
],
'except' => ['create', 'edit'],
'parameters' => ['kit' => 'kit_id'],
]
); // end kits API routes
Route::group(['prefix' => 'kits/{kit_id}'], function () {
// kit licenses
Route::get('licenses',
[
Api\PredefinedKitsController::class,
'indexLicenses'
]
)->name('api.kits.licenses.index');
Route::post('licenses',
[
Api\PredefinedKitsController::class,
'storeLicense'
]
)->name('api.kits.licenses.store');
Route::put('licenses/{license_id}',
[
Api\PredefinedKitsController::class,
'updateLicense'
]
)->name('api.kits.licenses.update');
Route::delete('licenses/{license_id}',
[
Api\PredefinedKitsController::class,
'detachLicense'
]
)->name('api.kits.licenses.destroy');
// kit models
Route::get('models',
[
Api\PredefinedKitsController::class,
'indexModels'
]
)->name('api.kits.models.index');
Route::post('models',
[
Api\PredefinedKitsController::class,
'storeModel'
]
)->name('api.kits.models.store');
Route::put('models/{model_id}',
[
Api\PredefinedKitsController::class,
'updateModels'
]
)->name('api.kits.models.update');
Route::delete('models/{model_id}',
[
Api\PredefinedKitsController::class,
'detachModels'
]
)->name('api.kits.models.destroy');
// kit accessories
Route::get('accessories',
[
Api\PredefinedKitsController::class,
'indexAccessories'
]
)->name('api.kits.accessories.index');
Route::post('accessories',
[
Api\PredefinedKitsController::class,
'storeAccessory'
]
)->name('api.kits.accessories.store');
Route::put('accessories/{accessory_id}',
[
Api\PredefinedKitsController::class,
'updateAccessory'
]
)->name('api.kits.accessories.update');
Route::delete('accessories/{accessory_id}',
[
Api\PredefinedKitsController::class,
'detachAccessory'
]
)->name('api.kits.accessories.destroy');
// kit consumables
Route::get('consumables',
[
Api\PredefinedKitsController::class,
'indexConsumables'
]
)->name('api.kits.consumables.index');
Route::post('consumables',
[
Api\PredefinedKitsController::class,
'storeConsumable'
]
)->name('api.kits.consumables.store');
Route::put('consumables/{consumable_id}',
[
Api\PredefinedKitsController::class,
'updateConsumable'
]
)->name('api.kits.consumables.update');
Route::delete('consumables/{consumable_id}',
[
Api\PredefinedKitsController::class,
'detachConsumable'
]
)->name('api.kits.consumables.destroy');
}); // end consumable routes
/**
* Reports API routes
*/
Route::group(['prefix' => 'reports'], function () {
Route::get('activity',
[
Api\ReportsController::class,
'index'
]
)->name('api.activity.index');
}); // end reports api routes
2023-02-20 01:19:18 -08:00
/**
* Version API routes
*/
Route::get('/version', function () {
return response()->json(
[
'version' => config('version.app_version'),
], 200);
}); // end version api routes
Route::fallback(function () {
return response()->json(
[
'status' => 'error',
'message' => '404 endpoint not found. Please check the API reference at https://snipe-it.readme.io/reference to find a valid API endpoint.',
'payload' => null,
], 404);
}); // end fallback routes
}); // end API routes