ミドルウェア

このコミットが含まれているのは:
守矢諏訪子 2021-11-10 23:01:50 +09:00
コミット f20bb9a569
5個のファイルの変更55行の追加2行の削除

ファイルの表示

@ -16,6 +16,10 @@ class MeetingApprovalsController extends Controller {
return MeetingApprovals::where('child_id', session()->get('children')['id'])->whereNull('approval_at')->count();
}
public function countIncomplete () {
return MeetingApprovals::where('father_id', session()->get('fathers')['id'])->whereNull('approval_at')->count();
}
public function register (Request $r) {
if (!isset($r->meeting_id) || !isset($r->children) || count(json_decode($r->children)) == 0) {
return ['status_code' => 400];

ファイルの表示

@ -58,6 +58,8 @@ class Kernel extends HttpKernel
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'notice.incomplete' => \App\Http\Middleware\NoticeIncomplete::class,
'notice.nonapproval' => \App\Http\Middleware\NoticeNonApproval::class,
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,

ファイルの表示

@ -0,0 +1,23 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use App\Models\MeetingApprovals;
class NoticeIncomplete
{
/**
* 未完了ミーティング通知(親向け)
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
$request->count = MeetingApprovals::where('child_id', session()->get('children')['id'])->whereNull('approval_at')->count();
return $next($request);
}
}

ファイルの表示

@ -0,0 +1,23 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use App\Models\MeetingApprovals;
class NoticeNonApproval
{
/**
* 未承知ミーティング通知(子向け)
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
$request->count = MeetingApprovals::where('father_id', session()->get('fathers')['id'])->whereNull('approval_at')->count();
return $next($request);
}
}

ファイルの表示

@ -80,7 +80,7 @@ Route::group(['prefix' => 'fathers'], function () {
Route::post('/login', '\App\Http\Controllers\Api\FathersController@login');
Route::put('/updatePassword/{father_id?}', '\App\Http\Controllers\Api\FathersController@updatePassword');
Route::group(['middleware' => 'auth:fathers'], function () {
Route::group(['middleware' => ['auth:fathers', 'notice.incomplete']], function () {
Route::put('/updateImage/{father_id}', '\App\Http\Controllers\Api\FathersController@updateImage');
Route::put('/updateProfile/{father_id}', '\App\Http\Controllers\Api\FathersController@updateProfile');
Route::delete('/withdrawal', '\App\Http\Controllers\Api\FathersController@withdrawal');
@ -123,6 +123,7 @@ Route::group(['prefix' => 'fathers'], function () {
Route::post('/listChildrenOfMeeting', '\App\Http\Controllers\Api\MeetingApprovalsController@listChildrenOfMeeting');
Route::get('/listChildrenOfApprovel', '\App\Http\Controllers\Api\MeetingApprovalsController@listChildrenOfApprovel');
Route::get('/listChildrenOfUnapprovel', '\App\Http\Controllers\Api\MeetingApprovalsController@listChildrenOfUnapprovel');
Route::post('/countIncomplete', '\App\Http\Controllers\Api\MeetingApprovalsController@countIncomplete');
});
});
@ -143,7 +144,7 @@ Route::group(['prefix' => 'children'], function () {
Route::post('/login', '\App\Http\Controllers\Api\ChildrenController@login');
Route::put('/updatePassword/{child_id?}', '\App\Http\Controllers\Api\ChildrenController@updatePassword');
Route::group(['middleware' => 'auth:children'], function () {
Route::group(['middleware' => ['auth:children', 'notice.nonapproval']], function () {
Route::get('/detail/{child_id}', '\App\Http\Controllers\Api\ChildrenController@detail');
Route::put('/updateImage/{child_id}', '\App\Http\Controllers\Api\ChildrenController@updateImage');
Route::put('/updateProfile/{child_id}', '\App\Http\Controllers\Api\ChildrenController@updateProfile');