Files
codecanyon-rest-api-for-per…/api/controllers/Common.php
2025-10-29 11:09:43 +01:00

179 lines
5.1 KiB
PHP

<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require __DIR__.'/REST_Controller.php';
class Common extends REST_Controller {
public function __construct()
{
parent::__construct();
}
public function data_get($type = "")
{
$allowed_type = ["expense_category", "payment_mode", "tax_data"];
if (empty($type) || !in_array($type, $allowed_type)) {
// Set the response and exit
$this->response([
'status' => FALSE,
'message' => 'Not valid data'
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
}
$data = $this->{$type}();
if (empty($data)) {
// Set the response and exit
$this->response([
'status' => FALSE,
'message' => 'No data were found'
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
}
$this->response($data, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
}
/**
* @api {get} api/common/expense_category Request Expense category
* @apiVersion 0.3.0
* @apiName GetExpense category
* @apiGroup Expense Categories
*
* @apiHeader {String} authtoken Authentication token, generated from admin area
*
* @apiSuccess {Array} Expense category information.
*
* @apiSuccessExample Success-Response:
* HTTP/1.1 200 OK
* {
*
* [
* {
* "id": "1",
* "name": "cloud server",
* "description": "AWS server"
* },
* {
* "id": "2",
* "name": "website domain",
* "description": "domain Managment and configurations"
* }
* ]
*
* }
*
* @apiError {Boolean} status Request status.
* @apiError {String} message No data were found.
*
* @apiErrorExample Error-Response:
* HTTP/1.1 404 Not Found
* {
* "status": false,
* "message": "No data were found"
* }
*/
public function expense_category()
{
$this->load->model('expenses_model');
return $this->expenses_model->get_category();
}
/**
* @api {get} api/common/payment_mode Request Payment Modes
* @apiVersion 0.3.0
* @apiName GetPayment Mode
* @apiGroup Payment Modes
*
* @apiHeader {String} authtoken Authentication token, generated from admin area
*
* @apiSuccess {Array} Payment Modes.
*
* @apiSuccessExample Success-Response:
* HTTP/1.1 200 OK
* [
* {
* "id": "1",
* "name": "Bank",
* "description": null,
* "show_on_pdf": "0",
* "invoices_only": "0",
* "expenses_only": "0",
* "selected_by_default": "1",
* "active": "1"
* }
* ]
*
* @apiError {Boolean} status Request status.
* @apiError {String} message No data were found.
*
* @apiErrorExample Error-Response:
* HTTP/1.1 404 Not Found
* {
* "status": false,
* "message": "No data were found"
* }
*/
public function payment_mode()
{
$this->load->model('payment_modes_model');
return $this->payment_modes_model->get('', [
'invoices_only !=' => 1,
]);
}
/**
* @api {get} api/common/tax_data Request Taxes
* @apiVersion 0.3.0
* @apiName GetTaxes
* @apiGroup Taxes
*
* @apiHeader {String} authtoken Authentication token, generated from admin area
*
* @apiSuccess {Array} Tax information.
*
* @apiSuccessExample Success-Response:
* HTTP/1.1 200 OK
* [
* {
* "id": "4",
* "name": "PAYPAL",
* "taxrate": "5.00"
* },
* {
* "id": "1",
* "name": "CGST",
* "taxrate": "9.00"
* },
* {
* "id": "2",
* "name": "SGST",
* "taxrate": "9.00"
* },
* {
* "id": "3",
* "name": "GST",
* "taxrate": "18.00"
* }
* ]
*
* @apiError {Boolean} status Request status.
* @apiError {String} message No data were found.
*
* @apiErrorExample Error-Response:
* HTTP/1.1 404 Not Found
* {
* "status": false,
* "message": "No data were found"
* }
*/
public function tax_data()
{
$this->load->model('taxes_model');
return $this->taxes_model->get();
}
}
/* End of file Common.php */
/* Location: ./application/controllers/Common.php */