forked from BassPago/leeds_backend
67 lines
1.1 KiB
PHP
67 lines
1.1 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
namespace Bass\Webclient\Model;
|
|
|
|
use PDO;
|
|
use Bass\Webclient\Model\ModelFactory;
|
|
// TODO: ADD TAXID TO BE LIMIT ONE REQUEST PER VALID USER ID
|
|
|
|
class LeadModel
|
|
{
|
|
private PDO $db;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->db = ModelFactory::db();
|
|
}
|
|
|
|
public function insert(array $data): array
|
|
{
|
|
$sql = "
|
|
INSERT INTO lead
|
|
(
|
|
lead_name,
|
|
lead_phone,
|
|
lead_email,
|
|
lead_company,
|
|
lead_sector,
|
|
lead_employees,
|
|
lead_revenue,
|
|
lead_description
|
|
)
|
|
VALUES
|
|
(
|
|
:name,
|
|
:phone,
|
|
:email,
|
|
:company_name,
|
|
:sector,
|
|
:number_of_employees,
|
|
:revenue,
|
|
:description
|
|
)
|
|
";
|
|
|
|
try {
|
|
$stmt = $this->db->prepare($sql);
|
|
$stmt->execute($data);
|
|
|
|
return [
|
|
true,
|
|
[
|
|
'lead_id' => (int) $this->db->lastInsertId()
|
|
]
|
|
];
|
|
} catch (\Throwable $e) {
|
|
return [
|
|
false,
|
|
[
|
|
'code' => 'DB_ERROR',
|
|
'message' => 'Failed to insert lead'
|
|
]
|
|
];
|
|
}
|
|
}
|
|
}
|