8 Commits

Author SHA1 Message Date
92d9ddb8f7 „Documentation/Dokumentation.md“ ändern 2023-01-25 08:51:08 +01:00
bb626538c4 Dateien hochladen nach „ERD“
Accurat ERD
2023-01-25 08:45:47 +01:00
Johannes Kantz
46dbcca254 fix: typo 2023-01-25 08:45:16 +01:00
Johannes Kantz
34aa9e10f9 fix: user token error 2023-01-25 08:32:42 +01:00
Johannes Kantz
b84c4fd8e3 fix: user post and get 2023-01-25 08:27:03 +01:00
Johannes Kantz
20a26ebd66 fix login error 2023-01-25 08:16:44 +01:00
abc1be3885 Merge pull request 'late fix' (#6) from done into don
Reviewed-on: #6
2023-01-25 08:04:51 +01:00
Johannes Kantz
7c185b6987 late fix 2023-01-25 08:02:59 +01:00
5 changed files with 76 additions and 34 deletions

View File

@@ -16,7 +16,7 @@ CREATE TABLE `ingredienti`
`cognome` varchar(200) NOT NULL, /*Name*/
`calorie` integer(5) NOT NULL, /*Kalorien*/
`quantita` integer(5) NOT NULL, /*Anzahl*/
`prezzo` decimal(4, 2) NOT NULL, /*Preis*/
`prezzo` decimal(8, 2) NOT NULL, /*Preis*/
`follaID` int NOT NULL, /*MengeID*/
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -77,7 +77,7 @@ ALTER TABLE `elenco`
/*Test Data*/
INSERT INTO `utente` (email, parolaDordine, nomeUtente) VALUES ('test@test.com', 'password', "testuser");
INSERT INTO `utente` (email, parolaDordine, nomeUtente) VALUES ('test1@test.com', 'password1', "testuser1");
INSERT INTO `utente` (email, parolaDordine, nomeUtente) VALUES ('test1@test.com', 'hunter2', "testuser1");
INSERT INTO `folla` (unita) VALUES ('st');
@@ -91,8 +91,11 @@ INSERT INTO `folla` (unita) VALUES ('EL');
INSERT INTO `ingredienti` (cognome, calorie, quantita, prezzo, follaID) VALUES ('Raffinierter Zucker', 3870, 1000, 5, 2);
INSERT INTO `ingredienti` (cognome, calorie, quantita, prezzo, follaID) VALUES ('Die Chips von der Tanke', 843, 375, 4.30, 2);
INSERT INTO `ingredienti` (cognome, calorie, quantita, prezzo, follaID) VALUES ('Reines Copium', 420, 1337, 6.9, 4);
INSERT INTO `ingredienti` (cognome, calorie, quantita, prezzo, follaID) VALUES ('Maggi', 420, 1337, 6.9, 4);
INSERT INTO `ingredienti` (cognome, calorie, quantita, prezzo, follaID) VALUES ('Eine große Pommes Frites mit Pommes Frites', 4200, 1, 6.9, 3);
INSERT INTO `elenco` (utenteID, cognome) VALUES (1, 'Liste den Einkauf bei Netto');
INSERT INTO `elenco` (utenteID, cognome) VALUES (1, 'Liste für den Einkauf bei Netto');
INSERT INTO `elencoIngredienti` (ingredientiID, elencoID) VALUES (1, 1);
INSERT INTO `elencoIngredienti` (ingredientiID, elencoID) VALUES (2, 1);

View File

@@ -18,8 +18,8 @@ POST 127.0.0.1/DirektiveDesDons/user
BODY
{
"username": "Benutzername",
"email": "email"
"password": "Passwort",
"email": "email",
"password": "Passwort"
}
```
@@ -49,8 +49,8 @@ POST 127.0.0.1/DirektiveDesDons/list
BODY
{
"name": "Einkaufsliste 1"
"backgoundColor": "#123",
"name": "Einkaufsliste 1",
"backgoundColor": "#123"
}
```
@@ -117,6 +117,20 @@ GET 127.0.0.1/DirektiveDesDons/ingredient/1
DELETE 127.0.0.1/DirektiveDesDons/ingredient/1
```
### Zutat ändern
```shell
PUT 127.0.0.1/DirektiveDesDons/ingredient/3
BODY
{
"name": "Nüsse",
"calories": "123",
"quantity": "5",
"unit": "st",
"price": "13.5"
}
```
---
## MengenEinheiten
@@ -136,6 +150,21 @@ BODY
}
```
### Einheit ausgeben
```shell
GET 127.0.0.1/DirektiveDesDons/unit/4
```
###Einheit ändern
```shell
PUT 127.0.0.1/DirektiveDesDons/unit/4
BODY
{
"name":"Tonne"
}
```
### Einheit löschen
```shell
DELETE 127.0.0.1/DirektiveDesDons/unit/4

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

@@ -18,11 +18,13 @@ class User {
return true;
}
public function loginWithUsername(string $username, string $password) : string {
$userObject = $this->db->select("utente", ["nomeUtente" => $username])[0];
$query = $this->db->select("utente", ["nomeUtente" => $username]);
if(!$userObject){
if(!$query){
return false;
}
$userObject = $query[0];
$this->id = $userObject["id"];
$this->username = $userObject["nomeUtente"];
$this->email = $userObject["email"];
@@ -38,10 +40,12 @@ class User {
return $this->token;
}
public function loginWithToken(string $token){
$userObject = $this->db->select("utente", ["gettone" => $token])[0];
if(!$userObject){
$query = $this->db->select("utente", ["gettone" => $token]);
if(!$query){
return false;
}
$userObject = $query[0];
$this->id = $userObject["id"];
$this->username = $userObject["nomeUtente"];
$this->email = $userObject["email"];

View File

@@ -40,7 +40,7 @@ $app->use("/", function (array &$req, Response $res) {
* Home
*/
$app->get("/", function (array $req, Response $res) use ($db) {
$res->json(["message" => "",
$res->json(["message" => "Die Einkaufsliste des Don",
"name" => "Shopping List",
"authors" => "Simon Bock, Johannes Kantz & Malte Schulze Hobeling"]);
});
@@ -48,26 +48,22 @@ $app->get("/", function (array $req, Response $res) use ($db) {
/*
* User
*/
$app->get("/user", function (array $req, Response $res) {
if (isset($req["user"])) {
$res->json(["id" => $req["user"]->id, "username" => $req["user"]->username, "email" => $req["user"]->email]);
} else {
$res->json(["status" => HTTP_STATUS_CODE::FORBIDDEN, "message" => "You are not logged in. Goto '/login' to login"]);
}
});
$app->get("/user/:id", function (array $req, Response $res) use ($db) {
$db->select("utente", ["username" => $req["id"]]);
$res->send("user " . $req["params"]["id"]);
});
$app->post("/signup", function (array $req, Response $res) use ($db) {
$newUsername = $req["body"]["username"];
$newPassword = $req["body"]["password"];
$newEmail = $req["body"]["email"];
$db->insert("utente", ["email" => "$newEmail", "parolaDordine" => "$newPassword", "nomeUtente" => "$newUsername"]);
$res->send("Account Created", HTTP_STATUS_CODE::CREATED);
});
$app->route("/user")
->get(function (array $req, Response $res) {
if (isset($req["user"])) {
$res->json(["id" => $req["user"]->id, "username" => $req["user"]->username, "email" => $req["user"]->email]);
} else {
$res->json(["status" => HTTP_STATUS_CODE::FORBIDDEN, "message" => "You are not logged in. Goto '/login' to login"]);
}
})
->post(function (array $req, Response $res) use ($db) {
$newUsername = $req["body"]["username"];
$newPassword = $req["body"]["password"];
$newEmail = $req["body"]["email"];
$db->insert("utente", ["email" => "$newEmail", "parolaDordine" => "$newPassword", "nomeUtente" => "$newUsername"]);
$res->send("Account Created", HTTP_STATUS_CODE::CREATED);
});
$app->post("/login", function (array $req, Response $res) use ($db) {
$username = $req["body"]["username"];
$password = $req["body"]["password"];
@@ -116,7 +112,12 @@ $app->route("/ingredient")
$app->route("/ingredient/:id")
->get(function (array $req, Response $res) use ($db) {
$id = $req["params"]["id"];
$ingredient = $db->select("ingredienti", ["id" => $id])[0];
$query = $db->select("ingredienti", ["id" => $id]);
if(count($query) < 1){
$res->json(["message" => "Item does not exists"]);
return;
}
$ingredient = $query[0];
$res->json(["data" => $ingredient]);
})
->put(function (array $req, Response $res) use ($db) {
@@ -172,8 +173,13 @@ $app->route("/unit")
$app->route("/unit/:id")
->get(function (array $req, Response $res) use ($db) {
$id = $req["params"]["id"];
$ingredient = $db->select("folla", ["id" => $id])[0];
$res->json(["data" => $ingredient]);
$query = $db->select("folla", ["id" => $id]);
if(count($query) < 1){
$res->json(["message" => "Unit does not exists"]);
return;
}
$unit = $query[0];
$res->json(["data" => $unit]);
})
->put(function (array $req, Response $res) use ($db) {
$id = $req["params"]["id"];