forked from fr/deguapp
update
This commit is contained in:
parent
2ab62770dc
commit
02e8cf1cd3
15
backend/src/controllers/reviewController.ts
Normal file
15
backend/src/controllers/reviewController.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { Request, Response } from 'express'
|
||||||
|
import Review from '../models/Review'
|
||||||
|
|
||||||
|
export const root_get = (req: Request, res: Response) => {
|
||||||
|
res.render('home')
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
export function add_post(req: Request, res: Response) {
|
||||||
|
console.log(req.body)
|
||||||
|
const review = new Review(req.body);
|
||||||
|
review.save()
|
||||||
|
res.json({status: "ok"})
|
||||||
|
}
|
||||||
|
|
9
backend/src/controllers/userController.ts
Normal file
9
backend/src/controllers/userController.ts
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import { Request, Response } from 'express'
|
||||||
|
import User from '../models/User'
|
||||||
|
|
||||||
|
export function add_post(req: Request, res: Response) {
|
||||||
|
const user = new User(req.body)
|
||||||
|
user.save()
|
||||||
|
res.json({status: 'ok'})
|
||||||
|
return 0
|
||||||
|
}
|
@ -21,3 +21,29 @@ Date: "2023-06-30 12:39:26" Type: "Err" Code: "500" Message: "unsupported databa
|
|||||||
Date: "2023-06-30 13:20:38" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
Date: "2023-06-30 13:20:38" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
Date: "2023-06-30 13:21:43" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
Date: "2023-06-30 13:21:43" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
Date: "2023-06-30 13:24:42" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
Date: "2023-06-30 13:24:42" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 20:14:29" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 20:24:27" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 20:28:58" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 21:37:00" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 21:37:06" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 21:45:43" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 22:18:05" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 22:22:38" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 22:22:54" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 22:23:00" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 22:28:16" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 22:29:59" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 22:32:14" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 22:38:24" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 22:50:25" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 22:50:44" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 22:51:12" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 22:51:40" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 22:51:53" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 23:00:51" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-06-30 23:01:52" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-07-01 10:46:49" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-07-01 18:30:40" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-07-01 18:31:01" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-07-01 18:31:26" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
Date: "2023-07-01 18:32:01" Type: "Err" Code: "500" Message: "unsupported database mongodb"
|
||||||
|
@ -3,25 +3,29 @@ import path from 'path'
|
|||||||
|
|
||||||
const schema = new Schema<any>(
|
const schema = new Schema<any>(
|
||||||
{
|
{
|
||||||
brand: {
|
|
||||||
type: String,
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
name: {
|
name: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true
|
||||||
},
|
},
|
||||||
degree: {
|
degree: {
|
||||||
type: String,
|
type: Number,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
|
percentage: {
|
||||||
|
type: Number,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
packaging: {
|
packaging: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true,
|
required: true
|
||||||
},
|
},
|
||||||
note: {
|
note: {
|
||||||
type: String,
|
type: String,
|
||||||
required: false
|
required: false
|
||||||
|
},
|
||||||
|
photo: {
|
||||||
|
type: Array,
|
||||||
|
required: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -30,3 +34,4 @@ const schema = new Schema<any>(
|
|||||||
)
|
)
|
||||||
|
|
||||||
export default model(path.basename(__filename).split('.')[0], schema)
|
export default model(path.basename(__filename).split('.')[0], schema)
|
||||||
|
|
||||||
|
@ -1,12 +1,64 @@
|
|||||||
import { Schema, model } from 'mongoose'
|
import { Schema, model } from 'mongoose'
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
|
|
||||||
export const schemaName = path.basename(__filename).split('.')[0]
|
const schema = new Schema<any>(
|
||||||
{
|
{
|
||||||
title: {
|
beer_id: {
|
||||||
type: String,
|
type: String,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
logo: {
|
||||||
|
type: Number,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
aroma: {
|
||||||
|
type: Number,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
foam: {
|
||||||
|
type: Number,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
color: {
|
||||||
|
type: Number,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
bitterness: {
|
||||||
|
type: Number,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
sweetness: {
|
||||||
|
type: Number,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
note: {
|
||||||
|
type: String,
|
||||||
|
required: false
|
||||||
|
},
|
||||||
|
again: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
overall_rating: {
|
||||||
|
type: Number,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
final_rating: {
|
||||||
|
type: Number,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
date: {
|
||||||
|
type: Date,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
|
participants: {
|
||||||
|
type: Array,
|
||||||
|
required: false,
|
||||||
|
},
|
||||||
|
signature: {
|
||||||
|
type: String,
|
||||||
|
required: false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
timestamps: true,
|
timestamps: true,
|
||||||
|
@ -17,20 +17,6 @@ const schema = new Schema(
|
|||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
domains: [
|
|
||||||
{
|
|
||||||
role: Number,
|
|
||||||
domain_id: String
|
|
||||||
}
|
|
||||||
],
|
|
||||||
verification_code: {
|
|
||||||
type: Number,
|
|
||||||
length: 6
|
|
||||||
},
|
|
||||||
verified: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
timestamps: true
|
timestamps: true
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
import { Router } from 'express'
|
import { Router } from 'express'
|
||||||
import * as rootController from '../controllers/rootController'
|
import * as rootController from '../controllers/rootController'
|
||||||
import * as beerController from '../controllers/beerController'
|
import * as beerController from '../controllers/beerController'
|
||||||
|
import * as reviewController from '../controllers/reviewController'
|
||||||
|
import * as userController from '../controllers/userController'
|
||||||
import rootValidator from '../validators/rootValidator'
|
import rootValidator from '../validators/rootValidator'
|
||||||
import handleValidation from '../middlewares/handleValidation'
|
import handleValidation from '../middlewares/handleValidation'
|
||||||
|
|
||||||
@ -14,5 +16,7 @@ router.post('/api/v1/beer/del', beerController.del_post)
|
|||||||
router.post('/api/v1/beer/edit', beerController.edit_post)
|
router.post('/api/v1/beer/edit', beerController.edit_post)
|
||||||
router.get('/api/v1/beer/get', beerController.get_get)
|
router.get('/api/v1/beer/get', beerController.get_get)
|
||||||
|
|
||||||
router.post('/api/v1/review/add', beerController.add_post)
|
router.post('/api/v1/review/add', reviewController.add_post)
|
||||||
router.post('/api/v1/review/del', beerController.del_post)
|
//router.post('/api/v1/review/del', reviewController.del_post)
|
||||||
|
|
||||||
|
router.post('/api/v1/user/add', userController.add_post)
|
||||||
|
@ -7,17 +7,17 @@
|
|||||||
<form class="form_add">
|
<form class="form_add">
|
||||||
<div class=form_group>
|
<div class=form_group>
|
||||||
<div class=form_group_label>
|
<div class=form_group_label>
|
||||||
<label for="brand">Značka:</label>
|
<label for="name">Název, značka:</label>
|
||||||
<input type="text" name="brand" id="brand" enable>
|
|
||||||
</div>
|
|
||||||
<div class=form_group_label>
|
|
||||||
<label for="name">Název:</label>
|
|
||||||
<input type="text" name="name" id="name" enable>
|
<input type="text" name="name" id="name" enable>
|
||||||
</div>
|
</div>
|
||||||
<div class=form_group_label>
|
<div class=form_group_label>
|
||||||
<label for="degree">Stupeň:</label>
|
<label for="degree">Stupeň:</label>
|
||||||
<input type="text" name="degree" id="degree" enable>
|
<input type="text" name="degree" id="degree" enable>
|
||||||
</div>
|
</div>
|
||||||
|
<div class=form_group_label>
|
||||||
|
<label for="percentage">Procento:</label>
|
||||||
|
<input type="text" name="percentage" id="percentage" enable>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class=form_group>
|
<div class=form_group>
|
||||||
@ -26,7 +26,9 @@
|
|||||||
<select id="packaging" name="packaging" enable>
|
<select id="packaging" name="packaging" enable>
|
||||||
<option value="1">Plech</option>
|
<option value="1">Plech</option>
|
||||||
<option value="2">Sklo</option>
|
<option value="2">Sklo</option>
|
||||||
<option value="3">Jiné</option>
|
<option value="3">Sud</option>
|
||||||
|
<option value="4">Tank</option>
|
||||||
|
<option value="5">Jiné</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -38,7 +40,7 @@
|
|||||||
<div class="form_group">
|
<div class="form_group">
|
||||||
<div class=form_group_label>
|
<div class=form_group_label>
|
||||||
<label for="photo">Foto:</label>
|
<label for="photo">Foto:</label>
|
||||||
<input type="file" name="image" id="image" enable>
|
<input type="file" name="photo" id="photo" enable>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -9,16 +9,18 @@
|
|||||||
<div class=form_group_label>
|
<div class=form_group_label>
|
||||||
<label for="user">Uživatel:</label>
|
<label for="user">Uživatel:</label>
|
||||||
<select id="user" name="user" enable>
|
<select id="user" name="user" enable>
|
||||||
<option value="">Dž</option>
|
<option value="649f42f62b93542c8a465526">Dž</option>
|
||||||
<option value="">Dý Ej En</option>
|
<option value="649f43182b93542c8a465528">Dý Ej En</option>
|
||||||
<option value="">frfr</option>
|
<option value="649f42c32b93542c8a465524">frfr</option>
|
||||||
|
<option value="649f43332b93542c8a46552a">Pch</option>
|
||||||
|
<option value="649f46072b93542c8a46552f">Sš</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class=form_group>
|
<div class=form_group>
|
||||||
<div class=form_group_label>
|
<div class=form_group_label>
|
||||||
<label for="beer">Beer:</label>
|
<label for="beer">Beer:</label>
|
||||||
<select name="beer" id="beer">
|
<select name="beer_id" id="beer_id">
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -90,7 +92,13 @@
|
|||||||
|
|
||||||
<div class=form_group_label>
|
<div class=form_group_label>
|
||||||
<label for="attendedts">S kým:</label>
|
<label for="attendedts">S kým:</label>
|
||||||
<input type="text" name="attendedts" id="attendents" enable>
|
<select id="attendedts" name="attendedts" multiple size="3" enable>
|
||||||
|
<option value="649f42f62b93542c8a465526">Dž</option>
|
||||||
|
<option value="649f43182b93542c8a465528">Dý Ej En</option>
|
||||||
|
<option value="649f42c32b93542c8a465524">frfr</option>
|
||||||
|
<option value="649f43332b93542c8a46552a">Pch</option>
|
||||||
|
<option value="649f46072b93542c8a46552f">Sš</option>
|
||||||
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class=form_group_label>
|
<div class=form_group_label>
|
||||||
@ -170,10 +178,11 @@
|
|||||||
}
|
}
|
||||||
return pckgs[id_pckg]
|
return pckgs[id_pckg]
|
||||||
}
|
}
|
||||||
|
|
||||||
(async() => {
|
(async() => {
|
||||||
// get beers and fill form data
|
// get beers and fill form data
|
||||||
const beerData = await getBeers()
|
const beerData = await getBeers()
|
||||||
const beer = document.querySelector('#beer')
|
const beer = document.querySelector('#beer_id')
|
||||||
|
|
||||||
const beerOptions = beerData?.map((beer) => {
|
const beerOptions = beerData?.map((beer) => {
|
||||||
return `
|
return `
|
||||||
|
54
frontend/pages/signup/signup.php
Normal file
54
frontend/pages/signup/signup.php
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<?php
|
||||||
|
$API_URL = "http://localhost:6060"
|
||||||
|
?>
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/add.css">
|
||||||
|
|
||||||
|
<form class="form_add">
|
||||||
|
<label for="username">Uživatelské jméno:</label>
|
||||||
|
<input type="text" name="username" id="username">
|
||||||
|
|
||||||
|
<label for="email">E-mail:</label>
|
||||||
|
<input type="email" name="email" id="email">
|
||||||
|
|
||||||
|
<label for="password">Heslo:</label>
|
||||||
|
<input type="password" name="password" id="password">
|
||||||
|
|
||||||
|
<button id="submit" class="btn-send">Registrovat se</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const btn = document.querySelector('.btn-send')
|
||||||
|
console.log(btn)
|
||||||
|
btn.addEventListener('click', (e) => {
|
||||||
|
e.preventDefault()
|
||||||
|
send()
|
||||||
|
})
|
||||||
|
|
||||||
|
function send() {
|
||||||
|
let form = new FormData(document.querySelector("form"));
|
||||||
|
|
||||||
|
let body = JSON.stringify(Object.fromEntries(form))
|
||||||
|
|
||||||
|
fetch('<?php echo $API_URL;?>/api/v1/user/add', {
|
||||||
|
credentials: 'include',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
},
|
||||||
|
method: 'POST',
|
||||||
|
body: body,
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
console.log(res)
|
||||||
|
console.log(res.json())
|
||||||
|
|
||||||
|
})
|
||||||
|
.then(data => {
|
||||||
|
console.log(data)
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
console.log(err)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user