mirror of
https://github.com/appen-isen/fermentardoise.git
synced 2026-01-18 16:17:27 +01:00
add sql model and php basice
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.vscode
|
||||||
28
resources/config.php
Normal file
28
resources/config.php
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PHP version 8.1.11
|
||||||
|
*/
|
||||||
|
|
||||||
|
ini_set('display_errors', 1);
|
||||||
|
ini_set('display_startup_errors', 1);
|
||||||
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
|
// Basice parameters to connect to the database
|
||||||
|
const DB_SERVER = '127.0.0.1';
|
||||||
|
const DB_PORT = '5432';
|
||||||
|
const DB_NAME = 'fermentardoise';
|
||||||
|
const DB_USER = 'postgres';
|
||||||
|
const DB_PASSWORD = '';
|
||||||
|
|
||||||
|
// Some constants to use in the application
|
||||||
|
const ACCESS_TOKEN_NAME = 'fermentardoise_session';
|
||||||
|
|
||||||
|
/*
|
||||||
|
Creating constants for heavily used paths makes things a lot easier.
|
||||||
|
ex. require_once(LIBRARY_PATH . "exceptions.php")
|
||||||
|
*/
|
||||||
|
defined("LIBRARY_PATH")
|
||||||
|
or define("LIBRARY_PATH", realpath(dirname(__FILE__) . '/library'));
|
||||||
|
|
||||||
|
?>
|
||||||
8
resources/library/exceptions.php
Normal file
8
resources/library/exceptions.php
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This exception is thrown when the authentication failed.
|
||||||
|
*/
|
||||||
|
class AuthenticationException extends Exception {}
|
||||||
|
|
||||||
|
?>
|
||||||
13
resources/library/redirect.php
Normal file
13
resources/library/redirect.php
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Redirects to a new page
|
||||||
|
*
|
||||||
|
* @param string $page The requested page.
|
||||||
|
*/
|
||||||
|
function redirect(string $page): void{
|
||||||
|
$host = $_SERVER['HTTP_HOST'];
|
||||||
|
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
|
||||||
|
header("Location: //$host$uri/$page");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
?>
|
||||||
41
sql/model.sql
Normal file
41
sql/model.sql
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
/************************************************************************
|
||||||
|
Creation Date: 2022-11-19
|
||||||
|
Description: Creates the database tables and relations.
|
||||||
|
Usage: psql -U postgres -d fermentardoise -a -f model.sql
|
||||||
|
https://stackoverflow.com/a/23992045/12619942
|
||||||
|
************************************************************************/
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS users CASCADE;
|
||||||
|
DROP TABLE IF EXISTS clients CASCADE;
|
||||||
|
DROP TABLE IF EXISTS payments CASCADE;
|
||||||
|
|
||||||
|
-- Table users
|
||||||
|
CREATE TABLE users (
|
||||||
|
id SERIAL PRIMARY KEY,
|
||||||
|
login VARCHAR(255) NOT NULL,
|
||||||
|
password_hash VARCHAR(50) NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Table clients
|
||||||
|
CREATE TABLE clients (
|
||||||
|
id SERIAL PRIMARY KEY,
|
||||||
|
lastname VARCHAR(64) NOT NULL,
|
||||||
|
firstname VARCHAR(64) NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Table payments
|
||||||
|
CREATE TABLE payments (
|
||||||
|
id SERIAL PRIMARY KEY,
|
||||||
|
amount FLOAT NOT NULL,
|
||||||
|
comment TEXT,
|
||||||
|
date_time TIMESTAMP NOT NULL,
|
||||||
|
client_id INTEGER NOT NULL,
|
||||||
|
user_id INTEGER NOT NULL,
|
||||||
|
|
||||||
|
FOREIGN KEY (client_id) REFERENCES clients(id)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE CASCADE,
|
||||||
|
FOREIGN KEY (user_id) REFERENCES users(id)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE CASCADE
|
||||||
|
);
|
||||||
Reference in New Issue
Block a user