Test Failed
Push — master ( 54db62...a5394f )
by Terzi
06:48
created

ArchitectRoutes::withMediaRoutes()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 42
Code Lines 24

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 24
nc 1
nop 0
dl 0
loc 42
rs 9.536
c 0
b 0
f 0
1
<?php
2
3
namespace Terranet\Administrator;
4
5
use Illuminate\Support\Facades\Route;
6
7
class ArchitectRoutes
8
{
9
    /**
10
     * @return $this
11
     */
12
    public function withAuthenticationRoutes()
13
    {
14
        static::router()->group(function () {
15
            Route::get('login', [
16
                'as' => 'scaffold.login',
17
                'uses' => 'AuthController@getLogin',
18
            ]);
19
            Route::post('login', 'AuthController@postLogin');
20
            Route::get('logout', [
21
                'as' => 'scaffold.logout',
22
                'uses' => 'AuthController@getLogout',
23
            ]);
24
        });
25
26
        return $this;
27
    }
28
29
    /**
30
     * @return $this
31
     */
32
    public function withTranslationRoutes()
33
    {
34
        static::router()->group(function () {
35
            Route::resource('translations', 'TranslationsController', [
36
                'only' => ['index', 'store'],
37
                'as' => 'scaffold',
38
            ]);
39
        });
40
41
        return $this;
42
    }
43
44
    /**
45
     * @return $this
46
     */
47
    public function withMediaRoutes()
48
    {
49
        static::router()->group(function () {
50
            Route::group(['prefix' => 'media'], function () {
51
                Route::get('/', [
52
                    'as' => 'scaffold.media',
53
                    'uses' => 'MediaController@index',
54
                ]);
55
56
                Route::get('popup', [
57
                    'as' => 'scaffold.media.popup',
58
                    'uses' => 'MediaController@popup',
59
                ]);
60
61
                Route::post('/', [
62
                    'as' => 'scaffold.media.mkdir',
63
                    'uses' => 'MediaController@mkdir',
64
                ]);
65
66
                Route::post('rename', [
67
                    'as' => 'scaffold.media.rename',
68
                    'uses' => 'MediaController@rename',
69
                ]);
70
71
                Route::post('move', [
72
                    'as' => 'scaffold.media.move',
73
                    'uses' => 'MediaController@move',
74
                ]);
75
76
                Route::post('remove', [
77
                    'as' => 'scaffold.media.remove',
78
                    'uses' => 'MediaController@removeSelected',
79
                ]);
80
81
                Route::post('upload', [
82
                    'as' => 'scaffold.media.upload',
83
                    'uses' => 'MediaController@upload',
84
                ]);
85
            });
86
        });
87
88
        return $this;
89
    }
90
91
    /**
92
     * @return $this
93
     */
94
    public function withSettingRoutes()
95
    {
96
        static::router()->group(function () {
97
            Route::get('settings', [
98
                'as' => 'scaffold.settings.edit',
99
                'uses' => 'SettingsController@edit',
100
            ]);
101
102
            Route::post('settings', [
103
                'as' => 'scaffold.settings.update',
104
                'uses' => 'SettingsController@update',
105
            ]);
106
        });
107
108
        return $this;
109
    }
110
111
    /**
112
     * @param \Closure $callback
113
     * @return $this
114
     */
115
    public function withExtraRoutes(\Closure $callback)
116
    {
117
        static::router()->group($callback);
118
119
        return $this;
120
    }
121
122
    /**
123
     * @return \Illuminate\Routing\RouteRegistrar
124
     */
125
    protected static function router(): \Illuminate\Routing\RouteRegistrar
126
    {
127
        return Route::namespace('Terranet\Administrator\Controllers')
128
            ->middleware(['web'])
129
            ->prefix(Architect::path());
130
    }
131
}