apis
This commit is contained in:
parent
e351b69f7f
commit
9dacdd3557
|
|
@ -57,9 +57,9 @@ return [
|
|||
'engine' => 'InnoDB',
|
||||
'host' => 'localhost',
|
||||
'port' => 3306,
|
||||
'database' => 'sapaly_git',
|
||||
'username' => 'root',
|
||||
'password' => '',
|
||||
'database' => 'sapaly_october',
|
||||
'username' => 'sapaly',
|
||||
'password' => '22MOcP6^I#8tI5ovcXluXDT#%vWC^CtsFvKHOygi8TMnzaMuLYx@123',
|
||||
'charset' => 'utf8mb4',
|
||||
'collation' => 'utf8mb4_unicode_ci',
|
||||
'prefix' => '',
|
||||
|
|
|
|||
|
|
@ -1,68 +1,72 @@
|
|||
<?php namespace AhmadFatoni\ApiGenerator\Controllers\API;
|
||||
|
||||
use Cms\Classes\Controller;
|
||||
use BackendMenu;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use AhmadFatoni\ApiGenerator\Helpers\Helpers;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Lovata\Shopaholic\Models\Category;
|
||||
class CategoriesAPIController extends Controller
|
||||
{
|
||||
protected $Category;
|
||||
|
||||
protected $helpers;
|
||||
|
||||
public function __construct(Category $Category, Helpers $helpers)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->Category = $Category;
|
||||
$this->helpers = $helpers;
|
||||
}
|
||||
|
||||
public function index(){
|
||||
|
||||
$data = $this->Category
|
||||
->select("id", "name", "slug")
|
||||
->orderBy("nest_left", "asc")
|
||||
->with('translations:locale,model_id,attribute_data')
|
||||
->where("nest_depth", 0)
|
||||
->active()
|
||||
->get();
|
||||
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', $data);
|
||||
}
|
||||
|
||||
public function GetParent($id){
|
||||
|
||||
$data = $this->Category
|
||||
->select("id", "name", "slug")
|
||||
->orderBy("nest_left", "asc")
|
||||
->with('translations:locale,model_id,attribute_data')
|
||||
->where("parent_id", $id)
|
||||
->active()
|
||||
->get();
|
||||
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', $data);
|
||||
}
|
||||
|
||||
public function show($id){
|
||||
|
||||
$data = $this->Category::find($id);
|
||||
|
||||
if ($data){
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', [$data]);
|
||||
} else {
|
||||
$this->helpers->apiArrayResponseBuilder(404, 'not found', ['error' => 'Resource id=' . $id . ' could not be found']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static function getAfterFilters() {return [];}
|
||||
public static function getBeforeFilters() {return [];}
|
||||
public static function getMiddleware() {return [];}
|
||||
public function callAction($method, $parameters=false) {
|
||||
return call_user_func_array(array($this, $method), $parameters);
|
||||
}
|
||||
|
||||
<?php namespace AhmadFatoni\ApiGenerator\Controllers\API;
|
||||
|
||||
use Cms\Classes\Controller;
|
||||
use BackendMenu;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use AhmadFatoni\ApiGenerator\Helpers\Helpers;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Lovata\Shopaholic\Models\Category;
|
||||
class CategoriesAPIController extends Controller
|
||||
{
|
||||
protected $Category;
|
||||
|
||||
protected $helpers;
|
||||
|
||||
public function __construct(Category $Category, Helpers $helpers)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->Category = $Category;
|
||||
$this->helpers = $helpers;
|
||||
}
|
||||
|
||||
public function index(){
|
||||
|
||||
$data = $this->Category
|
||||
->select("id", "name", "slug")
|
||||
->orderBy("nest_left", "asc")
|
||||
->with('translations:locale,model_id,attribute_data')
|
||||
->with('icon')
|
||||
->with('preview_image')
|
||||
->where("nest_depth", 0)
|
||||
->active()
|
||||
->get();
|
||||
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', $data);
|
||||
}
|
||||
|
||||
public function GetParent($id){
|
||||
|
||||
$data = $this->Category
|
||||
->select("id", "name", "slug")
|
||||
->orderBy("nest_left", "asc")
|
||||
->with('translations:locale,model_id,attribute_data')
|
||||
->with('icon')
|
||||
->with('preview_image')
|
||||
->where("parent_id", $id)
|
||||
->active()
|
||||
->get();
|
||||
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', $data);
|
||||
}
|
||||
|
||||
public function show($id){
|
||||
|
||||
$data = $this->Category::find($id);
|
||||
|
||||
if ($data){
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', [$data]);
|
||||
} else {
|
||||
$this->helpers->apiArrayResponseBuilder(404, 'not found', ['error' => 'Resource id=' . $id . ' could not be found']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static function getAfterFilters() {return [];}
|
||||
public static function getBeforeFilters() {return [];}
|
||||
public static function getMiddleware() {return [];}
|
||||
public function callAction($method, $parameters=false) {
|
||||
return call_user_func_array(array($this, $method), $parameters);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,130 +1,140 @@
|
|||
<?php namespace AhmadFatoni\ApiGenerator\Controllers\API;
|
||||
|
||||
use Cms\Classes\Controller;
|
||||
use BackendMenu;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use AhmadFatoni\ApiGenerator\Helpers\Helpers;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Lovata\Shopaholic\Models\Product;
|
||||
class ProductAPIController extends Controller
|
||||
{
|
||||
protected $Product;
|
||||
|
||||
protected $helpers;
|
||||
|
||||
public function __construct(Product $Product, Helpers $helpers)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->Product = $Product;
|
||||
$this->helpers = $helpers;
|
||||
}
|
||||
|
||||
public function index(){
|
||||
|
||||
$data = $this->Product
|
||||
->select("id", "name", "slug", "category_id", "featured")
|
||||
->with('translations:locale,model_id,attribute_data')
|
||||
// ->with(['category' => function ($query) {
|
||||
// $query->with('translations:locale,model_id,attribute_data');
|
||||
// }])
|
||||
->active()
|
||||
->paginate(10);
|
||||
|
||||
if($data) {
|
||||
$data->each(function ($item, $key) {
|
||||
$item->icon = $this->pageUrl('index') . \Config::get('cms.storage.media.path') . $item->icon;
|
||||
});
|
||||
}
|
||||
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', $data);
|
||||
}
|
||||
|
||||
public function ByCatId($id){
|
||||
|
||||
$data = $this->Product
|
||||
->select("id", "name", "slug", "category_id", "featured")
|
||||
->with('translations:locale,model_id,attribute_data')
|
||||
->where("category_id", $id)
|
||||
->active()
|
||||
->paginate(10);
|
||||
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', $data);
|
||||
}
|
||||
|
||||
|
||||
public function show($id){
|
||||
|
||||
$data = $this->Product::with('translations:locale,model_id,attribute_data')
|
||||
->with(['category' => function ($query) {
|
||||
$query->with('translations:locale,model_id,attribute_data');
|
||||
}])
|
||||
->find($id);
|
||||
|
||||
|
||||
if ($data){
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', [$data]);
|
||||
} else {
|
||||
$this->helpers->apiArrayResponseBuilder(404, 'not found', ['error' => 'Resource id=' . $id . ' could not be found']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// public function store(Request $request){
|
||||
|
||||
// $arr = $request->all();
|
||||
|
||||
// while ( $data = current($arr)) {
|
||||
// $this->Product->{key($arr)} = $data;
|
||||
// next($arr);
|
||||
// }
|
||||
|
||||
// $validation = Validator::make($request->all(), $this->Product->rules);
|
||||
|
||||
// if( $validation->passes() ){
|
||||
// $this->Product->save();
|
||||
// return $this->helpers->apiArrayResponseBuilder(201, 'created', ['id' => $this->Product->id]);
|
||||
// }else{
|
||||
// return $this->helpers->apiArrayResponseBuilder(400, 'fail', $validation->errors() );
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
// public function update($id, Request $request){
|
||||
|
||||
// $status = $this->Product->where('id',$id)->update($data);
|
||||
|
||||
// if( $status ){
|
||||
|
||||
// return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been updated successfully.');
|
||||
|
||||
// }else{
|
||||
|
||||
// return $this->helpers->apiArrayResponseBuilder(400, 'bad request', 'Error, data failed to update.');
|
||||
|
||||
// }
|
||||
// }
|
||||
|
||||
// public function delete($id){
|
||||
|
||||
// $this->Product->where('id',$id)->delete();
|
||||
|
||||
// return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been deleted successfully.');
|
||||
// }
|
||||
|
||||
// public function destroy($id){
|
||||
|
||||
// $this->Product->where('id',$id)->delete();
|
||||
|
||||
// return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been deleted successfully.');
|
||||
// }
|
||||
|
||||
|
||||
public static function getAfterFilters() {return [];}
|
||||
public static function getBeforeFilters() {return [];}
|
||||
public static function getMiddleware() {return [];}
|
||||
public function callAction($method, $parameters=false) {
|
||||
return call_user_func_array(array($this, $method), $parameters);
|
||||
}
|
||||
|
||||
<?php namespace AhmadFatoni\ApiGenerator\Controllers\API;
|
||||
|
||||
use Cms\Classes\Controller;
|
||||
use BackendMenu;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use AhmadFatoni\ApiGenerator\Helpers\Helpers;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Lovata\Shopaholic\Models\Product;
|
||||
class ProductAPIController extends Controller
|
||||
{
|
||||
protected $Product;
|
||||
|
||||
protected $helpers;
|
||||
|
||||
public function __construct(Product $Product, Helpers $helpers)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->Product = $Product;
|
||||
$this->helpers = $helpers;
|
||||
}
|
||||
|
||||
public function index(){
|
||||
|
||||
$data = $this->Product
|
||||
->select("id", "name", "slug", "category_id", "featured", "description")
|
||||
//->with(['preview_image' => function ($query) {
|
||||
// $query->select("id", "path");
|
||||
// }])
|
||||
->with('preview_image')
|
||||
//->with('offer:id,main_price')
|
||||
//->with('images')
|
||||
->with('translations:locale,model_id,attribute_data')
|
||||
->with(['offer' => function ($query) {
|
||||
$query->with('main_price');
|
||||
}])
|
||||
->active()
|
||||
->paginate(10);
|
||||
|
||||
if($data) {
|
||||
$data->each(function ($item, $key) {
|
||||
$item->icon = $this->pageUrl('index') . \Config::get('cms.storage.media.path') . $item->icon;
|
||||
});
|
||||
}
|
||||
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', $data);
|
||||
}
|
||||
|
||||
public function ByCatId($id){
|
||||
|
||||
$data = $this->Product
|
||||
->select("id", "name", "slug", "category_id", "featured")
|
||||
->with('preview_image')
|
||||
->with('translations:locale,model_id,attribute_data')
|
||||
->where("category_id", $id)
|
||||
->with(['offer' => function ($query) {
|
||||
$query->with('main_price');
|
||||
}])
|
||||
->active()
|
||||
->paginate(10);
|
||||
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', $data);
|
||||
}
|
||||
|
||||
|
||||
public function show($id){
|
||||
|
||||
$data = $this->Product::with('translations:locale,model_id,attribute_data')
|
||||
->with(['category' => function ($query) {
|
||||
$query->with('translations:locale,model_id,attribute_data');
|
||||
}])
|
||||
->find($id);
|
||||
|
||||
|
||||
if ($data){
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', [$data]);
|
||||
} else {
|
||||
$this->helpers->apiArrayResponseBuilder(404, 'not found', ['error' => 'Resource id=' . $id . ' could not be found']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// public function store(Request $request){
|
||||
|
||||
// $arr = $request->all();
|
||||
|
||||
// while ( $data = current($arr)) {
|
||||
// $this->Product->{key($arr)} = $data;
|
||||
// next($arr);
|
||||
// }
|
||||
|
||||
// $validation = Validator::make($request->all(), $this->Product->rules);
|
||||
|
||||
// if( $validation->passes() ){
|
||||
// $this->Product->save();
|
||||
// return $this->helpers->apiArrayResponseBuilder(201, 'created', ['id' => $this->Product->id]);
|
||||
// }else{
|
||||
// return $this->helpers->apiArrayResponseBuilder(400, 'fail', $validation->errors() );
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
// public function update($id, Request $request){
|
||||
|
||||
// $status = $this->Product->where('id',$id)->update($data);
|
||||
|
||||
// if( $status ){
|
||||
|
||||
// return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been updated successfully.');
|
||||
|
||||
// }else{
|
||||
|
||||
// return $this->helpers->apiArrayResponseBuilder(400, 'bad request', 'Error, data failed to update.');
|
||||
|
||||
// }
|
||||
// }
|
||||
|
||||
// public function delete($id){
|
||||
|
||||
// $this->Product->where('id',$id)->delete();
|
||||
|
||||
// return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been deleted successfully.');
|
||||
// }
|
||||
|
||||
// public function destroy($id){
|
||||
|
||||
// $this->Product->where('id',$id)->delete();
|
||||
|
||||
// return $this->helpers->apiArrayResponseBuilder(200, 'success', 'Data has been deleted successfully.');
|
||||
// }
|
||||
|
||||
|
||||
public static function getAfterFilters() {return [];}
|
||||
public static function getBeforeFilters() {return [];}
|
||||
public static function getMiddleware() {return [];}
|
||||
public function callAction($method, $parameters=false) {
|
||||
return call_user_func_array(array($this, $method), $parameters);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,47 +1,49 @@
|
|||
<?php namespace AhmadFatoni\ApiGenerator\Controllers\API;
|
||||
|
||||
use Cms\Classes\Controller;
|
||||
use BackendMenu;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use AhmadFatoni\ApiGenerator\Helpers\Helpers;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Akami\Coffe30\Models\Slider;
|
||||
class SliderAPIController extends Controller
|
||||
{
|
||||
protected $Slider;
|
||||
|
||||
protected $helpers;
|
||||
|
||||
public function __construct(Slider $Slider, Helpers $helpers)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->Slider = $Slider;
|
||||
$this->helpers = $helpers;
|
||||
}
|
||||
|
||||
public function index(){
|
||||
|
||||
$data = $this->Slider
|
||||
->select("id", "img")
|
||||
->with('translations:locale,model_id,attribute_data')
|
||||
->get();
|
||||
|
||||
if($data) {
|
||||
$data->each(function ($item, $key) {
|
||||
$item->img = $this->pageUrl('index') . \Config::get('cms.storage.media.path') . $item->img;
|
||||
});
|
||||
}
|
||||
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', $data);
|
||||
}
|
||||
|
||||
|
||||
public static function getAfterFilters() {return [];}
|
||||
public static function getBeforeFilters() {return [];}
|
||||
public static function getMiddleware() {return [];}
|
||||
public function callAction($method, $parameters=false) {
|
||||
return call_user_func_array(array($this, $method), $parameters);
|
||||
}
|
||||
|
||||
<?php namespace AhmadFatoni\ApiGenerator\Controllers\API;
|
||||
|
||||
use Cms\Classes\Controller;
|
||||
use BackendMenu;
|
||||
use Config;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use AhmadFatoni\ApiGenerator\Helpers\Helpers;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Akami\Coffe30\Models\Slider;
|
||||
class SliderAPIController extends Controller
|
||||
{
|
||||
protected $Slider;
|
||||
|
||||
protected $helpers;
|
||||
|
||||
public function __construct(Slider $Slider, Helpers $helpers)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->Slider = $Slider;
|
||||
$this->helpers = $helpers;
|
||||
}
|
||||
|
||||
public function index(){
|
||||
$path = Config::get('app.cdn').Config::get('cms.storage.media.path');
|
||||
|
||||
$data = $this->Slider
|
||||
->select("id", "img")
|
||||
->with('translations:locale,model_id,attribute_data')
|
||||
->get();
|
||||
|
||||
if($data) {
|
||||
$data->each(function ($item, $key) {
|
||||
$item->img = "http://sapalymahabat.com.tm" . \Config::get('cms.storage.media.path') . $item->img;
|
||||
});
|
||||
}
|
||||
|
||||
return $this->helpers->apiArrayResponseBuilder(200, 'success', $data);
|
||||
}
|
||||
|
||||
|
||||
public static function getAfterFilters() {return [];}
|
||||
public static function getBeforeFilters() {return [];}
|
||||
public static function getMiddleware() {return [];}
|
||||
public function callAction($method, $parameters=false) {
|
||||
return call_user_func_array(array($this, $method), $parameters);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,25 +1,25 @@
|
|||
<?php
|
||||
|
||||
Route::post('fatoni/generate/api', array('as' => 'fatoni.generate.api', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\ApiGeneratorController@generateApi'));
|
||||
Route::post('fatoni/update/api/{id}', array('as' => 'fatoni.update.api', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\ApiGeneratorController@updateApi'));
|
||||
Route::get('fatoni/delete/api/{id}', array('as' => 'fatoni.delete.api', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\ApiGeneratorController@deleteApi'));
|
||||
|
||||
Route::group(['prefix' =>'api/v1','namespace' =>'AhmadFatoni\ApiGenerator\Controllers\API'],function ($route){
|
||||
|
||||
Route::get('products','ProductAPIController@index');
|
||||
Route::get('products/category/{id}','ProductAPIController@ByCatId');
|
||||
Route::get('products/{id}', 'ProductAPIController@show');
|
||||
|
||||
Route::get('categories', 'CategoriesAPIController@index');
|
||||
Route::get('category/sub/{id}', 'CategoriesAPIController@getParent');
|
||||
|
||||
Route::get('sliders', 'SliderAPIController@index');
|
||||
|
||||
|
||||
Route::middleware([\ReaZzon\JWTAuth\Http\Middlewares\ResolveUser::class])->group(function () {
|
||||
|
||||
Route::get('cart', 'CartAPIController@index');
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
<?php
|
||||
|
||||
Route::post('fatoni/generate/api', array('as' => 'fatoni.generate.api', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\ApiGeneratorController@generateApi'));
|
||||
Route::post('fatoni/update/api/{id}', array('as' => 'fatoni.update.api', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\ApiGeneratorController@updateApi'));
|
||||
Route::get('fatoni/delete/api/{id}', array('as' => 'fatoni.delete.api', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\ApiGeneratorController@deleteApi'));
|
||||
|
||||
Route::group(['prefix' =>'api/v1','namespace' =>'AhmadFatoni\ApiGenerator\Controllers\API'],function ($route){
|
||||
|
||||
Route::get('products','ProductAPIController@index');
|
||||
Route::get('products/category/{id}','ProductAPIController@ByCatId');
|
||||
Route::get('products/{id}', 'ProductAPIController@show');
|
||||
|
||||
Route::get('categories', 'CategoriesAPIController@index');
|
||||
Route::get('category/sub/{id}', 'CategoriesAPIController@getParent');
|
||||
|
||||
Route::get('sliders', 'SliderAPIController@index');
|
||||
|
||||
|
||||
//Route::middleware([\ReaZzon\JWTAuth\Http\Middlewares\ResolveUser::class])->group(function () {
|
||||
|
||||
//Route::get('cart', 'CartAPIController@index');
|
||||
|
||||
// });
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue