管理者のAPI

このコミットが含まれているのは:
守矢諏訪子 2021-10-15 10:37:47 +09:00
コミット fe7da931f9
9個のファイルの変更443行の追加67行の削除

ファイルの表示

@ -0,0 +1,40 @@
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use App\Models\Admin;
use App\Models\LoginLimits;
class AdminController extends Controller {
public function login (Request $r) {
$validate = Validator::make($r->all(), [
'email' => 'required|max:255|email',
'password' => 'required|min:8|max:72'
]);
if ($validate->fails()) {
// バリデーションエラー
return ['status_code' => 422, 'error_messages' => $validate->errors()];
}
// 存在しない場合
if (null === ($admin = Admin::select('id')->where('email', $r->email)->where('password', $r->password)->first())) {
return ['status_code' => 400, 'error_message' => ['ログインに失敗しました。10回連続で失敗すると、一定期間ログインできなくなります。']];
}
// パスワードが異なる場合
// if (!Hash::check($r->password, $admin->password)) {
if ($r->password != $admin->password) {
return ['status_code' => 400, 'error_message' => ['ログインに失敗しました。10回連続で失敗すると、一定期間ログインできなくなります。']];
}
// 親一覧の取得に成功
session(['email' => $r->email, 'password' => $r->password]);
return ['status_code' => 200];
}
}

ファイルの表示

@ -3,20 +3,129 @@
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Models\Child;
use App\Models\FatherRelation;
use App\Models\MeetingApprovals;
use App\Models\TelActivations;
class ChildrenController extends Controller {
public function login () {}
public function registerTemporary () {}
public function registerMain () {}
public function registerTemporary (Request $r) {
$validate = Validator::make($r->all(), [
'tel' => 'required|unique:children|max:11|numeric|starts_with:0'
]);
if ($validate->fails()) {
// バリデーションエラー
return ['status_code' => 422, 'error_messages' => $validate->errors()];
}
if ($get = TelActivations::where('tel', $r->tel)->first()) {
// すでにDBに登録されている場合
return ['status_code' => 400, 'error_messages' => ['既に使用されている電話番号です。']];
}
$chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
$token = '';
for ($i = 1; $i < 15; $i++) {
$token .= $chars[rand(0,35)];
}
$insert = ['tel' => $r->tel, 'token' => $token];
try {
Child::create($insert);
} catch (\Throwable $e) {
// 失敗
Log::critical($e->getMessage());
return ['status_code' => 400, 'error_messages' => ['登録に失敗しました。']];
}
// TODO: SMSの送信、SMSコントローラーを作る後でします。
// try {
// $sms = new SMS;
// if (!$sms->send($r->tel, $token)) {
// // SMSの送信に失敗した場合
// return ['status_code' => 401, 'error_messages' => ['SMSの送信に失敗しました。電話番号が正しいかご確認ください。']];
// }
// } catch {
// // SMS APIのエラーの場合
// Log::critical($e->getMessage());
// return ['status_code' => 402, 'error_messages' => ['予期せぬエラーが発生しました。管理者へお問い合わせください。']];
// }
// 仮登録に成功した場合
return ['status_code' => 200, 'params' => ['tel' => $r->tel]];
}
public function registerMain (Request $r) {
$validate = Validator::make($r->all(), [
'token' => 'required',
'email' => 'required|unique:children|max:255|email',
'password' => 'required|min:8|max:72|confirmed',
'last_name' => 'required|max:100',
'first_name' => 'required|max:100',
'identity' => 'required|max:20|alpha_num',
'image' => 'max:1024|mimes:jpg,png,gif',
'company' => 'max:100',
]);
if ($validate->fails()) {
// バリデーションエラー
return ['status_code' => 422, 'error_messages' => $validate->errors()];
}
$password = Hash::make($r->password);
// 有効期限が切れている場合
if ($get = TelActivations::where('token', $r->token)->first() && strtotime($get->ttl) > time()) {
return ['status_code' => 400, 'error_messages' => ['仮登録の有効期限が切れました。改めて親にお問い合わせいただき、再登録の手続きを行ってください。']];
}
$insert = [
'email' => $r->email,
'tel' => $get->tel,
'tel_verified_at' => date('Y-m-d H:i:s'),
'password' => $password,
'last_name' => $r->last_name,
'first_name' => $r->first_name,
'identity' => $r->identity,
'image' => $r->image,
'company' => $r->company,
];
try {
Child::create($insert);
} catch (\Throwable $e) {
// 失敗
Log::critical($e->getMessage());
return ['status_code' => 400, 'error_messages' => ['登録に失敗しました。']];
}
// 本登録に成功
return ['status_code' => 200, 'success_messages' => ['本登録に成功しました。'], 'params' => ['tel' => $r->tel, 'password' => $password]];
}
public function requestPassword () {}
public function search (Request $r) {
if (!isset($r->keyword)) {
return ['status_code' => 400, 'error_messages' => ['画像の更新に失敗しました。']];
}
if (null === ($result = Child::where('first_name', 'LIKE', '%'.$r->keyword.'%')->orWhere('last_name', 'LIKE', '%'.$r->keyword.'%')->orderBy('created_at', 'desc')->get())) {
// 親一覧の取得に失敗
return ['status_code' => 400];
}
// 親一覧の取得に成功
return ['status_code' => 200, 'params' => $result];
}
public function list () {
if (null === ($result = Child::orderBy('created_at', 'desc')->get())) {
// 親一覧の取得に失敗
@ -132,8 +241,8 @@ class ChildrenController extends Controller {
}
public function updateImage (Request $r, $child_id) {
if (!isset($r->image) || !isset($child_id)) {
return ['status_code' => 400, 'error_messages' => ['プロフィールの更新にしました。']];
if (!isset($child_id)) {
return ['status_code' => 400, 'error_messages' => ['画像の更新に失敗しました。']];
}
// バリデーションエラー
@ -148,16 +257,16 @@ class ChildrenController extends Controller {
} catch (\Throwable $e) {
// 失敗
Log::critical($e->getMessage());
return ['status_code' => 400, 'error_messages' => ['プロフィールの更新に失敗しました。']];
return ['status_code' => 400, 'error_messages' => ['画像の更新に失敗しました。']];
}
// 成功
return ['status_code' => 200, 'success_messages' => ['プロフィールの更新に成功しました。']];
return ['status_code' => 200, 'success_messages' => ['画像の更新に成功しました。']];
}
public function updateProfile (Request $r, $child_id) {
if (!isset($child_id)) {
return ['status_code' => 400, 'error_messages' => ['画像の更新に失敗しました。']];
return ['status_code' => 400, 'error_messages' => ['の更新に失敗しました。']];
}
// バリデーションエラー
@ -178,15 +287,15 @@ class ChildrenController extends Controller {
} catch (\Throwable $e) {
// 失敗
Log::critical($e->getMessage());
return ['status_code' => 400, 'error_messages' => ['画像の更新に失敗しました。']];
return ['status_code' => 400, 'error_messages' => ['の更新に失敗しました。']];
}
// 成功
return ['status_code' => 200, 'success_messages' => ['画像の更新に成功しました。']];
return ['status_code' => 200, 'success_messages' => ['の更新に成功しました。']];
}
public function updatePassword (Request $r, $child_id) {
if (!isset($r->image) || !isset($child_id)) {
if (!isset($child_id)) {
return ['status_code' => 400, 'error_messages' => ['画像の更新に失敗しました。']];
}

ファイルの表示

@ -4,6 +4,7 @@ namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Models\FatherRelation;

ファイルの表示

@ -3,17 +3,127 @@
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Models\Father;
use App\Models\FatherRelation;
use App\Models\EmailActivations;
class FathersController extends Controller {
public function login () {}
public function registerTemporary () {}
public function requestPassword () {}
public function registerMain () {}
public function registerTemporary (Request $r) {
$validate = Validator::make($r->all(), [
'email' => 'required|unique:father,email_activations|max:255|email|alpha_num'
]);
if ($validate->fails()) {
// バリデーションエラー
return ['status_code' => 422, 'error_messages' => $validate->errors()];
}
if ($get = Father::where('email', $r->email)->first()) {
// すでにDBに登録されている場合
return ['status_code' => 400, 'error_messages' => ['入力したメールアドレスは既に登録済みです。同じメールアドレスは使用できません。']];
}
else if ($get = EmailActivations::where('email', $r->email)->first()) {
// すでにDBに登録されている場合
return ['status_code' => 400, 'error_messages' => ['入力したメールアドレスは既に登録済みです。同じメールアドレスは使用できません。']];
}
else {
$chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
$token = '';
for ($i = 1; $i < 15; $i++) {
$token .= $chars[rand(0,35)];
}
$create = ['email' => $r->email, 'token' => $token, 'ttl' => date('Y-m-d H:i:s', time()+28800)];
try {
EmailActivations::create($create);
} catch (\Throwable $e) {
// 失敗
Log::critical($e->getMessage());
return ['status_code' => 400, 'error_messages' => '登録に失敗しました。'];
}
}
// 仮登録に成功した場合
return ['status_code' => 200, 'token' => $token, 'success_messages' => ['親の仮登録に成功しました。8時間以内に本登録を完了させてください。']];
}
public function registerMain (Request $r) {
$validate = Validator::make($r->all(), [
'token' => 'required',
'password' => 'required|min:8|max:72|confirmed',
'company' => 'max:100',
'image' => 'max:1024|mimes:jpg,png,gif',
'profile' => 'max:1000',
'tel' => 'required|unique:children|max:11|numeric|starts_with:0',
]);
if ($validate->fails()) {
// バリデーションエラー
return ['status_code' => 422, 'error_messages' => $validate->errors()];
}
$password = Hash::make($r->password);
if ($get = EmailActivations::where('token', $r->token)->first() && strtotime($get->ttl) > time()) {
// 有効期限が切れている場合
return['status_code' => 401, 'error_messages' => ['仮登録の有効期限が切れました。改めて管理者にお問い合わせいただき、再登録を行ってください。']];
}
try {
$create = [
'email' => $get->email,
'email_verified_at' => date('Y-m-d H:i:s'),
'password' => $password,
'company' => $r->company,
'image' => $r->image,
'profile' => $r->profile,
'tel' => $r->tel,
];
Father::create($create);
} catch (\Throwable $e) {
// 本登録に失敗
Log::critical($e->getMessage());
return ['status_code' => 400, 'error_messages' => ['本登録に失敗しました。']];
}
// 本登録に成功
return ['status_code' => 200];
}
public function search (Request $r) {
if (!isset($r->keyword)) {
return ['status_code' => 400];
}
$result = [];
$father_select = ['id', 'company', 'image'];
$father_relation_select = ['created_at'];
if (null === ($list = Father::select($father_select)->where('company', 'LIKE', '%'.$r->keyword.'%')->orderBy('created_at', 'desc')->get())) {
// 親一覧の取得に失敗
return ['status_code' => 400];
}
foreach ($list as $i => $l) {
$result[] = $l;
if (null === ($result[$i]['relation'] = FatherRelation::select($father_relation_select)->where('father_id', $l->id)->first())) {
return ['status_code' => 400];
}
}
// 親一覧の取得に成功
return ['status_code' => 200, 'params' => $result];
}
public function list () {
$result = [];
@ -56,11 +166,11 @@ class FathersController extends Controller {
}
public function detail ($father_id) {
$father_select = ['id', 'email', 'company', 'image', 'tel'];
$father_select = ['image', 'email', 'tel', 'profile', 'company'];
if (null === ($result = Father::select($father_select)->where('id', $father_id)->orderBy('created_at', 'desc')->get())) {
if (null === ($result = Father::select($father_select)->where('id', $father_id)->orderBy('created_at', 'desc')->get()->toArray())) {
// 親詳細の取得に失敗
return ['status_code' => 400];
return ['status_code' => 400, 'error_messages' => ['親の更新に失敗しました。']];
}
// 親詳細の取得に成功
@ -69,7 +179,7 @@ class FathersController extends Controller {
public function updateImage (Request $r, $father_id) {
if (!isset($r->image) || !isset($father_id)) {
return ['status_code' => 400, 'error_messages' => 'アップロードに失敗しました。'];
return ['status_code' => 400, 'error_messages' => ['親の更新に失敗しました。']];
}
// バリデーションエラー
@ -85,16 +195,16 @@ class FathersController extends Controller {
} catch (\Throwable $e) {
// 親プロフィール画像のアップロードに失敗
Log::critical($e->getMessage());
return ['status_code' => 400, 'error_messages' => ['アップロードに失敗しました。']];
return ['status_code' => 400, 'error_messages' => ['親の更新に失敗しました。']];
}
// 親プロフィール画像のアップロードに成功
return ['status_code' => 200, 'success_messages' => ['アップロードに成功しました。']];
return ['status_code' => 200, 'success_messages' => ['親の更新に成功しました。']];
}
public function updateProfile (Request $r, $father_id) {
if (!isset($father_id)) {
return ['status_code' => 400, 'error_messages' => 'プロフィールの更新に失敗しました。'];
return ['status_code' => 400, 'error_messages' => ['親の更新に失敗しました。']];
}
// バリデーションエラー
@ -114,16 +224,16 @@ class FathersController extends Controller {
} catch (\Throwable $e) {
// 親プロフィール更新失敗
Log::critical($e->getMessage());
return ['status_code' => 400, 'error_messages' => ['画像の更新に失敗しました。']];
return ['status_code' => 400, 'error_messages' => ['の更新に失敗しました。']];
}
// 親プロフィール更新成功
return ['status_code' => 200, 'success_messages' => ['画像の更新に成功しました。']];
return ['status_code' => 200, 'success_messages' => ['の更新に成功しました。']];
}
public function updatePassword (Request $r, $father_id) {
if (!isset($r->image) || !isset($father_id)) {
return ['status_code' => 400, 'error_messages' => 'パスワードの更新に失敗しました。'];
return ['status_code' => 400, 'error_messages' => ['親の更新に失敗しました。']];
}
// バリデーションエラー
@ -146,11 +256,11 @@ class FathersController extends Controller {
} catch (\Throwable $e) {
// 失敗
Log::critical($e->getMessage());
return ['status_code' => 400, 'error_messages' => ['パスワードの更新に失敗しました。']];
return ['status_code' => 400, 'error_messages' => ['の更新に失敗しました。']];
}
// 成功
return ['status_code' => 200, 'success_messages' => ['パスワードの更新に成功しました。']];
return ['status_code' => 200, 'success_messages' => ['の更新に成功しました。']];
}
public function withdrawal ($father_id) {
@ -172,10 +282,10 @@ class FathersController extends Controller {
} catch (\Throwable $e) {
// 失敗
Log::critical($e->getMessage());
return ['status_code' => 400, 'error_messages' => ['ミーティングの削除に失敗しました。']];
return ['status_code' => 400, 'error_messages' => ['の削除に失敗しました。']];
}
// 成功
return ['status_code' => 200, 'success_messages' => ['ミーティングを削除に成功しました。']];
return ['status_code' => 200, 'success_messages' => ['親の削除に成功しました。']];
}
}

ファイルの表示

@ -4,10 +4,12 @@ namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Models\Child;
use App\Models\Meeting;
use App\Models\MeetingApprovals;
use App\Models\FatherRelation;
class MeetingApprovalsController extends Controller {
public function registerApproval (Request $r) {

ファイルの表示

@ -3,8 +3,9 @@
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Models\MeetingImage;

ファイルの表示

@ -3,8 +3,9 @@
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Models\Meeting;
use App\Models\MeetingImage;
@ -66,13 +67,41 @@ class MeetingsController extends Controller {
return ['status_code' => 200];
}
public function list () {
// TODOadminsのみ
public function search (Request $r) {
if (!isset($r->keyword)) {
return ['status_code' => 400];
}
$result = [];
$meeting_select = ['id', 'father_id', 'title', 'text', 'memo', 'updated_at'];
$meeting_images_select = ['image'];
$father_select = ['image', 'company'];
$meeting_approvals_select = ['approval_at'];
$meeting_select = ['id', 'title', 'text', 'updated_at'];
$child_select = ['image'];
$meeting_approvals_select = ['child_id', 'approval_at'];
// 取得に成功
if (null === ($list = Meeting::select($meeting_select)->where('title', 'LIKE', '%'.$r->keyword.'%')->orWhere('text', 'LIKE', '%'.$r->keyword.'%')->orderBy('created_at', 'desc')->get())) {
return ['status_code' => 400];
}
foreach ($list as $i => $l) {
$result[] = $l;
if (null === ($result[$i]['approval'] = MeetingApprovals::select($meeting_approvals_select)->where('meeting_id', $l->id)->orderBy('approval_at', 'desc')->get())) {
return ['status_code' => 400];
}
foreach ($result[$i]['approval'] as $j => $k) {
if (null === ($result[$i]['approval'][$j]['child'] = Child::select($child_select)->where('id', $k->child_id)->first())) {
return ['status_code' => 400];
}
}
}
return ['status_code' => 200, 'params' => $result];
}
public function list () {
$result = [];
$meeting_select = ['id', 'title', 'text', 'updated_at'];
$child_select = ['image'];
$meeting_approvals_select = ['child_id', 'approval_at'];
// 取得に成功
if (null === ($list = Meeting::select($meeting_select)->orderBy('created_at', 'desc')->get())) {
@ -81,14 +110,14 @@ class MeetingsController extends Controller {
foreach ($list as $i => $l) {
$result[] = $l;
if (null === ($result[$i]['meeting_images'] = MeetingImage::select($meeting_images_select)->where('meeting_id', $l->id)->get())) {
if (null === ($result[$i]['approval'] = MeetingApprovals::select($meeting_approvals_select)->where('meeting_id', $l->id)->orderBy('approval_at', 'desc')->get())) {
return ['status_code' => 400];
}
if (null === ($result[$i]['fathers'] = Father::select($father_select)->where('id', $l->father_id)->get())) {
return ['status_code' => 400];
}
if (null === ($result[$i]['meeting_approvals'] = MeetingApprovals::select($meeting_approvals_select)->where('meeting_id', $l->id)->orderBy('approval_at', 'desc')->get())) {
return ['status_code' => 400];
foreach ($result[$i]['approval'] as $j => $k) {
if (null === ($result[$i]['approval'][$j]['child'] = Child::select($child_select)->where('id', $k->child_id)->first())) {
return ['status_code' => 400];
}
}
}
@ -429,7 +458,7 @@ class MeetingsController extends Controller {
}
public function detail (Request $r, $meeting_id) {
if (!isset($r->father_id)) {
if (!isset($meeting_id)) {
return ['status_code' => 400];
}
@ -449,12 +478,12 @@ class MeetingsController extends Controller {
if (null === ($result[$i]['meeting_image'] = MeetingImage::select($meeting_images_select)->where('meeting_id', $l->id)->get())) {
return ['status_code' => 400];
}
if (null === ($result[$i]['meeting_approvals'] = MeetingApprovals::select($meeting_approvals_select)->where('meeting_id', $l->id)->whereNotNull('approval_at')->get())) {
if (null === ($result[$i]['approval'] = MeetingApprovals::select($meeting_approvals_select)->where('meeting_id', $l->id)->whereNotNull('approval_at')->get())) {
return ['status_code' => 400];
}
foreach ($result[$i]['meeting_approvals'] as $ii => $ra) {
if (null === ($result[$i]['meeting_approvals'][$ii]['child'] = Child::select($child_select)->where('id', $result[$i]['meeting_approvals'][$ii]['child_id'])->first())) {
foreach ($result[$i]['approval'] as $ii => $ra) {
if (null === ($result[$i]['approval'][$ii]['child'] = Child::select($child_select)->where('id', $ra->child_id)->first())) {
return ['status_code' => 400];
}
}
@ -463,6 +492,40 @@ class MeetingsController extends Controller {
return ['status_code' => 200, 'params' => $result];
}
public function update (Request $r, $meeting_id) {
if (!isset($meeting_id)) {
return ['status_code' => 400, 'error_messages' => ['ミーティングの登録に失敗しました。']];
}
$validate = Validator::make($r->all(), [
'title' => 'required|max:100',
'text' => 'required|max:2000',
'memo' => 'max:2000',
'pdf' => 'mimes:pdf'
]);
if ($validate->fails()) {
return ['status_code' => 422, 'error_messages' => $validate->errors()];
}
$update = [
'title' => $r->title,
'text' => $r->text,
];
if (isset($r->memo)) $update['memo'] = $r->memo;
if (isset($r->pdf)) $update['pdf'] = $r->pdf;
try {
Meetings::where('meeting_id', $meeting_id)->update($update);
} catch (\Throwable $e) {
Log::critical($e->getMessage());
return ['status_code' => 400];
}
return ['status_code' => 200];
}
public function delete ($meeting_id) {
try {
Meetings::where('meeting_id', $meeting_id)->delete();

ファイルの表示

@ -14,8 +14,8 @@ return [
*/
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
'guard' => 'fathers',
'passwords' => 'fathers',
],
/*
@ -36,9 +36,17 @@ return [
*/
'guards' => [
'web' => [
'admins' => [
'driver' => 'session',
'provider' => 'users',
'provider' => 'admins',
],
'fathers' => [
'driver' => 'session',
'provider' => 'fathers',
],
'children' => [
'driver' => 'session',
'provider' => 'children',
],
'api' => [
@ -66,6 +74,18 @@ return [
*/
'providers' => [
'admins' => [
'driver' => 'eloquent',
'model' => App\Models\Admin::class,
],
'fathers' => [
'driver' => 'eloquent',
'model' => App\Models\Father::class,
],
'children' => [
'driver' => 'eloquent',
'model' => App\Models\Child::class,
],
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,

ファイルの表示

@ -14,19 +14,29 @@ use Illuminate\Support\Facades\Route;
|
*/
// AdminController
//// 不明
Route::post('/admin/login', '\App\Http\Controllers\Api\AdminController@login')->name('login');
// ContactsController
//// 不明
Route::post('/contacts/register/', '\App\Http\Controllers\Api\ContactsController@register');
Route::post('/contacts/register', '\App\Http\Controllers\Api\ContactsController@register');
// FathersController
//// 不明
// Route::post('/fathers/registerMain/', '\App\Http\Controllers\Api\FathersController@registerMain');
Route::post('/fathers/registerMain/', '\App\Http\Controllers\Api\FathersController@registerMain');
Route::post('/fathers/requestPassword/', '\App\Http\Controllers\Api\FathersController@requestPassword');
// Route::post('/fathers/login/', '\App\Http\Controllers\Api\FathersController@login');
//// admin
Route::get('/admin/fathers/list/', '\App\Http\Controllers\Api\FathersController@list');
Route::delete('/admin/fathers/delete/{father_id}', '\App\Http\Controllers\Api\FathersController@delete');
// Route::post('/admin/fathers/registerTemporary/', '\App\Http\Controllers\Api\FathersController@registerTemporary');
Route::get('/admin/fathers/list/', '\App\Http\Controllers\Api\FathersController@list')->middleware(['auth:admins', 'throttle:10,10']);
Route::put('/admin/fathers/search', '\App\Http\Controllers\Api\FathersController@search')->middleware(['auth:admins', 'throttle:10,10']);
Route::put('/admin/fathers/updateImage/{father_id}', '\App\Http\Controllers\Api\FathersController@updateImage')->middleware(['auth:admins', 'throttle:10,10']);
Route::put('/admin/fathers/updateProfile/{father_id}', '\App\Http\Controllers\Api\FathersController@updateProfile')->middleware(['auth:admins', 'throttle:10,10']);
Route::put('/admin/fathers/updatePassword/{father_id}', '\App\Http\Controllers\Api\FathersController@updatePassword')->middleware(['auth:admins', 'throttle:10,10']);
Route::post('/admin/fathers/detail/{father_id}', '\App\Http\Controllers\Api\FathersController@detail')->middleware(['auth:admins', 'throttle:10,10']);
Route::delete('/admin/fathers/delete/', '\App\Http\Controllers\Api\FathersController@withdrawal')->middleware(['auth:admins', 'throttle:10,10']);
Route::post('/admin/fathers/registerTemporary/', '\App\Http\Controllers\Api\FathersController@registerTemporary')->middleware(['auth:admins', 'throttle:10,10']);
//// fathers
Route::put('/fathers/updateImage/{father_id}', '\App\Http\Controllers\Api\FathersController@updateImage');
@ -40,11 +50,20 @@ Route::get('/children/fathers/detail/{father_id}', '\App\Http\Controllers\Api\Fa
// ChildrenController
//// 不明
// Route::post('/children/registerTemporary/', '\App\Http\Controllers\Api\ChildrenController@registerTemporary');
// Route::post('/children/registerMain/', '\App\Http\Controllers\Api\ChildrenController@registerMain');
Route::post('/children/registerTemporary/', '\App\Http\Controllers\Api\ChildrenController@registerTemporary');
Route::post('/children/registerMain/', '\App\Http\Controllers\Api\ChildrenController@registerMain');
// Route::post('/children/requestPassword/', '\App\Http\Controllers\Api\ChildrenController@requestPassword');
// Route::post('/children/login/', '\App\Http\Controllers\Api\ChildrenController@login');
//// admin
Route::get('/admin/children/list', '\App\Http\Controllers\Api\ChildrenController@list')->middleware(['auth:admins', 'throttle:10,10']);
Route::post('/admin/children/search', '\App\Http\Controllers\Api\ChildrenController@search')->middleware(['auth:admins', 'throttle:10,10']);
Route::put('/admin/children/updateProfile/{child_id}', '\App\Http\Controllers\Api\ChildrenController@updateProfile')->middleware(['auth:admins', 'throttle:10,10']);
Route::put('/admin/children/updateImage/{child_id}', '\App\Http\Controllers\Api\ChildrenController@updateImage')->middleware(['auth:admins', 'throttle:10,10']);
Route::put('/admin/children/updatePassword/{child_id}', '\App\Http\Controllers\Api\ChildrenController@updatePassword')->middleware(['auth:admins', 'throttle:10,10']);
Route::get('/admin/children/detail/{child_id}', '\App\Http\Controllers\Api\ChildrenController@detail')->middleware(['auth:admins', 'throttle:10,10']);
Route::delete('/admin/children/delete/{child_id}', '\App\Http\Controllers\Api\ChildrenController@withdrawal')->middleware(['auth:admins', 'throttle:10,10']);
//// fathers
Route::get('/fathers/children/listOfFather/', '\App\Http\Controllers\Api\ChildrenController@listOfFather');
Route::get('/fathers/children/listOfMeeting/', '\App\Http\Controllers\Api\ChildrenController@listOfMeeting');
@ -61,8 +80,11 @@ Route::delete('/children/withdrawal/', '\App\Http\Controllers\Api\ChildrenContro
// MeetingsController
//// admin
Route::get('/admin/meetings/list/', '\App\Http\Controllers\Api\MeetingsController@list');
Route::delete('/admin/meetings/delete/{meeting_id}', '\App\Http\Controllers\Api\MeetingsController@delete');
Route::get('/admin/meetings/list', '\App\Http\Controllers\Api\MeetingsController@list')->middleware(['auth:admins', 'throttle:10,10']);
Route::post('/admin/meetings/search', '\App\Http\Controllers\Api\MeetingsController@search')->middleware(['auth:admins', 'throttle:10,10']);
Route::get('/admin/meetings/detail/{meeting_id}', '\App\Http\Controllers\Api\MeetingsController@detail')->middleware(['auth:admins', 'throttle:10,10']);
Route::put('/admin/meetings/update/{meeting_id}', '\App\Http\Controllers\Api\MeetingsController@update')->middleware(['auth:admins', 'throttle:10,10']);
Route::delete('/admin/meetings/delete/{meeting_id}', '\App\Http\Controllers\Api\MeetingsController@delete')->middleware(['auth:admins', 'throttle:10,10']);
//// fathers
Route::post('/fathers/meetings/register/', '\App\Http\Controllers\Api\MeetingsController@register');
@ -74,6 +96,7 @@ Route::get('/fathers/meetings/listOfNonFavoriteOfFather/', '\App\Http\Controller
Route::get('/fathers/meetings/searchOfCompleteOfFather/', '\App\Http\Controllers\Api\MeetingsController@searchOfCompleteOfFather');
Route::get('/fathers/meetings/searchOfIncompleteOfFather/', '\App\Http\Controllers\Api\MeetingsController@searchOfIncompleteOfFather');
Route::get('/fathers/meetings/detail/{meeting_id}', '\App\Http\Controllers\Api\MeetingsController@detail');
Route::put('/fathers/meetings/update/{meeting_id}', '\App\Http\Controllers\Api\MeetingsController@update');
Route::delete('/fathers/meetings/delete/{meeting_id}', '\App\Http\Controllers\Api\MeetingsController@delete');
//// children
@ -85,23 +108,30 @@ Route::get('/children/meetings/detail/{meeting_id}', '\App\Http\Controllers\Api\
// MeetingImagesController
//// admin
Route::post('/admin/meeting-images/register/', '\App\Http\Controllers\Api\MeetingImagesController@register');
Route::delete('/admin/meeting-images/delete/{meeting_id}', '\App\Http\Controllers\Api\MeetingImagesController@delete');
Route::post('/admin/meeting/images/register/', '\App\Http\Controllers\Api\MeetingImagesController@register')->middleware(['auth:admins', 'throttle:10,10']);
Route::delete('/admin/meeting/images/delete/{meeting_id}', '\App\Http\Controllers\Api\MeetingImagesController@delete')->middleware(['auth:admins', 'throttle:10,10']);
//// fathers
Route::post('/fathers/meeting-images/register/', '\App\Http\Controllers\Api\MeetingImagesController@register');
Route::delete('/fathers/meeting-images/deleteRelationMeeting/{meeting_id}', '\App\Http\Controllers\Api\MeetingImagesController@deleteRelationMeeting');
Route::post('/fathers/meeting/images/register/', '\App\Http\Controllers\Api\MeetingImagesController@register');
Route::delete('/fathers/meeting/images/delete/{meeting_id}', '\App\Http\Controllers\Api\MeetingImagesController@delete');
// MeetingApprovalsController
//// admin
Route::post('/admin/meeting/approvals/register/', '\App\Http\Controllers\Api\MeetingApprovalsController@register')->middleware(['auth:admins', 'throttle:10,10']);
Route::delete('/admin/meeting/approvals/delete/{meeting_id}', '\App\Http\Controllers\Api\MeetingApprovalsController@delete')->middleware(['auth:admins', 'throttle:10,10']);
//// fathers
Route::post('/fathers/meeting-approvals/listChildrenOfMeeting/', '\App\Http\Controllers\Api\MeetingApprovalsController@listChildrenOfMeeting');
Route::get('/fathers/meeting-approvals/listChildrenOfApprovel/', '\App\Http\Controllers\Api\MeetingApprovalsController@listChildrenOfApprovel');
Route::get('/fathers/meeting-approvals/listChildrenOfUnapprovel/', '\App\Http\Controllers\Api\MeetingApprovalsController@listChildrenOfUnapprovel');
// Route::post('/fathers/meeting/approvals/register/{meeting_id}', '\App\Http\Controllers\Api\MeetingApprovalsController@register');
// Route::delete('/fathers/meeting/approvals/delete/{meeting_id}', '\App\Http\Controllers\Api\MeetingApprovalsController@delete');
Route::post('/fathers/meeting/approvals/listChildrenOfMeeting/', '\App\Http\Controllers\Api\MeetingApprovalsController@listChildrenOfMeeting');
Route::get('/fathers/meeting/approvals/listChildrenOfApprovel/', '\App\Http\Controllers\Api\MeetingApprovalsController@listChildrenOfApprovel');
Route::get('/fathers/meeting/approvals/listChildrenOfUnapprovel/', '\App\Http\Controllers\Api\MeetingApprovalsController@listChildrenOfUnapprovel');
//// children
Route::post('/children/meeting-approvals/registerOfApproval/', '\App\Http\Controllers\Api\MeetingApprovalsController@registerOfApproval');
Route::post('/children/meeting/approvals/registerApproval/', '\App\Http\Controllers\Api\MeetingApprovalsController@registerApproval');
// FatherRelationsController
//// fathers
Route::put('/fathers/father-relations/updateHireDate/{child_id}', '\App\Http\Controllers\Api\FatherRelationsController@updateHireDate');
Route::post('/fathers/father/relations/register', '\App\Http\Controllers\Api\FatherRelationsController@register');
Route::put('/fathers/father/relations/updateHireDate/{child_id}', '\App\Http\Controllers\Api\FatherRelationsController@updateHireDate');
Route::delete('/fathers/father/relations/deleteRelationChild/{child_id}', '\App\Http\Controllers\Api\FatherRelationsController@deleteRelationChild');