<?php

namespace App\Http\Controllers\api;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Storage;

class MateriMobileController extends Controller
{
    public function downloadMateri(Request $request)
    {
        // Validasi request
        $request->validate([
            'id_materi' => 'required|string',
        ]);

        $id_materi = $request->input('id_materi');

        // Dapatkan nama file dari database
        $fileName = DB::table('materi')
            ->where('id_materi', $id_materi)
            ->value('lampiran_materi');

        if ($fileName) {
            // Dapatkan path lengkap ke file
            $filePath = public_path('storage/' . $fileName);

            // Periksa apakah file ada
            if (file_exists($filePath)) {
                // Tambahkan header "ngrok-skip-browser-warning"
                return response()->download($filePath, basename($fileName), [], 'ngrok-skip-browser-warning: any');
            } else {
                // Jika tidak, kirimkan respons file tidak ditemukan
                return response()->json(['message' => 'File tidak ditemukan'], 404);
            }
        } else {
            // Jika tidak ada data materi yang ditemukan
            return response()->json(['message' => 'Materi tidak ditemukan'], 404);
        }
    }

    public function lihatMateri(Request $request)
    {
        // Validasi request
        $request->validate([
            'id_materi' => 'required|string',
        ]);

        $id_materi = $request->input('id_materi');

        // Dapatkan nama file dari database
        $fileName = DB::table('materi')
            ->where('id_materi', $id_materi)
            ->value('lampiran_materi');

        if ($fileName) {
            // Dapatkan URL lengkap ke file
            $fileUrl = Storage::url($fileName);

            // Tambahkan header "ngrok-skip-browser-warning"
            return response()->json([
                'fileUrl' => asset($fileUrl),
            ]);
        } else {
            // Jika tidak ada data materi yang ditemukan
            return response()->json(['message' => 'Materi tidak ditemukan'], 404);
        }
    }
}
