Skip to content

Commit 8cc0574

Browse files
committed
Refactor controller for simplicity and improve template
1 parent 6b203c2 commit 8cc0574

File tree

2 files changed

+25
-20
lines changed

2 files changed

+25
-20
lines changed

app/Http/Controllers/GithubWebHookController.php

+22-18
Original file line numberDiff line numberDiff line change
@@ -8,34 +8,38 @@
88
class GithubWebHookController extends Controller
99
{
1010
/**
11-
* Handle incoming Telegram webhook requests.
11+
* Handle incoming GitHub webhook requests.
1212
*
1313
* @param \Illuminate\Http\Request $request
1414
* @param TelegramBot $telegramBot
1515
*
16+
* @return void
1617
* @throws \Throwable
1718
*
18-
* @return void
1919
*/
20-
public function release(Request $request, TelegramBot $telegramBot)
20+
public function release(Request $request, TelegramBot $telegramBot): void
2121
{
22-
$payload = $request->all();
22+
$request->validate([
23+
'action' => 'required|string',
24+
'release.tag_name' => 'required|string',
25+
'release.name' => 'nullable|string',
26+
'release.body' => 'nullable|string',
27+
'release.html_url' => 'required|url',
28+
'repository.full_name' => 'required|string',
29+
]);
2330

24-
if ($payload['action'] === 'published') {
25-
$release = $payload['release'];
26-
$repo = $payload['repository'];
31+
abort_if($request->input('action') !== 'published', 400);
2732

28-
$message = view('telegram.github-release-notification', [
29-
'repo' => $repo['full_name'],
30-
'version' => $release['tag_name'],
31-
'title' => $release['name'],
32-
'body' => $release['body'],
33-
'url' => $release['html_url'],
34-
])->render();
33+
$message = view('telegram.github-release-notification', [
34+
'repo' => $request->input('repository.full_name'),
35+
'version' => $request->input('release.tag_name'),
36+
'title' => $request->input('release.name'),
37+
'body' => $request->input('release.body'),
38+
'url' => $request->input('release.html_url'),
39+
])->render();
3540

36-
collect(config('telegram.chats'))
37-
->where('orchid_release', true)
38-
->each(fn ($subscriber) => $telegramBot->sendMessageToChat($subscriber['id'], $message));
39-
}
41+
collect(config('telegram.chats'))
42+
->where('orchid_release', true)
43+
->each(fn($subscriber) => $telegramBot->sendMessageToChat($subscriber['id'], $message));
4044
}
4145
}
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
🚀 *New release {{ $version }}* in {{ $repo }}
1+
🚀 *New Release {{ $version }}* in {{ $repo }}
22

33
📝 *{{ $title }}*
44

55
{{ $body }}
66

7-
[🔗 Link to release]({{ $url }})
7+
🔗 [Check it out now]({{ $url }})
8+
✨ Star the repo & share your feedback!

0 commit comments

Comments
 (0)