���Root Mod By V1rus_Alfa
User / IP
:
216.73.217.78
Host / Server
:
195.214.235.115 / npln.ir
System
:
Linux damavand.pws-dns.net 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Command
|
Upload
|
Mass Deface
|
Create
:
/
home2
/
cutunixc
/
repositories
/
dasterang-api
/
modules
/
Vendor
/
Http
/
Controllers
/
Api
/
Viewing: ScrapController.php
<?php namespace Modules\Vendor\Http\Controllers\Api; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use Modules\Identity\Models\User; use Modules\Product\Models\Product; use Modules\Vendor\Http\Resources\ProductWithScrapsResource; use Modules\Vendor\Http\Resources\ScrapResource; use Modules\Vendor\Models\Scrap; use OpenApi\Annotations as OA; class ScrapController extends Controller{ public function checkToken($token){ $user = User::where('token',$token)->first(); return $user; } /** * @OA\Tag( * name = "Scrap", * description = "endpoints for scrap" * ) * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\JsonResponse */ /** * @OA\Get( * path = "/api/my-shop/products/scraps/get", * operationId = "getScraps", * tags = {"Scrap"}, * summary = "get scrap in shop", * description = "get scrap user id . token must be set in this path", * @OA\Response( * response = 200, * description = "success" * ), * @OA\Response( * response = 404, * description = "not found" * ), * @OA\Response( * response = 401, * description = "token is invalid" * ), * * ) * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\JsonResponse */ public function getScraps(Request $request){ $token = $request->bearerToken(); $user = $this->checkToken($token); if(!$user){ return response()->json([ 'response'=>'token is invalid' ],401); } $product_ids = $user->scraps()->groupBy('product_id')->pluck('product_id'); $all_products = []; foreach($product_ids as $product_id){ $product = Product::find($product_id); $scraps = Product::scraps($product_id,$user->id)->get(); $product['scraps']=ScrapResource::collection($scraps); array_push($all_products,new ProductWithScrapsResource($product)); } // $scraps = $user->scraps()->get(); // if(!$scraps){ // return response()->json([ // 'response'=>'not found' // ],404); // } return response()->json([ 'response'=>$all_products ],200); } /** * @OA\Post( * path = "/api/my-shop/products/{id}/scraps/set", * operationId="setScrap", * tags = {"Scrap"}, * summary = "set scrap for product with product id", * description = "set scrap for product id . id in this path is product id . token must be set", * @OA\Parameter( * name="id", * in="path", * required=true, * @OA\Schema(type="integer") * ), * @OA\RequestBody( * required=true, * @OA\MediaType( * mediaType = "multipar/form-data", * @OA\Schema( * type = "object", * required = {"width","length","count","price"}, * @OA\Property(property="width", type="integer"), * @OA\Property(property="length", type="integer"), * @OA\Property(property="count", type="integer"), * @OA\Property(property="price", type="integer"), * ) * ) * ), * @OA\Response(response = 200 , description= "success"), * @OA\Response(response = 409 , description= "invalid request"), * @OA\Response(response = 401 , description= "token is invalid"), * ) * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\JsonResponse */ public function setScrap(Request $request,$id){ $message = [ 'required'=>'وارد نشده است', 'numeric'=>'باید از نئع عدد باشد', ]; $attribute = [ 'width'=>'عرض پرتی', 'length'=>'طول پرتی', 'count'=>'تعداد پرتی', 'price'=>'قیمت پرتی', ]; $validationData = Validator::make($request->all(),[ 'width'=> 'required|numeric', 'length'=> 'required|numeric', 'count'=> 'required|numeric', 'price'=>'required|numeric', ],$message,$attribute); if($validationData->fails()){ return response()->json([ 'respones'=>$validationData->errors()->first() ],409); } $user = $this->checkToken($request->bearerToken()); if($user){ Scrap::create( ['user_id'=>$user->id,'product_id'=>$id,'width'=>$request->width,'length'=>$request->length,'count'=>$request->count,'price'=>$request->price] ); return response()->json([ 'respnose'=>'آیتم مورد نظر با موفقیت ثبت شد' ],200); }else{ return response()->json([ 'response'=>'token is invalid' ],401); } } /** * @OA\Patch( * path = "/api/products/scraps/{id}/update", * operationId="updateScrap", * tags = {"Scrap"}, * summary = "set scrap for product with product id", * description = "update scrap for scrap id . id in this path is scrap id . token must be set", * @OA\Parameter( * name="id", * in="path", * required=true, * @OA\Schema(type="integer") * ), * @OA\RequestBody( * required=true, * @OA\MediaType( * mediaType = "multipar/form-data", * @OA\Schema( * type = "object", * required = {"width","length","product_id","count","price"}, * @OA\Property(property="width", type="integer"), * @OA\Property(property="length", type="integer"), * @OA\Property(property="product_id", type="integer"), * @OA\Property(property="count", type="integer"), * @OA\Property(property="price", type="integer"), * ) * ) * ), * @OA\Response(response = 200 , description= "success"), * @OA\Response(response = 409 , description= "invalid request"), * @OA\Response(response = 401 , description= "token is invalid"), * ) * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\JsonResponse */ public function updateScrap(Request $request , $id){ $message = [ 'required'=>'وارد نشده است', 'numeric'=>'باید از نئع عدد باشد', ]; $attribute = [ 'width'=>'عرض پرتی', 'length'=>'طول پرتی', 'count'=>'تعداد پرتی', 'price'=>'قیمت پرتی', ]; $validationData = Validator::make($request->all(),[ 'width'=> 'required|numeric', 'length'=> 'required|numeric', 'count'=> 'required|numeric', 'price'=>'required|numeric', ],$message,$attribute); if($validationData->fails()){ return response()->json([ 'respones'=>$validationData->errors()->first() ],409); } $user = $this->checkToken($request->bearerToken()); if($user){ $scrap = Scrap::find($id); $scrap->update([ 'width'=>$request->width, 'length'=>$request->length, 'count'=>$request->count, 'price'=>$request->price ]); return response()->json([ 'response'=>'آیتم مورد نظر با موفقیت ویرایشد شد' ],200); }else{ return response()->json([ 'respones'=>'token is invalid' ],401); } } /** * @OA\Delete( * path = "/api/my-shop/products/scraps/{id}/delete", * operationId = "deleteScrap", * tags = {"Scrap"}, * description = "delete scrap by its id", * @OA\Parameter( * name="id", * in="query", * required=true, * @OA\Schema(type="integer") * ), * @OA\Response(response = 200 , description = "success"), * @OA\Response(response = 401 , description = "token is invalid"), * @OA\Response(response = 404 , description = "not found"), * ) * @param \Illuminate\Http\Request $request * @param mixed $id * @return \Illuminate\Http\JsonResponse */ public function deleteScrap(Request $request , $id){ $user = $this->checkToken($request->bearerToken()); if($user){ $model = Scrap::where('id',$id)->first(); if(!$model){ return response()->json([ 'response'=>'not found' ],404); } $model->delete(); return response()->json([ 'response'=>'this item is deleted successfuly' ],200); } return response()->json([ 'response'=>'token is invalid' ],401); } }
Coded With 💗 by
0x6ick Mod By V1rus_Alfa