Skip to content

Commit

Permalink
room-index-ui
Browse files Browse the repository at this point in the history
  • Loading branch information
RikuHirose committed Oct 20, 2019
1 parent ade99b0 commit de04944
Show file tree
Hide file tree
Showing 15 changed files with 377 additions and 104 deletions.
98 changes: 98 additions & 0 deletions app/Http/Controllers/Api/RoomController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Services\ReserveTimeOptionService;
use Illuminate\Http\Request;

use App\Models\Room;

/**
* House Room
* Class RoomController
* @package App\Http\Controllers\Www
*/
class RoomController extends Controller
{
public function __construct()
{
$this->middleware('auth:api');
}

/**
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function index()
{
$rooms = Room::all();
$rooms->load('roomScores', 'roomFiles.file');

// foreach ($rooms as $key => $room) {
// $room = $room->toArray();
// foreach ($room['room_scores'] as $key => $value) {
// $room['totalScore'] = $value['score'] ++;
// }
// }

return response()->json(['rooms' => $rooms]);
}

/**
* @param Request $request
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function create(Request $request)
{
$reserveTimeOptionService = new ReserveTimeOptionService();
$now = Carbon::now();
$timeOptions = $reserveTimeOptionService->makeTimeOptions($now);

// $params = [
// 'timeOptions' => $timeOptions,
// 'baseTime' => $now,
// ];
return response()->json([
'timeOptions' => $timeOptions,
'baseTime' => $now
]);
}

/**
* @param Request $request
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
public function store(Request $request)
{
$post = Post::create([
'category_id' => $request->get('category_id'),
'name' => $request->get('name'),
'content' => $request->get('content')
]);
return response()->json(['post' => $post]);
}

/**
* @param Request $request
* @param Reservation $reservation
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function show(Request $request, Post $post)
{
$post->load('category');
return response()->json(['post' => $post]);
}

/**
* @param Request $request
* @param Reservation $reservation
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
public function update(Request $request, Post $post)
{
$post->update($request->all());
$post->load('category');

return response()->json(['post' => $post]);
}
}
2 changes: 1 addition & 1 deletion app/Models/Category.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ class Category extends Model
// Relations
public function posts()
{
return $this->hasMany(\App\Post::class, 'category_id', 'id');
return $this->hasMany(\App\Models\Post::class, 'category_id', 'id');
}
}
20 changes: 20 additions & 0 deletions app/Models/File.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class File extends Model
{
protected $table = 'files';

protected $fillable = [
'url',
'title',
'entity_type',
's3_key',
's3_bucket',
's3_region',
];

// Relations
}
2 changes: 1 addition & 1 deletion app/Models/Post.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ class Post extends Model
// Relations
public function category()
{
return $this->belongsTo(\App\Category::class, 'category_id', 'id');
return $this->belongsTo(\App\Models\Category::class, 'category_id', 'id');
}
}
2 changes: 1 addition & 1 deletion app/Models/Reservation.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class Reservation extends Model
*/
public function user()
{
return $this->belongsTo('App\User', 'user_id', 'id');
return $this->belongsTo(\App\Models\User::class, 'user_id', 'id');
}

public function routeNotificationForSlack()
Expand Down
27 changes: 27 additions & 0 deletions app/Models/Room.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Room extends Model
{

protected $table = 'rooms';

protected $fillable = [
'name',
'content'
];

// Relations
public function roomScores()
{
return $this->hasMany(\App\Models\RoomScore::class, 'room_id', 'id');
}

public function roomFiles()
{
return $this->hasMany(\App\Models\RoomFile::class, 'room_id', 'id');
}
}
25 changes: 25 additions & 0 deletions app/Models/RoomFile.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class RoomFile extends Model
{
protected $table = 'room_files';

protected $fillable = [
'room_id',
'file_id',
];

// Relations
public function file()
{
return $this->belongsTo(\App\Models\File::class, 'file_id', 'id');
}

public function room()
{
return $this->belongsTo(\App\Models\Room::class, 'room_id', 'id');
}
}
26 changes: 26 additions & 0 deletions app/Models/RoomScore.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?php
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class RoomScore extends Model
{
protected $table = 'room_scores';

protected $fillable = [
'room_id',
'user_id',
'score'
];

// Relations
public function user()
{
return $this->belongsTo(\App\Models\User::class, 'user_id', 'id');
}

public function room()
{
return $this->belongsTo(\App\Models\Room::class, 'room_id', 'id');
}
}
2 changes: 1 addition & 1 deletion app/Models/SocialProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@ class SocialProvider extends Model
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function user() {
return $this->belongsTo('App\User', 'user_id', 'id');
return $this->belongsTo(\App\Models\User::class, 'user_id', 'id');
}
}
4 changes: 2 additions & 2 deletions app/Models/User.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,14 @@ class User extends Authenticatable
*/
public function reservations()
{
return $this->hasMany('App\Reservation', 'user_id', 'id');
return $this->hasMany(\App\Models\Reservation::class, 'user_id', 'id');
}

/**
* @return \Illuminate\Database\Eloquent\Relations\HasOne
*/
public function socialProvider()
{
return $this->hasOne('App\SocialProvider', 'user_id', 'id');
return $this->hasOne(\App\Models\SocialProvider::class, 'user_id', 'id');
}
}
Loading

0 comments on commit de04944

Please sign in to comment.