-
-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathSlackController.php
39 lines (30 loc) · 1.17 KB
/
SlackController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
declare(strict_types=1);
namespace App\Http\Controllers;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
final class SlackController extends Controller
{
public function __invoke(Request $request): RedirectResponse
{
$request->validate(['email' => 'required|email']);
$client = new Client;
$team = config('lcm.slack.team');
$email = $request->input('email');
try {
$client->request(
'POST',
config('lcm.slack.url').'/api/users.admin.invite?t='
.time().'&email='.$email.'&token='.config('lcm.slack.token')
.'&set_active=true&_attempts=1'
);
session()->flash('status', __('Une invitation vous a été envoyé à votre courrier pour rejoindre l\'espace de travail :team.', ['team' => $team]));
return redirect()->back();
} catch (GuzzleException $e) {
session()->flash('error', __("Une erreur s'est produite lors de l'envoi de l'invitation, veuillez réessayer."));
return redirect()->back();
}
}
}