2
0
Эх сурвалжийг харах

:sparkles: tem-vocabulary

visuddhinanda 3 жил өмнө
parent
commit
0921345479

+ 87 - 0
app/Http/Controllers/TermVocabularyController.php

@@ -0,0 +1,87 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Models\DhammaTerm;
+use Illuminate\Http\Request;
+use App\Http\Resources\TermVocabularyResource;
+use App\Http\Api\ChannelApi;
+
+class TermVocabularyController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index(Request $request)
+    {
+        //
+        $table = DhammaTerm::select(['word','meaning']);
+        switch ($request->get('view')) {
+            case "grammar":
+                $localTerm = ChannelApi::getSysChannel(
+                    "_System_Grammar_Term_".strtolower($request->get('lang'))."_",
+                    "_System_Grammar_Term_en_"
+                );
+                if(!$localTerm){
+                    return $this->error('no term channel');
+                }
+                $table = $table->where('channal',$localTerm);
+                break;
+            case "studio":
+                break;
+            case "user":
+                break;
+            case "community":
+                break;
+        }
+        $result = $table->get();
+        return $this->ok(["rows"=>TermVocabularyResource::collection($result),'count'=>count($result)]);
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  \App\Models\DhammaTerm  $dhammaTerm
+     * @return \Illuminate\Http\Response
+     */
+    public function show(DhammaTerm $dhammaTerm)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \App\Models\DhammaTerm  $dhammaTerm
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, DhammaTerm $dhammaTerm)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  \App\Models\DhammaTerm  $dhammaTerm
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy(DhammaTerm $dhammaTerm)
+    {
+        //
+    }
+}

+ 19 - 0
app/Http/Resources/TermVocabularyResource.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Http\Resources;
+
+use Illuminate\Http\Resources\Json\JsonResource;
+
+class TermVocabularyResource extends JsonResource
+{
+    /**
+     * Transform the resource into an array.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
+     */
+    public function toArray($request)
+    {
+        return parent::toArray($request);
+    }
+}

+ 2 - 0
routes/api.php

@@ -41,6 +41,7 @@ use App\Http\Controllers\UserStatisticController;
 use App\Http\Controllers\SentSimController;
 use App\Http\Controllers\NissayaEndingController;
 use App\Http\Controllers\RelationController;
+use App\Http\Controllers\TermVocabularyController;
 
 /*
 |--------------------------------------------------------------------------
@@ -123,6 +124,7 @@ Route::group(['prefix' => 'v2'],function(){
     Route::apiResource('relation',RelationController::class);
     Route::get('relation-export',[RelationController::class,"export"]);
     Route::get('relation-import',[RelationController::class,"import"]);
+    Route::apiResource('term-vocabulary',TermVocabularyController::class);
 
     Route::get('download/{type1}/{type2}/{uuid}/{filename}', function ($type1,$type2,$uuid,$filename) {