Completed
Push — master ( 8f0401...55f4d0 )
by PROSPER
03:02
created

SlackController   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 4
c 1
b 0
f 1
lcom 0
cbo 4
dl 0
loc 46
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getPage() 0 6 1
A getAllUsersOnYourTeam() 0 10 2
A sendMessageToTeam() 0 12 1
1
<?php
2
3
namespace App\Http\Controllers;
4
5
use Illuminate\Http\Request;
6
7
use SlackUser;
8
use SlackChat;
9
use App\Http\Requests;
10
use App\Http\Controllers\Controller;
11
12
class SlackController extends Controller
13
{
14
    /**
15
     * Return all data to the Slack API dashboard
16
     * @return mixed
17
     */
18
    public function getPage()
19
    {
20
        $members = $this->getAllUsersOnYourTeam(4);
21
22
        return view('api.slack')->withMembers($members);
23
    }
24
25
    /**
26
     * Get All Users on Your Team
27
     * @return array
28
     */
29
    private function getAllUsersOnYourTeam($count = null)
30
    {
31
        $list = (array)SlackUser::lists();
32
33
        if (is_null($count)) {
34
           return $list['members'];
35
        }
36
37
        return array_slice($list['members'], 0, $count);
38
    }
39
40
    /**
41
     * Send Message to Channel or Group
42
     * @param  Request $request
43
     * @return Session
44
     */
45
    public function sendMessageToTeam(Request $request)
46
    {
47
         $this->validate($request, [
48
            'message'  => 'required'
49
        ]);
50
51
        $message = $request->input('message') . ' #FromLaravelHackathonStarter :smile:';
52
53
        SlackChat::message('#general', $message);
54
55
        return redirect()->back()->with('info','Your Message has been sent successfully');
56
    }
57
}
58