service = $service; } public function index(Request $request) { $filters = $request->only([ 'search', 'technician_id', 'warehouse_id', 'type', 'page', 'per_page', 'sort_by', 'sort_order', ]); $data = $this->service->list($filters); return $this->successPaginated( $data, MaterialResource::class, 'List material user berhasil diambil' ); } public function assign(AssignMaterialRequest $request) { $result = $this->service->assign($request->validated()); return $this->created( new MaterialResource($result), 'Material berhasil di-assign' ); } public function transfer(TransferMaterialRequest $request) { $result = $this->service->transfer($request->validated()); return $this->updated( new MaterialResource($result), 'Material berhasil di-transfer' ); } public function return(ReturnMaterialRequest $request) { $result = $this->service->return($request->validated()); return $this->updated( new MaterialResource($result), 'Material berhasil direturn' ); } public function listByUser($user_id) { $data = $this->service->listByUser($user_id); return $this->success( \App\Http\Resources\Material\MaterialResource::collection($data), 'List material user berhasil diambil' ); } public function history($barcode_id) { $data = $this->service->history($barcode_id); return $this->success( $data, 'History material berhasil diambil' ); } }