Browse Source

Merge pull request #2382 from visuddhinanda/development

Development
visuddhinanda 4 days ago
parent
commit
827d50e5ba

+ 2 - 2
api-v13/app/Http/Controllers/DhammaTermController.php

@@ -150,7 +150,7 @@ class DhammaTermController extends Controller
                 break;
             case 'hot-meaning':
                 $key = 'term/hot_meaning';
-                $value = Cache::get($key, function () use ($request) {
+                $value = Cache::remember($key, config('mint.cache.expire'), function () use ($request) {
                     $hotMeaning = [];
                     $words = DhammaTerm::select('word')
                         ->where('language', $request->input("language"))
@@ -176,7 +176,7 @@ class DhammaTermController extends Controller
                     }
                     Cache::put($key, $hotMeaning, 3600);
                     return $hotMeaning;
-                }, config('mint.cache.expire'));
+                });
                 return $this->ok(["rows" => $value, "count" => count($value)]);
                 break;
             default:

+ 80 - 0
api-v13/app/Http/Controllers/ProgressController.php

@@ -0,0 +1,80 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+use App\Models\ProgressChapter;
+
+class ProgressController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     * @return \Illuminate\Http\Response
+     */
+    public function index(Request $request)
+    {
+        //
+        switch ($request->input('view')) {
+            case 'channel':
+                $table = ProgressChapter::whereIn('channel_id', explode('_', $request->get('channels', '')));
+                break;
+            default:
+                return $this->error('invalid view', 400, 400);
+                break;
+        }
+
+        if ($request->has('lang')) {
+            $table = $table->where('lang', $request->get('lang'));
+        }
+        $count = $table->count();
+
+        $table = $table->orderBy(
+            $request->input('order', 'completed_at'),
+            $request->input('dir', 'desc')
+        );
+
+        $table = $table->skip($request->input("offset", 0))
+            ->take($request->input('limit', 10));
+
+        $result = $table->get();
+
+        return $this->ok(
+            [
+                "rows" => $result->toArray(),
+                "total" => $count,
+            ]
+        );
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     */
+    public function show(string $id)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     */
+    public function update(Request $request, string $id)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     */
+    public function destroy(string $id)
+    {
+        //
+    }
+}

+ 2 - 2
api-v13/app/Http/Controllers/ProgressImgController.php

@@ -40,7 +40,7 @@ class ProgressImgController extends Controller
         //
         return response()->stream(function () use ($id) {
             $key = str_replace('-', '/', $id);
-            $svg = Cache::get('svg/' . $key, function () use ($key) {
+            $svg = Cache::remember('svg/' . $key, config('mint.cache.expire'), function () use ($key) {
                 $viewHeight = 60;
                 $svg = "<svg xmlns='http://www.w3.org/2000/svg'  fill='currentColor' viewBox='0 0 300 60'>";
                 $data = Cache::get($key);
@@ -55,7 +55,7 @@ class ProgressImgController extends Controller
                     $svg .= '<polyline points="0,0 1,0" /></svg>';
                 }
                 return $svg;
-            }, config('mint.cache.expire'));
+            });
             echo $svg;
         }, 200, ['Content-Type' => 'image/svg+xml']);
         /*

+ 2 - 0
api-v13/routes/api.php

@@ -126,6 +126,7 @@ use App\Http\Controllers\UpgradeController;
 use App\Http\Controllers\ChapterContentController;
 use App\Http\Controllers\ParagraphContentController;
 use App\Http\Controllers\HeartbeatController;
+use App\Http\Controllers\ProgressController;
 
 
 
@@ -326,4 +327,5 @@ Route::group([
     Route::apiResource('search', SearchPlusController::class);
     Route::apiResource('search-suggest', SearchSuggestController::class);
     Route::apiResource('upgrade', UpgradeController::class);
+    Route::apiResource('progress', ProgressController::class);
 });