diff --git a/backend/app/Http/Controllers/TelegramController.php b/backend/app/Http/Controllers/TelegramController.php
new file mode 100644
index 0000000..16a5d95
--- /dev/null
+++ b/backend/app/Http/Controllers/TelegramController.php
@@ -0,0 +1,28 @@
+name;
+ $telegramBotStartParameter = (string) Str::uuid();
+
+ $row = new TelegramBotLogins();
+ $row->chat_id = null;
+ $row->tmp_login_code = $telegramBotStartParameter;
+ $row->user = $request->user()->id;
+ $row->save();
+
+ return [
+ "start_link" => "https://t.me/$telegramBotUsername?start=$telegramBotStartParameter"
+ ];
+ }
+}
diff --git a/backend/app/Models/ScheduleSlots.php b/backend/app/Models/ScheduleSlots.php
index 75526f2..389a3d3 100644
--- a/backend/app/Models/ScheduleSlots.php
+++ b/backend/app/Models/ScheduleSlots.php
@@ -37,7 +37,7 @@ class ScheduleSlots extends Model
];
/**
- * Get the user that owns the phone.
+ * Get the user that owns the schedule slot.
*/
public function user(): BelongsTo
{
diff --git a/backend/app/Models/TelegramBotLogins.php b/backend/app/Models/TelegramBotLogins.php
new file mode 100644
index 0000000..3891f37
--- /dev/null
+++ b/backend/app/Models/TelegramBotLogins.php
@@ -0,0 +1,30 @@
+
+ */
+ protected $fillable = [
+ 'chat_id',
+ 'tmp_login_code'
+ ];
+
+ /**
+ * Get the user that owns the Telegram chat.
+ */
+ public function user(): BelongsTo
+ {
+ return $this->belongsTo(User::class);
+ }
+}
diff --git a/backend/app/Telegram/Commands/Start.php b/backend/app/Telegram/Commands/Start.php
deleted file mode 100644
index 641049d..0000000
--- a/backend/app/Telegram/Commands/Start.php
+++ /dev/null
@@ -1,35 +0,0 @@
-getUpdate()->message;
- $firstName = $message->from->first_name;
-
- $text = "Hello, $firstName! Welcome to our bot!\nType /help to get a list of available commands.";
-
- $this->bot->sendMessage([
- 'chat_id' => $message->chat->id,
- 'text' => $text,
- ]);
- }
-
- /**
- * Triggered on failure.
- */
- public function failed(array $arguments, Throwable $exception): void
- {
- //
- }
-}
diff --git a/backend/app/Telegram/WebhookController.php b/backend/app/Telegram/WebhookController.php
new file mode 100644
index 0000000..df22752
--- /dev/null
+++ b/backend/app/Telegram/WebhookController.php
@@ -0,0 +1,198 @@
+ "Ottieni informazioni sul profilo connesso",
+ "help" => "Ottieni informazioni sui comandi",
+ "attiva" => "Modifica la tua disponibilità in \"reperibile\"",
+ "disattiva" => "Modifica la tua disponibilità in \"non reperibile\"",
+ "programma" => "Abilita programmazione oraria",
+ "disponibili" => "Mostra un elenco dei vigili attualmente disponibili",
+ "stato" => "Mostra lo stato della disponibilità della squadra"
+ ];
+
+ private $user = null;
+
+ private function user(): User|null {
+ if($this->user) return $this->user;
+ $this->user = $this->message->from()->storage()->get('user');
+ return $this->user;
+ }
+
+ /**
+ * Helper and core commands
+ */
+
+ public function help(): void
+ {
+ $text = "ℹ️ Elenco dei comandi disponibili:";
+ foreach ($this->publicCommandsDict as $command => $description) {
+ $text .= "\n/$command - $description";
+ }
+ $this->reply($text);
+ }
+
+ public function registerCommands()
+ {
+ $response = $this->bot->registerCommands($this->publicCommandsDict)->send();
+ $this->reply(json_encode(($response)));
+ }
+
+ public function start(string $loginCode)
+ {
+ if($this->user()) {
+ $username = $this->user()->username;
+ $this->chat->html(
+ "⚠️ Il tuo account è già collegato con Telegram (username: $username).\n".
+ "Per scollegarlo, eseguire il comando /logout"
+ )->send();
+ return;
+ }
+
+ if(!$loginCode || $loginCode == "/start") {
+ $this->chat->html(
+ "Questo Bot Telegram permette di interfacciarsi con il sistema di gestione delle disponibilità AllertaVVF\n".
+ "Per iniziare, è necessario collegare l'account di Allerta con Telegram.\n".
+ "Per farlo, accedere alla WebApp e premere su \"Collega l'account al bot Telegram\"."
+ )->send();
+ return;
+ }
+
+ $row = TelegramBotLogins::where('tmp_login_code', $loginCode)->first();
+ if(!$row) {
+ $this->chat->html(
+ "⚠️ Il codice di login non è valido.\n".
+ "Per favore, riprovare."
+ )->send();
+ return;
+ }
+
+ $row->chat_id = $this->message->chat()->id();
+ $row->tmp_login_code = null;
+ $row->save();
+
+ $this->reply("✅ Il tuo account è stato collegato con successo.");
+ $user = User::find($row->user);
+ $this->message->from()->storage()->set("user", $user);
+ }
+
+ public function logout()
+ {
+ $this->message->from()->storage()->forget('user');
+ TelegramBotLogins::where('chat_id', $this->message->chat()->id())->delete();
+ $this->reply("✅ Il tuo account è stato scollegato con successo.");
+ }
+
+ /**
+ * Generic commands
+ */
+ public function info()
+ {
+ $user = $this->user();
+ if(is_null($user)) {
+ $this->reply("⚠️ Il tuo account Allerta non è collegato con Telegram.\nPer favore, eseguire il comando /start.");
+ return;
+ }
+ $this->reply(
+ "ℹ️ Informazioni sul profilo:".
+ "\nNome: ".$user["name"]."".
+ "\nDisponibile: ".($user["available"] ? "SI" : "NO").
+ "\nCaposquadra: ".($user["chief"] === 1 ? "SI" : "NO").
+ "\nAutista: ".($user["driver"] === 1 ? "SI" : "NO").
+ "\nInterventi svolti: ".$user["services"]."".
+ "\nEsercitazioni svolte: ".$user["trainings"]."".
+ "\nMinuti di disponibilità: ".$user["availability_minutes"].""
+ );
+ }
+
+ public function attiva() {
+ $user = $this->user();
+ if(is_null($user)) {
+ $this->reply("⚠️ Il tuo account Allerta non è collegato con Telegram.\nPer favore, eseguire il comando /start.");
+ return;
+ }
+ $user->available = true;
+ $user->availability_manual_mode = true;
+ $user->save();
+ $this->reply("Disponibilità aggiornata con successo.\nOra sei operativo.");
+ }
+
+ public function disattiva() {
+ $user = $this->user();
+ if(is_null($user)) {
+ $this->reply("⚠️ Il tuo account Allerta non è collegato con Telegram.\nPer favore, eseguire il comando /start.");
+ return;
+ }
+ $user->available = false;
+ $user->availability_manual_mode = true;
+ $user->save();
+ $this->reply("Disponibilità aggiornata con successo.\nOra sei non operativo.");
+ }
+
+ public function programma() {
+ $user = $this->user();
+ if(is_null($user)) {
+ $this->reply("⚠️ Il tuo account Allerta non è collegato con Telegram.\nPer favore, eseguire il comando /start.");
+ return;
+ }
+ $user->availability_manual_mode = false;
+ $user->save();
+ $this->reply("Programmazione oraria abilitata.\nPer disabilitarla (e tornare in modalità manuale), cambiare la disponbilità usando i comandi \"/attiva\" e \"/disattiva\"");
+ }
+
+ public function disponibili()
+ {
+ $user = $this->user();
+ if(is_null($user)) {
+ $this->reply("⚠️ Il tuo account Allerta non è collegato con Telegram.\nPer favore, eseguire il comando /start.");
+ return;
+ }
+ //Get all users with availability true
+ $users = User::where('available', true)->where('hidden', false)->get();
+ if(count($users) == 0) {
+ $text = "⚠️ Nessun vigile attualmente disponibile.";
+ } else {
+ $text = "👨🚒 Elenco dei vigili attualmente disponibili:";
+ foreach ($users as $user) {
+ $text .= "\n- ".$user->name."";
+ if($user->chief) $text .= " CS";
+ if($user->driver) $text .= " 🚒";
+ }
+ }
+ $this->reply($text);
+ }
+
+ public function stato()
+ {
+ $user = $this->user();
+ if(is_null($user)) {
+ $this->reply("⚠️ Il tuo account Allerta non è collegato con Telegram.\nPer favore, eseguire il comando /start.");
+ return;
+ }
+ //Get all users with availability true
+ $available_users_count = User::where('available', true)->where('hidden', false)->count();
+ if($available_users_count >= 5) {
+ $text = "🚒 Distaccamento operativo con squadra completa";
+ } else if($available_users_count >= 2) {
+ $text = "🧯 Distaccamento operativo per supporto";
+ } else {
+ $text = "⚠️ Distaccamento non operativo";
+ }
+ $this->reply($text);
+ }
+
+ /**
+ * TODOs:
+ * - Notification when availability changes (send "stato" response again ONLY IF state changes)
+ * - Notification when availability is changed by the system (send "stato" response again)
+ * - At 7:00 AM, send a notification to all users with availability in manual mode, asking them to confirm their availability or dismiss this notification
+ * - Everything related to alerts, ask the client what to do with that since currently unused in prod
+ */
+}
diff --git a/backend/composer.json b/backend/composer.json
index edc58e9..35d0dfc 100644
--- a/backend/composer.json
+++ b/backend/composer.json
@@ -6,8 +6,8 @@
"license": "MIT",
"require": {
"php": "^8.1",
+ "defstudio/telegraph": "^1.38",
"guzzlehttp/guzzle": "^7.2",
- "telegram-bot-sdk/laravel": "^4.0",
"lab404/laravel-impersonate": "^1.7",
"laravel/framework": "^10.0",
"laravel/sanctum": "^3.2",
diff --git a/backend/composer.lock b/backend/composer.lock
index c7a6c0a..c6f5e7c 100644
--- a/backend/composer.lock
+++ b/backend/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "38aa1cdea4caec494821d81a7c82753a",
+ "content-hash": "0e251a61719af6a9c6866954f3ed4318",
"packages": [
{
"name": "brick/math",
@@ -61,6 +61,102 @@
],
"time": "2023-01-15T23:15:59+00:00"
},
+ {
+ "name": "defstudio/telegraph",
+ "version": "v1.38.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/defstudio/telegraph.git",
+ "reference": "d066da6bab0c16d6c0bdf0f68232050cef218c39"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/defstudio/telegraph/zipball/d066da6bab0c16d6c0bdf0f68232050cef218c39",
+ "reference": "d066da6bab0c16d6c0bdf0f68232050cef218c39",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/contracts": "^8.37 | ^9.0 | ^10.0",
+ "illuminate/http": "^8.37 | ^9.0 | ^10.00",
+ "illuminate/support": "^8.37 | ^9.0 | ^10.0",
+ "php": "^8.0",
+ "spatie/laravel-package-tools": "^1.12.1"
+ },
+ "require-dev": {
+ "defstudio/pest-plugin-laravel-expectations": "^v1.10.3",
+ "ext-sqlite3": "*",
+ "friendsofphp/php-cs-fixer": "^v3.13.0",
+ "guzzlehttp/guzzle": "^7.5.0",
+ "nunomaduro/collision": "^v5.11.0 | ^v6.3.1",
+ "nunomaduro/larastan": "^1.0.4 | ^2.4.0",
+ "orchestra/testbench": "^v6.25.1 | ^v7.13.0 | ^8.0",
+ "pestphp/pest": "^v1.22.2",
+ "pestphp/pest-plugin-laravel": "^v1.3.0",
+ "pestphp/pest-plugin-mock": "^v1.0.3",
+ "phpstan/extension-installer": "^1.2.0",
+ "phpstan/phpstan-deprecation-rules": "^1.0.0",
+ "phpstan/phpstan-phpunit": "^1.2.2",
+ "phpunit/phpunit": "^9.5.26",
+ "spatie/laravel-ray": "^1.31.0",
+ "spatie/pest-plugin-snapshots": "^1.1.0",
+ "spatie/pest-plugin-test-time": "^1.1.1",
+ "spatie/x-ray": "dev-main"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "DefStudio\\Telegraph\\TelegraphServiceProvider"
+ ],
+ "aliases": {
+ "Telegraph": "DefStudio\\Telegraph\\Facades\\Telegraph"
+ }
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "DefStudio\\Telegraph\\": "src",
+ "DefStudio\\Telegraph\\Database\\Factories\\": "database/factories"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabio Ivona",
+ "email": "fabio.ivona@defstudio.it",
+ "role": "Developer"
+ }
+ ],
+ "description": "A laravel facade to interact with Telegram Bots",
+ "homepage": "https://github.com/defstudio/telegraph",
+ "keywords": [
+ "defstudio",
+ "laravel",
+ "telegraph"
+ ],
+ "support": {
+ "issues": "https://github.com/defstudio/telegraph/issues",
+ "source": "https://github.com/defstudio/telegraph/tree/v1.38.1"
+ },
+ "funding": [
+ {
+ "url": "https://paypal.me/bdmstore",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/defstudio",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/fabio-ivona",
+ "type": "github"
+ }
+ ],
+ "time": "2023-08-12T18:06:59+00:00"
+ },
{
"name": "dflydev/dot-access-data",
"version": "v3.0.2",
@@ -138,28 +234,28 @@
},
{
"name": "doctrine/inflector",
- "version": "2.0.6",
+ "version": "2.0.8",
"source": {
"type": "git",
"url": "https://github.com/doctrine/inflector.git",
- "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024"
+ "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024",
- "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/f9301a5b2fb1216b2b08f02ba04dc45423db6bff",
+ "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^10",
+ "doctrine/coding-standard": "^11.0",
"phpstan/phpstan": "^1.8",
"phpstan/phpstan-phpunit": "^1.1",
"phpstan/phpstan-strict-rules": "^1.3",
"phpunit/phpunit": "^8.5 || ^9.5",
- "vimeo/psalm": "^4.25"
+ "vimeo/psalm": "^4.25 || ^5.4"
},
"type": "library",
"autoload": {
@@ -209,7 +305,7 @@
],
"support": {
"issues": "https://github.com/doctrine/inflector/issues",
- "source": "https://github.com/doctrine/inflector/tree/2.0.6"
+ "source": "https://github.com/doctrine/inflector/tree/2.0.8"
},
"funding": [
{
@@ -225,7 +321,7 @@
"type": "tidelift"
}
],
- "time": "2022-10-20T09:10:12+00:00"
+ "time": "2023-06-16T13:40:37+00:00"
},
{
"name": "doctrine/lexer",
@@ -306,16 +402,16 @@
},
{
"name": "dragonmantank/cron-expression",
- "version": "v3.3.2",
+ "version": "v3.3.3",
"source": {
"type": "git",
"url": "https://github.com/dragonmantank/cron-expression.git",
- "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8"
+ "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/782ca5968ab8b954773518e9e49a6f892a34b2a8",
- "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8",
+ "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a",
+ "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a",
"shasum": ""
},
"require": {
@@ -355,7 +451,7 @@
],
"support": {
"issues": "https://github.com/dragonmantank/cron-expression/issues",
- "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.2"
+ "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3"
},
"funding": [
{
@@ -363,7 +459,7 @@
"type": "github"
}
],
- "time": "2022-09-10T18:51:20+00:00"
+ "time": "2023-08-10T19:36:49+00:00"
},
{
"name": "egulias/email-validator",
@@ -567,22 +663,22 @@
},
{
"name": "guzzlehttp/guzzle",
- "version": "7.7.0",
+ "version": "7.8.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5"
+ "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/fb7566caccf22d74d1ab270de3551f72a58399f5",
- "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1110f66a6530a40fe7aea0378fe608ee2b2248f9",
+ "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9",
"shasum": ""
},
"require": {
"ext-json": "*",
- "guzzlehttp/promises": "^1.5.3 || ^2.0",
- "guzzlehttp/psr7": "^1.9.1 || ^2.4.5",
+ "guzzlehttp/promises": "^1.5.3 || ^2.0.1",
+ "guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
@@ -673,7 +769,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.7.0"
+ "source": "https://github.com/guzzle/guzzle/tree/7.8.0"
},
"funding": [
{
@@ -689,20 +785,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-21T14:04:53+00:00"
+ "time": "2023-08-27T10:20:53+00:00"
},
{
"name": "guzzlehttp/promises",
- "version": "2.0.0",
+ "version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
- "reference": "3a494dc7dc1d7d12e511890177ae2d0e6c107da6"
+ "reference": "111166291a0f8130081195ac4556a5587d7f1b5d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/3a494dc7dc1d7d12e511890177ae2d0e6c107da6",
- "reference": "3a494dc7dc1d7d12e511890177ae2d0e6c107da6",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/111166291a0f8130081195ac4556a5587d7f1b5d",
+ "reference": "111166291a0f8130081195ac4556a5587d7f1b5d",
"shasum": ""
},
"require": {
@@ -756,7 +852,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/2.0.0"
+ "source": "https://github.com/guzzle/promises/tree/2.0.1"
},
"funding": [
{
@@ -772,20 +868,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-21T13:50:22+00:00"
+ "time": "2023-08-03T15:11:55+00:00"
},
{
"name": "guzzlehttp/psr7",
- "version": "2.5.0",
+ "version": "2.6.1",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "b635f279edd83fc275f822a1188157ffea568ff6"
+ "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/b635f279edd83fc275f822a1188157ffea568ff6",
- "reference": "b635f279edd83fc275f822a1188157ffea568ff6",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/be45764272e8873c72dbe3d2edcfdfcc3bc9f727",
+ "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727",
"shasum": ""
},
"require": {
@@ -872,7 +968,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.5.0"
+ "source": "https://github.com/guzzle/psr7/tree/2.6.1"
},
"funding": [
{
@@ -888,20 +984,20 @@
"type": "tidelift"
}
],
- "time": "2023-04-17T16:11:26+00:00"
+ "time": "2023-08-27T10:13:57+00:00"
},
{
"name": "guzzlehttp/uri-template",
- "version": "v1.0.1",
+ "version": "v1.0.2",
"source": {
"type": "git",
"url": "https://github.com/guzzle/uri-template.git",
- "reference": "b945d74a55a25a949158444f09ec0d3c120d69e2"
+ "reference": "61bf437fc2197f587f6857d3ff903a24f1731b5d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/uri-template/zipball/b945d74a55a25a949158444f09ec0d3c120d69e2",
- "reference": "b945d74a55a25a949158444f09ec0d3c120d69e2",
+ "url": "https://api.github.com/repos/guzzle/uri-template/zipball/61bf437fc2197f587f6857d3ff903a24f1731b5d",
+ "reference": "61bf437fc2197f587f6857d3ff903a24f1731b5d",
"shasum": ""
},
"require": {
@@ -909,15 +1005,11 @@
"symfony/polyfill-php80": "^1.17"
},
"require-dev": {
+ "bamarni/composer-bin-plugin": "^1.8.1",
"phpunit/phpunit": "^8.5.19 || ^9.5.8",
"uri-template/tests": "1.0.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
"autoload": {
"psr-4": {
"GuzzleHttp\\UriTemplate\\": "src"
@@ -956,7 +1048,7 @@
],
"support": {
"issues": "https://github.com/guzzle/uri-template/issues",
- "source": "https://github.com/guzzle/uri-template/tree/v1.0.1"
+ "source": "https://github.com/guzzle/uri-template/tree/v1.0.2"
},
"funding": [
{
@@ -972,7 +1064,7 @@
"type": "tidelift"
}
],
- "time": "2021-10-07T12:57:01+00:00"
+ "time": "2023-08-27T10:19:19+00:00"
},
{
"name": "kkszymanowski/traitor",
@@ -1094,16 +1186,16 @@
},
{
"name": "laravel/framework",
- "version": "v10.13.2",
+ "version": "v10.20.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "fd4619b56b56308e2c2c1840fedd0b8ebb73dfc5"
+ "reference": "a655dca3fbe83897e22adff652b1878ba352d041"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/fd4619b56b56308e2c2c1840fedd0b8ebb73dfc5",
- "reference": "fd4619b56b56308e2c2c1840fedd0b8ebb73dfc5",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/a655dca3fbe83897e22adff652b1878ba352d041",
+ "reference": "a655dca3fbe83897e22adff652b1878ba352d041",
"shasum": ""
},
"require": {
@@ -1121,11 +1213,12 @@
"ext-tokenizer": "*",
"fruitcake/php-cors": "^1.2",
"guzzlehttp/uri-template": "^1.0",
+ "laravel/prompts": "^0.1",
"laravel/serializable-closure": "^1.3",
"league/commonmark": "^2.2.1",
"league/flysystem": "^3.8.0",
"monolog/monolog": "^3.0",
- "nesbot/carbon": "^2.62.1",
+ "nesbot/carbon": "^2.67",
"nunomaduro/termwind": "^1.13",
"php": "^8.1",
"psr/container": "^1.1.1|^2.0.1",
@@ -1204,7 +1297,6 @@
"mockery/mockery": "^1.5.1",
"orchestra/testbench-core": "^8.4",
"pda/pheanstalk": "^4.0",
- "phpstan/phpdoc-parser": "^1.15",
"phpstan/phpstan": "^1.4.7",
"phpunit/phpunit": "^10.0.7",
"predis/predis": "^2.0.2",
@@ -1290,20 +1382,68 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2023-06-05T15:48:15+00:00"
+ "time": "2023-08-22T13:37:09+00:00"
},
{
- "name": "laravel/sanctum",
- "version": "v3.2.5",
+ "name": "laravel/prompts",
+ "version": "v0.1.6",
"source": {
"type": "git",
- "url": "https://github.com/laravel/sanctum.git",
- "reference": "8ebda85d59d3c414863a7f4d816ef8302faad876"
+ "url": "https://github.com/laravel/prompts.git",
+ "reference": "b514c5620e1b3b61221b0024dc88def26d9654f4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/sanctum/zipball/8ebda85d59d3c414863a7f4d816ef8302faad876",
- "reference": "8ebda85d59d3c414863a7f4d816ef8302faad876",
+ "url": "https://api.github.com/repos/laravel/prompts/zipball/b514c5620e1b3b61221b0024dc88def26d9654f4",
+ "reference": "b514c5620e1b3b61221b0024dc88def26d9654f4",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "illuminate/collections": "^10.0|^11.0",
+ "php": "^8.1",
+ "symfony/console": "^6.2"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.5",
+ "pestphp/pest": "^2.3",
+ "phpstan/phpstan": "^1.10",
+ "phpstan/phpstan-mockery": "^1.1"
+ },
+ "suggest": {
+ "ext-pcntl": "Required for the spinner to be animated."
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/helpers.php"
+ ],
+ "psr-4": {
+ "Laravel\\Prompts\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "support": {
+ "issues": "https://github.com/laravel/prompts/issues",
+ "source": "https://github.com/laravel/prompts/tree/v0.1.6"
+ },
+ "time": "2023-08-18T13:32:23+00:00"
+ },
+ {
+ "name": "laravel/sanctum",
+ "version": "v3.2.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/sanctum.git",
+ "reference": "217e8a2bc5aa6a827ced97fcb76504029d3115d7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/sanctum/zipball/217e8a2bc5aa6a827ced97fcb76504029d3115d7",
+ "reference": "217e8a2bc5aa6a827ced97fcb76504029d3115d7",
"shasum": ""
},
"require": {
@@ -1316,9 +1456,9 @@
},
"require-dev": {
"mockery/mockery": "^1.0",
- "orchestra/testbench": "^7.0|^8.0",
+ "orchestra/testbench": "^7.28.2|^8.8.3",
"phpstan/phpstan": "^1.10",
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^9.6"
},
"type": "library",
"extra": {
@@ -1356,20 +1496,20 @@
"issues": "https://github.com/laravel/sanctum/issues",
"source": "https://github.com/laravel/sanctum"
},
- "time": "2023-05-01T19:39:51+00:00"
+ "time": "2023-08-22T13:21:11+00:00"
},
{
"name": "laravel/serializable-closure",
- "version": "v1.3.0",
+ "version": "v1.3.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
- "reference": "f23fe9d4e95255dacee1bf3525e0810d1a1b0f37"
+ "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/f23fe9d4e95255dacee1bf3525e0810d1a1b0f37",
- "reference": "f23fe9d4e95255dacee1bf3525e0810d1a1b0f37",
+ "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/e5a3057a5591e1cfe8183034b0203921abe2c902",
+ "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902",
"shasum": ""
},
"require": {
@@ -1416,7 +1556,7 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
- "time": "2023-01-30T18:31:20+00:00"
+ "time": "2023-07-14T13:56:28+00:00"
},
{
"name": "laravel/tinker",
@@ -1824,26 +1964,26 @@
},
{
"name": "league/mime-type-detection",
- "version": "1.11.0",
+ "version": "1.13.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/mime-type-detection.git",
- "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd"
+ "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd",
- "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd",
+ "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/a6dfb1194a2946fcdc1f38219445234f65b35c96",
+ "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96",
"shasum": ""
},
"require": {
"ext-fileinfo": "*",
- "php": "^7.2 || ^8.0"
+ "php": "^7.4 || ^8.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.2",
"phpstan/phpstan": "^0.12.68",
- "phpunit/phpunit": "^8.5.8 || ^9.3"
+ "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0"
},
"type": "library",
"autoload": {
@@ -1864,7 +2004,7 @@
"description": "Mime-type detection for Flysystem",
"support": {
"issues": "https://github.com/thephpleague/mime-type-detection/issues",
- "source": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0"
+ "source": "https://github.com/thephpleague/mime-type-detection/tree/1.13.0"
},
"funding": [
{
@@ -1876,20 +2016,20 @@
"type": "tidelift"
}
],
- "time": "2022-04-17T13:12:02+00:00"
+ "time": "2023-08-05T12:09:49+00:00"
},
{
"name": "monolog/monolog",
- "version": "3.3.1",
+ "version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "9b5daeaffce5b926cac47923798bba91059e60e2"
+ "reference": "e2392369686d420ca32df3803de28b5d6f76867d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/9b5daeaffce5b926cac47923798bba91059e60e2",
- "reference": "9b5daeaffce5b926cac47923798bba91059e60e2",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/e2392369686d420ca32df3803de28b5d6f76867d",
+ "reference": "e2392369686d420ca32df3803de28b5d6f76867d",
"shasum": ""
},
"require": {
@@ -1904,7 +2044,7 @@
"doctrine/couchdb": "~1.0@dev",
"elasticsearch/elasticsearch": "^7 || ^8",
"ext-json": "*",
- "graylog2/gelf-php": "^1.4.2 || ^2@dev",
+ "graylog2/gelf-php": "^1.4.2 || ^2.0",
"guzzlehttp/guzzle": "^7.4.5",
"guzzlehttp/psr7": "^2.2",
"mongodb/mongodb": "^1.8",
@@ -1912,7 +2052,7 @@
"phpstan/phpstan": "^1.9",
"phpstan/phpstan-deprecation-rules": "^1.0",
"phpstan/phpstan-strict-rules": "^1.4",
- "phpunit/phpunit": "^9.5.26",
+ "phpunit/phpunit": "^10.1",
"predis/predis": "^1.1 || ^2",
"ruflin/elastica": "^7",
"symfony/mailer": "^5.4 || ^6",
@@ -1965,7 +2105,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/3.3.1"
+ "source": "https://github.com/Seldaek/monolog/tree/3.4.0"
},
"funding": [
{
@@ -1977,29 +2117,33 @@
"type": "tidelift"
}
],
- "time": "2023-02-06T13:46:10+00:00"
+ "time": "2023-06-21T08:46:11+00:00"
},
{
"name": "nesbot/carbon",
- "version": "2.67.0",
+ "version": "2.69.0",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "c1001b3bc75039b07f38a79db5237c4c529e04c8"
+ "reference": "4308217830e4ca445583a37d1bf4aff4153fa81c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/c1001b3bc75039b07f38a79db5237c4c529e04c8",
- "reference": "c1001b3bc75039b07f38a79db5237c4c529e04c8",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4308217830e4ca445583a37d1bf4aff4153fa81c",
+ "reference": "4308217830e4ca445583a37d1bf4aff4153fa81c",
"shasum": ""
},
"require": {
"ext-json": "*",
"php": "^7.1.8 || ^8.0",
+ "psr/clock": "^1.0",
"symfony/polyfill-mbstring": "^1.0",
"symfony/polyfill-php80": "^1.16",
"symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0"
},
+ "provide": {
+ "psr/clock-implementation": "1.0"
+ },
"require-dev": {
"doctrine/dbal": "^2.0 || ^3.1.4",
"doctrine/orm": "^2.7",
@@ -2079,25 +2223,25 @@
"type": "tidelift"
}
],
- "time": "2023-05-25T22:09:47+00:00"
+ "time": "2023-08-03T09:00:52+00:00"
},
{
"name": "nette/schema",
- "version": "v1.2.3",
+ "version": "v1.2.4",
"source": {
"type": "git",
"url": "https://github.com/nette/schema.git",
- "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f"
+ "reference": "c9ff517a53903b3d4e29ec547fb20feecb05b8ab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f",
- "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f",
+ "url": "https://api.github.com/repos/nette/schema/zipball/c9ff517a53903b3d4e29ec547fb20feecb05b8ab",
+ "reference": "c9ff517a53903b3d4e29ec547fb20feecb05b8ab",
"shasum": ""
},
"require": {
"nette/utils": "^2.5.7 || ^3.1.5 || ^4.0",
- "php": ">=7.1 <8.3"
+ "php": "7.1 - 8.3"
},
"require-dev": {
"nette/tester": "^2.3 || ^2.4",
@@ -2139,26 +2283,26 @@
],
"support": {
"issues": "https://github.com/nette/schema/issues",
- "source": "https://github.com/nette/schema/tree/v1.2.3"
+ "source": "https://github.com/nette/schema/tree/v1.2.4"
},
- "time": "2022-10-13T01:24:26+00:00"
+ "time": "2023-08-05T18:56:25+00:00"
},
{
"name": "nette/utils",
- "version": "v4.0.0",
+ "version": "v4.0.1",
"source": {
"type": "git",
"url": "https://github.com/nette/utils.git",
- "reference": "cacdbf5a91a657ede665c541eda28941d4b09c1e"
+ "reference": "9124157137da01b1f5a5a22d6486cb975f26db7e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/utils/zipball/cacdbf5a91a657ede665c541eda28941d4b09c1e",
- "reference": "cacdbf5a91a657ede665c541eda28941d4b09c1e",
+ "url": "https://api.github.com/repos/nette/utils/zipball/9124157137da01b1f5a5a22d6486cb975f26db7e",
+ "reference": "9124157137da01b1f5a5a22d6486cb975f26db7e",
"shasum": ""
},
"require": {
- "php": ">=8.0 <8.3"
+ "php": ">=8.0 <8.4"
},
"conflict": {
"nette/finder": "<3",
@@ -2166,7 +2310,7 @@
},
"require-dev": {
"jetbrains/phpstorm-attributes": "dev-master",
- "nette/tester": "^2.4",
+ "nette/tester": "^2.5",
"phpstan/phpstan": "^1.0",
"tracy/tracy": "^2.9"
},
@@ -2226,22 +2370,22 @@
],
"support": {
"issues": "https://github.com/nette/utils/issues",
- "source": "https://github.com/nette/utils/tree/v4.0.0"
+ "source": "https://github.com/nette/utils/tree/v4.0.1"
},
- "time": "2023-02-02T10:41:53+00:00"
+ "time": "2023-07-30T15:42:21+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v4.15.5",
+ "version": "v4.17.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e"
+ "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/11e2663a5bc9db5d714eedb4277ee300403b4a9e",
- "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
+ "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
"shasum": ""
},
"require": {
@@ -2282,9 +2426,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.5"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
},
- "time": "2023-05-19T20:20:00+00:00"
+ "time": "2023-08-13T19:53:39+00:00"
},
{
"name": "nunomaduro/termwind",
@@ -2447,6 +2591,54 @@
],
"time": "2023-02-25T19:38:58+00:00"
},
+ {
+ "name": "psr/clock",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/clock.git",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Psr\\Clock\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for reading the clock.",
+ "homepage": "https://github.com/php-fig/clock",
+ "keywords": [
+ "clock",
+ "now",
+ "psr",
+ "psr-20",
+ "time"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/clock/issues",
+ "source": "https://github.com/php-fig/clock/tree/1.0.0"
+ },
+ "time": "2022-11-25T14:36:26+00:00"
+ },
{
"name": "psr/container",
"version": "2.0.2",
@@ -2813,16 +3005,16 @@
},
{
"name": "psy/psysh",
- "version": "v0.11.18",
+ "version": "v0.11.20",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
- "reference": "4f00ee9e236fa6a48f4560d1300b9c961a70a7ec"
+ "reference": "0fa27040553d1d280a67a4393194df5228afea5b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/4f00ee9e236fa6a48f4560d1300b9c961a70a7ec",
- "reference": "4f00ee9e236fa6a48f4560d1300b9c961a70a7ec",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/0fa27040553d1d280a67a4393194df5228afea5b",
+ "reference": "0fa27040553d1d280a67a4393194df5228afea5b",
"shasum": ""
},
"require": {
@@ -2883,9 +3075,9 @@
],
"support": {
"issues": "https://github.com/bobthecow/psysh/issues",
- "source": "https://github.com/bobthecow/psysh/tree/v0.11.18"
+ "source": "https://github.com/bobthecow/psysh/tree/v0.11.20"
},
- "time": "2023-05-23T02:31:11+00:00"
+ "time": "2023-07-31T14:32:22+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -3188,17 +3380,77 @@
"time": "2023-02-19T12:04:38+00:00"
},
{
- "name": "symfony/console",
- "version": "v6.3.0",
+ "name": "spatie/laravel-package-tools",
+ "version": "1.16.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony/console.git",
- "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7"
+ "url": "https://github.com/spatie/laravel-package-tools.git",
+ "reference": "cc7c991555a37f9fa6b814aa03af73f88026a83d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7",
- "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7",
+ "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/cc7c991555a37f9fa6b814aa03af73f88026a83d",
+ "reference": "cc7c991555a37f9fa6b814aa03af73f88026a83d",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/contracts": "^9.28|^10.0",
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.5",
+ "orchestra/testbench": "^7.7|^8.0",
+ "pestphp/pest": "^1.22",
+ "phpunit/phpunit": "^9.5.24",
+ "spatie/pest-plugin-test-time": "^1.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\LaravelPackageTools\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "Tools for creating Laravel packages",
+ "homepage": "https://github.com/spatie/laravel-package-tools",
+ "keywords": [
+ "laravel-package-tools",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/laravel-package-tools/issues",
+ "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2023-08-23T09:04:39+00:00"
+ },
+ {
+ "name": "symfony/console",
+ "version": "v6.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/console.git",
+ "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6",
+ "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6",
"shasum": ""
},
"require": {
@@ -3259,7 +3511,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v6.3.0"
+ "source": "https://github.com/symfony/console/tree/v6.3.4"
},
"funding": [
{
@@ -3275,20 +3527,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-29T12:49:39+00:00"
+ "time": "2023-08-16T10:10:12+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v6.3.0",
+ "version": "v6.3.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf"
+ "reference": "883d961421ab1709877c10ac99451632a3d6fa57"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf",
- "reference": "88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/883d961421ab1709877c10ac99451632a3d6fa57",
+ "reference": "883d961421ab1709877c10ac99451632a3d6fa57",
"shasum": ""
},
"require": {
@@ -3324,7 +3576,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v6.3.0"
+ "source": "https://github.com/symfony/css-selector/tree/v6.3.2"
},
"funding": [
{
@@ -3340,7 +3592,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-20T16:43:42+00:00"
+ "time": "2023-07-12T16:00:22+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -3411,16 +3663,16 @@
},
{
"name": "symfony/error-handler",
- "version": "v6.3.0",
+ "version": "v6.3.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "99d2d814a6351461af350ead4d963bd67451236f"
+ "reference": "85fd65ed295c4078367c784e8a5a6cee30348b7a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/99d2d814a6351461af350ead4d963bd67451236f",
- "reference": "99d2d814a6351461af350ead4d963bd67451236f",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/85fd65ed295c4078367c784e8a5a6cee30348b7a",
+ "reference": "85fd65ed295c4078367c784e8a5a6cee30348b7a",
"shasum": ""
},
"require": {
@@ -3465,7 +3717,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v6.3.0"
+ "source": "https://github.com/symfony/error-handler/tree/v6.3.2"
},
"funding": [
{
@@ -3481,20 +3733,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-10T12:03:13+00:00"
+ "time": "2023-07-16T17:05:46+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v6.3.0",
+ "version": "v6.3.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa"
+ "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa",
- "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/adb01fe097a4ee930db9258a3cc906b5beb5cf2e",
+ "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e",
"shasum": ""
},
"require": {
@@ -3545,7 +3797,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.0"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.2"
},
"funding": [
{
@@ -3561,7 +3813,7 @@
"type": "tidelift"
}
],
- "time": "2023-04-21T14:41:17+00:00"
+ "time": "2023-07-06T06:56:43+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -3641,16 +3893,16 @@
},
{
"name": "symfony/finder",
- "version": "v6.3.0",
+ "version": "v6.3.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2"
+ "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/d9b01ba073c44cef617c7907ce2419f8d00d75e2",
- "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/9915db259f67d21eefee768c1abcf1cc61b1fc9e",
+ "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e",
"shasum": ""
},
"require": {
@@ -3685,7 +3937,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v6.3.0"
+ "source": "https://github.com/symfony/finder/tree/v6.3.3"
},
"funding": [
{
@@ -3701,20 +3953,20 @@
"type": "tidelift"
}
],
- "time": "2023-04-02T01:25:41+00:00"
+ "time": "2023-07-31T08:31:44+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v6.3.0",
+ "version": "v6.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "718a97ed430d34e5c568ea2c44eab708c6efbefb"
+ "reference": "cac1556fdfdf6719668181974104e6fcfa60e844"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/718a97ed430d34e5c568ea2c44eab708c6efbefb",
- "reference": "718a97ed430d34e5c568ea2c44eab708c6efbefb",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cac1556fdfdf6719668181974104e6fcfa60e844",
+ "reference": "cac1556fdfdf6719668181974104e6fcfa60e844",
"shasum": ""
},
"require": {
@@ -3762,7 +4014,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v6.3.0"
+ "source": "https://github.com/symfony/http-foundation/tree/v6.3.4"
},
"funding": [
{
@@ -3778,20 +4030,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-19T12:46:45+00:00"
+ "time": "2023-08-22T08:20:46+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v6.3.0",
+ "version": "v6.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "241973f3dd900620b1ca052fe409144f11aea748"
+ "reference": "36abb425b4af863ae1fe54d8a8b8b4c76a2bccdb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/241973f3dd900620b1ca052fe409144f11aea748",
- "reference": "241973f3dd900620b1ca052fe409144f11aea748",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/36abb425b4af863ae1fe54d8a8b8b4c76a2bccdb",
+ "reference": "36abb425b4af863ae1fe54d8a8b8b4c76a2bccdb",
"shasum": ""
},
"require": {
@@ -3800,7 +4052,7 @@
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/error-handler": "^6.3",
"symfony/event-dispatcher": "^5.4|^6.0",
- "symfony/http-foundation": "^6.2.7",
+ "symfony/http-foundation": "^6.3.4",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
@@ -3808,7 +4060,7 @@
"symfony/cache": "<5.4",
"symfony/config": "<6.1",
"symfony/console": "<5.4",
- "symfony/dependency-injection": "<6.3",
+ "symfony/dependency-injection": "<6.3.4",
"symfony/doctrine-bridge": "<5.4",
"symfony/form": "<5.4",
"symfony/http-client": "<5.4",
@@ -3832,7 +4084,7 @@
"symfony/config": "^6.1",
"symfony/console": "^5.4|^6.0",
"symfony/css-selector": "^5.4|^6.0",
- "symfony/dependency-injection": "^6.3",
+ "symfony/dependency-injection": "^6.3.4",
"symfony/dom-crawler": "^5.4|^6.0",
"symfony/expression-language": "^5.4|^6.0",
"symfony/finder": "^5.4|^6.0",
@@ -3875,7 +4127,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v6.3.0"
+ "source": "https://github.com/symfony/http-kernel/tree/v6.3.4"
},
"funding": [
{
@@ -3891,7 +4143,7 @@
"type": "tidelift"
}
],
- "time": "2023-05-30T19:03:32+00:00"
+ "time": "2023-08-26T13:54:49+00:00"
},
{
"name": "symfony/mailer",
@@ -3975,20 +4227,21 @@
},
{
"name": "symfony/mime",
- "version": "v6.3.0",
+ "version": "v6.3.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "7b5d2121858cd6efbed778abce9cfdd7ab1f62ad"
+ "reference": "9a0cbd52baa5ba5a5b1f0cacc59466f194730f98"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/7b5d2121858cd6efbed778abce9cfdd7ab1f62ad",
- "reference": "7b5d2121858cd6efbed778abce9cfdd7ab1f62ad",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/9a0cbd52baa5ba5a5b1f0cacc59466f194730f98",
+ "reference": "9a0cbd52baa5ba5a5b1f0cacc59466f194730f98",
"shasum": ""
},
"require": {
"php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0"
},
@@ -3997,7 +4250,7 @@
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
"symfony/mailer": "<5.4",
- "symfony/serializer": "<6.2"
+ "symfony/serializer": "<6.2.13|>=6.3,<6.3.2"
},
"require-dev": {
"egulias/email-validator": "^2.1.10|^3.1|^4",
@@ -4006,7 +4259,7 @@
"symfony/dependency-injection": "^5.4|^6.0",
"symfony/property-access": "^5.4|^6.0",
"symfony/property-info": "^5.4|^6.0",
- "symfony/serializer": "^6.2"
+ "symfony/serializer": "~6.2.13|^6.3.2"
},
"type": "library",
"autoload": {
@@ -4038,7 +4291,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v6.3.0"
+ "source": "https://github.com/symfony/mime/tree/v6.3.3"
},
"funding": [
{
@@ -4054,20 +4307,20 @@
"type": "tidelift"
}
],
- "time": "2023-04-28T15:57:00+00:00"
+ "time": "2023-07-31T07:08:24+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
+ "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
- "reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+ "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
"shasum": ""
},
"require": {
@@ -4082,7 +4335,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4120,7 +4373,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
},
"funding": [
{
@@ -4136,20 +4389,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "511a08c03c1960e08a883f4cffcacd219b758354"
+ "reference": "875e90aeea2777b6f135677f618529449334a612"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354",
- "reference": "511a08c03c1960e08a883f4cffcacd219b758354",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
+ "reference": "875e90aeea2777b6f135677f618529449334a612",
"shasum": ""
},
"require": {
@@ -4161,7 +4414,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4201,7 +4454,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
},
"funding": [
{
@@ -4217,20 +4470,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "639084e360537a19f9ee352433b84ce831f3d2da"
+ "reference": "ecaafce9f77234a6a449d29e49267ba10499116d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da",
- "reference": "639084e360537a19f9ee352433b84ce831f3d2da",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d",
+ "reference": "ecaafce9f77234a6a449d29e49267ba10499116d",
"shasum": ""
},
"require": {
@@ -4244,7 +4497,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4288,7 +4541,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0"
},
"funding": [
{
@@ -4304,20 +4557,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:30:37+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
+ "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
- "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
+ "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
"shasum": ""
},
"require": {
@@ -4329,7 +4582,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4372,7 +4625,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
},
"funding": [
{
@@ -4388,20 +4641,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
+ "reference": "42292d99c55abe617799667f454222c54c60e229"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
- "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
+ "reference": "42292d99c55abe617799667f454222c54c60e229",
"shasum": ""
},
"require": {
@@ -4416,7 +4669,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4455,7 +4708,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
},
"funding": [
{
@@ -4471,20 +4724,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-07-28T09:04:16+00:00"
},
{
"name": "symfony/polyfill-php72",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "869329b1e9894268a8a61dabb69153029b7a8c97"
+ "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97",
- "reference": "869329b1e9894268a8a61dabb69153029b7a8c97",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179",
+ "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179",
"shasum": ""
},
"require": {
@@ -4493,7 +4746,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4531,7 +4784,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0"
},
"funding": [
{
@@ -4547,20 +4800,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
+ "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
- "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
+ "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"shasum": ""
},
"require": {
@@ -4569,7 +4822,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4614,7 +4867,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
},
"funding": [
{
@@ -4630,20 +4883,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-php83",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php83.git",
- "reference": "508c652ba3ccf69f8c97f251534f229791b52a57"
+ "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/508c652ba3ccf69f8c97f251534f229791b52a57",
- "reference": "508c652ba3ccf69f8c97f251534f229791b52a57",
+ "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11",
+ "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11",
"shasum": ""
},
"require": {
@@ -4653,7 +4906,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4666,7 +4919,10 @@
],
"psr-4": {
"Symfony\\Polyfill\\Php83\\": ""
- }
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -4691,7 +4947,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php83/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0"
},
"funding": [
{
@@ -4707,20 +4963,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-08-16T06:22:46+00:00"
},
{
"name": "symfony/polyfill-uuid",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-uuid.git",
- "reference": "f3cf1a645c2734236ed1e2e671e273eeb3586166"
+ "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/f3cf1a645c2734236ed1e2e671e273eeb3586166",
- "reference": "f3cf1a645c2734236ed1e2e671e273eeb3586166",
+ "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/9c44518a5aff8da565c8a55dbe85d2769e6f630e",
+ "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e",
"shasum": ""
},
"require": {
@@ -4735,7 +4991,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4773,7 +5029,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/polyfill-uuid/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-uuid/tree/v1.28.0"
},
"funding": [
{
@@ -4789,20 +5045,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/process",
- "version": "v6.3.0",
+ "version": "v6.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628"
+ "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/8741e3ed7fe2e91ec099e02446fb86667a0f1628",
- "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628",
+ "url": "https://api.github.com/repos/symfony/process/zipball/0b5c29118f2e980d455d2e34a5659f4579847c54",
+ "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54",
"shasum": ""
},
"require": {
@@ -4834,7 +5090,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v6.3.0"
+ "source": "https://github.com/symfony/process/tree/v6.3.4"
},
"funding": [
{
@@ -4850,24 +5106,25 @@
"type": "tidelift"
}
],
- "time": "2023-05-19T08:06:44+00:00"
+ "time": "2023-08-07T10:39:22+00:00"
},
{
"name": "symfony/routing",
- "version": "v6.3.0",
+ "version": "v6.3.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "827f59fdc67eecfc4dfff81f9c93bf4d98f0c89b"
+ "reference": "e7243039ab663822ff134fbc46099b5fdfa16f6a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/827f59fdc67eecfc4dfff81f9c93bf4d98f0c89b",
- "reference": "827f59fdc67eecfc4dfff81f9c93bf4d98f0c89b",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/e7243039ab663822ff134fbc46099b5fdfa16f6a",
+ "reference": "e7243039ab663822ff134fbc46099b5fdfa16f6a",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
"conflict": {
"doctrine/annotations": "<1.12",
@@ -4916,7 +5173,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v6.3.0"
+ "source": "https://github.com/symfony/routing/tree/v6.3.3"
},
"funding": [
{
@@ -4932,7 +5189,7 @@
"type": "tidelift"
}
],
- "time": "2023-04-28T15:57:00+00:00"
+ "time": "2023-07-31T07:08:24+00:00"
},
{
"name": "symfony/service-contracts",
@@ -5018,16 +5275,16 @@
},
{
"name": "symfony/string",
- "version": "v6.3.0",
+ "version": "v6.3.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f"
+ "reference": "53d1a83225002635bca3482fcbf963001313fb68"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/f2e190ee75ff0f5eced645ec0be5c66fac81f51f",
- "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f",
+ "url": "https://api.github.com/repos/symfony/string/zipball/53d1a83225002635bca3482fcbf963001313fb68",
+ "reference": "53d1a83225002635bca3482fcbf963001313fb68",
"shasum": ""
},
"require": {
@@ -5084,7 +5341,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v6.3.0"
+ "source": "https://github.com/symfony/string/tree/v6.3.2"
},
"funding": [
{
@@ -5100,24 +5357,25 @@
"type": "tidelift"
}
],
- "time": "2023-03-21T21:06:29+00:00"
+ "time": "2023-07-05T08:41:27+00:00"
},
{
"name": "symfony/translation",
- "version": "v6.3.0",
+ "version": "v6.3.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "f72b2cba8f79dd9d536f534f76874b58ad37876f"
+ "reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/f72b2cba8f79dd9d536f534f76874b58ad37876f",
- "reference": "f72b2cba8f79dd9d536f534f76874b58ad37876f",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd",
+ "reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd",
"shasum": ""
},
"require": {
"php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/translation-contracts": "^2.5|^3.0"
},
@@ -5178,7 +5436,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v6.3.0"
+ "source": "https://github.com/symfony/translation/tree/v6.3.3"
},
"funding": [
{
@@ -5194,7 +5452,7 @@
"type": "tidelift"
}
],
- "time": "2023-05-19T12:46:45+00:00"
+ "time": "2023-07-31T07:08:24+00:00"
},
{
"name": "symfony/translation-contracts",
@@ -5350,20 +5608,21 @@
},
{
"name": "symfony/var-dumper",
- "version": "v6.3.0",
+ "version": "v6.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "6acdcd5c122074ee9f7b051e4fb177025c277a0e"
+ "reference": "2027be14f8ae8eae999ceadebcda5b4909b81d45"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6acdcd5c122074ee9f7b051e4fb177025c277a0e",
- "reference": "6acdcd5c122074ee9f7b051e4fb177025c277a0e",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/2027be14f8ae8eae999ceadebcda5b4909b81d45",
+ "reference": "2027be14f8ae8eae999ceadebcda5b4909b81d45",
"shasum": ""
},
"require": {
"php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
@@ -5372,6 +5631,7 @@
"require-dev": {
"ext-iconv": "*",
"symfony/console": "^5.4|^6.0",
+ "symfony/http-kernel": "^5.4|^6.0",
"symfony/process": "^5.4|^6.0",
"symfony/uid": "^5.4|^6.0",
"twig/twig": "^2.13|^3.0.4"
@@ -5412,7 +5672,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v6.3.0"
+ "source": "https://github.com/symfony/var-dumper/tree/v6.3.4"
},
"funding": [
{
@@ -5428,297 +5688,7 @@
"type": "tidelift"
}
],
- "time": "2023-05-25T13:09:35+00:00"
- },
- {
- "name": "telegram-bot-sdk/addon-manager",
- "version": "dev-main",
- "source": {
- "type": "git",
- "url": "https://github.com/telegram-bot-sdk/addon-manager.git",
- "reference": "e3df23722c178afce6773a9d1a9f79c9d4aed597"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/telegram-bot-sdk/addon-manager/zipball/e3df23722c178afce6773a9d1a9f79c9d4aed597",
- "reference": "e3df23722c178afce6773a9d1a9f79c9d4aed597",
- "shasum": ""
- },
- "require": {
- "illuminate/support": "^10",
- "php": ">=8.1",
- "thecodingmachine/discovery": "^1.2"
- },
- "require-dev": {
- "pestphp/pest": "^2.0",
- "php-parallel-lint/php-parallel-lint": "^1.3",
- "rector/rector": "^0.15.24",
- "telegram-bot-sdk/telegram-bot-sdk": "^4.0@dev"
- },
- "default-branch": true,
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.0-dev"
- },
- "laravel": {
- "providers": [
- "Telegram\\Bot\\Addon\\Laravel\\AddonServiceProvider"
- ]
- }
- },
- "autoload": {
- "psr-4": {
- "Telegram\\Bot\\Addon\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Irfaq Syed",
- "homepage": "https://github.com/irazasyed"
- }
- ],
- "description": "Addon Manager for Telegram Bot SDK",
- "homepage": "https://github.com/telegram-bot-sdk/addon-manager",
- "keywords": [
- "addon",
- "chatbot",
- "telegram",
- "telegram addon",
- "telegram bot addon",
- "telegram bot sdk",
- "telegram chatbot",
- "telegram-bot-sdk"
- ],
- "support": {
- "issues": "https://github.com/telegram-bot-sdk/addon-manager/issues",
- "source": "https://github.com/telegram-bot-sdk/addon-manager/tree/main"
- },
- "time": "2023-04-06T01:46:54+00:00"
- },
- {
- "name": "telegram-bot-sdk/laravel",
- "version": "dev-main",
- "source": {
- "type": "git",
- "url": "https://github.com/telegram-bot-sdk/laravel.git",
- "reference": "547ee486b9e70c76dbf81fa858095273cea81150"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/telegram-bot-sdk/laravel/zipball/547ee486b9e70c76dbf81fa858095273cea81150",
- "reference": "547ee486b9e70c76dbf81fa858095273cea81150",
- "shasum": ""
- },
- "require": {
- "illuminate/console": "^10",
- "telegram-bot-sdk/telegram-bot-sdk": "^4.0@dev"
- },
- "require-dev": {
- "irazasyed/docgen": "^0.2",
- "pestphp/pest": "^2.0",
- "php-parallel-lint/php-parallel-lint": "^1.3",
- "rector/rector": "^0.16"
- },
- "suggest": {
- "irazasyed/larasupport": "Allows you to use any Laravel Package in Lumem"
- },
- "default-branch": true,
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "4.x-dev"
- },
- "laravel": {
- "aliases": {
- "Telegram": "Telegram\\Bot\\Laravel\\Facades\\Telegram"
- },
- "providers": [
- "Telegram\\Bot\\Laravel\\TelegramServiceProvider"
- ]
- }
- },
- "autoload": {
- "psr-4": {
- "Telegram\\Bot\\Laravel\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Irfaq Syed",
- "homepage": "https://github.com/irazasyed"
- }
- ],
- "description": "Laravel Package for Telegram Bot SDK",
- "homepage": "https://github.com/telegram-bot-sdk/laravel",
- "keywords": [
- "PHP telegram bot",
- "laravel telegram",
- "laravel telegram bot",
- "laravel telegram bot sdk",
- "lumen telegram bot",
- "telegram bot sdk laravel",
- "telegram-bot-sdk"
- ],
- "support": {
- "chat": "https://t.me/PHPChatCo",
- "docs": "https://telegram-bot-sdk.com",
- "forum": "https://phpchat.co",
- "issues": "https://github.com/telegram-bot-sdk/laravel/issues",
- "source": "https://github.com/telegram-bot-sdk/laravel"
- },
- "time": "2023-05-11T23:08:53+00:00"
- },
- {
- "name": "telegram-bot-sdk/telegram-bot-sdk",
- "version": "dev-main",
- "source": {
- "type": "git",
- "url": "https://github.com/telegram-bot-sdk/telegram-bot-sdk.git",
- "reference": "9ecab3f5a6a1de50c4260a6d59de5197e3a09b4c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/telegram-bot-sdk/telegram-bot-sdk/zipball/9ecab3f5a6a1de50c4260a6d59de5197e3a09b4c",
- "reference": "9ecab3f5a6a1de50c4260a6d59de5197e3a09b4c",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "guzzlehttp/guzzle": "^7.5.1",
- "illuminate/container": "^10",
- "illuminate/events": "^10",
- "illuminate/support": "^10",
- "php": ">=8.1",
- "telegram-bot-sdk/addon-manager": "^1.0@dev"
- },
- "require-dev": {
- "fakerphp/faker": "^1.21",
- "pestphp/pest": "^2.0",
- "pestphp/pest-plugin-mock": "^2.0",
- "php-parallel-lint/php-parallel-lint": "^1.3",
- "rector/rector": "^0.16"
- },
- "suggest": {
- "telegram-bot-sdk/laravel": "Laravel Support for Telegram Bot SDK."
- },
- "default-branch": true,
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "4.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Telegram\\Bot\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Irfaq Syed",
- "email": "github@lukonet.net",
- "homepage": "https://github.com/irazasyed"
- },
- {
- "name": "Telegram Bot SDK Community",
- "homepage": "https://github.com/telegram-bot-sdk/telegram-bot-sdk/graphs/contributors"
- }
- ],
- "description": "The Telegram Bot API PHP SDK",
- "homepage": "https://github.com/telegram-bot-sdk/telegram-bot-sdk",
- "keywords": [
- "PHP telegram bot",
- "chatbot",
- "telegram",
- "telegram bot",
- "telegram bot api",
- "telegram bot api php sdk",
- "telegram bot php sdk",
- "telegram bot sdk",
- "telegram chatbot",
- "telegram php",
- "telegram-bot-sdk"
- ],
- "support": {
- "issues": "https://github.com/telegram-bot-sdk/telegram-bot-sdk/issues",
- "source": "https://github.com/telegram-bot-sdk/telegram-bot-sdk/tree/main"
- },
- "time": "2023-05-16T12:34:43+00:00"
- },
- {
- "name": "thecodingmachine/discovery",
- "version": "v1.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/thecodingmachine/discovery.git",
- "reference": "1e57e34d531dae8fda8d1629e17e83ec806b7f38"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thecodingmachine/discovery/zipball/1e57e34d531dae8fda8d1629e17e83ec806b7f38",
- "reference": "1e57e34d531dae8fda8d1629e17e83ec806b7f38",
- "shasum": ""
- },
- "require": {
- "composer-plugin-api": "^1.0 || ^2.0",
- "php": ">=7.2"
- },
- "require-dev": {
- "composer/composer": "^1 || ^2",
- "composer/semver": "^1 || ^2 || ^3",
- "couscous/couscous": "^1.8",
- "infection/infection": "^0.17.7 || ^1.18.2",
- "php-coveralls/php-coveralls": "^2.4.2",
- "phpunit/phpunit": "^8.5.8",
- "squizlabs/php_codesniffer": "^2.9.2"
- },
- "type": "composer-plugin",
- "extra": {
- "class": "TheCodingMachine\\Discovery\\DiscoveryPlugin",
- "branch-alias": {
- "dev-master": "1.3.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "TheCodingMachine\\Discovery\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "David Négrier",
- "email": "d.negrier@thecodingmachine.com",
- "homepage": "http://mouf-php.com"
- }
- ],
- "description": "Publish and discover assets in your PHP projects.",
- "homepage": "https://github.com/thecodingmachine/discovery",
- "keywords": [
- "assets",
- "discovery"
- ],
- "support": {
- "issues": "https://github.com/thecodingmachine/discovery/issues",
- "source": "https://github.com/thecodingmachine/discovery/tree/v1.3.1"
- },
- "time": "2022-09-09T18:42:06+00:00"
+ "time": "2023-08-24T14:51:05+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@@ -5993,16 +5963,16 @@
"packages-dev": [
{
"name": "fakerphp/faker",
- "version": "v1.22.0",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/FakerPHP/Faker.git",
- "reference": "f85772abd508bd04e20bb4b1bbe260a68d0066d2"
+ "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/f85772abd508bd04e20bb4b1bbe260a68d0066d2",
- "reference": "f85772abd508bd04e20bb4b1bbe260a68d0066d2",
+ "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e3daa170d00fde61ea7719ef47bb09bb8f1d9b01",
+ "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01",
"shasum": ""
},
"require": {
@@ -6055,22 +6025,22 @@
],
"support": {
"issues": "https://github.com/FakerPHP/Faker/issues",
- "source": "https://github.com/FakerPHP/Faker/tree/v1.22.0"
+ "source": "https://github.com/FakerPHP/Faker/tree/v1.23.0"
},
- "time": "2023-05-14T12:31:37+00:00"
+ "time": "2023-06-12T08:44:38+00:00"
},
{
"name": "filp/whoops",
- "version": "2.15.2",
+ "version": "2.15.3",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
- "reference": "aac9304c5ed61bf7b1b7a6064bf9806ab842ce73"
+ "reference": "c83e88a30524f9360b11f585f71e6b17313b7187"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/filp/whoops/zipball/aac9304c5ed61bf7b1b7a6064bf9806ab842ce73",
- "reference": "aac9304c5ed61bf7b1b7a6064bf9806ab842ce73",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/c83e88a30524f9360b11f585f71e6b17313b7187",
+ "reference": "c83e88a30524f9360b11f585f71e6b17313b7187",
"shasum": ""
},
"require": {
@@ -6120,7 +6090,7 @@
],
"support": {
"issues": "https://github.com/filp/whoops/issues",
- "source": "https://github.com/filp/whoops/tree/2.15.2"
+ "source": "https://github.com/filp/whoops/tree/2.15.3"
},
"funding": [
{
@@ -6128,7 +6098,7 @@
"type": "github"
}
],
- "time": "2023-04-12T12:00:00+00:00"
+ "time": "2023-07-13T12:00:00+00:00"
},
{
"name": "hamcrest/hamcrest-php",
@@ -6183,16 +6153,16 @@
},
{
"name": "laravel/pint",
- "version": "v1.10.1",
+ "version": "v1.11.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/pint.git",
- "reference": "d69f914aa347a448628b672ba90adf0b4ea0ce4a"
+ "reference": "88e835bf922b94017778bde89ef8f215e1ea40db"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/pint/zipball/d69f914aa347a448628b672ba90adf0b4ea0ce4a",
- "reference": "d69f914aa347a448628b672ba90adf0b4ea0ce4a",
+ "url": "https://api.github.com/repos/laravel/pint/zipball/88e835bf922b94017778bde89ef8f215e1ea40db",
+ "reference": "88e835bf922b94017778bde89ef8f215e1ea40db",
"shasum": ""
},
"require": {
@@ -6203,9 +6173,9 @@
"php": "^8.1.0"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "^3.17.0",
+ "friendsofphp/php-cs-fixer": "^3.21.1",
"illuminate/view": "^10.5.1",
- "laravel-zero/framework": "^10.0.2",
+ "laravel-zero/framework": "^10.1.1",
"mockery/mockery": "^1.5.1",
"nunomaduro/larastan": "^2.5.1",
"nunomaduro/termwind": "^1.15.1",
@@ -6245,20 +6215,20 @@
"issues": "https://github.com/laravel/pint/issues",
"source": "https://github.com/laravel/pint"
},
- "time": "2023-06-03T15:01:17+00:00"
+ "time": "2023-08-15T15:30:00+00:00"
},
{
"name": "laravel/sail",
- "version": "v1.22.0",
+ "version": "v1.23.4",
"source": {
"type": "git",
"url": "https://github.com/laravel/sail.git",
- "reference": "923e1e112b6a8598664dbb0ee79dd3137f1c9d56"
+ "reference": "cfa1ad579349110a87f9412eb65ecba94d682ac2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/sail/zipball/923e1e112b6a8598664dbb0ee79dd3137f1c9d56",
- "reference": "923e1e112b6a8598664dbb0ee79dd3137f1c9d56",
+ "url": "https://api.github.com/repos/laravel/sail/zipball/cfa1ad579349110a87f9412eb65ecba94d682ac2",
+ "reference": "cfa1ad579349110a87f9412eb65ecba94d682ac2",
"shasum": ""
},
"require": {
@@ -6310,41 +6280,37 @@
"issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail"
},
- "time": "2023-05-04T14:52:56+00:00"
+ "time": "2023-08-17T12:49:32+00:00"
},
{
"name": "mockery/mockery",
- "version": "1.6.1",
+ "version": "1.6.6",
"source": {
"type": "git",
"url": "https://github.com/mockery/mockery.git",
- "reference": "a8dd186f07ea667c1e3abd2176bfab0ab161ea94"
+ "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mockery/mockery/zipball/a8dd186f07ea667c1e3abd2176bfab0ab161ea94",
- "reference": "a8dd186f07ea667c1e3abd2176bfab0ab161ea94",
+ "url": "https://api.github.com/repos/mockery/mockery/zipball/b8e0bb7d8c604046539c1115994632c74dcb361e",
+ "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e",
"shasum": ""
},
"require": {
"hamcrest/hamcrest-php": "^2.0.1",
"lib-pcre": ">=7.0",
- "php": "^7.4 || ^8.0"
+ "php": ">=7.3"
},
"conflict": {
"phpunit/phpunit": "<8.0"
},
"require-dev": {
- "phpunit/phpunit": "^8.5 || ^9.3",
- "psalm/plugin-phpunit": "^0.18",
- "vimeo/psalm": "^5.9"
+ "phpunit/phpunit": "^8.5 || ^9.6.10",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "symplify/easy-coding-standard": "^11.5.0",
+ "vimeo/psalm": "^4.30"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4.x-dev"
- }
- },
"autoload": {
"files": [
"library/helpers.php",
@@ -6362,12 +6328,20 @@
{
"name": "Pádraic Brady",
"email": "padraic.brady@gmail.com",
- "homepage": "http://blog.astrumfutura.com"
+ "homepage": "https://github.com/padraic",
+ "role": "Author"
},
{
"name": "Dave Marshall",
"email": "dave.marshall@atstsolutions.co.uk",
- "homepage": "http://davedevelopment.co.uk"
+ "homepage": "https://davedevelopment.co.uk",
+ "role": "Developer"
+ },
+ {
+ "name": "Nathanael Esayeas",
+ "email": "nathanael.esayeas@protonmail.com",
+ "homepage": "https://github.com/ghostwriter",
+ "role": "Lead Developer"
}
],
"description": "Mockery is a simple yet flexible PHP mock object framework",
@@ -6385,10 +6359,13 @@
"testing"
],
"support": {
+ "docs": "https://docs.mockery.io/",
"issues": "https://github.com/mockery/mockery/issues",
- "source": "https://github.com/mockery/mockery/tree/1.6.1"
+ "rss": "https://github.com/mockery/mockery/releases.atom",
+ "security": "https://github.com/mockery/mockery/security/advisories",
+ "source": "https://github.com/mockery/mockery"
},
- "time": "2023-06-05T13:59:03+00:00"
+ "time": "2023-08-09T00:03:52+00:00"
},
{
"name": "myclabs/deep-copy",
@@ -6451,40 +6428,37 @@
},
{
"name": "nunomaduro/collision",
- "version": "v7.5.2",
+ "version": "v7.8.1",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/collision.git",
- "reference": "76b3cabda0aabda455fc3b9db6c3615f5a87c7ff"
+ "reference": "61553ad3260845d7e3e49121b7074619233d361b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/collision/zipball/76b3cabda0aabda455fc3b9db6c3615f5a87c7ff",
- "reference": "76b3cabda0aabda455fc3b9db6c3615f5a87c7ff",
+ "url": "https://api.github.com/repos/nunomaduro/collision/zipball/61553ad3260845d7e3e49121b7074619233d361b",
+ "reference": "61553ad3260845d7e3e49121b7074619233d361b",
"shasum": ""
},
"require": {
- "filp/whoops": "^2.15.2",
+ "filp/whoops": "^2.15.3",
"nunomaduro/termwind": "^1.15.1",
"php": "^8.1.0",
- "symfony/console": "^6.2.8"
- },
- "conflict": {
- "phpunit/phpunit": "<10.1.2"
+ "symfony/console": "^6.3.2"
},
"require-dev": {
- "brianium/paratest": "^7.1.3",
- "laravel/framework": "^10.8.0",
- "laravel/pint": "^1.9.0",
- "laravel/sail": "^1.21.4",
- "laravel/sanctum": "^3.2.1",
+ "brianium/paratest": "^7.2.4",
+ "laravel/framework": "^10.17.1",
+ "laravel/pint": "^1.10.5",
+ "laravel/sail": "^1.23.1",
+ "laravel/sanctum": "^3.2.5",
"laravel/tinker": "^2.8.1",
- "nunomaduro/larastan": "^2.6.0",
- "orchestra/testbench-core": "^8.5.0",
- "pestphp/pest": "^2.5.2",
- "phpunit/phpunit": "^10.1.1",
+ "nunomaduro/larastan": "^2.6.4",
+ "orchestra/testbench-core": "^8.5.9",
+ "pestphp/pest": "^2.12.1",
+ "phpunit/phpunit": "^10.3.1",
"sebastian/environment": "^6.0.1",
- "spatie/laravel-ignition": "^2.1.0"
+ "spatie/laravel-ignition": "^2.2.0"
},
"type": "library",
"extra": {
@@ -6543,7 +6517,7 @@
"type": "patreon"
}
],
- "time": "2023-04-22T22:12:40+00:00"
+ "time": "2023-08-07T08:03:21+00:00"
},
{
"name": "phar-io/manifest",
@@ -6658,16 +6632,16 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "10.1.2",
+ "version": "10.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e"
+ "reference": "be1fe461fdc917de2a29a452ccf2657d325b443d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/db1497ec8dd382e82c962f7abbe0320e4882ee4e",
- "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/be1fe461fdc917de2a29a452ccf2657d325b443d",
+ "reference": "be1fe461fdc917de2a29a452ccf2657d325b443d",
"shasum": ""
},
"require": {
@@ -6724,7 +6698,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.2"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.3"
},
"funding": [
{
@@ -6732,7 +6706,7 @@
"type": "github"
}
],
- "time": "2023-05-22T09:04:27+00:00"
+ "time": "2023-07-26T13:45:28+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -6978,16 +6952,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "10.2.1",
+ "version": "10.3.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "599b33294350e8f51163119d5670512f98b0490d"
+ "reference": "0dafb1175c366dd274eaa9a625e914451506bcd1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/599b33294350e8f51163119d5670512f98b0490d",
- "reference": "599b33294350e8f51163119d5670512f98b0490d",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0dafb1175c366dd274eaa9a625e914451506bcd1",
+ "reference": "0dafb1175c366dd274eaa9a625e914451506bcd1",
"shasum": ""
},
"require": {
@@ -7012,7 +6986,7 @@
"sebastian/diff": "^5.0",
"sebastian/environment": "^6.0",
"sebastian/exporter": "^5.0",
- "sebastian/global-state": "^6.0",
+ "sebastian/global-state": "^6.0.1",
"sebastian/object-enumerator": "^5.0",
"sebastian/recursion-context": "^5.0",
"sebastian/type": "^4.0",
@@ -7027,7 +7001,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "10.2-dev"
+ "dev-main": "10.3-dev"
}
},
"autoload": {
@@ -7059,7 +7033,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/10.2.1"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/10.3.2"
},
"funding": [
{
@@ -7075,7 +7049,7 @@
"type": "tidelift"
}
],
- "time": "2023-06-05T05:15:51+00:00"
+ "time": "2023-08-15T05:34:23+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -7246,16 +7220,16 @@
},
{
"name": "sebastian/comparator",
- "version": "5.0.0",
+ "version": "5.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c"
+ "reference": "2db5010a484d53ebf536087a70b4a5423c102372"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/72f01e6586e0caf6af81297897bd112eb7e9627c",
- "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372",
+ "reference": "2db5010a484d53ebf536087a70b4a5423c102372",
"shasum": ""
},
"require": {
@@ -7266,7 +7240,7 @@
"sebastian/exporter": "^5.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^10.3"
},
"type": "library",
"extra": {
@@ -7310,7 +7284,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.0"
+ "security": "https://github.com/sebastianbergmann/comparator/security/policy",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1"
},
"funding": [
{
@@ -7318,7 +7293,7 @@
"type": "github"
}
],
- "time": "2023-02-03T07:07:16+00:00"
+ "time": "2023-08-14T13:18:12+00:00"
},
{
"name": "sebastian/complexity",
@@ -7587,16 +7562,16 @@
},
{
"name": "sebastian/global-state",
- "version": "6.0.0",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "aab257c712de87b90194febd52e4d184551c2d44"
+ "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/aab257c712de87b90194febd52e4d184551c2d44",
- "reference": "aab257c712de87b90194febd52e4d184551c2d44",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4",
+ "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4",
"shasum": ""
},
"require": {
@@ -7636,7 +7611,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.0"
+ "security": "https://github.com/sebastianbergmann/global-state/security/policy",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1"
},
"funding": [
{
@@ -7644,7 +7620,7 @@
"type": "github"
}
],
- "time": "2023-02-03T07:07:38+00:00"
+ "time": "2023-07-19T07:19:23+00:00"
},
{
"name": "sebastian/lines-of-code",
@@ -7989,16 +7965,16 @@
},
{
"name": "spatie/backtrace",
- "version": "1.4.0",
+ "version": "1.5.3",
"source": {
"type": "git",
"url": "https://github.com/spatie/backtrace.git",
- "reference": "ec4dd16476b802dbdc6b4467f84032837e316b8c"
+ "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/backtrace/zipball/ec4dd16476b802dbdc6b4467f84032837e316b8c",
- "reference": "ec4dd16476b802dbdc6b4467f84032837e316b8c",
+ "url": "https://api.github.com/repos/spatie/backtrace/zipball/483f76a82964a0431aa836b6ed0edde0c248e3ab",
+ "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab",
"shasum": ""
},
"require": {
@@ -8035,7 +8011,7 @@
"spatie"
],
"support": {
- "source": "https://github.com/spatie/backtrace/tree/1.4.0"
+ "source": "https://github.com/spatie/backtrace/tree/1.5.3"
},
"funding": [
{
@@ -8047,26 +8023,27 @@
"type": "other"
}
],
- "time": "2023-03-04T08:57:24+00:00"
+ "time": "2023-06-28T12:59:17+00:00"
},
{
"name": "spatie/flare-client-php",
- "version": "1.3.6",
+ "version": "1.4.2",
"source": {
"type": "git",
"url": "https://github.com/spatie/flare-client-php.git",
- "reference": "530ac81255af79f114344286e4275f8869c671e2"
+ "reference": "5f2c6a7a0d2c1d90c12559dc7828fd942911a544"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/530ac81255af79f114344286e4275f8869c671e2",
- "reference": "530ac81255af79f114344286e4275f8869c671e2",
+ "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/5f2c6a7a0d2c1d90c12559dc7828fd942911a544",
+ "reference": "5f2c6a7a0d2c1d90c12559dc7828fd942911a544",
"shasum": ""
},
"require": {
"illuminate/pipeline": "^8.0|^9.0|^10.0",
+ "nesbot/carbon": "^2.62.1",
"php": "^8.0",
- "spatie/backtrace": "^1.2",
+ "spatie/backtrace": "^1.5.2",
"symfony/http-foundation": "^5.0|^6.0",
"symfony/mime": "^5.2|^6.0",
"symfony/process": "^5.2|^6.0",
@@ -8083,7 +8060,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.1.x-dev"
+ "dev-main": "1.3.x-dev"
}
},
"autoload": {
@@ -8108,7 +8085,7 @@
],
"support": {
"issues": "https://github.com/spatie/flare-client-php/issues",
- "source": "https://github.com/spatie/flare-client-php/tree/1.3.6"
+ "source": "https://github.com/spatie/flare-client-php/tree/1.4.2"
},
"funding": [
{
@@ -8116,28 +8093,28 @@
"type": "github"
}
],
- "time": "2023-04-12T07:57:12+00:00"
+ "time": "2023-07-28T08:07:24+00:00"
},
{
"name": "spatie/ignition",
- "version": "1.8.1",
+ "version": "1.10.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/ignition.git",
- "reference": "d8eb8ea1ed27f48a694405cff363746ffd37f13e"
+ "reference": "d92b9a081e99261179b63a858c7a4b01541e7dd1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/ignition/zipball/d8eb8ea1ed27f48a694405cff363746ffd37f13e",
- "reference": "d8eb8ea1ed27f48a694405cff363746ffd37f13e",
+ "url": "https://api.github.com/repos/spatie/ignition/zipball/d92b9a081e99261179b63a858c7a4b01541e7dd1",
+ "reference": "d92b9a081e99261179b63a858c7a4b01541e7dd1",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-mbstring": "*",
"php": "^8.0",
- "spatie/backtrace": "^1.4",
- "spatie/flare-client-php": "^1.1",
+ "spatie/backtrace": "^1.5.3",
+ "spatie/flare-client-php": "^1.4.0",
"symfony/console": "^5.4|^6.0",
"symfony/var-dumper": "^5.4|^6.0"
},
@@ -8149,7 +8126,7 @@
"phpstan/phpstan-deprecation-rules": "^1.0",
"phpstan/phpstan-phpunit": "^1.0",
"psr/simple-cache-implementation": "*",
- "symfony/cache": "^6.2",
+ "symfony/cache": "^6.0",
"symfony/process": "^5.4|^6.0",
"vlucas/phpdotenv": "^5.5"
},
@@ -8199,20 +8176,20 @@
"type": "github"
}
],
- "time": "2023-06-06T14:14:58+00:00"
+ "time": "2023-08-21T15:06:37+00:00"
},
{
"name": "spatie/laravel-ignition",
- "version": "2.1.3",
+ "version": "2.3.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-ignition.git",
- "reference": "35711943d4725aa80f8033e4f1cb3a6775530b25"
+ "reference": "4ed813d16edb5a1ab0d7f4b1d116c37ee8cdf3c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/35711943d4725aa80f8033e4f1cb3a6775530b25",
- "reference": "35711943d4725aa80f8033e4f1cb3a6775530b25",
+ "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/4ed813d16edb5a1ab0d7f4b1d116c37ee8cdf3c0",
+ "reference": "4ed813d16edb5a1ab0d7f4b1d116c37ee8cdf3c0",
"shasum": ""
},
"require": {
@@ -8222,7 +8199,7 @@
"illuminate/support": "^10.0",
"php": "^8.1",
"spatie/flare-client-php": "^1.3.5",
- "spatie/ignition": "^1.5.0",
+ "spatie/ignition": "^1.9",
"symfony/console": "^6.2.3",
"symfony/var-dumper": "^6.2.3"
},
@@ -8291,24 +8268,25 @@
"type": "github"
}
],
- "time": "2023-05-25T11:30:27+00:00"
+ "time": "2023-08-23T06:24:34+00:00"
},
{
"name": "symfony/yaml",
- "version": "v6.3.0",
+ "version": "v6.3.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "a9a8337aa641ef2aa39c3e028f9107ec391e5927"
+ "reference": "e23292e8c07c85b971b44c1c4b87af52133e2add"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/a9a8337aa641ef2aa39c3e028f9107ec391e5927",
- "reference": "a9a8337aa641ef2aa39c3e028f9107ec391e5927",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/e23292e8c07c85b971b44c1c4b87af52133e2add",
+ "reference": "e23292e8c07c85b971b44c1c4b87af52133e2add",
"shasum": ""
},
"require": {
"php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
@@ -8346,7 +8324,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v6.3.0"
+ "source": "https://github.com/symfony/yaml/tree/v6.3.3"
},
"funding": [
{
@@ -8362,7 +8340,7 @@
"type": "tidelift"
}
],
- "time": "2023-04-28T13:28:14+00:00"
+ "time": "2023-07-31T07:08:24+00:00"
},
{
"name": "theseer/tokenizer",
diff --git a/backend/config/telegram.php b/backend/config/telegram.php
deleted file mode 100644
index de63c6d..0000000
--- a/backend/config/telegram.php
+++ /dev/null
@@ -1,165 +0,0 @@
- 'default',
-
- /**
- *--------------------------------------------------------------------------
- * Your Telegram Bots
- *--------------------------------------------------------------------------
- *
- * You may use multiple bots at once using the manager class. Each bot
- * that you own should be configured here.
- *
- * Here are each of the telegram bots config parameters.
- *
- * Supported Params:
- *
- * - name: The *personal* name you would like to refer to your bot as.
- *
- * - token: Your Telegram Bot Token.
- * Refer for more details: https://core.telegram.org/bots#botfather
- * Example: (string) '123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11'.
- *
- * - commands: (Optional) Commands to register for this bot,
- * Supported Values: "Command Group Name", "Command Repository Name", "Command => Full Path to Class".
- * Default: Registers Global Commands.
- * Example: (array) [
- * 'admin', // Command Group Name.
- * 'status', // Command Repository Name.
- * 'hello' => App\Telegram\Commands\HelloCommand::class,
- * 'bye' => App\Telegram\Commands\ByeCommand::class,
- * ]
- */
- 'bots' => [
- 'default' => [
- 'token' => env('TELEGRAM_BOT_TOKEN', 'YOUR-BOT-TOKEN'),
-
- 'commands' => [
- 'start' => App\Telegram\Commands\Start::class,
- ],
-
- 'listen' => [
- 'update' => [],
- 'webhook.failed' => [],
-
- // Example of various events fired.
- 'message' => [],
- //'message.photo' => [ \App\Listeners\ProcessInboundPhoto::class ],
- 'poll' => [],
- 'message.left_chat_member' => [],
- 'inline_query.location' => [],
- ],
- ]
- ],
-
- /**
- *--------------------------------------------------------------------------
- * Webhook [Optional]
- *--------------------------------------------------------------------------
- *
- * Domain: If you want to set a custom domain for your webhook.
- * Path: Path is used to construct a webhook route. Default: /telegram
- * Controller: Responsible to listen to updates and acknowledge to Telegram.
- *
- * Default path: telegram
- * Webhook path: /telegram/{bot}/webhook
- */
- 'webhook' => [
- 'domain' => env('TELEGRAM_WEBHOOK_DOMAIN', null),
- 'path' => env('TELEGRAM_WEBHOOK_PATH', 'telegram'),
- 'controller' => \Telegram\Bot\Laravel\Http\Controllers\WebhookController::class,
- ],
-
- /**
- *--------------------------------------------------------------------------
- * HTTP [Optional]
- *--------------------------------------------------------------------------
- *
- * - config: To set HTTP Client config (Ex: proxy).
- * - async: When set to True, All the requests would be made non-blocking (Async).
- * - api_url: To set the Base API URL.
- * - client: To set HTTP Client. Should be an instance of @see \Telegram\Bot\Contracts\HttpClientInterface::class
- */
- 'http' => [
- 'config' => [],
- 'async' => env('TELEGRAM_ASYNC_REQUESTS', false),
- 'api_url' => 'https://api.telegram.org',
- 'client' => \Telegram\Bot\Http\GuzzleHttpClient::class,
- ],
-
- /**
- *--------------------------------------------------------------------------
- * Register Global Commands [Optional]
- *--------------------------------------------------------------------------
- *
- * If you'd like to use the SDK's built in command handler system,
- * You can register all the global commands here.
- *
- * Global commands will apply to all the bots in system and are always active.
- *
- * The command class should extend the \Telegram\Bot\Commands\Command class.
- *
- * Default: The SDK registers, a help command which when a user sends /help
- * will respond with a list of available commands and description.
- */
- 'commands' => [
- 'help' => Telegram\Bot\Commands\HelpCommand::class,
- ],
-
- /**
- *--------------------------------------------------------------------------
- * Command Groups [Optional]
- *--------------------------------------------------------------------------
- *
- * You can organize a set of commands into groups which can later,
- * be re-used across all your bots.
- *
- * You can create [4] types of groups!
- *
- * 1. Group using full path to command classes.
- *
- * 2. Group using command repository: Provide the key name of the command from the command repository
- * and the system will automatically resolve to the appropriate command.
- *
- * 3. Group using other groups of commands: You can create a group which uses other
- * groups of commands to bundle them into one group.
- *
- * 4. You can create a group with a combination of 1, 2 and 3 all together in one group.
- *
- * Examples shown below are by the group type for you to understand each of them.
- */
- 'command_groups' => [
- ],
-
- /**
- *--------------------------------------------------------------------------
- * Command Repository [Optional]
- *--------------------------------------------------------------------------
- *
- * Command Repository lets you register commands that can be shared between,
- * one or more bots across the project.
- *
- * This will help you prevent from having to register same set of commands,
- * for each bot over and over again and make it easier to maintain them.
- *
- * Command Repository are not active by default, You need to use the key name to register them,
- * individually in a group of commands or in bot commands.
- *
- * Think of this as a central storage, to register, reuse and maintain them across all bots.
- */
- 'command_repository' => [
- // 'start' => App\Telegram\Commands\StartCommand::class,
- // 'stop' => App\Telegram\Commands\StopCommand::class,
- ],
-];
diff --git a/backend/config/telegraph.php b/backend/config/telegraph.php
new file mode 100644
index 0000000..d9586b6
--- /dev/null
+++ b/backend/config/telegraph.php
@@ -0,0 +1,120 @@
+ 'https://api.telegram.org/',
+
+ /*
+ * Sets Telegraph messages default parse mode
+ * allowed values: html|markdown|MarkdownV2
+ */
+ 'default_parse_mode' => Telegraph::PARSE_HTML,
+
+ /*
+ * Sets the handler to be used when Telegraph
+ * receives a new webhook call.
+ *
+ * For reference, see https://defstudio.github.io/telegraph/webhooks/overview
+ */
+ 'webhook_handler' => App\Telegram\WebhookController::class,
+
+ /*
+ * Sets a custom domain when registering a webhook. This will allow a local telegram bot api server
+ * to reach the webhook. Disabled by default
+ *
+ * For reference, see https://core.telegram.org/bots/api#using-a-local-bot-api-server
+ */
+ // 'custom_webhook_domain' => 'http://my.custom.domain',
+
+ /*
+ * If enabled, Telegraph dumps received
+ * webhook messages to logs
+ */
+ 'debug_mode' => false,
+
+ /*
+ * If enabled, unknown webhook commands are
+ * reported as exception in application logs
+ */
+ 'report_unknown_webhook_commands' => false,
+
+ 'security' => [
+ /*
+ * if enabled, allows callback queries from unregistered chats
+ */
+ 'allow_callback_queries_from_unknown_chats' => true,
+
+ /*
+ * if enabled, allows messages and commands from unregistered chats
+ */
+ 'allow_messages_from_unknown_chats' => true,
+
+ /*
+ * if enabled, store unknown chats as new TelegraphChat models
+ */
+ 'store_unknown_chats_in_db' => false,
+ ],
+
+ /*
+ * Set model class for both TelegraphBot and TelegraphChat,
+ * to allow more customization.
+ *
+ * Bot model must be or extend `DefStudio\Telegraph\Models\TelegraphBot::class`
+ * Chat model must be or extend `DefStudio\Telegraph\Models\TelegraphChat::class`
+ */
+ 'models' => [
+ 'bot' => DefStudio\Telegraph\Models\TelegraphBot::class,
+ 'chat' => DefStudio\Telegraph\Models\TelegraphChat::class,
+ ],
+
+ 'storage' => [
+ /**
+ * Default storage driver to be used for Telegraph data
+ */
+ 'default' => 'file',
+
+ 'stores' => [
+ 'file' => [
+ /**
+ * Telegraph cache driver to be used, must implement
+ * DefStudio\Telegraph\Contracts\StorageDriver contract
+ */
+ 'driver' => \DefStudio\Telegraph\Storage\FileStorageDriver::class,
+
+ /*
+ * Laravel Storage disk to use. See /config/filesystems/disks for available disks
+ * If 'null', Laravel default store will be used,
+ */
+ 'disk' => 'local',
+
+ /**
+ * Folder inside filesystem to be used as root for Telegraph storage
+ */
+ 'root' => 'telegraph',
+ ],
+ 'cache' => [
+ /**
+ * Telegraph cache driver to be used, must implement
+ * DefStudio\Telegraph\Contracts\StorageDriver contract
+ */
+ 'driver' => \DefStudio\Telegraph\Storage\CacheStorageDriver::class,
+
+ /*
+ * Laravel Cache store to use. See /config/cache/stores for available stores
+ * If 'null', Laravel default store will be used,
+ */
+ 'store' => null,
+
+ /*
+ * Prefix to be prepended to cache keys
+ */
+ 'key_prefix' => 'tgph',
+ ],
+ ],
+ ],
+];
diff --git a/backend/database/migrations/2023_06_06_000257_laratrust_setup_tables.php b/backend/database/migrations/2023_06_06_000257_laratrust_setup_tables.php
deleted file mode 100644
index 8945131..0000000
--- a/backend/database/migrations/2023_06_06_000257_laratrust_setup_tables.php
+++ /dev/null
@@ -1,85 +0,0 @@
-bigIncrements('id');
- $table->string('name')->unique();
- $table->string('display_name')->nullable();
- $table->string('description')->nullable();
- $table->timestamps();
- });
-
- // Create table for storing permissions
- Schema::create('permissions', function (Blueprint $table) {
- $table->bigIncrements('id');
- $table->string('name')->unique();
- $table->string('display_name')->nullable();
- $table->string('description')->nullable();
- $table->timestamps();
- });
-
- // Create table for associating roles to users and teams (Many To Many Polymorphic)
- Schema::create('role_user', function (Blueprint $table) {
- $table->unsignedBigInteger('role_id');
- $table->unsignedBigInteger('user_id');
- $table->string('user_type');
-
- $table->foreign('role_id')->references('id')->on('roles')
- ->onUpdate('cascade')->onDelete('cascade');
-
- $table->primary(['user_id', 'role_id', 'user_type']);
- });
-
- // Create table for associating permissions to users (Many To Many Polymorphic)
- Schema::create('permission_user', function (Blueprint $table) {
- $table->unsignedBigInteger('permission_id');
- $table->unsignedBigInteger('user_id');
- $table->string('user_type');
-
- $table->foreign('permission_id')->references('id')->on('permissions')
- ->onUpdate('cascade')->onDelete('cascade');
-
- $table->primary(['user_id', 'permission_id', 'user_type']);
- });
-
- // Create table for associating permissions to roles (Many-to-Many)
- Schema::create('permission_role', function (Blueprint $table) {
- $table->unsignedBigInteger('permission_id');
- $table->unsignedBigInteger('role_id');
-
- $table->foreign('permission_id')->references('id')->on('permissions')
- ->onUpdate('cascade')->onDelete('cascade');
- $table->foreign('role_id')->references('id')->on('roles')
- ->onUpdate('cascade')->onDelete('cascade');
-
- $table->primary(['permission_id', 'role_id']);
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('permission_user');
- Schema::dropIfExists('permission_role');
- Schema::dropIfExists('permissions');
- Schema::dropIfExists('role_user');
- Schema::dropIfExists('roles');
- }
-}
diff --git a/backend/database/migrations/2023_08_29_001733_create_telegraph_bots_table.php b/backend/database/migrations/2023_08_29_001733_create_telegraph_bots_table.php
new file mode 100644
index 0000000..30360e0
--- /dev/null
+++ b/backend/database/migrations/2023_08_29_001733_create_telegraph_bots_table.php
@@ -0,0 +1,18 @@
+id();
+ $table->string('token')->unique();
+ $table->string('name')->nullable();
+
+ $table->timestamps();
+ });
+ }
+};
diff --git a/backend/database/migrations/2023_08_29_001734_create_telegraph_chats_table.php b/backend/database/migrations/2023_08_29_001734_create_telegraph_chats_table.php
new file mode 100644
index 0000000..ca57e20
--- /dev/null
+++ b/backend/database/migrations/2023_08_29_001734_create_telegraph_chats_table.php
@@ -0,0 +1,21 @@
+id();
+ $table->string('chat_id');
+ $table->string('name')->nullable();
+
+ $table->foreignId('telegraph_bot_id')->constrained('telegraph_bots')->cascadeOnDelete();
+ $table->timestamps();
+
+ $table->unique(['chat_id', 'telegraph_bot_id']);
+ });
+ }
+};
diff --git a/backend/database/migrations/2023_08_29_133113_create_telegram_bot_logins_table.php b/backend/database/migrations/2023_08_29_133113_create_telegram_bot_logins_table.php
new file mode 100644
index 0000000..06a1ea1
--- /dev/null
+++ b/backend/database/migrations/2023_08_29_133113_create_telegram_bot_logins_table.php
@@ -0,0 +1,31 @@
+id();
+ $table->string('chat_id')->unique()->nullable();
+ $table->string('tmp_login_code')->unique()->nullable();
+ $table->unsignedBigInteger('user')->unsigned();
+ $table->foreign('user')->references('id')->on('users')->cascadeOnDelete();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('telegram_bot_logins');
+ }
+};
diff --git a/backend/routes/api.php b/backend/routes/api.php
index e4ae799..61015fb 100644
--- a/backend/routes/api.php
+++ b/backend/routes/api.php
@@ -5,10 +5,9 @@ use App\Http\Controllers\AuthController;
use App\Http\Controllers\UserController;
use App\Http\Controllers\ScheduleSlotsController;
use App\Http\Controllers\AvailabilityController;
+use App\Http\Controllers\TelegramController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Artisan;
-use Telegram\Bot\Laravel\Http\Middleware\ValidateWebhook;
-use Telegram\Bot\Laravel\Http\Controllers\WebhookController;
/*
|--------------------------------------------------------------------------
@@ -40,6 +39,8 @@ Route::middleware('auth:web')->group( function () {
Route::post('/availability', [AvailabilityController::class, 'updateAvailability']);
Route::post('/manual_mode', [AvailabilityController::class, 'updateAvailabilityManualMode']);
+ Route::post('/telegram_login_token', [TelegramController::class, 'loginToken']);
+
Route::post('/logout', [AuthController::class, 'logout']);
});
@@ -59,8 +60,3 @@ Route::post('/cron/execute', function(Request $request) {
return response('Access Denied', 403);
}
});
-
-//TODO: remove this and open issue on https://github.com/telegram-bot-sdk/laravel since named route not working
-Route::group(['middleware' => ValidateWebhook::class], function (): void {
- Route::post('/telegram/{bot}/webhook', Telegram\Bot\Laravel\Http\Controllers\WebhookController::class)->name('telegram.bot.webhook');
-});
diff --git a/frontend/src/app/_routes/list/list.component.html b/frontend/src/app/_routes/list/list.component.html
index 69d4540..693006f 100644
--- a/frontend/src/app/_routes/list/list.component.html
+++ b/frontend/src/app/_routes/list/list.component.html
@@ -29,6 +29,6 @@