Documenting Controllers

This commit is contained in:
Claret Nnamocha
2019-12-16 20:17:43 +01:00
parent 80be7a492d
commit 694d5f56d5
10 changed files with 221 additions and 25 deletions

View File

@ -19,12 +19,23 @@ use Crater\Currency;
use Crater\CompanySetting; use Crater\CompanySetting;
class CompanyController extends Controller class CompanyController extends Controller
{ {
/**
* Retrive the Admin account.
* @return \Crater\User
*/
public function getAdmin() public function getAdmin()
{ {
return User::find(1); return User::find(1);
} }
/**
* Update the Admin profile.
* Includes name, email and (or) password
*
* @param \Crater\Http\Requests\ProfileRequest $request
* @return \Illuminate\Http\JsonResponse
*/
public function updateAdminProfile(ProfileRequest $request) public function updateAdminProfile(ProfileRequest $request)
{ {
$verifyEmail = User::where('email', $request->email)->first(); $verifyEmail = User::where('email', $request->email)->first();
@ -54,6 +65,14 @@ class CompanyController extends Controller
]); ]);
} }
/**
* Get Admin Account alongside the country from the addresses table and
* The company from companies table
*
* @return \Illuminate\Http\JsonResponse
*/
public function getAdminCompany() public function getAdminCompany()
{ {
$user = User::with(['addresses', 'addresses.country', 'company'])->find(1); $user = User::with(['addresses', 'addresses.country', 'company'])->find(1);
@ -63,6 +82,13 @@ class CompanyController extends Controller
]); ]);
} }
/**
* Update Admin Company Details
* @param \Crater\Http\Requests\CompanyRequest $request
* @return \Illuminate\Http\JsonResponse
*/
public function updateAdminCompany(CompanyRequest $request) public function updateAdminCompany(CompanyRequest $request)
{ {
$user = User::find(1); $user = User::find(1);
@ -85,6 +111,11 @@ class CompanyController extends Controller
]); ]);
} }
/**
* Retrieve General App Settings
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function getGeneralSettings(Request $request) public function getGeneralSettings(Request $request)
{ {
$date_formats = DateFormatter::get_list(); $date_formats = DateFormatter::get_list();
@ -133,6 +164,13 @@ class CompanyController extends Controller
]); ]);
} }
/**
* Update General App Settings
* @param \Crater\Http\Requests\CompanySettingRequest $request
* @return \Illuminate\Http\JsonResponse
*/
public function updateGeneralSettings(CompanySettingRequest $request) public function updateGeneralSettings(CompanySettingRequest $request)
{ {
$sets = [ $sets = [
@ -153,6 +191,11 @@ class CompanyController extends Controller
]); ]);
} }
/**
* Update a specific Company Setting
* @param \Crater\Http\Requests\SettingRequest $request
* @return \Illuminate\Http\JsonResponse
*/
public function updateSetting(SettingRequest $request) public function updateSetting(SettingRequest $request)
{ {
CompanySetting::setSetting($request->key, $request->value, $request->header('company')); CompanySetting::setSetting($request->key, $request->value, $request->header('company'));
@ -162,6 +205,11 @@ class CompanyController extends Controller
]); ]);
} }
/**
* Retrieve Specific Company Setting
* @param \Crater\Http\Requests\SettingKeyRequest $request
* @return \Illuminate\Http\JsonResponse
*/
public function getSetting(SettingKeyRequest $request) public function getSetting(SettingKeyRequest $request)
{ {
$setting = CompanySetting::getSetting($request->key, $request->header('company')); $setting = CompanySetting::getSetting($request->key, $request->header('company'));
@ -171,6 +219,12 @@ class CompanyController extends Controller
]); ]);
} }
/**
* Retrieve App Colors
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function getColors(Request $request) public function getColors(Request $request)
{ {
$colors = [ $colors = [
@ -205,7 +259,7 @@ class CompanyController extends Controller
* Upload the company logo to storage. * Upload the company logo to storage.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function uploadCompanyLogo(Request $request) public function uploadCompanyLogo(Request $request)
{ {
@ -232,7 +286,7 @@ class CompanyController extends Controller
* Upload the Admin Avatar to public storage. * Upload the Admin Avatar to public storage.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function uploadAdminAvatar(Request $request) public function uploadAdminAvatar(Request $request)
{ {

View File

@ -19,7 +19,7 @@ class CustomersController extends Controller
/** /**
* Display a listing of the resource. * Display a listing of the resource.
* *
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function index(Request $request) public function index(Request $request)
{ {
@ -53,7 +53,7 @@ class CustomersController extends Controller
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function store(Requests\CustomerRequest $request) public function store(Requests\CustomerRequest $request)
{ {
@ -104,7 +104,7 @@ class CustomersController extends Controller
* Display the specified resource. * Display the specified resource.
* *
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function show($id) public function show($id)
{ {
@ -124,7 +124,7 @@ class CustomersController extends Controller
* Show the form for editing the specified resource. * Show the form for editing the specified resource.
* *
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function edit($id) public function edit($id)
{ {
@ -144,7 +144,7 @@ class CustomersController extends Controller
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function update($id, Requests\CustomerRequest $request) public function update($id, Requests\CustomerRequest $request)
{ {
@ -203,10 +203,10 @@ class CustomersController extends Controller
} }
/** /**
* Remove the specified resource from storage. * Remove the specified Customer along side all his/her resources (ie. Estimates, Invoices, Payments and Addresses)
* *
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function destroy($id) public function destroy($id)
{ {
@ -217,6 +217,13 @@ class CustomersController extends Controller
]); ]);
} }
/**
* Remove a list of Customers along side all their resources (ie. Estimates, Invoices, Payments and Addresses)
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function delete(Request $request) public function delete(Request $request)
{ {
foreach ($request->id as $id) { foreach ($request->id as $id) {

View File

@ -15,6 +15,12 @@ use Illuminate\Support\Facades\DB;
class DashboardController extends Controller class DashboardController extends Controller
{ {
/**
* Retrieve Dashboard details
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function index(Request $request) public function index(Request $request)
{ {
$invoiceTotals = []; $invoiceTotals = [];
@ -137,6 +143,11 @@ class DashboardController extends Controller
]); ]);
} }
/**
* Retrive Expense Chart data
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function getExpenseChartData(Request $request) public function getExpenseChartData(Request $request)
{ {
$expensesCategories = Expense::with('category') $expensesCategories = Expense::with('category')

View File

@ -17,7 +17,7 @@ class ExpensesController extends Controller
/** /**
* Display a listing of the resource. * Display a listing of the resource.
* *
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function index(Request $request) public function index(Request $request)
{ {
@ -48,7 +48,7 @@ class ExpensesController extends Controller
/** /**
* Show the form for creating a new resource. * Show the form for creating a new resource.
* *
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function create(Request $request) public function create(Request $request)
{ {
@ -63,7 +63,7 @@ class ExpensesController extends Controller
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function store(ExpenseRequest $request) public function store(ExpenseRequest $request)
{ {
@ -91,7 +91,7 @@ class ExpensesController extends Controller
* Display the specified resource. * Display the specified resource.
* *
* @param \Crater\Expense $expense * @param \Crater\Expense $expense
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function show(Expense $expense) public function show(Expense $expense)
{ {
@ -102,7 +102,7 @@ class ExpensesController extends Controller
* Show the form for editing the specified resource. * Show the form for editing the specified resource.
* *
* @param $id * @param $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function edit(Request $request,$id) public function edit(Request $request,$id)
{ {
@ -122,7 +122,7 @@ class ExpensesController extends Controller
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @param \Crater\Expense $expense * @param \Crater\Expense $expense
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function update(ExpenseRequest $request, Expense $expense) public function update(ExpenseRequest $request, Expense $expense)
{ {
@ -150,7 +150,7 @@ class ExpensesController extends Controller
* Remove the specified resource from storage. * Remove the specified resource from storage.
* *
* @param \Crater\Expense $expense * @param \Crater\Expense $expense
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function destroy(Expense $expense) public function destroy(Expense $expense)
{ {
@ -175,7 +175,7 @@ class ExpensesController extends Controller
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @param $id * @param $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function uploadReceipts(Request $request, $id) public function uploadReceipts(Request $request, $id)
{ {
@ -200,6 +200,12 @@ class ExpensesController extends Controller
]); ]);
} }
/**
* Retrive details of an expense receipt from storage.
* @param int $id
* @return \Illuminate\Http\JsonResponse
*/
public function showReceipt($id) public function showReceipt($id)
{ {
$expense = Expense::find($id); $expense = Expense::find($id);
@ -226,6 +232,14 @@ class ExpensesController extends Controller
]); ]);
} }
/**
* Download an expense receipt from storage.
* @param int $id
* @param strig $hash
* @return \Symfony\Component\HttpFoundation\BinaryFileResponse | \Illuminate\Http\JsonResponse
*/
public function downloadReceipt($id, $hash) public function downloadReceipt($id, $hash)
{ {
$company = Company::where('unique_hash', $hash)->first(); $company = Company::where('unique_hash', $hash)->first();

View File

@ -118,6 +118,11 @@ class FrontendController extends Controller
return $pdf->stream(); return $pdf->stream();
} }
/**
*
* @return \Illuminate\Http\Response
*/
public function getCustomerInvoicePdf($id) public function getCustomerInvoicePdf($id)
{ {
$invoice = Invoice::with([ $invoice = Invoice::with([

View File

@ -27,7 +27,7 @@ class InvoicesController extends Controller
/** /**
* Display a listing of the resource. * Display a listing of the resource.
* *
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function index(Request $request) public function index(Request $request)
{ {
@ -60,7 +60,7 @@ class InvoicesController extends Controller
/** /**
* Show the form for creating a new resource. * Show the form for creating a new resource.
* *
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function create(Request $request) public function create(Request $request)
{ {
@ -81,7 +81,7 @@ class InvoicesController extends Controller
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function store(Requests\InvoicesRequest $request) public function store(Requests\InvoicesRequest $request)
{ {
@ -185,7 +185,7 @@ class InvoicesController extends Controller
* Display the specified resource. * Display the specified resource.
* *
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function show(Request $request, $id) public function show(Request $request, $id)
{ {
@ -209,7 +209,7 @@ class InvoicesController extends Controller
* Show the form for editing the specified resource. * Show the form for editing the specified resource.
* *
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function edit(Request $request,$id) public function edit(Request $request,$id)
{ {
@ -236,7 +236,7 @@ class InvoicesController extends Controller
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function update(Requests\InvoicesRequest $request, $id) public function update(Requests\InvoicesRequest $request, $id)
{ {
@ -331,7 +331,7 @@ class InvoicesController extends Controller
* Remove the specified resource from storage. * Remove the specified resource from storage.
* *
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function destroy($id) public function destroy($id)
{ {
@ -369,6 +369,14 @@ class InvoicesController extends Controller
]); ]);
} }
/**
* Mail a specific invoice to the correponding cusitomer's email address.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function sendInvoice(Request $request) public function sendInvoice(Request $request)
{ {
$invoice = Invoice::findOrFail($request->id); $invoice = Invoice::findOrFail($request->id);
@ -409,6 +417,13 @@ class InvoicesController extends Controller
]); ]);
} }
/**
* Mark a specific invoice as sent.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function markAsSent(Request $request) public function markAsSent(Request $request)
{ {
$invoice = Invoice::findOrFail($request->id); $invoice = Invoice::findOrFail($request->id);
@ -421,6 +436,13 @@ class InvoicesController extends Controller
]); ]);
} }
/**
* Mark a specific invoice as paid.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function markAsPaid(Request $request) public function markAsPaid(Request $request)
{ {
$invoice = Invoice::findOrFail($request->id); $invoice = Invoice::findOrFail($request->id);
@ -434,6 +456,14 @@ class InvoicesController extends Controller
]); ]);
} }
/**
* Retrive a specified user's unpaid invoices from storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\JsonResponse
*/
public function getCustomersUnpaidInvoices(Request $request, $id) public function getCustomersUnpaidInvoices(Request $request, $id)
{ {
$invoices = Invoice::where('paid_status', '<>', Invoice::STATUS_PAID) $invoices = Invoice::where('paid_status', '<>', Invoice::STATUS_PAID)

View File

@ -43,6 +43,13 @@ class ItemsController extends Controller
]); ]);
} }
/**
* Create Item.
*
* @param Crater\Http\Requests\ItemsRequest $request
* @return \Illuminate\Http\JsonResponse
*/
public function store(Requests\ItemsRequest $request) public function store(Requests\ItemsRequest $request)
{ {
$item = new Item(); $item = new Item();
@ -67,6 +74,13 @@ class ItemsController extends Controller
]); ]);
} }
/**
* Update an existing Item.
*
* @param Crater\Http\Requests\ItemsRequest $request
* @param int $id
* @return \Illuminate\Http\JsonResponse
*/
public function update(Requests\ItemsRequest $request, $id) public function update(Requests\ItemsRequest $request, $id)
{ {
$item = Item::find($id); $item = Item::find($id);
@ -96,6 +110,13 @@ class ItemsController extends Controller
]); ]);
} }
/**
* Delete an existing Item.
*
* @param int $id
* @return \Illuminate\Http\JsonResponse
*/
public function destroy($id) public function destroy($id)
{ {
$data = Item::deleteItem($id); $data = Item::deleteItem($id);
@ -111,6 +132,14 @@ class ItemsController extends Controller
]); ]);
} }
/**
* Delete a list of existing Items.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function delete(Request $request) public function delete(Request $request)
{ {
$items = []; $items = [];

View File

@ -6,6 +6,12 @@ use Crater\Country;
class LocationController extends Controller class LocationController extends Controller
{ {
/**
* Retrive a list of Countries.
*
* @return \Illuminate\Http\JsonResponse
*/
public function getCountries() public function getCountries()
{ {
return response()->json([ return response()->json([

View File

@ -18,6 +18,13 @@ use Illuminate\Support\Facades\Artisan;
class OnboardingController extends Controller class OnboardingController extends Controller
{ {
/**
* Retrieve Onboarding data.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function getOnboardingData(Request $request) public function getOnboardingData(Request $request)
{ {
if (!\Storage::disk('local')->has('database_created')) { if (!\Storage::disk('local')->has('database_created')) {
@ -72,6 +79,13 @@ class OnboardingController extends Controller
]); ]);
} }
/**
* Setup Admin Profile.
*
* @param \Crater\Http\Requests\ProfileRequest $request
* @return \Illuminate\Http\JsonResponse
*/
public function adminProfile(ProfileRequest $request) public function adminProfile(ProfileRequest $request)
{ {
$setting = Setting::getSetting('profile_complete'); $setting = Setting::getSetting('profile_complete');
@ -97,6 +111,12 @@ class OnboardingController extends Controller
]); ]);
} }
/**
* Setup Admin Avatar.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function uploadAdminAvatar(Request $request) public function uploadAdminAvatar(Request $request)
{ {
$setting = Setting::getSetting('profile_complete'); $setting = Setting::getSetting('profile_complete');
@ -123,6 +143,12 @@ class OnboardingController extends Controller
]); ]);
} }
/**
* Setup Admin Company.
*
* @param \Crater\Http\Requests\CompanyRequest $request
* @return \Illuminate\Http\JsonResponse
*/
public function adminCompany(CompanyRequest $request) public function adminCompany(CompanyRequest $request)
{ {
$setting = Setting::getSetting('profile_complete'); $setting = Setting::getSetting('profile_complete');
@ -174,6 +200,13 @@ class OnboardingController extends Controller
]); ]);
} }
/**
* Setup Company Settings.
*
* @param \Crater\Http\Requests\CompanySettingRequest $request
* @return \Illuminate\Http\JsonResponse
*/
public function companySettings(CompanySettingRequest $request) public function companySettings(CompanySettingRequest $request)
{ {
$setting = Setting::getSetting('profile_complete'); $setting = Setting::getSetting('profile_complete');

View File

@ -7,6 +7,13 @@ use Crater\Setting;
class SettingsController extends Controller class SettingsController extends Controller
{ {
/**
* Retrive App Version.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function getAppVersion(Request $request) public function getAppVersion(Request $request)
{ {
$version = Setting::getSetting('version'); $version = Setting::getSetting('version');