This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
site-base/spark/src/Http/routes.php
2017-11-03 16:26:07 +11:00

198 lines
10 KiB
PHP

<?php
$router->group(['middleware' => 'web'], function ($router) {
$teamString = Spark::teamString();
$pluralTeamString = str_plural(Spark::teamString());
// Terms Of Service...
$router->get('/terms', 'TermsController@show')->name('terms');
// Missing Team Notice...
$router->get('/missing-'.$teamString, 'MissingTeamController@show');
// Customer Support...
$router->post('/support/email', 'SupportController@sendEmail');
// API Token Refresh...
$router->put('/spark/token', 'TokenController@refresh');
// Users...
$router->get('/user/current', 'UserController@current');
$router->put('/user/last-read-announcements-at', 'UserController@updateLastReadAnnouncementsTimestamp');
// Notifications
$router->get('/notifications/recent', 'NotificationController@recent');
$router->put('/notifications/read', 'NotificationController@markAsRead');
// Settings Dashboard...
$router->get('/settings', 'Settings\DashboardController@show')->name('settings');
// Profile Contact Information...
$router->put('/settings/contact', 'Settings\Profile\ContactInformationController@update');
// Profile Photo...
$router->post('/settings/photo', 'Settings\Profile\PhotoController@store');
// Teams...
if (Spark::usesTeams()) {
// General Settings...
$router->get('/settings/'.$pluralTeamString.'/roles', 'Settings\Teams\TeamMemberRoleController@all');
$router->get('/settings/'.$pluralTeamString.'/{team}', 'Settings\Teams\DashboardController@show')->name('settings.team');
$router->get('/'.$pluralTeamString.'', 'TeamController@all');
$router->get('/'.$pluralTeamString.'/current', 'TeamController@current');
$router->get('/'.$pluralTeamString.'/{team_id}', 'TeamController@show');
$router->post('/settings/'.$pluralTeamString, 'Settings\Teams\TeamController@store');
$router->post('/settings/'.$pluralTeamString.'/{team}/photo', 'Settings\Teams\TeamPhotoController@update');
$router->put('/settings/'.$pluralTeamString.'/{team}/name', 'Settings\Teams\TeamNameController@update');
// Invitations...
$router->get('/settings/'.$pluralTeamString.'/{team}/invitations', 'Settings\Teams\MailedInvitationController@all');
$router->post('/settings/'.$pluralTeamString.'/{team}/invitations', 'Settings\Teams\MailedInvitationController@store');
$router->get('/settings/invitations/pending', 'Settings\Teams\PendingInvitationController@all');
$router->get('/invitations/{invitation}', 'InvitationController@show');
$router->post('/settings/invitations/{invitation}/accept', 'Settings\Teams\PendingInvitationController@accept');
$router->post('/settings/invitations/{invitation}/reject', 'Settings\Teams\PendingInvitationController@reject');
$router->delete('/settings/invitations/{invitation}', 'Settings\Teams\MailedInvitationController@destroy');
$router->put('/settings/'.$pluralTeamString.'/{team}/members/{team_member}', 'Settings\Teams\TeamMemberController@update');
$router->delete('/settings/'.$pluralTeamString.'/{team}/members/{team_member}', 'Settings\Teams\TeamMemberController@destroy');
$router->delete('/settings/'.$pluralTeamString.'/{team}', 'Settings\Teams\TeamController@destroy');
$router->get('/'.$pluralTeamString.'/{team}/switch', 'TeamController@switchCurrentTeam');
// Billing
// Subscription Settings...
$router->post('/settings/'.$pluralTeamString.'/{team}/subscription', 'Settings\Teams\Subscription\PlanController@store');
$router->put('/settings/'.$pluralTeamString.'/{team}/subscription', 'Settings\Teams\Subscription\PlanController@update');
$router->delete('/settings/'.$pluralTeamString.'/{team}/subscription', 'Settings\Teams\Subscription\PlanController@destroy');
// VAT ID Settings...
$router->put('/settings/'.$pluralTeamString.'/{team}/payment-method/vat-id', 'Settings\Teams\PaymentMethod\VatIdController@update');
// Credit Card Settings...
$router->put('/settings/'.$pluralTeamString.'/{team}/payment-method', 'Settings\Teams\PaymentMethod\PaymentMethodController@update');
// Redeem Coupon...
$router->post('/settings/'.$pluralTeamString.'/{team}/payment-method/coupon', 'Settings\Teams\PaymentMethod\RedeemCouponController@redeem');
// Billing History...
$router->put(
'/settings/'.$pluralTeamString.'/{team}/extra-billing-information',
'Settings\Teams\Billing\BillingInformationController@update'
);
// Coupons...
$router->get('/coupon/'.$teamString.'/{id}', 'TeamCouponController@current');
// Invoices...
$router->get('/settings/'.$pluralTeamString.'/{team}/invoices', 'Settings\Teams\Billing\InvoiceController@all');
$router->get('/settings/'.$pluralTeamString.'/{team}/invoice/{id}', 'Settings\Teams\Billing\InvoiceController@download');
}
// Security Settings...
$router->put('/settings/password', 'Settings\Security\PasswordController@update');
$router->post('/settings/two-factor-auth', 'Settings\Security\TwoFactorAuthController@enable');
$router->delete('/settings/two-factor-auth', 'Settings\Security\TwoFactorAuthController@disable');
// API Settings
$router->get('/settings/api/tokens', 'Settings\API\TokenController@all');
$router->post('/settings/api/token', 'Settings\API\TokenController@store');
$router->put('/settings/api/token/{token_id}', 'Settings\API\TokenController@update');
$router->get('/settings/api/token/abilities', 'Settings\API\TokenAbilitiesController@all');
$router->delete('/settings/api/token/{token_id}', 'Settings\API\TokenController@destroy');
// Plans...
$router->get('/spark/plans', 'PlanController@all');
// Subscription Settings...
$router->post('/settings/subscription', 'Settings\Subscription\PlanController@store');
$router->put('/settings/subscription', 'Settings\Subscription\PlanController@update');
$router->delete('/settings/subscription', 'Settings\Subscription\PlanController@destroy');
// VAT ID Settings...
$router->put('/settings/payment-method/vat-id', 'Settings\PaymentMethod\VatIdController@update');
// Credit Card Settings...
$router->put('/settings/payment-method', 'Settings\PaymentMethod\PaymentMethodController@update');
// Redeem Coupon...
$router->post('/settings/payment-method/coupon', 'Settings\PaymentMethod\RedeemCouponController@redeem');
// Billing History...
$router->put(
'/settings/extra-billing-information',
'Settings\Billing\BillingInformationController@update'
);
// Invoices...
$router->get('/settings/invoices', 'Settings\Billing\InvoiceController@all');
$router->get('/settings/invoice/{id}', 'Settings\Billing\InvoiceController@download');
// Coupons...
$router->get('/coupon/user/{id}', 'CouponController@current');
$router->get('/coupon/{code}', 'CouponController@show');
// Kiosk...
$router->get('/spark/kiosk', 'Kiosk\DashboardController@show')->name('kiosk');
// Kiosk Search...
$router->post('/spark/kiosk/users/search', 'Kiosk\SearchController@performBasicSearch');
// Kiosk Announcements...
$router->get('/spark/kiosk/announcements', 'Kiosk\AnnouncementController@all');
$router->post('/spark/kiosk/announcements', 'Kiosk\AnnouncementController@store');
$router->put('/spark/kiosk/announcements/{id}', 'Kiosk\AnnouncementController@update');
$router->delete('/spark/kiosk/announcements/{id}', 'Kiosk\AnnouncementController@destroy');
// Kiosk Metrics / Performance Indicators...
$router->get('/spark/kiosk/performance-indicators', 'Kiosk\PerformanceIndicatorsController@all');
$router->get('/spark/kiosk/performance-indicators/revenue', 'Kiosk\PerformanceIndicatorsController@revenue');
$router->get('/spark/kiosk/performance-indicators/plans', 'Kiosk\PerformanceIndicatorsController@subscribers');
$router->get('/spark/kiosk/performance-indicators/trialing', 'Kiosk\PerformanceIndicatorsController@trials');
// Kiosk User Profiles...
$router->get('/spark/kiosk/users/{id}/profile', 'Kiosk\ProfileController@show');
// Kiosk Discounts...
$router->post('/spark/kiosk/users/discount/{id}', 'Kiosk\DiscountController@store');
// Kiosk Impersonation...
$router->get('/spark/kiosk/users/impersonate/{id}', 'Kiosk\ImpersonationController@impersonate');
$router->get('/spark/kiosk/users/stop-impersonating', 'Kiosk\ImpersonationController@stopImpersonating');
// Authentication...
$router->get('/login', 'Auth\LoginController@showLoginForm')->name('login');
$router->post('/login', 'Auth\LoginController@login');
$router->get('/logout', 'Auth\LoginController@logout')->name('logout');
// Two-Factor Authentication Routes...
$router->get('/login/token', 'Auth\LoginController@showTokenForm');
$router->post('/login/token', 'Auth\LoginController@verifyToken');
// Two-Factor Emergency Token Login Routes...
$router->get('/login-via-emergency-token', 'Auth\EmergencyLoginController@showLoginForm');
$router->post('/login-via-emergency-token', 'Auth\EmergencyLoginController@login');
// Registration...
$router->get('/register', 'Auth\RegisterController@showRegistrationForm')->name('register');
$router->post('/register', 'Auth\RegisterController@register');
// Password Reset...
$router->get('/password/reset/{token?}', 'Auth\PasswordController@showResetForm')->name('password.reset');
$router->post('/password/email', 'Auth\PasswordController@sendResetLinkEmail');
$router->post('/password/reset', 'Auth\PasswordController@reset');
});
// Tax Rates...
$router->post('/tax-rate', 'TaxRateController@calculate');
// Geocoding...
$router->get('/geocode/country', 'GeocodingController@country');
$router->get('/geocode/states/{country}', 'GeocodingController@states');
// Webhooks...
$router->post('/webhook/stripe', 'Settings\Billing\StripeWebhookController@handleWebhook');
$router->post('/webhook/braintree', 'Settings\Billing\BraintreeWebhookController@handleWebhook');