init crater

This commit is contained in:
Mohit Panjwani
2019-11-11 12:16:00 +05:30
commit bdf2ba51d6
668 changed files with 158503 additions and 0 deletions

330
routes/api.php Normal file
View File

@ -0,0 +1,330 @@
<?php
/*
|--------------------------------------------------------------------------
| 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!
|
*/
// Authentication & Password Reset
//----------------------------------
Route::group(['prefix' => 'auth'], function () {
Route::post('login', 'Auth\AccessTokensController@store');
Route::get('logout', 'Auth\AccessTokensController@destroy');
Route::post('refresh_token', 'Auth\AccessTokensController@update');
// Send reset password mail
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail');
// handle reset password form process
Route::post('reset/password', 'Auth\ResetPasswordController@reset');
});
Route::post('is-registered',[
'as' => 'is-registered','uses' => 'Auth\AccessTokensController@isRegistered'
]);
Route::get('/ping', [
'as' => 'ping',
'uses' => 'UsersController@ping'
]);
// Country, State & City
//----------------------------------
Route::get('/countries', [
'as' => 'countries',
'uses' => 'LocationController@getCountries'
]);
Route::get('/states/{id}', [
'as' => 'states',
'uses' => 'LocationController@getStates'
]);
Route::get('/cities/{id}', [
'as' => 'cities',
'uses' => 'LocationController@getCities'
]);
// Onboarding
//----------------------------------
Route::group(['middleware' => 'redirect-if-installed'], function () {
Route::get('/admin/onboarding', [
'as' => 'admin.onboarding',
'uses' => 'OnboardingController@getOnboardingData'
]);
Route::get('/admin/onboarding/requirements', [
'as' => 'admin.onboarding.requirements',
'uses' => 'RequirementsController@requirements'
]);
Route::get('/admin/onboarding/permissions', [
'as' => 'admin.onboarding.permissions',
'uses' => 'PermissionsController@permissions'
]);
Route::post('/admin/onboarding/environment/database', [
'as' => 'admin.onboarding.database',
'uses' => 'EnvironmentController@saveDatabaseEnvironment'
]);
Route::get('/admin/onboarding/environment/mail', [
'as' => 'admin.onboarding.mail',
'uses' => 'EnvironmentController@getMailDrivers'
]);
Route::post('/admin/onboarding/environment/mail', [
'as' => 'admin.onboarding.mail',
'uses' => 'EnvironmentController@saveMailEnvironment'
]);
Route::post('/admin/onboarding/profile', [
'as' => 'admin.profile',
'uses' => 'OnboardingController@adminProfile'
]);
Route::post('/admin/onboarding/company', [
'as' => 'admin.company',
'uses' => 'OnboardingController@adminCompany'
]);
Route::post('/admin/onboarding/settings', [
'as' => 'admin.settings',
'uses' => 'OnboardingController@companySettings'
]);
});
// App version
// ----------------------------------
Route::get('/settings/app/version', [
'as' => 'settings.app.version',
'uses' => 'SettingsController@getAppVersion'
]);
Route::group(['middleware' => 'api'], function () {
Route::group([
'middleware' => 'admin'
], function () {
Route::get('/bootstrap', [
'as' => 'bootstrap',
'uses' => 'UsersController@getBootstrap'
]);
// Dashboard
//----------------------------------
Route::get('/dashboard', [
'as' => 'dashboard',
'uses' => 'DashboardController@index'
]);
// Customers
//----------------------------------
Route::post('/customers/delete', [
'as' => 'customers.delete',
'uses' => 'CustomersController@delete'
]);
Route::resource('customers', 'CustomersController');
// Items
//----------------------------------
Route::post('/items/delete', [
'as' => 'items.delete',
'uses' => 'ItemsController@delete'
]);
Route::resource('items', 'ItemsController');
// Invoices
//-------------------------------------------------
Route::post('/invoices/delete', [
'as' => 'invoices.delete',
'uses' => 'InvoicesController@delete'
]);
Route::post('/invoices/send', [
'as' => 'invoices.send',
'uses' => 'InvoicesController@sendInvoice'
]);
Route::post('/invoices/mark-as-paid', [
'as' => 'invoices.paid',
'uses' => 'InvoicesController@markAsPaid'
]);
Route::post('/invoices/mark-as-sent', [
'as' => 'invoices.sent',
'uses' => 'InvoicesController@markAsSent'
]);
Route::get('/invoices/unpaid/{id}', [
'as' => 'bootstrap',
'uses' => 'InvoicesController@getCustomersUnpaidInvoices'
]);
Route::resource('invoices', 'InvoicesController');
// Tax Types
//----------------------------------
Route::resource('tax-types', 'TaxTypeController');
// Estimates
//-------------------------------------------------
Route::post('/estimates/delete', [
'as' => 'estimates.delete',
'uses' => 'EstimatesController@delete'
]);
Route::post('/estimates/send', [
'as' => 'estimates.send',
'uses' => 'EstimatesController@sendEstimate'
]);
Route::post('/estimates/mark-as-sent', [
'as' => 'estimates.send',
'uses' => 'EstimatesController@markEstimateSent'
]);
Route::post('/estimates/accept', [
'as' => 'estimates.mark.accepted',
'uses' => 'EstimatesController@markEstimateAccepted'
]);
Route::post('/estimates/reject', [
'as' => 'estimates.mark.rejected',
'uses' => 'EstimatesController@markEstimateRejected'
]);
Route::post('/estimates/{id}/convert-to-invoice', [
'as' => 'estimate.to.invoice',
'uses' => 'EstimatesController@estimateToInvoice'
]);
Route::resource('estimates', 'EstimatesController');
// Expenses
//----------------------------------
Route::post('/expenses/delete', [
'as' => 'expenses.delete',
'uses' => 'ExpensesController@delete'
]);
Route::get('/expenses/{id}/show/receipt', [
'as' => 'expenses.show',
'uses' => 'ExpensesController@showReceipt',
]);
Route::post('/expenses/{id}/upload/receipts', [
'as' => 'estimate.to.invoice',
'uses' => 'ExpensesController@uploadReceipts'
]);
Route::resource('expenses', 'ExpensesController');
// Expenses Categories
//----------------------------------
Route::resource('categories', 'ExpenseCategoryController');
// Payments
//----------------------------------
Route::post('/payments/delete', [
'as' => 'payments.delete',
'uses' => 'PaymentController@delete'
]);
Route::resource('payments', 'PaymentController');
// Settings
//----------------------------------
Route::group(['prefix' => 'settings'], function () {
Route::get('/profile', [
'as' => 'get.admin.profile',
'uses' => 'CompanyController@getAdmin'
]);
Route::put('/profile', [
'as' => 'admin.profile',
'uses' => 'CompanyController@updateAdminProfile'
]);
Route::post('/company/upload-logo', [
'as' => 'upload.admin.company.logo',
'uses' => 'CompanyController@uploadCompanyLogo'
]);
Route::get('/company', [
'as' => 'get.admin.company',
'uses' => 'CompanyController@getAdminCompany'
]);
Route::post('/company', [
'as' => 'admin.company',
'uses' => 'CompanyController@updateAdminCompany'
]);
Route::get('/general', [
'as' => 'get.admin.company.setting',
'uses' => 'CompanyController@getGeneralSettings'
]);
Route::put('/general', [
'as' => 'admin.company.setting',
'uses' => 'CompanyController@updateGeneralSettings'
]);
Route::get('/colors', [
'as' => 'admin.colors.setting',
'uses' => 'CompanyController@getColors'
]);
Route::get('/get-setting', [
'as' => 'get.admin.setting',
'uses' => 'CompanyController@getSetting'
]);
Route::put('/update-setting', [
'as' => 'admin.update.setting',
'uses' => 'CompanyController@updateSetting'
]);
});
});
});

16
routes/channels.php Normal file
View File

@ -0,0 +1,16 @@
<?php
use Illuminate\Support\Facades\Broadcast;
use Laraspace\User;
Broadcast::channel('conversation.{cid}', function ($user,$cid) {
return true; //(int) $user->conversation_id === (int) $cid
});
Broadcast::channel('user.{uid}', function () {
return true; //(int) $user->conversation_id === (int) $cid
});
Broadcast::channel('company.{companyId}', function ($user, $companyId) {
return ['id' => $user->id, 'name' => $user->name];
});

18
routes/console.php Normal file
View File

@ -0,0 +1,18 @@
<?php
use Illuminate\Foundation\Inspiring;
/*
|--------------------------------------------------------------------------
| Console Routes
|--------------------------------------------------------------------------
|
| This file is where you may define all of your Closure based console
| commands. Each Closure is bound to a command instance allowing a
| simple approach to interacting with each command's IO methods.
|
*/
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->describe('Display an inspiring quote');

86
routes/web.php Normal file
View File

@ -0,0 +1,86 @@
<?php
/*
|--------------------------------------------------------------------------
| Frontend Routes
|--------------------------------------------------------------------------
|
*/
Route::group(['prefix' => 'reports'], function () {
// sales report by customer
//----------------------------------
Route::get('/sales/customers/{hash}', [
'as' => 'get.sales.customers',
'uses' => 'ReportController@customersSalesReport'
]);
// sales report by items
//----------------------------------
Route::get('/sales/items/{hash}', [
'as' => 'get.sales.items',
'uses' => 'ReportController@itemsSalesReport'
]);
// report for expenses
//----------------------------------
Route::get('/expenses/{hash}', [
'as' => 'get.expenses.reports',
'uses' => 'ReportController@expensesReport'
]);
// report for tax summary
//----------------------------------
Route::get('/tax-summary/{hash}', [
'as' => 'get.tax.summary',
'uses' => 'ReportController@taxSummery'
]);
// report for profit and loss
//----------------------------------
Route::get('/profit-loss/{hash}', [
'as' => 'get.profit.loss',
'uses' => 'ReportController@profitLossReport'
]);
});
Route::get('/invoices/pdf/{id}', [
'as' => 'get.invoice.pdf',
'uses' => 'FrontendController@getInvoicePdf'
]);
Route::get('/estimates/pdf/{id}', [
'as' => 'get.estimate.pdf',
'uses' => 'FrontendController@getEstimatePdf'
]);
Route::get('/customer/invoices/pdf/{id}', [
'as' => 'get.invoice.pdf',
'uses' => 'FrontendController@getCustomerInvoicePdf'
]);
Route::get('/customer/estimates/pdf/{id}', [
'as' => 'get.estimate.pdf',
'uses' => 'FrontendController@getCustomerEstimatePdf'
]);
Route::get('/expenses/{id}/receipt/{hash}', [
'as' => 'download.expense.receipt',
'uses' => 'ExpensesController@downloadReceipt'
]);
Route::get('/on-boarding', function () {
return view('app');
})->name('install')->middleware('redirect-if-installed');
Route::get('/{vue?}', function () {
return view('app');
})->where('vue', '[\/\w\.-]*')->name('home')->middleware('install');