Pembahasan Soal LKS Web Technologies Module-Server

  • Diposting oleh:
  • Diposting pada:
  • Kategori:
    LKSLKS
  • Sistem:
    Tidak diketahui
  • Harga:
    USD 0
  • Dilihat:
    1440

Membuat Controller upload

Pertama, buatlah controller dengan nama gamesController terlebih dahulu. Buka terminal dan ketikkan kode di bawah ini.

php artisan make:controller uploadController

Kemudian masuk ke app/Http/Controllers/uploadController.php

Sebelum itu mari kita ubah storage default nya ke public, buka terminal lalu ketik kode di bawah dan tekan enter.

php artisan storage:link

Membuat Fungsi upload

Sekarang, kita akan membuat fungsi upload . Saya sudah menyiapkan kodenya. Anda bisa menyalin kode di bawah ini.


public function uploadfile($slug, Request $request)
    {
        try {
            $request->validate([
                'zipfile'=>'required|file',
                'thumbnail'=>'nullable|file'
            ]);
            $zip = $request->file('zipfile');
            $thumbnail = $request->file('thumbnail');

            if ($zip == null) {
                return response()->json([
                    'status'=>'invalid',
                    'message'=>'the zipfile is null'
                ]);
            }

            $games = games::where('slug',$slug)->with('game_version')->first();
            $path = gameversion::where('game_id',$games->id)->get()->last()->storage_path;

            if ($thumbnail) {
                $thumbnail->move(public_path($path),'thumbnail.png');
            }
            $zipname = $games->title . '.zip';
            $zip->move(public_path($path),$zipname);

            return response()->json([
                'status'=>'success',
                'content'=>$path
            ]);
        } catch (\Throwable $th) {
            return response()->json(['status' => 'error', 'message' => $th->getMessage()], 422);
        }
    }

Kemudian masuk kedalam routes/api.php lalu ketikkan kode dibawah untuk membuat routing api nya.

Route::post('/v1/games/{slug}/upload',[uploadController::class,'uploadfile']);

Tambahkan routing di atas ke dalam middleware yang telah kita buat sebelumnya.

Mari kita coba, jika berhasil maka responnya seperti ini yaa!

lks web technology

Membuat controller score

Pertama, buatlah controller dengan nama gamesController terlebih dahulu. Buka terminal dan ketikkan kode di bawah ini.

php artisan make:controller scoreController

Kemudian masuk ke app/Http/Controllers/scoreController.php

Membuat fungsi showscore

Sekarang, kita akan membuat fungsi show. Saya sudah menyiapkan kodenya. Anda bisa menyalin kode di bawah ini.


 public function show($slug)
    {
        try {
            $games = games::where('slug', $slug)->first();
            $gamver = gameversion::where('game_id', $games->id)->get();
            $temp = [];

            foreach ($gamver as $key => $value) {
                $score = score::where('game_version_id',$value->id)->get();
                foreach ($score as $key => $val) {
                    $val['username'] = society::where('id',$val->user_id)->first()->username;
                    $val['timestamps'] = $val->created_at;
                }
                $temp = $score;
            }

            return response()->json(['scores'=>$temp->makeHidden(['user_id','game_version_id','updated_at','id','created_at'])],200);

        } catch (\Throwable $th) {
            return response()->json(['status' => 'error', 'message' => $th->getMessage()], 422);
        }
    }

Kemudian masuk kedalam routes/api.php lalu ketikkan kode dibawah untuk membuat routing api nya.

Route::get('/v1/games/{slug}/scores',[scoreController::class, 'show']);

Mari kita coba, jika berhasil maka responnya seperti ini yaa!

lks web technology

Membuat fungsi postscore

Sekarang, kita akan membuat fungsi post. Saya sudah menyiapkan kodenya. Anda bisa menyalin kode di bawah ini.


public function postscore($slug,Request $request){
        try {
            $request->validate([
                'score'=>'required|decimal:0,100'
            ]);

            $games = games::where('slug',$slug)->first();
            $gamver = gameversion::where('game_id',$games->id)->get()->last();

            $score = new score();
            $score->score = $request->score;
            $score->game_version_id = $gamver->id;
            $score->user_id = $request->user()->id;
            $score->save();

            return response()->json(['status'=>'success'],200);
        } catch (\Throwable $th) {
            return response()->json(['status' => 'error', 'message' => $th->getMessage()], 422);
        }
    }

Kemudian masuk kedalam routes/api.php lalu ketikkan kode dibawah untuk membuat routing api nya.

Route::post('v1/games/{slug}/scores',[scoreController::class, 'postscore']);

Tambahkan routing di atas ke dalam middleware yang telah kita buat sebelumnya.

Mari kita coba, jika berhasil maka responnya seperti ini yaa!

lks web technology

 

Dengan demikian, melalui diskusi modul Web Technologies Server, diharapkan Anda akan mendapatkan pemahaman yang lebih dalam tentang konsep-konsep kunci serta praktik terbaik untuk mengembangkan manajemen server Kami percaya bahwa pengetahuan yang diperoleh akan menjadi dasar yang kuat untuk perjalanan Anda di dunia teknologi Terus mengeksplorasi, terus belajar, dan tetap terhubung dengan perkembangan terbaru di industri Semoga sukses denganmu .

 

Rating

0

( 0 Votes )
Silahkan Rating!
Pembahasan Soal LKS Web Technologies Module-Server

No votes so far! Be the first to rate this post.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *