Membuat data Transaction dengna laravel 11 api

RoisDev - Feb 19 - - Dev Community
<?php

namespace App\Http\Controllers;

use App\Http\Requests\TransactionRequest;
use App\Http\Resources\TransactionResource;
use App\Models\Products;
use App\Models\Transaction;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
class TransactionController extends Controller
{
    /**
     * Display a listing of the resource.
     */
    public function index()
    {
        $transaction =Transaction::with('products')->get();
        return new TransactionResource(true,'Data Transaction',$transaction);
    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(TransactionRequest $request)
    {
        $product = Products::findOrFail($request->product_id);
        $total_price = $product->price * $request->quantity;
        $transaction = Transaction::create([
            'email' => $request->email,
            'product_id' =>$request->product_id,
            'quantity' => $request->quantity,
            'plan' => $request->plan,
            'total_price' => $total_price,
            'status' => 'pending', 
        ]);

        return new TransactionResource(true,'Data Transaction berhasil di tambah',$transaction);
    }

    /**
     * Display the specified resource.
     */
    public function show(Transaction $transaction)
    {
        return new TransactionResource(true,'Detail Data Transaction',$transaction);
    }

    /**
     * Update the sJecified resource in storage.
     */
    public function update(Request $request, Transaction $transaction)
    {
        $data = $request->all();
        if($data['status'] == 'approved'){
            $data['lisensi_key'] = Str::uuid();
        }else{
            $data['lisensi_key'] = null;
        }
        $transaction->update($data);
        return new TransactionResource(true,'Data Transaction Berhasil Di Update',$transaction);
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(Transaction $transaction)
    {
        $transaction->delete();
        return new TransactionResource(true,'Data Transaction Berhasil Di Hapus',$transaction);
    }

    public function approved($id){
        $transaction =Transaction::findOrFail($id);
        $lisensi_key =Str::uuid();
        $transaction->approved ='approved';
        $transaction->lisensi_key = $lisensi_key;
        $transaction->save();
        return new TransactionResource(true,'Data Transaction Di setujui',$transaction);
    }
}

Enter fullscreen mode Exit fullscreen mode
. . . . .