| Current Path : /home/users/unlimited/www/api.xalonx.com/app/Http/Controllers/v1/ |
| Current File : /home/users/unlimited/www/api.xalonx.com/app/Http/Controllers/v1/ProductSubCategoryController.php |
<?php
namespace App\Http\Controllers\v1;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\ProductSubCategory;
use Validator;
use DB;
class ProductSubCategoryController extends Controller
{
public function save(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required',
'cover' => 'required',
'cate_id' => 'required',
]);
if ($validator->fails()) {
$response = [
'success' => false,
'message' => 'Validation Error.',
$validator->errors(),
'status' => 500
];
return response()->json($response, 404);
}
$data = ProductSubCategory::create([
'name' => $request->name,
'cover' => $request->cover,
'cate_id' => $request->cate_id,
'status' => 1,
]);
if (is_null($data)) {
$response = [
'data' => $data,
'message' => 'error',
'status' => 500,
];
return response()->json($response, 200);
}
$response = [
'data' => $data,
'success' => true,
'status' => 200,
];
return response()->json($response, 200);
}
public function getByCId(Request $request)
{
$validator = Validator::make($request->all(), [
'id' => 'required',
]);
if ($validator->fails()) {
$response = [
'success' => false,
'message' => 'Validation Error.',
$validator->errors(),
'status' => 500
];
return response()->json($response, 404);
}
$data = ProductSubCategory::where(['cate_id' => $request->id, 'status' => 1])->get();
$response = [
'data' => $data,
'success' => true,
'status' => 200,
];
return response()->json($response, 200);
}
public function getById(Request $request)
{
$validator = Validator::make($request->all(), [
'id' => 'required',
]);
if ($validator->fails()) {
$response = [
'success' => false,
'message' => 'Validation Error.',
$validator->errors(),
'status' => 500
];
return response()->json($response, 404);
}
$data = ProductSubCategory::find($request->id);
if (is_null($data)) {
$response = [
'success' => false,
'message' => 'Data not found.',
'status' => 404
];
return response()->json($response, 404);
}
$response = [
'data' => $data,
'success' => true,
'status' => 200,
];
return response()->json($response, 200);
}
public function update(Request $request)
{
$validator = Validator::make($request->all(), [
'id' => 'required',
]);
if ($validator->fails()) {
$response = [
'success' => false,
'message' => 'Validation Error.',
$validator->errors(),
'status' => 500
];
return response()->json($response, 404);
}
$data = ProductSubCategory::find($request->id)->update($request->all());
if (is_null($data)) {
$response = [
'success' => false,
'message' => 'Data not found.',
'status' => 404
];
return response()->json($response, 404);
}
$response = [
'data' => $data,
'success' => true,
'status' => 200,
];
return response()->json($response, 200);
}
public function delete(Request $request)
{
$validator = Validator::make($request->all(), [
'id' => 'required',
]);
if ($validator->fails()) {
$response = [
'success' => false,
'message' => 'Validation Error.',
$validator->errors(),
'status' => 500
];
return response()->json($response, 404);
}
$data = ProductSubCategory::find($request->id);
if ($data) {
$data->delete();
$response = [
'data' => $data,
'success' => true,
'status' => 200,
];
return response()->json($response, 200);
}
$response = [
'success' => false,
'message' => 'Data not found.',
'status' => 404
];
return response()->json($response, 404);
}
public function getFromCateId(Request $request)
{
$validator = Validator::make($request->all(), [
'id' => 'required',
]);
if ($validator->fails()) {
$response = [
'success' => false,
'message' => 'Validation Error.',
$validator->errors(),
'status' => 500
];
return response()->json($response, 404);
}
$data = ProductSubCategory::where(['status' => 1, 'cate_id' => $request->id])->get();
$response = [
'data' => $data,
'success' => true,
'status' => 200,
];
return response()->json($response, 200);
}
public function getAll()
{
// $data = ProductSubCategory::all();
$data = DB::table('product_sub_category')
->select('product_sub_category.*', 'product_categories.name as cate_name')
->join('product_categories', 'product_sub_category.cate_id', 'product_categories.id')
->orderBy('product_sub_category.id', 'desc')
->get();
if (is_null($data)) {
$response = [
'success' => false,
'message' => 'Data not found.',
'status' => 404
];
return response()->json($response, 404);
}
$response = [
'data' => $data,
'success' => true,
'status' => 200,
];
return response()->json($response, 200);
}
public function importData(Request $request)
{
$request->validate([
"csv_file" => "required",
]);
$file = $request->file("csv_file");
$csvData = file_get_contents($file);
$rows = array_map("str_getcsv", explode("\n", $csvData));
$header = array_shift($rows);
foreach ($rows as $row) {
if (isset($row[0])) {
if ($row[0] != "") {
if (count($header) == count($row)) {
$row = array_combine($header, $row);
$insertInfo = array(
'id' => $row['id'],
'name' => $row['name'],
'cover' => $row['cover'],
'cate_id' => $row['cate_id'],
'status' => $row['status'],
);
$checkLead = ProductSubCategory::where("id", "=", $row["id"])->first();
if (!is_null($checkLead)) {
DB::table('sub_category')->where("id", "=", $row["id"])->update($insertInfo);
} else {
DB::table('sub_category')->insert($insertInfo);
}
}
}
}
}
$response = [
'data' => 'Done',
'success' => true,
'status' => 200,
];
return response()->json($response, 200);
}
}