Merge pull request #1 from RundelhausCode/new_database

new database
This commit is contained in:
RundelhausCode 2021-04-19 12:28:17 +02:00 committed by GitHub
commit ae719b9d68
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
43 changed files with 423 additions and 302 deletions

View File

@ -1,12 +1,17 @@
<?php <?php
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
use \Backend\Models\GameData; use \Backend\Models\GameData;
use \Backend\Models\Group; use \Backend\Models\Group;
use Backend\Models\Registration;
if (isset($_GET['gameDataId'])) { if (isset($_GET['gameDataId'])) {
$openGameDataStream = GameData::find($_GET['gameDataId']); $openGameDataStream = GameData::find($_GET['gameDataId']);
} elseif (isset($_GET['registrationId'])) {
$openGameDataStream = Registration::find($_GET['registrationId']);
} elseif (isset($_GET['groupId'])) { } elseif (isset($_GET['groupId'])) {
$openGameDataStream = Group::find($_GET['groupId'])->GameData(); $registrationIds = Registration::where("group_id", $_GET['groupId'])->pluck("game_data_id")->toArray();
$openGameDataStream = GameData::whereIn("id", $registrationIds)->get();
} elseif (isset($_GET['gameJamId'])) { } elseif (isset($_GET['gameJamId'])) {
$gameDataIds = Group::where("game_jam_id", $_GET['gameJamId'])->pluck("game_data_id")->toArray(); $gameDataIds = Group::where("game_jam_id", $_GET['gameJamId'])->pluck("game_data_id")->toArray();
$openGameDataStream = GameData::whereIn("id", $gameDataIds)->get(); $openGameDataStream = GameData::whereIn("id", $gameDataIds)->get();

View File

@ -2,10 +2,26 @@
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
require_once('../Group/Group.php'); require_once('../Group/Group.php');
require_once('FileHandler.php'); require_once('FileHandler.php');
use Backend\Models\GameData; use Backend\Models\GameData;
use Backend\Models\Registration;
if (isLogin()) { if (isLogin()) {
if (isset($_POST['submitUpdate'])) { if (isset($_POST['submitUpdate'])) {
//Get the game data
$gameData = GameData::find($_POST['gameDataId']);
if ($gameData === null) {
http_response_code(400);
echo json_encode(["message" => "game data not found"]);
exit();
}
//Get the group
$group = groupViaToken($_SESSION['token']);
if (!in_array($gameData->id, Registration::where("group_id", $group->id)->pluck("game_data_id")->toArray())) {
http_response_code(401);
exit();
}
$gameFile = $_FILES['gameFile']; $gameFile = $_FILES['gameFile'];
$desc = $_POST['description']; $desc = $_POST['description'];
$title = $_POST['gameTitle']; $title = $_POST['gameTitle'];
@ -20,11 +36,6 @@ if(isLogin()){
$thumbnailFileTmp = $_FILES['thumbnailFile']['tmp_name'];//Tmp location of the file $thumbnailFileTmp = $_FILES['thumbnailFile']['tmp_name'];//Tmp location of the file
$thumbnailFileError = $_FILES['thumbnailFile']['error'];//File error $thumbnailFileError = $_FILES['thumbnailFile']['error'];//File error
//Get the group
$group = groupViaToken($_SESSION['token']);
//Get the game data, from the group
$gameData = GameData::find($group->game_data_id);
$gameData->game_name = $title; $gameData->game_name = $title;
if (isset($gameData) && $gameFileError === 0) { if (isset($gameData) && $gameFileError === 0) {
unlink("../../Games/" . $gameData->game_link); unlink("../../Games/" . $gameData->game_link);

View File

@ -2,8 +2,10 @@
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
require_once('../Group/Group.php'); require_once('../Group/Group.php');
require_once('FileHandler.php'); require_once('FileHandler.php');
use Backend\Models\GameData; use Backend\Models\GameData;
use Backend\Models\GameJam; use Backend\Models\GameJam;
use Backend\Models\Registration;
use Backend\Models\Group; use Backend\Models\Group;
@ -13,10 +15,22 @@ $isImages = false;
if (isLogin()) { if (isLogin()) {
if (isset($_POST['submitUpload'])) {
$group = groupViaToken($_SESSION['token']); $group = groupViaToken($_SESSION['token']);
$gameJam = GameJam::find($_POST['gameJamId']);
if ($gameJam === null) {
http_response_code(400);
echo json_encode(["message" => "gameJam not found"]);
exit();
}
$registration = Registration::where('game_jam_id', $gameJam->id)->where("group_id", $group->id)->frist();
if ($registration === null) {
http_response_code(401);
echo json_encode(["message" => "group not registered for that game jam"]);
exit();
}
$gameJam = GameJam::find($group->game_jam_id);
$gameJamStartTime = strtotime($gameJam->start_time); $gameJamStartTime = strtotime($gameJam->start_time);
$gameJamEndTime = strtotime($gameJam->end_time); $gameJamEndTime = strtotime($gameJam->end_time);
$date = date('Y/m/d H:i:s', time()); $date = date('Y/m/d H:i:s', time());
@ -24,8 +38,7 @@ if(isLogin()){
$currentTime = strtotime($date); $currentTime = strtotime($date);
if ($gameJamStartTime <= $currentTime && $gameJamEndTime >= $currentTime) { if ($gameJamStartTime <= $currentTime && $gameJamEndTime >= $currentTime) {
if(!isset($group->game_data_id)){ if (!isset($registration->game_data_id)) {
if(isset($_POST['submitUpload'])){
//Get the data from the user form //Get the data from the user form
$gameFile = $_FILES['gameFile']; $gameFile = $_FILES['gameFile'];
$desc = $_POST['description']; $desc = $_POST['description'];
@ -51,8 +64,8 @@ if(isLogin()){
} }
$gameData->is_web_Based = $isWebBased; $gameData->is_web_Based = $isWebBased;
$gameData->save(); $gameData->save();
$group->gameData()->associate($gameData); $registration->gameData()->associate($gameData);
if(! $group->save()){ if (!$registration->save()) {
http_response_code(500); http_response_code(500);
} else { } else {
http_response_code(201); http_response_code(201);
@ -63,15 +76,15 @@ if(isLogin()){
} }
} else { } else {
http_response_code(400); http_response_code(400);
} echo json_encode(["message" => "file already uploaded "]);
}else{
http_response_code(400);
echo json_encode(["message" => "Can only upload one file"]);
} }
} else { } else {
http_response_code(400); http_response_code(400);
echo json_encode(["message" => "Can only upload when the game jam has started"]); echo json_encode(["message" => "Can only upload when the game jam has started"]);
} }
} else {
http_response_code(400);
}
} else { } else {
http_response_code(401); http_response_code(401);
echo json_encode(["message" => "is not login"]); echo json_encode(["message" => "is not login"]);

View File

@ -5,6 +5,7 @@ header("Access-Control-Max-Age: 1000");
header("Access-Control-Allow-Headers: X-Requested-With, Content-Type, Origin, Cache-Control, Pragma, Authorization, Accept, Accept-Encoding"); header("Access-Control-Allow-Headers: X-Requested-With, Content-Type, Origin, Cache-Control, Pragma, Authorization, Accept, Accept-Encoding");
header("Access-Control-Allow-Methods: PUT, POST, GET, OPTIONS, DELETE"); header("Access-Control-Allow-Methods: PUT, POST, GET, OPTIONS, DELETE");
require_once(realpath(dirname(__FILE__) . "/../../../bootstrap.php")); require_once(realpath(dirname(__FILE__) . "/../../../bootstrap.php"));
use Backend\Models\GameJam; use Backend\Models\GameJam;

View File

@ -1,6 +1,7 @@
<?php <?php
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
require_once "../Admin/Admin.php"; require_once "../Admin/Admin.php";
use Backend\Models\GameJam; use Backend\Models\GameJam;
//var_dump($_POST); //var_dump($_POST);
@ -9,7 +10,7 @@ use Backend\Models\GameJam;
if (isAdmin()) { if (isAdmin()) {
if (isset($_POST['newGameJam'])) { if (isset($_POST['newGameJam'])) {
$gameJam = New GameJam(); $gameJam = new GameJam();
$gameJam->name = $_POST["gameJamName"]; $gameJam->name = $_POST["gameJamName"];
$gameJam->start_time = $_POST["startDate"] . "T" . $_POST["startTime"]; $gameJam->start_time = $_POST["startDate"] . "T" . $_POST["startTime"];
@ -21,8 +22,7 @@ if(isAdmin()){
if ($gameJam->save()) { if ($gameJam->save()) {
http_response_code(201); http_response_code(201);
} } else {
else{
http_response_code(500); http_response_code(500);
} }
} else { } else {

View File

@ -1,6 +1,7 @@
<?php <?php
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
require_once "../Admin/Admin.php"; require_once "../Admin/Admin.php";
use Backend\Models\GameJam; use Backend\Models\GameJam;
if (isAdmin()) { if (isAdmin()) {

View File

@ -1,14 +1,14 @@
<?php <?php
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
use Backend\Models\Group; use Backend\Models\Group;
if (isset($_GET["groupId"])) { if (isset($_GET["groupId"])) {
$groups = Group::find($_GET["groupId"]); $groups = Group::find($_GET["groupId"]);
} } elseif (isset($_GET["gameJameId"])) {
elseif(isset($_GET["gameJameId"])){ $registrationIds = Registration::where("game_jam_id", $_GET["gameJameId"])->pluck("game_data_id")->toArray();
$groups = Group::where("game_jam_id",$_GET["gameJameId"])->get(); $groups = Group::whereIn("id", $registrationIds)->get();
} } else {
else{
$groups = Group::all(); $groups = Group::all();
} }

View File

@ -3,6 +3,7 @@ require_once (realpath(dirname(__FILE__) ."/../../../bootstrap.php"));
use Backend\Models\Group; use Backend\Models\Group;
use Backend\Models\Password; use Backend\Models\Password;
session_start(); session_start();
@ -41,8 +42,7 @@ function passwordValidate(string $password1): bool
if (!$uppercase || !$lowercase || !$number || !$specialChars || (strlen($password1) >= 8 && strlen($password1) <= 255)) { if (!$uppercase || !$lowercase || !$number || !$specialChars || (strlen($password1) >= 8 && strlen($password1) <= 255)) {
return true; return true;
} } else return false;
else return false;
} }
function makeLogin(string $groupName, int $groupId) function makeLogin(string $groupName, int $groupId)

View File

@ -28,8 +28,7 @@ if(isset($_POST['login'])){
//header('location: ../../../Frontend/index.php?login=success'); //header('location: ../../../Frontend/index.php?login=success');
//exit(); //exit();
http_response_code(200); http_response_code(200);
} } else {
else{
session_destroy(); session_destroy();
http_response_code(500); http_response_code(500);
} }

View File

@ -17,18 +17,14 @@ if(isset($_POST['regGroup'])){
if (passwordValidate($pass = $_POST['password'])) { if (passwordValidate($pass = $_POST['password'])) {
$group = new Group(); $group = new Group();
$group->gameJam()->associate(GameJam::find($_POST['gameJamId']));
$group->group_name = $groupName = $_POST['groupName']; $group->group_name = $groupName = $_POST['groupName'];
$group->group_amount = $_POST['groupAmount'];
if (!$group->save()) { if (!$group->save()) {
http_response_code(500); http_response_code(500);
exit(); exit();
} }
$password = New Password(); $password = new Password();
$password->group()->associate($group); $password->group()->associate($group);
@ -39,6 +35,7 @@ if(isset($_POST['regGroup'])){
$password->remember_token = $token; $password->remember_token = $token;
if (!$password->save()) { if (!$password->save()) {
$group->delete();
http_response_code(500); http_response_code(500);
exit(); exit();
} }

View File

@ -8,15 +8,12 @@ if(isLogin()){
if (isset($_POST['updateGroup'])) { if (isset($_POST['updateGroup'])) {
if ($group = groupViaToken($_SESSION['token'])) { if ($group = groupViaToken($_SESSION['token'])) {
$group->group_name = $_POST['groupName']; $group->group_name = $_POST['groupName'];
$group->group_amount = $_POST['groupAmount'];
$group->game_jam_id = $_POST['gameJamId'];
if (!$group->save()) { if (!$group->save()) {
http_response_code(500); http_response_code(500);
} else { } else {
http_response_code(201); http_response_code(201);
} }
} } else {
else{
http_response_code(400); http_response_code(400);
echo json_encode(["message" => "group not found"]); echo json_encode(["message" => "group not found"]);
} }

View File

@ -1,6 +1,7 @@
<?php <?php
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
require_once "Group.php"; require_once "Group.php";
use Backend\Models\Password; use Backend\Models\Password;
if (isLogin()) { if (isLogin()) {
@ -13,8 +14,7 @@ if(isLogin()){
} else { } else {
http_response_code(201); http_response_code(201);
} }
} } else {
else{
http_response_code(400); http_response_code(400);
echo json_encode(["message" => "password not valid"]); echo json_encode(["message" => "password not valid"]);
} }

View File

@ -1,15 +1,16 @@
<?php <?php
use Backend\Models\Group; use Backend\Models\GameData;
use Backend\Models\Vote; use Backend\Models\Vote;
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
require_once "Vote.php"; require_once "Vote.php";
if (isset($_POST['1Vote'])) { if (isset($_POST['1Vote'])) {
if(VoteCheck($_POST['groupId'])){ if (VoteCheck($_POST['gameDataId'])) {
$vote = new Vote(); $vote = new Vote();
$vote->group()->associate(Group::find($_POST['groupId'])); $vote->gameDate()->associate(GameData::find($_POST['gameDataId']));
$vote->points += 1; $vote->points += 1;
if (!empty($_POST['comment'])) { if (!empty($_POST['comment'])) {

View File

@ -2,6 +2,7 @@
use Backend\Models\Group; use Backend\Models\Group;
use Backend\Models\Vote; use Backend\Models\Vote;
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
@ -36,5 +37,4 @@ if(isset($_POST['321Vote'])){
exit(); exit();
} }

View File

@ -1,5 +1,7 @@
<?php <?php
use Backend\Models\Vote; use Backend\Models\Vote;
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
require_once "../Group/Group.php"; require_once "../Group/Group.php";

View File

@ -1,6 +1,7 @@
<?php <?php
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
require_once "../Admin/Admin.php"; require_once "../Admin/Admin.php";
use Backend\Models\Group; use Backend\Models\Group;
use Backend\Models\Vote; use Backend\Models\Vote;
use \Illuminate\Support\Collection; use \Illuminate\Support\Collection;
@ -27,8 +28,7 @@ if(isAdmin()){
header("Access-Control-Allow-Headers: X-Requested-With, Content-Type, Accept"); header("Access-Control-Allow-Headers: X-Requested-With, Content-Type, Accept");
header('Content-Type: application/json;charset=UTF-8'); header('Content-Type: application/json;charset=UTF-8');
echo json_encode(array('data' => $winningGroups->jsonSerialize())); echo json_encode(array('data' => $winningGroups->jsonSerialize()));
} } else {
else{
http_response_code(400); http_response_code(400);
echo json_encode(["message" => "game jam not found"]); echo json_encode(["message" => "game jam not found"]);
} }

View File

@ -1,5 +1,6 @@
<?php <?php
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
use \Backend\Models\Group; use \Backend\Models\Group;
/** /**

View File

@ -0,0 +1 @@
<?php

View File

@ -0,0 +1 @@
<?php

View File

@ -0,0 +1 @@
<?php

View File

@ -2,17 +2,16 @@
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
require_once "../Admin/Admin.php"; require_once "../Admin/Admin.php";
use Backend\Models\Group;
use \Backend\Models\KeyWord; use \Backend\Models\KeyWord;
use \Backend\Models\GameJam; use \Backend\Models\GameJam;
use \Illuminate\Support\Collection; use Backend\Models\Registration;
if (!isAdmin()) { if (!isAdmin()) {
if (isset($_GET['genKeyWord'])) { if (isset($_GET['genKeyWord'])) {
$gameJamId = $_GET['gameJamId']; $gameJamId = $_GET['gameJamId'];
$game_jam = GameJam::find($gameJamId); $game_jam = GameJam::find($gameJamId);
$all_group_in_game_jam_id = Group::where("game_jam_id", $game_jam->id)->pluck("id")->toArray(); $all_registration_in_game_jam_id = Registration::where("game_jam_id", $game_jam->id)->pluck("id")->toArray();
$find_all_keywords = KeyWord::whereIn("group_id", $all_group_in_game_jam_id)->inRandomOrder()->take(6)->get(); $find_all_keywords = KeyWord::whereIn("group_id", $all_registration_in_game_jam_id)->inRandomOrder()->take(6)->get();
$game_jam->key_word = $find_all_keywords->first()->key_word; $game_jam->key_word = $find_all_keywords->first()->key_word;
if (!$game_jam->save()) { if (!$game_jam->save()) {
http_response_code(500); http_response_code(500);

View File

@ -1,6 +1,9 @@
<?php <?php
require_once "../../../bootstrap.php"; require_once "../../../bootstrap.php";
require_once "../Group/Group.php"; require_once "../Group/Group.php";
use Backend\Models\GameJam;
use Backend\Models\Registration;
use Backend\Models\Group; use Backend\Models\Group;
use Backend\Models\KeyWord; use Backend\Models\KeyWord;
@ -8,11 +11,23 @@ session_start();
if (isLogin()) { if (isLogin()) {
if (isset($_POST['submitKeyWord'])) { if (isset($_POST['submitKeyWord'])) {
//Find the group id //Find the group
$group = groupViaToken($_SESSION['token']); $group = groupViaToken($_SESSION['token']);
if($gameJam = GameJam::find($_POST["gameJamId"]) === null){
http_response_code(400);
echo json_encode(["message" => "gameJam not found"]);
exit();
}
$registration = Registration::where('game_jam_id', $gameJam->id)->where("group_id", $group->id)->frist();
if ($registration === null) {
http_response_code(401);
echo json_encode(["message" => "group not registered for that game jam"]);
exit();
}
//if statement to find out if the group have use all their keyWords //if statement to find out if the group have use all their keyWords
if(KeyWord::where('group_id', $group->id)->count()<$group->group_amount){ if (KeyWord::where('registration_id', $registration->id)->count() < $registration->group_amount) {
//Make a new keyword[Only to be used if you need to make a new of something] //Make a new keyword[Only to be used if you need to make a new of something]
$keyword = new KeyWord(); $keyword = new KeyWord();
@ -21,7 +36,7 @@ if (isLogin()) {
$keyword->key_word = $_POST['key_word']; $keyword->key_word = $_POST['key_word'];
//Make foreign key from the groups table to the keyWords table //Make foreign key from the groups table to the keyWords table
$keyword->group()->associate($group); $keyword->registration()->associate($registration);
//Try to save it //Try to save it
if (!$keyword->save()) { if (!$keyword->save()) {

View File

@ -1,6 +1,7 @@
<?php <?php
require_once realpath(dirname(__FILE__) . "/../../bootstrap.php"); require_once realpath(dirname(__FILE__) . "/../../bootstrap.php");
use Illuminate\Database\Capsule\Manager as Capsule; use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;

View File

@ -1,6 +1,7 @@
<?php <?php
//require bootstrap aka our database connection //require bootstrap aka our database connection
require_once realpath(dirname(__FILE__) . "/../../bootstrap.php"); require_once realpath(dirname(__FILE__) . "/../../bootstrap.php");
use Illuminate\Database\Capsule\Manager as Capsule; use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;

View File

@ -1,6 +1,7 @@
<?php <?php
//require bootstrap aka our database connection //require bootstrap aka our database connection
require_once realpath(dirname(__FILE__) . "/../../bootstrap.php"); require_once realpath(dirname(__FILE__) . "/../../bootstrap.php");
use Illuminate\Database\Capsule\Manager as Capsule; use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;

View File

@ -1,6 +1,7 @@
<?php <?php
//require bootstrap aka our database connection //require bootstrap aka our database connection
require_once realpath(dirname(__FILE__) . "/../../bootstrap.php"); require_once realpath(dirname(__FILE__) . "/../../bootstrap.php");
use Illuminate\Database\Capsule\Manager as Capsule; use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
@ -9,9 +10,6 @@ use Illuminate\Support\Facades\Schema;
Capsule::schema()->create("groups", function (Blueprint $table) { Capsule::schema()->create("groups", function (Blueprint $table) {
$table->id(); $table->id();
$table->string("group_name"); $table->string("group_name");
$table->integer("group_amount");
$table->foreignId("game_jam_id")->constrained("game_jams");
$table->foreignId("game_data_id")->nullable()->constrained("game_data");
$table->timestamps(); $table->timestamps();
}); });

View File

@ -1,6 +1,7 @@
<?php <?php
//require bootstrap aka our database connection //require bootstrap aka our database connection
require_once realpath(dirname(__FILE__) . "/../../bootstrap.php"); require_once realpath(dirname(__FILE__) . "/../../bootstrap.php");
use Illuminate\Database\Capsule\Manager as Capsule; use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
@ -9,7 +10,7 @@ use Illuminate\Support\Facades\Schema;
Capsule::schema()->create("key_words", function (Blueprint $table) { Capsule::schema()->create("key_words", function (Blueprint $table) {
$table->id(); $table->id();
$table->string('key_word'); $table->string('key_word');
$table->foreignId("group_id")->constrained("groups"); $table->foreignId("registrations_id")->constrained("registrations");
$table->timestamps(); $table->timestamps();
}); });

View File

@ -1,6 +1,7 @@
<?php <?php
//require bootstrap aka our database connection //require bootstrap aka our database connection
require_once realpath(dirname(__FILE__) . "/../../bootstrap.php"); require_once realpath(dirname(__FILE__) . "/../../bootstrap.php");
use Illuminate\Database\Capsule\Manager as Capsule; use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;

View File

@ -0,0 +1,17 @@
<?php
//require bootstrap aka our database connection
require_once realpath(dirname(__FILE__) . "/../../bootstrap.php");
use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
Capsule::schema()->create("registrations", function (Blueprint $table) {
$table->id();
$table->foreignId("group_id")->constrained("groups");
$table->integer("group_amount");
$table->foreignId("game_jam_id")->constrained("game_jams");
$table->foreignId("game_data_id")->unique()->nullable()->constrained("game_data");
$table->timestamps();
});

View File

@ -1,5 +1,6 @@
<?php <?php
require_once realpath(dirname(__FILE__) . "/../../bootstrap.php"); require_once realpath(dirname(__FILE__) . "/../../bootstrap.php");
use Illuminate\Database\Capsule\Manager as Capsule; use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
@ -7,8 +8,8 @@ use Illuminate\Support\Facades\Schema;
Capsule::schema()->create("votes", function (Blueprint $table) { Capsule::schema()->create("votes", function (Blueprint $table) {
$table->id(); $table->id();
$table->foreignId("group_id")->constrained("groups");
$table->tinyInteger("points"); $table->tinyInteger("points");
$table->text("comment")->nullable(); $table->text("comment")->nullable();
$table->foreignId("game_data_id")->constrained("game_data");
$table->timestamps(); $table->timestamps();
}); });

View File

@ -17,6 +17,7 @@ require "GameJam.php"; //GameJam has no foreign key
require "GameData.php"; //GameData has no foreign key require "GameData.php"; //GameData has no foreign key
require "Group.php"; //Group has foreign keys to the GameJam, GameData and Password tables hence we create it as one of the last tables in the database require "Group.php"; //Group has foreign keys to the GameJam, GameData and Password tables hence we create it as one of the last tables in the database
require "Password.php"; //Password has no foreign key require "Password.php"; //Password has no foreign key
require "Registration.php";
require "KeyWord.php"; //Group has foreign keys to the Group require "KeyWord.php"; //Group has foreign keys to the Group
require "Vote.php"; require "Vote.php";
require "AdminUser.php"; require "AdminUser.php";

View File

@ -1,7 +1,9 @@
<?php <?php
namespace Backend\Models; namespace Backend\Models;
use Illuminate\Database\Eloquent\Model as Eloquent; use Illuminate\Database\Eloquent\Model as Eloquent;
class AdminUser extends Eloquent class AdminUser extends Eloquent
{ {
protected $fillable = [ protected $fillable = [
@ -9,5 +11,4 @@ class AdminUser extends Eloquent
]; ];
} }

View File

@ -1,14 +1,22 @@
<?php <?php
namespace Backend\Models; namespace Backend\Models;
use Illuminate\Database\Eloquent\Model as Eloquent; use Illuminate\Database\Eloquent\Model as Eloquent;
class GameData extends Eloquent class GameData extends Eloquent
{ {
protected $fillable = [ protected $fillable = [
'game_name', 'game_link', 'is_web_Based', 'description', "img" 'game_name', 'game_link', 'is_web_Based', 'description', "img"
]; ];
public function group(){ public function registration()
return $this->hasOne(Group::class); {
return $this->hasOne(Registration::class);
}
public function votes()
{
return $this->hasMany(Vote::class);
} }
} }

View File

@ -1,8 +1,11 @@
<?php <?php
namespace Backend\Models; namespace Backend\Models;
use Illuminate\Database\Eloquent\Model as Eloquent; use Illuminate\Database\Eloquent\Model as Eloquent;
class GameJam extends Eloquent{
class GameJam extends Eloquent
{
protected $fillable = [ protected $fillable = [
'name', 'name',
@ -13,11 +16,10 @@ class GameJam extends Eloquent{
]; ];
public function group(){ public function registrations()
return $this->hasMany(Group::class); {
} return $this->hasMany(Registration::class);
public function hasVoted(){
return $this->hasMany(hasVoted::class);
} }
} }

View File

@ -1,26 +1,24 @@
<?php <?php
namespace Backend\Models; namespace Backend\Models;
use Illuminate\Database\Eloquent\Model as Eloquent; use Illuminate\Database\Eloquent\Model as Eloquent;
class Group extends Eloquent class Group extends Eloquent
{ {
protected $fillable = [ protected $fillable = [
'group_name', 'group_amount', 'votes' 'group_name', 'group_amount', 'votes'
]; ];
public function gameJam(){
return $this->belongsTo(GameJam::class); public function password()
} {
public function keyWord(){
return $this->hasMany(KeyWord::class);
}
public function gameData(){
return $this->belongsTo(GameData::class);
}
public function password(){
return $this->hasOne(Password::class); return $this->hasOne(Password::class);
} }
public function vote(){
return $this->hasMany(Vote::class); public function registrations()
{
return $this->hasMany(Registration::class);
} }
} }

View File

@ -1,14 +1,19 @@
<?php <?php
namespace Backend\Models; namespace Backend\Models;
use Illuminate\Database\Eloquent\Model as Eloquent; use Illuminate\Database\Eloquent\Model as Eloquent;
class KeyWord extends Eloquent{
class KeyWord extends Eloquent
{
protected $fillable = [ protected $fillable = [
'key_word' 'key_word'
]; ];
public function group(){ public function registration()
return $this->belongsTo(Group::class); {
return $this->belongsTo(Registration::class);
} }
} }

View File

@ -1,13 +1,18 @@
<?php <?php
namespace Backend\Models; namespace Backend\Models;
use Illuminate\Database\Eloquent\Model as Eloquent; use Illuminate\Database\Eloquent\Model as Eloquent;
class Password extends Eloquent{
class Password extends Eloquent
{
protected $fillable = [ protected $fillable = [
'password', 'remember_token' 'password', 'remember_token'
]; ];
public function group(){ public function group()
{
return $this->belongsTo(Group::class); return $this->belongsTo(Group::class);
} }

View File

@ -0,0 +1,35 @@
<?php
namespace Backend\Models;
use Illuminate\Database\Eloquent\Model as Eloquent;
class Registration extends Eloquent
{
protected $fillable = [
'group_amount'
];
public function group()
{
return $this->belongsTo(Group::class);
}
public function gameJam()
{
return $this->belongsTo(GameJam::class);
}
public function keyWords()
{
return $this->hasMany(KeyWord::class);
}
public function gameData()
{
return $this->belongsTo(GameData::class);
}
}

View File

@ -11,9 +11,9 @@ class Vote extends Eloquent
]; ];
public function group() public function gameDate()
{ {
return $this->belongsTo(Group::class); return $this->belongsTo(GameData::class);
} }
} }