routes/api.php (81 lines of code) (raw):

<?php use Illuminate\Support\Facades\Route; Route::apiResource('statistics', 'Statistics\\ApiStatisticsController', ['only' => ['index']])->name('index', 'api.statistics'); Route::resource('compliance', 'Settings\\ApiComplianceController', ['only' => ['index', 'show']]); Route::resource('currencies', 'Settings\\ApiCurrencyController', ['only' => ['index', 'show']])->name('index', 'api.currencies'); Route::group(['middleware' => ['auth:api']], function () { Route::get('/', 'ApiController@success')->name('api'); Route::name('api.')->group(function () { // Me Route::get('/me', 'Account\\ApiUserController@show'); Route::get('/me/compliance', 'Account\\ApiUserController@getSignedPolicies'); Route::get('/me/compliance/{id}', 'Account\\ApiUserController@get'); Route::post('/me/compliance', 'Account\\ApiUserController@set'); // Contacts Route::apiResource('contacts', 'ApiContactController') ->names(['index' => 'contacts', 'show' => 'contact']); Route::put('/me/contact/{contact}', 'ApiContactController@setMe'); Route::delete('/me/contact', 'ApiContactController@removeMe'); // Contacts properties Route::put('/contacts/{contact}/work', 'ApiContactController@updateWork'); Route::put('/contacts/{contact}/food', 'ApiContactController@updateFoodPreferences'); Route::put('/contacts/{contact}/introduction', 'ApiContactController@updateIntroduction'); // Genders Route::apiResource('genders', 'Account\\ApiGenderController'); // Relationships Route::apiResource('relationships', 'ApiRelationshipController', ['except' => ['index']]) ->names(['show' => 'relationship']); Route::get('/contacts/{contact}/relationships', 'ApiRelationshipController@index') ->name('relationships'); // Sets tags Route::post('/contacts/{contact}/setTags', 'ApiContactTagController@setTags'); Route::post('/contacts/{contact}/unsetTags', 'ApiContactTagController@unsetTags'); Route::post('/contacts/{contact}/unsetTag', 'ApiContactTagController@unsetTag'); // Places Route::apiResource('places', 'Account\\ApiPlaceController'); // Addresses Route::apiResource('addresses', 'Contact\\ApiAddressController') ->names(['index' => 'addresses', 'show' => 'address']); Route::get('/contacts/{contact}/addresses', 'Contact\\ApiAddressController@addresses'); // Contact Fields Route::apiResource('contactfields', 'ApiContactFieldController', ['except' => ['index']]); Route::get('/contacts/{contact}/contactfields', 'ApiContactFieldController@contactFields'); // Pets Route::apiResource('pets', 'ApiPetController'); Route::get('/contacts/{contact}/pets', 'ApiPetController@pets'); // Tags Route::apiResource('tags', 'ApiTagController'); Route::get('/tags/{tag}/contacts', 'ApiTagController@contacts'); // Companies Route::apiResource('companies', 'Account\\ApiCompanyController'); // Occupations Route::apiResource('occupations', 'Contact\\ApiOccupationController'); // Notes Route::apiResource('notes', 'ApiNoteController') ->names(['index' => 'notes', 'show' => 'note']); Route::get('/contacts/{contact}/notes', 'ApiNoteController@notes'); // Calls Route::apiResource('calls', 'Contact\\ApiCallController') ->names(['index' => 'calls', 'show' => 'call']); Route::get('/contacts/{contact}/calls', 'Contact\\ApiCallController@calls'); // Conversations & messages Route::apiResource('conversations', 'Contact\\ApiConversationController') ->names(['index' => 'conversations', 'show' => 'conversation']); Route::apiResource('conversations/{conversation}/messages', 'Contact\\ApiMessageController', ['except' => ['index', 'show']]); Route::get('/contacts/{contact}/conversations', 'Contact\\ApiConversationController@conversations'); // Activities Route::apiResource('activities', 'ApiActivitiesController') ->names(['index' => 'activities', 'show' => 'activity']); Route::get('/contacts/{contact}/activities', 'ApiActivitiesController@activities'); // Reminders Route::apiResource('reminders', 'ApiReminderController'); Route::get('/contacts/{contact}/reminders', 'ApiReminderController@reminders'); // Tasks Route::apiResource('tasks', 'ApiTaskController'); Route::get('/contacts/{contact}/tasks', 'ApiTaskController@tasks'); // Gifts Route::apiResource('gifts', 'ApiGiftController'); Route::get('/contacts/{contact}/gifts', 'ApiGiftController@gifts'); Route::put('/gifts/{gift}/photo/{photo}', 'ApiGiftController@associate'); // Debts Route::apiResource('debts', 'ApiDebtController'); Route::get('/contacts/{contact}/debts', 'ApiDebtController@debts'); // Journal Route::apiResource('journal', 'ApiJournalController') ->names(['index' => 'journal', 'show' => 'entry']); // Activity Types Route::apiResource('activitytypes', 'Account\\Activity\\ApiActivityTypeController'); // Activity Type Categories Route::apiResource('activitytypecategories', 'Account\\Activity\\ApiActivityTypeCategoryController'); // Relationship Type Groups Route::apiResource('relationshiptypegroups', 'ApiRelationshipTypeGroupController', ['only' => ['index', 'show']]); // Relationship Types Route::apiResource('relationshiptypes', 'ApiRelationshipTypeController', ['only' => ['index', 'show']]); // Life events Route::apiResource('lifeevents', 'Contact\\ApiLifeEventController'); // Documents Route::apiResource('documents', 'Contact\\ApiDocumentController', ['except' => ['update']]) ->names(['index' => 'documents', 'show' => 'document']); Route::get('/contacts/{contact}/documents', 'Contact\\ApiDocumentController@contact'); // Photos Route::apiResource('photos', 'Contact\\ApiPhotoController', ['except' => ['update']]) ->names(['index' => 'photos', 'show' => 'photo']); Route::get('/contacts/{contact}/photos', 'Contact\\ApiPhotoController@contact'); // Avatars Route::put('/contacts/{contact}/avatar', 'Contact\\ApiAvatarController@update'); // Contact logs Route::get('/contacts/{contact}/logs', 'Contact\\ApiAuditLogController@index'); /* * SETTINGS */ Route::apiResource('contactfieldtypes', 'Settings\\ApiContactFieldTypeController'); Route::apiResource('logs', 'Settings\\ApiAuditLogController'); /* * MISC */ Route::get('/countries', 'Misc\\ApiCountryController@index')->name('countries'); }); });