管理者のAPI
このコミットが含まれているのは:
コミット
fe7da931f9
|
@ -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 () {
|
||||
// TODO:adminsのみ
|
||||
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');
|
||||
|
|
新しいイシューから参照