<?php
namespace SHServ\Factory;
use \SHServ\Entities\Profile;
use \SHServ\Entities\User;
use \SHServ\Entities\Meta;
class Creator {
public function create_user(String $alias, String $email, String $password) {
$password_hash = sha1($password);
$uid = app() -> thin_builder -> insert(User::$table_name, [
"alias" => $alias,
"email" => $email,
"password" => $password_hash,
"create_at" => date("Y-m-d H:i:s")
]);
return $uid ? new User($uid) : null;
}
public function create_profile(Int $uid) {
$profile_id = app() -> thin_builder -> insert(Profile::$table_name, [
"uid" => $uid,
"create_at" => date("Y-m-d H:i:s")
]);
return $profile_id ? new Profile($profile_id) : null;
}
public function create_meta(Int $ent_id, String $assignment, String $name, $value): Meta {
$data = [
"ent_id" => $ent_id,
"assignment" => $assignment,
"name" => $name,
"value" => $value,
"create_at" => date("Y-m-d H:i:s")
];
$meta_id = app() -> thin_builder -> insert(Meta::$table_name, $data);
return new Meta($meta_id, array_merge(
[
"id" => $meta_id,
"update_at" => $data["create_at"]
],
$data
));
}
}