Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Segmen Program API Create Project

1. public function createProject(Request $request)


2. {
3. $nowDate = Carbon::now()->format('Y-m-d');
4. $tasks = new Task;
5. $tasks->name = $request->name;
6. $tasks->date = $nowDate;
7. $tasks->due_date = $request->due_date;
8. $tasks->weight = $request->weight;
9. $tasks->created_by = $request->user_id;
10. $tasks->save();
11. if ($tasks) {
12. return response()->json([
13. 'message' => 'Insert Task Successfuly.',
14. 'data' => $tasks,
15. 'success' => true
16. ], 200);
17. } else {
18. return response()->json([
19. 'message' => 'Insert Task Unsuccessfuly.',
20. 'data' => $tasks,
21. 'success' => false
22. ]);
23. }
24. }

Baris ke 1 merupakan inisiasi function createProject() dengan mengirim parameter variabel


request. Baris ke 3 merupakan inisiasi variabel untuk menyimpan tanggal saat ini
menggunakan bantuan Carbon dari laravel. Baris ke 4-9 merupakan perintah eloquent laravel
untuk membuat data baru yang akan di insert kedalam tabel Task. Baris ke 11 merupakan
perintah pengecekan apakah data berhasil dimasukkan kedalam database. Jika iya maka
function akan mengembalikan response json dengan kode status 200 dan status true. Apabila
gagal, maka function akan mengembalikan response json dengan status false.

Segmen Program API Update Project


1. public function updateProject(Request $request)
2. {
3. $task = Task::where('id', $request->id)->first();
4. if(!empty($request->name)){
5. $task->name = $request->name;}
6. if(!empty($request->due_date)){
7. $task->due_date = $request->due_date;}
8. if(!empty($request->task_assign)){
9. $taskAssign = TaskAssign::firstOrNew(
10. ['task_id' => $request->id],
11. ['user_id' => $request->task_assign],
12. );
13. $taskAssign->user_id = $request->task_assign;
14. $taskAssign->updated_by = $request->updated_by;
15. $taskAssign->save();}
16. if(!empty($request->task_detail)){
17. $taskDetail = json_decode($request->task_detail);
18. foreach ($taskDetail as $key => $value) {
19. if(!empty($value->id)){
20. $taskD = TaskDetail::where('id', $value->id)-
21. >where('task_id', $request->id)->first();
22. }else{
23. $taskD = new TaskDetail();
24. $taskD->task_id = $request->id;
25. $taskD->name = $value->name;}
26. $taskD->weight = $value->weight;
27. $taskD->status = $value->status;
28. $taskD->updated_by = $request->updated_by;
29. $taskD->save();}}
30. $task->save();
31. if ($task) {
32. return response()->json([
33. 'message' => 'Update Task Successfuly.',
34. 'data' => $task,
35. 'success' => true
36. ], 200);
37. } else {
38. return response()->json([
39. 'message' => 'Update Task Unsuccessfuly.',
40. 'data' => $task,
41. 'success' => false
42. ]);}}

Baris ke 1 merupakan inisiasi function updateProject() dengan mengirim parameter variabel


request. Baris ke 3 merupakan perintah eloquent laravel untuk mencari data dari model Task
dengan id yang didapatkan dari parameter function. Baris ke 4-7 merupakan perintah
pengecekan apakah request parameter memiliki nilai, apabila iya maka field akan diisi
dengan nilai dari request parameter tersebut. Baris ke 8-15 merupakan perintah pengecekan
apakah request parameter task assign memiliki nilai, apabila iya maka field dari model task
assign akan diisi dengan nilai dari request parameter tersebut untuk mengubah atau membuat
data baru pada tabel task assign dengan relasi one to many pada tabel task. Baris ke 16-29
merupakan perintah pengecekan apakah request parameter task detail memiliki nilai, apabila
iya maka field dari model task detail akan diisi dengan nilai dari request parameter tersebut
untuk mengubah atau membuat data baru pada tabel task detail dengan relasi one to many
pada tabel task. Baris ke 31 merupakan perintah pengecekan apakah data berhasil
dimasukkan kedalam database. Jika iya maka function akan mengembalikan response json
dengan kode status 200 dan status true. Apabila gagal, maka function akan mengembalikan
response json dengan status false.

Segmen Program API Delete Project


1. public function deleteProject($id) {
2. $task_detail = TaskDetail::where('task_id', $id)->delete();
3. $task_assign = TaskAssign::where('task_id', $id)->delete();
4. $tasks = Task::findOrFail($id);
5. if($tasks){
6. $tasks->delete();
7. return response()->json([
8. 'success' => true,
9. 'message' => 'Project successfuly deleted.'
10. ]);
11. }else{
12. return response()->json([
13. 'success' => false,
14. 'message' => 'Data not found.'
15. ],404);}

Baris ke 1 merupakan inisiasi function deleteProject() dengan mengirim parameter variabel


ID. Baris ke 2-3 merupakan perintah untuk menghapus data pada tabel task detail dan task
assign dengan Task ID yang sama dengan parameter ID. Baris ke 4 merupakan perintah
perintah pengecekan apakah data dengan variabel ID pada tabel Task tersedia. Jika iya maka
pada baris 6 akan menjalankan perintah delete task dan function akan mengembalikan
response json dengan kode status 200 dan status true. Apabila gagal, maka function akan
mengembalikan response json dengan status false

You might also like