Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions .github/workflows/pint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: pint

on:
push:
branches: [main]
workflow_dispatch:

jobs:
lint:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.4"
tools: composer:v2
coverage: xdebug

- name: Install Dependencies
run: composer install --no-interaction --prefer-dist --optimize-autoloader

- name: Run Pint
run: composer run pint

- name: Check for changes
id: verify-changed-files
run: |
if [ -n "$(git status --porcelain)" ]; then
echo "changed=true" >> $GITHUB_OUTPUT
echo "Changes detected after Pint"
git status --porcelain
else
echo "changed=false" >> $GITHUB_OUTPUT
echo "No changes detected after Pint"
fi

- name: Commit and Push changes
if: steps.verify-changed-files.outputs.changed == 'true'
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add -u
git commit -m "Apply PHP Pint fixes"
git push
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
},
"scripts": {
"generate_openapi": "openapi-generator-cli generate -c openapi_config.yaml",
"format": "vendor/bin/pint --no-interaction",
"pint": "vendor/bin/pint --no-interaction",
"test": "vendor/bin/pest",
"test-coverage": "vendor/bin/pest --coverage-html coverage"
}
Expand Down
3 changes: 3 additions & 0 deletions pint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"exclude": ["src/Generated"]
}
16 changes: 8 additions & 8 deletions src/Connection.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ class Connection
/**
* Create a new connection instance.
*
* @param array<string, int|string> $requestHeaders
* @param array<string, int|string> $requestHeaders
*/
public function __construct(public string $url, public array $requestHeaders = [])
{
Expand Down Expand Up @@ -183,7 +183,7 @@ protected function createThreads(): void

if ($byte === "\r") {
// Expecting "\n" after "\r"
$nextByte = $this->socket ? fread($this->socket, 1) : false;
$nextByte = $this->socket ? fread($this->socket, 1) : false;

if ($nextByte === "\n") {
break;
Expand Down Expand Up @@ -214,7 +214,7 @@ protected function createThreads(): void

while ($bytesRead < $chunkSize) {
$remainingBytes = $chunkSize - $bytesRead;
$readLength = max(1, (int)$remainingBytes);
$readLength = max(1, (int) $remainingBytes);

$data = $this->socket && $remainingBytes > 0 ?
fread($this->socket, $readLength) :
Expand Down Expand Up @@ -357,7 +357,7 @@ public function open(): void
stream_set_timeout($this->socket, 5);

$error = fwrite($this->socket, "POST {$this->path} HTTP/1.1\r\n");
$error = fwrite($this->socket, implode("\r\n", $this->headers) . "\r\n");
$error = fwrite($this->socket, implode("\r\n", $this->headers)."\r\n");
$error = fwrite($this->socket, "\r\n");

if ($error === false) {
Expand All @@ -367,7 +367,7 @@ public function open(): void
$this->open = true;

$this->messages = [
pack('C', QueryStreamMessageType::OPEN_CONNECTION->value . pack('V', 0)),
pack('C', QueryStreamMessageType::OPEN_CONNECTION->value.pack('V', 0)),
...$this->messages,
];

Expand All @@ -381,7 +381,7 @@ public function send(Query $query): QueryResult
{
$queryRequest = $this->queryRequestEncoder->encode($query);

$frame = pack('C', QueryStreamMessageType::FRAME->value) . pack('V', strlen($queryRequest)) . $queryRequest;
$frame = pack('C', QueryStreamMessageType::FRAME->value).pack('V', strlen($queryRequest)).$queryRequest;

$this->messages[] = $frame;

Expand Down Expand Up @@ -410,7 +410,7 @@ public function send(Query $query): QueryResult

continue;
} catch (Exception $reconnectException) {
throw new Exception('[Litebase Client Error]: Failed to reconnect after connection loss: ' . $reconnectException->getMessage());
throw new Exception('[Litebase Client Error]: Failed to reconnect after connection loss: '.$reconnectException->getMessage());
}
}
}
Expand Down Expand Up @@ -565,7 +565,7 @@ protected function writeMessage(string $message): void
$chunkSize = dechex(strlen($message));

$n = $this->socket ?
fwrite($this->socket, $chunkSize . "\r\n" . $message . "\r\n") :
fwrite($this->socket, $chunkSize."\r\n".$message."\r\n") :
false;

if ($n === false) {
Expand Down
2 changes: 1 addition & 1 deletion src/Exceptions/QueryException.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class QueryException extends Exception
/**
* Create a new QueryException instance.
*
* @param array<int|string, mixed> $parameters
* @param array<int|string, mixed> $parameters
*/
public function __construct(string $message, string $statement, array $parameters, ?Throwable $previous = null)
{
Expand Down
2 changes: 1 addition & 1 deletion src/HasRequestHeaders.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
trait HasRequestHeaders
{
/**
* @param array<string, string> $headers
* @param array<string, string> $headers
* @return array<string, string>
*/
protected function requestHeaders(string $host, ?string $port, int $contentLength, array $headers = []): array
Expand Down
4 changes: 2 additions & 2 deletions src/HttpStreamingTransport.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,11 @@ public function send(Query $query): ?QueryResult
: sprintf('http://%s:%d/%s', $this->config->getHost(), $this->config->getPort(), $path);

if (! empty($this->config->getUsername()) || ! (empty($this->config->getPassword()))) {
$headers['Authorization'] = 'Basic ' . base64_encode($this->config->getUsername() . ':' . $this->config->getPassword());
$headers['Authorization'] = 'Basic '.base64_encode($this->config->getUsername().':'.$this->config->getPassword());
}

if (! empty($this->config->getAccessToken())) {
$headers['Authorization'] = 'Bearer ' . $this->config->getAccessToken();
$headers['Authorization'] = 'Bearer '.$this->config->getAccessToken();
}

if (! empty($this->config->getAccessKeyId())) {
Expand Down
4 changes: 2 additions & 2 deletions src/HttpTransport.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,13 @@ public function send(Query $query): ?QueryResult

/** @var array<int, array<int, bool|float|int|string|null>> $rows */
$rows = array_values(array_map(
fn($row) => is_array($row) ? array_values($row) : (array) $row,
fn ($row) => is_array($row) ? array_values($row) : (array) $row,
$firstResult->getRows() ?? []
));

return new QueryResult(
changes: $firstResult->getChanges() ?? 0,
columns: array_values(array_map(fn($col) => [
columns: array_values(array_map(fn ($col) => [
'type' => ColumnType::from($col->getType() ?? 1),
'name' => $col->getName() ?? '',
], $firstResult->getColumns() ?? [])),
Expand Down
3 changes: 1 addition & 2 deletions src/LitebaseClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

use Exception;
use GuzzleHttp\Client;
use Litebase\Generated\Model\Any;
use Litebase\Generated\Model\StatementParameter;
use Throwable;

Expand Down Expand Up @@ -217,7 +216,7 @@ public function withTransport(string $transportType): LitebaseClient
$this->transport = new HttpStreamingTransport($this->configuration);
break;
default:
throw new Exception('Invalid transport type: ' . $transportType);
throw new Exception('Invalid transport type: '.$transportType);
}

return $this;
Expand Down
4 changes: 2 additions & 2 deletions src/LitebasePDO.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class LitebasePDO extends Sqlite
/**
* Create a new instance of the PDO connection.
*
* @param array<string, string|null> $config
* @param array<string, string|null> $config
*/
public function __construct(array $config)
{
Expand Down Expand Up @@ -149,7 +149,7 @@ public function lastInsertId($name = null): string|false
/**
* Create a new prepared statement.
*
* @param array<string, mixed>|null $options Driver options.
* @param array<string, mixed>|null $options Driver options.
*/
public function prepare(string $statement, $options = null): PDOStatement
{
Expand Down
19 changes: 9 additions & 10 deletions src/LitebaseStatement.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

namespace Litebase;

use Iterator;
use IteratorAggregate;
use Litebase\Exceptions\QueryException;
use PDO;
Expand Down Expand Up @@ -72,14 +71,14 @@ public function bindValue(int|string $parameter, mixed $value, int $data_type =
case PDO::PARAM_NULL:
$type = 'NULL';
break;
// TODO: Test BLOB type
// TODO: Test BLOB type
case PDO::PARAM_LOB:
$type = 'BLOB';
break;
// TODO: Add a case for float type
// case PDO::PARAM_FLOAT:
// $type = "REAL";
// break;
// TODO: Add a case for float type
// case PDO::PARAM_FLOAT:
// $type = "REAL";
// break;
default:
$type = 'TEXT'; // Default to TEXT if no match
break;
Expand All @@ -105,7 +104,7 @@ public function bindValue(int|string $parameter, mixed $value, int $data_type =
*/
public function closeCursor(): bool
{
if (!empty($this->result->rows)) {
if (! empty($this->result->rows)) {
$this->result->rows = [];
}

Expand Down Expand Up @@ -151,7 +150,7 @@ public function errorInfo(): array
/**
* {@inheritDoc}
*
* @param array<int|string, mixed>|null $params
* @param array<int|string, mixed>|null $params
*/
public function execute(?array $params = null): bool
{
Expand Down Expand Up @@ -209,8 +208,9 @@ public function execute(?array $params = null): bool
if (isset($this->result->rows)) {
$this->rows = array_map(function ($row) {
$columns = $this->columns ?? [];

return array_combine(
array_map(fn($col) => $col['name'], $columns),
array_map(fn ($col) => $col['name'], $columns),
$row
);
}, $this->result->rows);
Expand Down Expand Up @@ -285,7 +285,6 @@ public function rowCount(): int
return $this->rowCount;
}


/**
* {@inheritDoc}
*/
Expand Down
6 changes: 3 additions & 3 deletions src/Query.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
class Query
{
/**
* @param \Litebase\Generated\Model\StatementParameter[] $parameters
* @param \Litebase\Generated\Model\StatementParameter[] $parameters
*/
public function __construct(
public string $id,
Expand All @@ -21,10 +21,10 @@ public function __construct(
*/
public function toRequest(): CreateQueryRequest
{
$request = new CreateQueryRequest();
$request = new CreateQueryRequest;

$request->setQueries([
(new \Litebase\Generated\Model\QueryInput())
(new \Litebase\Generated\Model\QueryInput)
->setId($this->id)
->setTransactionId($this->transactionId ?? '')
->setStatement($this->statement)
Expand Down
12 changes: 6 additions & 6 deletions src/QueryRequestEncoder.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public static function encode(Query $query): string
$binaryData = '';
$id = $query->id;
$idLength = pack('V', strlen($id));
$binaryData .= $idLength . $id;
$binaryData .= $idLength.$id;

$transactionIdLength = pack('V', strlen($query->transactionId ?? ''));
$binaryData .= $transactionIdLength;
Expand All @@ -20,7 +20,7 @@ public static function encode(Query $query): string

$statement = $query->statement;
$statementLength = pack('V', strlen($statement));
$binaryData .= $statementLength . $statement;
$binaryData .= $statementLength.$statement;

$parametersBinary = '';

Expand Down Expand Up @@ -72,14 +72,14 @@ public static function encode(Query $query): string
$parameterType = pack('C', $parameterType);

// Parameter value with length prefix (4 bytes little-endian + value)
$parameterValueWithLength = pack('V', $parameterValueLength) . $parameterValue;
$parameterValueWithLength = pack('V', $parameterValueLength).$parameterValue;

$parametersBinary .= $parameterType . $parameterValueWithLength;
$parametersBinary .= $parameterType.$parameterValueWithLength;
}

$parametersBinaryLength = pack('V', strlen($parametersBinary));
$binaryData .= $parametersBinaryLength . $parametersBinary;
$queryBinary = pack('V', strlen($binaryData)) . $binaryData;
$binaryData .= $parametersBinaryLength.$parametersBinary;
$queryBinary = pack('V', strlen($binaryData)).$binaryData;

return $queryBinary;
}
Expand Down
4 changes: 2 additions & 2 deletions src/QueryResult.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ class QueryResult
/**
* Create a new QueryResult instance.
*
* @param array<int, array{type: ColumnType, name: string}> $columns
* @param array<int, array<int, bool|float|int|string|null>> $rows
* @param array<int, array{type: ColumnType, name: string}> $columns
* @param array<int, array<int, bool|float|int|string|null>> $rows
*/
public function __construct(
public int $changes = 0,
Expand Down
10 changes: 5 additions & 5 deletions src/RequestSigner.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ class RequestSigner
/**
* Sign a request and return the authorization token.
*
* @param array<string, string> $headers
* @param array<string, mixed> $data
* @param array<string, string> $queryParams
* @param array<string, string> $headers
* @param array<string, mixed> $data
* @param array<string, string> $queryParams
*/
public static function handle(
string $accessKeyID,
Expand All @@ -24,7 +24,7 @@ public static function handle(
ksort($headers);
$headers = array_filter(
$headers,
fn($value, $key) => in_array($key, ['content-type', 'host', 'x-litebase-date']),
fn ($value, $key) => in_array($key, ['content-type', 'host', 'x-litebase-date']),
ARRAY_FILTER_USE_BOTH
);

Expand All @@ -35,7 +35,7 @@ public static function handle(

$requestString = implode('', [
$method,
'/' . ltrim($path, '/'),
'/'.ltrim($path, '/'),
json_encode($headers, JSON_UNESCAPED_SLASHES),
json_encode((empty($queryParams)) ? (object) [] : $queryParams, JSON_UNESCAPED_SLASHES),
$bodyHash,
Expand Down
6 changes: 3 additions & 3 deletions src/SignsRequests.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ trait SignsRequests
/**
* Get an authorization token for a request.
*
* @param array<string, string> $headers
* @param array<mixed, mixed> $data
* @param array<string, string> $queryParams
* @param array<string, string> $headers
* @param array<mixed, mixed> $data
* @param array<string, string> $queryParams
*/
public function getToken(
string $accessKeyID,
Expand Down
Loading