mirror of
https://codeberg.org/vlw/vlw.se.git
synced 2025-09-13 21:13:40 +02:00
Compare commits
4 commits
Author | SHA1 | Date | |
---|---|---|---|
e8a81b789b | |||
5e9317def5 | |||
8209ea5ecc | |||
85e8e00091 |
4 changed files with 14 additions and 6 deletions
|
@ -8,12 +8,11 @@
|
||||||
use VLW\Database\Models\Coffee\Coffee;
|
use VLW\Database\Models\Coffee\Coffee;
|
||||||
use VLW\Database\Tables\Coffee\Coffee as CoffeeTable;
|
use VLW\Database\Tables\Coffee\Coffee as CoffeeTable;
|
||||||
|
|
||||||
require_once Path::root("src/UUID.php");
|
|
||||||
require_once Path::root("src/API/API.php");
|
require_once Path::root("src/API/API.php");
|
||||||
require_once Path::root("src/Database/Models/Coffee/Coffee.php");
|
require_once Path::root("src/Database/Models/Coffee/Coffee.php");
|
||||||
require_once Path::root("src/Database/Tables/Coffee/Coffee.php");
|
require_once Path::root("src/Database/Tables/Coffee/Coffee.php");
|
||||||
|
|
||||||
final class POST_Coffee extends API {
|
final class DELETE_Coffee extends API {
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
parent::__construct(new Ruleset()->GET([
|
parent::__construct(new Ruleset()->GET([
|
||||||
new Rules(CoffeeTable::ID->value)
|
new Rules(CoffeeTable::ID->value)
|
||||||
|
|
|
@ -13,9 +13,10 @@
|
||||||
|
|
||||||
final class POST_Coffee extends API {
|
final class POST_Coffee extends API {
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
parent::__construct(new Ruleset()->POST([
|
parent::__construct(new Ruleset(strict: true)->POST([
|
||||||
new Rules(CoffeeTable::DATE_CREATED->value)
|
new Rules(CoffeeTable::DATE_CREATED->value)
|
||||||
->type(Type::STRING)
|
->type(Type::STRING)
|
||||||
|
->type(Type::NUMBER)
|
||||||
->default(null)
|
->default(null)
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
@ -26,7 +27,10 @@
|
||||||
// Parse DateTime from POST string
|
// Parse DateTime from POST string
|
||||||
if ($_POST[CoffeeTable::DATE_CREATED->value]) {
|
if ($_POST[CoffeeTable::DATE_CREATED->value]) {
|
||||||
try {
|
try {
|
||||||
$datetime = new DateTimeImmutable($_POST[CoffeeTable::DATE_CREATED->value]);
|
// Create DateTimeImmutable from Unix timestamp or datetime string
|
||||||
|
$datetime = gettype($_POST[CoffeeTable::DATE_CREATED->value]) === "integer"
|
||||||
|
? DateTimeImmutable::createFromTimestamp($_POST[CoffeeTable::DATE_CREATED->value])
|
||||||
|
: new DateTimeImmutable($_POST[CoffeeTable::DATE_CREATED->value]);
|
||||||
} catch (DateMalformedStringException $error) {
|
} catch (DateMalformedStringException $error) {
|
||||||
return new Response($error->getMessage(), 400);
|
return new Response($error->getMessage(), 400);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
namespace VLW\Database\Models\Coffee;
|
namespace VLW\Database\Models\Coffee;
|
||||||
|
|
||||||
use \VV;
|
use \VV;
|
||||||
|
use \Exception;
|
||||||
use \vlw\MySQL\Order;
|
use \vlw\MySQL\Order;
|
||||||
use \DateTimeImmutable;
|
use \DateTimeImmutable;
|
||||||
|
|
||||||
|
@ -61,7 +62,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
public function delete(): bool {
|
public function delete(): bool {
|
||||||
return $this->db->delete([CoffeeTable::ID->value => $this->id]);
|
try {
|
||||||
|
return $this->db->from(CoffeeTable::TABLE)->delete([CoffeeTable::ID->value => $this->id]);
|
||||||
|
} catch (Exception $error) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final public DateTimeImmutable $date_created {
|
final public DateTimeImmutable $date_created {
|
||||||
|
|
2
vegvisir
2
vegvisir
|
@ -1 +1 @@
|
||||||
Subproject commit 461b2cc82b268ca09919a3506625957a868a9d27
|
Subproject commit 016b88068212243ce33894fbba9ffa91009146f0
|
Loading…
Add table
Reference in a new issue