diff options
| author | Camil Staps | 2016-05-10 23:27:22 +0200 | 
|---|---|---|
| committer | Camil Staps | 2016-05-10 23:27:22 +0200 | 
| commit | 520b977a27d016a84cb105035a173d64e4629b40 (patch) | |
| tree | 6a6ed7ee69ce735ee1785b6165c301947a74e8d4 | |
| parent | Fix (diff) | |
Added logging of random requests
| -rw-r--r-- | app/Http/Controllers/RandomVerbController.php | 34 | ||||
| -rw-r--r-- | app/RandomLog.php | 35 | ||||
| -rw-r--r-- | database/migrations/2016_05_10_211558_create_random_logs_table.php | 32 | 
3 files changed, 87 insertions, 14 deletions
| diff --git a/app/Http/Controllers/RandomVerbController.php b/app/Http/Controllers/RandomVerbController.php index ee2a01c..3055761 100644 --- a/app/Http/Controllers/RandomVerbController.php +++ b/app/Http/Controllers/RandomVerbController.php @@ -19,25 +19,31 @@  namespace App\Http\Controllers;  use HebrewParseTrainer\Verb; +use HebrewParseTrainer\RandomLog;  use Illuminate\Http\Request;  use Illuminate\Support\Facades\Input;  use Laravel\Lumen\Routing\Controller as BaseController;  class RandomVerbController extends BaseController { -    public function show() -    { -        $verbs = Verb::all(); -        foreach (Input::get() as $col => $val) { -            $val = explode(',', $val); -            $verbs = $verbs->filter(function(Verb $item) use ($col, $val) { -                return in_array($item->getAttribute($col), $val); -            }); -        } -        $verb = $verbs->random(); +	public function show() +	{ +		$verbs = Verb::all(); +		foreach (Input::get() as $col => $val) { +			$val = explode(',', $val); +			$verbs = $verbs->filter(function(Verb $item) use ($col, $val) { +				return in_array($item->getAttribute($col), $val); +			}); +		} +		$verb = $verbs->random(); -        $obj = ['verb' => $verb, 'answers' => $verb->otherParsings()]; -        return response()->json($obj); -    } +		$log = new RandomLog(); +		$log->request = json_encode(Input::get()); +		$log->response = $verb; +		$log->save(); -}
\ No newline at end of file +		$obj = ['verb' => $verb, 'answers' => $verb->otherParsings()]; +		return response()->json($obj); +	} + +} diff --git a/app/RandomLog.php b/app/RandomLog.php new file mode 100644 index 0000000..a90018c --- /dev/null +++ b/app/RandomLog.php @@ -0,0 +1,35 @@ +<?php +/** + * HebrewParseTrainer - practice Hebrew verbs + * Copyright (C) 2015  Camil Staps <info@camilstaps.nl> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program.  If not, see <http://www.gnu.org/licenses/>. + */ +namespace HebrewParseTrainer; + +use Illuminate\Database\Eloquent\Model; + +class RandomLog extends Model { + +	protected $table = 'random_logs'; +	public $timestamps = false; +	protected $fillable = ['request', 'response']; +		 +		public static function boot() { +		static::creating(function ($model) { +			$model->created_at = $model->freshTimestamp(); +		}); +	} + +} diff --git a/database/migrations/2016_05_10_211558_create_random_logs_table.php b/database/migrations/2016_05_10_211558_create_random_logs_table.php new file mode 100644 index 0000000..f7fca92 --- /dev/null +++ b/database/migrations/2016_05_10_211558_create_random_logs_table.php @@ -0,0 +1,32 @@ +<?php + +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Migrations\Migration; + +class CreateRandomLogsTable extends Migration +{ +	/** +	 * Run the migrations. +	 * +	 * @return void +	 */ +	public function up() +	{ +		Schema::create('random_logs', function (Blueprint $table) { +			$table->increments('id'); +			$table->string('request', 1023)->collate('utf8_general_ci'); +			$table->string('response', 24)->collate('utf8_general_ci'); +			$table->timestamp('created_at'); +		}); +	} + +	/** +	 * Reverse the migrations. +	 * +	 * @return void +	 */ +	public function down() +	{ +		Schema::drop('random_logs'); +	} +} | 
