Passed
Push — main ( 0230d8...7f267a )
by PRATIK
03:52
created

WebsiteServiceProvider::repos()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 32
Code Lines 30

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 1 Features 1
Metric Value
cc 1
eloc 30
c 2
b 1
f 1
nc 1
nop 0
dl 0
loc 32
rs 9.44
1
<?php
2
3
namespace Adminetic\Website\Provider;
4
5
use Adminetic\Website\Console\Commands\AdmineticWebsiteInstallCommand;
6
use Adminetic\Website\Console\Commands\AdmineticWebsiteMigrateCommand;
7
use Adminetic\Website\Console\Commands\AdmineticWebsitePermissionCommand;
8
use Adminetic\Website\Console\Commands\AdmineticWebsiteRollbackCommand;
9
use Adminetic\Website\Console\Commands\SitemapGenerateCommand;
10
use Adminetic\Website\Http\Livewire\Admin\About\AboutTable;
11
use Adminetic\Website\Http\Livewire\Admin\Attribute\AttributeTable;
12
use Adminetic\Website\Http\Livewire\Admin\Career\ApplicationTable;
13
use Adminetic\Website\Http\Livewire\Admin\Career\CareerTable;
14
use Adminetic\Website\Http\Livewire\Admin\Career\Selection;
15
use Adminetic\Website\Http\Livewire\Admin\Career\Summary;
16
use Adminetic\Website\Http\Livewire\Admin\Category\CategoryTable;
17
use Adminetic\Website\Http\Livewire\Admin\Category\QuickCategory;
18
use Adminetic\Website\Http\Livewire\Admin\Charts\Event\EventPassChart;
19
use Adminetic\Website\Http\Livewire\Admin\Charts\Event\EventPaymentChart;
20
use Adminetic\Website\Http\Livewire\Admin\Client\ClientTable;
21
use Adminetic\Website\Http\Livewire\Admin\Counter\CounterTable;
22
use Adminetic\Website\Http\Livewire\Admin\Dashboard\NewsHeadline;
23
use Adminetic\Website\Http\Livewire\Admin\Dashboard\WebsiteDashboard;
24
use Adminetic\Website\Http\Livewire\Admin\Download\DownloadTable;
25
use Adminetic\Website\Http\Livewire\Admin\Facility\FacilityTable;
26
use Adminetic\Website\Http\Livewire\Admin\Faq\FaqTable;
27
use Adminetic\Website\Http\Livewire\Admin\Feature\FeatureTable;
28
use Adminetic\Website\Http\Livewire\Admin\Gallery\GalleryTable;
29
use Adminetic\Website\Http\Livewire\Admin\Gallery\GalleryVideo;
30
use Adminetic\Website\Http\Livewire\Admin\History\HistoryTable;
31
use Adminetic\Website\Http\Livewire\Admin\Notice\NoticeTable;
32
use Adminetic\Website\Http\Livewire\Admin\Package\PackageFeature;
33
use Adminetic\Website\Http\Livewire\Admin\Package\PackageTable;
34
use Adminetic\Website\Http\Livewire\Admin\Page\PageTable;
35
use Adminetic\Website\Http\Livewire\Admin\Payment\PaymentMaster;
36
use Adminetic\Website\Http\Livewire\Admin\Payment\PaymentPanel;
37
use Adminetic\Website\Http\Livewire\Admin\Payment\PaymentTable;
38
use Adminetic\Website\Http\Livewire\Admin\Popup\PopupTable;
39
use Adminetic\Website\Http\Livewire\Admin\Post\PostTable;
40
use Adminetic\Website\Http\Livewire\Admin\Process\ProcessTable;
41
use Adminetic\Website\Http\Livewire\Admin\Product\ProductTable;
42
use Adminetic\Website\Http\Livewire\Admin\Project\ProjectTable;
43
use Adminetic\Website\Http\Livewire\Admin\Service\ServiceTable;
44
use Adminetic\Website\Http\Livewire\Admin\Slider\SliderTable;
45
use Adminetic\Website\Http\Livewire\Admin\Software\SoftwareModules;
46
use Adminetic\Website\Http\Livewire\Admin\Software\SoftwareTable;
47
use Adminetic\Website\Http\Livewire\Admin\System\UploadImage;
48
use Adminetic\Website\Http\Livewire\Admin\Team\TeamTable;
49
use Adminetic\Website\Http\Livewire\Admin\Testimonial\TestimonialTable;
50
use Adminetic\Website\Models\Admin\About;
51
use Adminetic\Website\Models\Admin\Application;
52
use Adminetic\Website\Models\Admin\Attribute;
53
use Adminetic\Website\Models\Admin\Career;
54
use Adminetic\Website\Models\Admin\Category;
55
use Adminetic\Website\Models\Admin\Client;
56
use Adminetic\Website\Models\Admin\Counter;
57
use Adminetic\Website\Models\Admin\Download;
58
use Adminetic\Website\Models\Admin\Facility;
59
use Adminetic\Website\Models\Admin\Faq;
60
use Adminetic\Website\Models\Admin\Feature;
61
use Adminetic\Website\Models\Admin\Gallery;
62
use Adminetic\Website\Models\Admin\History;
63
use Adminetic\Website\Models\Admin\Notice;
64
use Adminetic\Website\Models\Admin\Package;
65
use Adminetic\Website\Models\Admin\Page;
66
use Adminetic\Website\Models\Admin\Payment;
67
use Adminetic\Website\Models\Admin\Popup;
68
use Adminetic\Website\Models\Admin\Post;
69
use Adminetic\Website\Models\Admin\Process;
70
use Adminetic\Website\Models\Admin\Product;
71
use Adminetic\Website\Models\Admin\Project;
72
use Adminetic\Website\Models\Admin\Service;
73
use Adminetic\Website\Models\Admin\Slider;
74
use Adminetic\Website\Models\Admin\Software;
75
use Adminetic\Website\Models\Admin\Team;
76
use Adminetic\Website\Models\Admin\Testimonial;
77
use Adminetic\Website\Policies\AboutPolicy;
78
use Adminetic\Website\Policies\ApplicationPolicy;
79
use Adminetic\Website\Policies\AttributePolicy;
80
use Adminetic\Website\Policies\CareerPolicy;
81
use Adminetic\Website\Policies\CategoryPolicy;
82
use Adminetic\Website\Policies\ClientPolicy;
83
use Adminetic\Website\Policies\CounterPolicy;
84
use Adminetic\Website\Policies\DownloadPolicy;
85
use Adminetic\Website\Policies\FacilityPolicy;
86
use Adminetic\Website\Policies\FaqPolicy;
87
use Adminetic\Website\Policies\FeaturePolicy;
88
use Adminetic\Website\Policies\GalleryPolicy;
89
use Adminetic\Website\Policies\HistoryPolicy;
90
use Adminetic\Website\Policies\NoticePolicy;
91
use Adminetic\Website\Policies\PackagePolicy;
92
use Adminetic\Website\Policies\PagePolicy;
93
use Adminetic\Website\Policies\PaymentPolicy;
94
use Adminetic\Website\Policies\PopupPolicy;
95
use Adminetic\Website\Policies\PostPolicy;
96
use Adminetic\Website\Policies\ProcessPolicy;
97
use Adminetic\Website\Policies\ProductPolicy;
98
use Adminetic\Website\Policies\ProjectPolicy;
99
use Adminetic\Website\Policies\ServicePolicy;
100
use Adminetic\Website\Policies\SliderPolicy;
101
use Adminetic\Website\Policies\SoftwarePolicy;
102
use Adminetic\Website\Policies\TeamPolicy;
103
use Adminetic\Website\Policies\TestimonialPolicy;
104
use Illuminate\Support\Facades\Gate;
105
use Illuminate\Support\Facades\Route;
106
use Illuminate\Support\ServiceProvider;
107
use Livewire\Livewire;
108
109
class WebsiteServiceProvider extends ServiceProvider
110
{
111
    // Register Policies
112
    protected $policies = [
113
        Application::class => ApplicationPolicy::class,
114
        Attribute::class => AttributePolicy::class,
115
        Career::class => CareerPolicy::class,
116
        Category::class => CategoryPolicy::class,
117
        Client::class => ClientPolicy::class,
118
        Counter::class => CounterPolicy::class,
119
        Download::class => DownloadPolicy::class,
120
        Facility::class => FacilityPolicy::class,
121
        Faq::class => FaqPolicy::class,
122
        Feature::class => FeaturePolicy::class,
123
        Gallery::class => GalleryPolicy::class,
124
        Notice::class => NoticePolicy::class,
125
        Package::class => PackagePolicy::class,
126
        Page::class => PagePolicy::class,
127
        Payment::class => PaymentPolicy::class,
128
        Popup::class => PopupPolicy::class,
129
        Post::class => PostPolicy::class,
130
        Process::class => ProcessPolicy::class,
131
        Product::class => ProductPolicy::class,
132
        Project::class => ProjectPolicy::class,
133
        Service::class => ServicePolicy::class,
134
        Software::class => SoftwarePolicy::class,
135
        Team::class => TeamPolicy::class,
136
        Testimonial::class => TestimonialPolicy::class,
137
        Slider::class => SliderPolicy::class,
138
        About::class => AboutPolicy::class,
139
        History::class => HistoryPolicy::class,
140
141
    ];
142
143
    /**
144
     * Bootstrap services.
145
     *
146
     * @return void
147
     */
148
    public function boot()
149
    {
150
        // Publish Ressource
151
        if ($this->app->runningInConsole()) {
152
            $this->publishResource();
153
        }
154
        // Register Resources
155
        $this->registerResource();
156
        // Register Policies
157
        $this->registerPolicies();
158
        // Register View Components
159
        $this->registerLivewireComponents();
160
    }
161
162
    /**
163
     * Register services.
164
     *
165
     * @return void
166
     */
167
    public function register()
168
    {
169
        $this->registerCommands();
170
        /* Repository Interface Binding */
171
        $this->repos();
172
    }
173
174
    /**
175
     * Publish Package Resource.
176
     *
177
     * @return void
178
     */
179
    protected function publishResource()
180
    {
181
        // Publish Config File
182
        $this->publishes([
183
            __DIR__ . '/../../config/website.php' => config_path('website.php'),
184
        ], 'website-config');
185
        // Publish View Files
186
        $this->publishes([
187
            __DIR__ . '/../../resources/views' => resource_path('views/vendor/adminetic/plugin/website'),
188
        ], 'website-views');
189
        // Publish Migration Files
190
        $this->publishes([
191
            __DIR__ . '/../../database/migrations' => database_path('migrations/website'),
192
        ], 'website-migrations');
193
        $this->publishes([
194
            __DIR__ . '/../../payload/assets' => public_path('plugins/website'),
195
        ], 'website-assets');
196
        $this->publishes([
197
            __DIR__ . '/../../payload/modules' => app_path('Modules'),
198
        ], 'website-modules');
199
    }
200
201
    /**
202
     * Register Package Resource.
203
     *
204
     * @return void
205
     */
206
    protected function registerResource()
207
    {
208
        if (!config('website.publish_migrations', true)) {
209
            $this->loadMigrationsFrom(__DIR__ . '/../../database/migrations'); // Loading Migration Files
210
        }
211
        $this->loadViewsFrom(__DIR__ . '/../../resources/views', 'website'); // Loading Views Files
212
        $this->registerRoutes();
213
    }
214
215
    /**
216
     * Register Package Command.
217
     *
218
     * @return void
219
     */
220
    protected function registerCommands()
221
    {
222
        $this->commands([
223
            AdmineticWebsiteInstallCommand::class,
224
            AdmineticWebsitePermissionCommand::class,
225
            AdmineticWebsiteMigrateCommand::class,
226
            AdmineticWebsiteRollbackCommand::class,
227
            SitemapGenerateCommand::class,
228
        ]);
229
    }
230
231
    /**
232
     * Register Routes.
233
     *
234
     * @return void
235
     */
236
    protected function registerRoutes()
237
    {
238
        Route::group($this->routeConfiguration(), function () {
239
            $this->loadRoutesFrom(__DIR__ . '/../../routes/web.php');
240
        });
241
242
        if (config('website.website_api_end_points', true)) {
243
            Route::group($this->apiRouteConfiguration(), function () {
244
                $this->loadRoutesFrom(__DIR__ . '/../../routes/api.php');
245
            });
246
        }
247
    }
248
249
    /**
250
     * Register Route Configuration.
251
     *
252
     * @return array
253
     */
254
    protected function routeConfiguration()
255
    {
256
        return [
257
            'prefix' => config('adminetic.prefix', 'admin'),
258
            'middleware' => config('adminetic.middleware', ['web', 'auth']),
259
        ];
260
    }
261
262
    /**
263
     * Register API Route Configuration.
264
     *
265
     * @return array
266
     */
267
    protected function apiRouteConfiguration()
268
    {
269
        return [
270
            'prefix' => config('website.api_prefix', 'api'),
271
            'middleware' => config('website.api_middleware', ['api']),
272
        ];
273
    }
274
275
    /**
276
     * Register Components.
277
     *
278
     * @return void
279
     */
280
    protected function registerLivewireComponents()
281
    {
282
        Livewire::component('admin.attribute.attribute-table', AttributeTable::class);
283
        Livewire::component('admin.career.application-table', ApplicationTable::class);
284
        Livewire::component('admin.career.career-table', CareerTable::class);
285
        Livewire::component('admin.career.selection', Selection::class);
286
        Livewire::component('admin.career.summary', Summary::class);
287
        Livewire::component('admin.category.category-table', CategoryTable::class);
288
        Livewire::component('admin.category.quick-category', QuickCategory::class);
289
        Livewire::component('admin.charts.event.event-pass-chart', EventPassChart::class);
290
        Livewire::component('admin.charts.event.event-payment-chart', EventPaymentChart::class);
291
        Livewire::component('admin.client.client-table', ClientTable::class);
292
        Livewire::component('admin.counter.counter-table', CounterTable::class);
293
        Livewire::component('admin.dashboard.news-headline', NewsHeadline::class);
294
        Livewire::component('admin.dashboard.website-dashboard', WebsiteDashboard::class);
295
        Livewire::component('admin.download.download-table', DownloadTable::class);
296
        Livewire::component('admin.facility.facility-table', FacilityTable::class);
297
        Livewire::component('admin.faq.faq-table', FaqTable::class);
298
        Livewire::component('admin.feature.feature-table', FeatureTable::class);
299
        Livewire::component('admin.gallery.gallery-table', GalleryTable::class);
300
        Livewire::component('admin.gallery.gallery-video', GalleryVideo::class);
301
        Livewire::component('admin.notice.notice-table', NoticeTable::class);
302
        Livewire::component('admin.package.package-table', PackageTable::class);
303
        Livewire::component('admin.package.package-feature', PackageFeature::class);
304
        Livewire::component('admin.page.page-table', PageTable::class);
305
        Livewire::component('admin.payment.payment-master', PaymentMaster::class);
306
        Livewire::component('admin.payment.payment-panel', PaymentPanel::class);
307
        Livewire::component('admin.payment.payment-table', PaymentTable::class);
308
        Livewire::component('admin.popup.faq-table', PopupTable::class);
309
        Livewire::component('admin.post.post-table', PostTable::class);
310
        Livewire::component('admin.process.process-table', ProcessTable::class);
311
        Livewire::component('admin.product.product-table', ProductTable::class);
312
        Livewire::component('admin.project.project-table', ProjectTable::class);
313
        Livewire::component('admin.service.service-table', ServiceTable::class);
314
        Livewire::component('admin.software.software-table', SoftwareTable::class);
315
        Livewire::component('admin.software.software-modules', SoftwareModules::class);
316
        Livewire::component('admin.system.upload-image', UploadImage::class);
317
        Livewire::component('admin.team.team-table', TeamTable::class);
318
        Livewire::component('admin.testimonial.testimonial-table', TestimonialTable::class);
319
        Livewire::component('admin.slider.slider-table', SliderTable::class);
320
        Livewire::component('admin.about.about-table', AboutTable::class);
321
        Livewire::component('admin.history.history-table', HistoryTable::class);
322
    }
323
324
    /**
325
     * Repository Binding.
326
     *
327
     * @return void
328
     */
329
    protected function repos()
330
    {
331
        $this->app->bind(\Adminetic\Website\Contracts\CategoryRepositoryInterface::class, \Adminetic\Website\Repositories\CategoryRepository::class);
332
        $this->app->bind(\Adminetic\Website\Contracts\ServiceRepositoryInterface::class, \Adminetic\Website\Repositories\ServiceRepository::class);
333
        $this->app->bind(\Adminetic\Website\Contracts\FacilityRepositoryInterface::class, \Adminetic\Website\Repositories\FacilityRepository::class);
334
        $this->app->bind(\Adminetic\Website\Contracts\FeatureRepositoryInterface::class, \Adminetic\Website\Repositories\FeatureRepository::class);
335
        $this->app->bind(\Adminetic\Website\Contracts\FaqRepositoryInterface::class, \Adminetic\Website\Repositories\FaqRepository::class);
336
        $this->app->bind(\Adminetic\Website\Contracts\CounterRepositoryInterface::class, \Adminetic\Website\Repositories\CounterRepository::class);
337
        $this->app->bind(\Adminetic\Website\Contracts\GalleryRepositoryInterface::class, \Adminetic\Website\Repositories\GalleryRepository::class);
338
        $this->app->bind(\Adminetic\Website\Contracts\ClientRepositoryInterface::class, \Adminetic\Website\Repositories\ClientRepository::class);
339
        $this->app->bind(\Adminetic\Website\Contracts\NoticeRepositoryInterface::class, \Adminetic\Website\Repositories\NoticeRepository::class);
340
        $this->app->bind(\Adminetic\Website\Contracts\PopupRepositoryInterface::class, \Adminetic\Website\Repositories\PopupRepository::class);
341
        $this->app->bind(\Adminetic\Website\Contracts\DownloadRepositoryInterface::class, \Adminetic\Website\Repositories\DownloadRepository::class);
342
        $this->app->bind(\Adminetic\Website\Contracts\PageRepositoryInterface::class, \Adminetic\Website\Repositories\PageRepository::class);
343
        $this->app->bind(\Adminetic\Website\Contracts\TestimonialRepositoryInterface::class, \Adminetic\Website\Repositories\TestimonialRepository::class);
344
        $this->app->bind(\Adminetic\Website\Contracts\TeamRepositoryInterface::class, \Adminetic\Website\Repositories\TeamRepository::class);
345
        $this->app->bind(\Adminetic\Website\Contracts\PackageRepositoryInterface::class, \Adminetic\Website\Repositories\PackageRepository::class);
346
        $this->app->bind(\Adminetic\Website\Contracts\ProjectRepositoryInterface::class, \Adminetic\Website\Repositories\ProjectRepository::class);
347
        $this->app->bind(\Adminetic\Website\Contracts\EventRepositoryInterface::class, \Adminetic\Website\Repositories\EventRepository::class);
0 ignored issues
show
Bug introduced by
The type Adminetic\Website\Repositories\EventRepository was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
Bug introduced by
The type Adminetic\Website\Contra...ventRepositoryInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
348
        $this->app->bind(\Adminetic\Website\Contracts\TicketRepositoryInterface::class, \Adminetic\Website\Repositories\TicketRepository::class);
0 ignored issues
show
Bug introduced by
The type Adminetic\Website\Contra...cketRepositoryInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
Bug introduced by
The type Adminetic\Website\Repositories\TicketRepository was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
349
        $this->app->bind(\Adminetic\Website\Contracts\GuestRepositoryInterface::class, \Adminetic\Website\Repositories\GuestRepository::class);
0 ignored issues
show
Bug introduced by
The type Adminetic\Website\Repositories\GuestRepository was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
Bug introduced by
The type Adminetic\Website\Contra...uestRepositoryInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
350
        $this->app->bind(\Adminetic\Website\Contracts\CouponRepositoryInterface::class, \Adminetic\Website\Repositories\CouponRepository::class);
0 ignored issues
show
Bug introduced by
The type Adminetic\Website\Contra...uponRepositoryInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
Bug introduced by
The type Adminetic\Website\Repositories\CouponRepository was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
351
        $this->app->bind(\Adminetic\Website\Contracts\PaymentRepositoryInterface::class, \Adminetic\Website\Repositories\PaymentRepository::class);
352
        $this->app->bind(\Adminetic\Website\Contracts\PostRepositoryInterface::class, \Adminetic\Website\Repositories\PostRepository::class);
353
        $this->app->bind(\Adminetic\Website\Contracts\CareerRepositoryInterface::class, \Adminetic\Website\Repositories\CareerRepository::class);
354
        $this->app->bind(\Adminetic\Website\Contracts\AttributeRepositoryInterface::class, \Adminetic\Website\Repositories\AttributeRepository::class);
355
        $this->app->bind(\Adminetic\Website\Contracts\ProductRepositoryInterface::class, \Adminetic\Website\Repositories\ProductRepository::class);
356
        $this->app->bind(\Adminetic\Website\Contracts\ProcessRepositoryInterface::class, \Adminetic\Website\Repositories\ProcessRepository::class);
357
        $this->app->bind(\Adminetic\Website\Contracts\SoftwareRepositoryInterface::class, \Adminetic\Website\Repositories\SoftwareRepository::class);
358
        $this->app->bind(\Adminetic\Website\Contracts\SliderRepositoryInterface::class, \Adminetic\Website\Repositories\SliderRepository::class);
359
        $this->app->bind(\Adminetic\Website\Contracts\AboutRepositoryInterface::class, \Adminetic\Website\Repositories\AboutRepository::class);
360
        $this->app->bind(\Adminetic\Website\Contracts\HistoryRepositoryInterface::class, \Adminetic\Website\Repositories\HistoryRepository::class);
361
    }
362
363
    /**
364
     * Register Policies.
365
     *
366
     * @return void
367
     */
368
    protected function registerPolicies()
369
    {
370
        foreach ($this->policies as $key => $value) {
371
            Gate::policy($key, $value);
372
        }
373
    }
374
}
375