• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

LeTraceurSnorkLibrary / MessSaga / 23844646769

01 Apr 2026 10:42AM UTC coverage: 31.674% (+31.1%) from 0.549%
23844646769

push

github

web-flow
feat: media files import

431 of 801 new or added lines in 30 files covered. (53.81%)

4 existing lines in 4 files now uncovered.

439 of 1386 relevant lines covered (31.67%)

0.74 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/app/Providers/AppServiceProvider.php
1
<?php
2

3
declare(strict_types=1);
4

5
namespace App\Providers;
6

7
use App\Services\Import\Archives\RarImportArchiveExtractor;
8
use App\Services\Import\Archives\ZipImportArchiveExtractor;
9
use App\Services\Import\Export\Factories\ExportArchiveLocatorFactory;
10
use App\Services\Import\Export\Locators\Archive\TelegramExportArchiveLocator;
11
use App\Services\Import\Export\Locators\Archive\WhatsAppExportArchiveLocator;
12
use App\Services\Import\Factories\ImportArchiveExtractorFactory;
13
use App\Services\Parsers\ParserRegistry;
14
use App\Services\Parsers\TelegramParser;
15
use App\Services\Parsers\WhatsAppParser;
16
use Exception;
17
use Illuminate\Support\Facades\Validator;
18
use Illuminate\Support\Facades\Vite;
19
use Illuminate\Support\ServiceProvider;
20
use Propaganistas\LaravelPhone\PhoneNumber;
21

22
class AppServiceProvider extends ServiceProvider
23
{
24
    /**
25
     * Register any application services.
26
     */
27
    public function register(): void
28
    {
29
        $this->app->singleton(ParserRegistry::class, function ($app) {
×
30
            $registry = new ParserRegistry();
×
31
            $registry->register('telegram', $app->make(TelegramParser::class));
×
32
            $registry->register('whatsapp', $app->make(WhatsAppParser::class));
×
33

34
            return $registry;
×
35
        });
×
36

NEW
37
        $this->app->singleton(ExportArchiveLocatorFactory::class, function ($app) {
×
NEW
38
            return new ExportArchiveLocatorFactory()
×
NEW
39
                ->register('telegram', $app->make(TelegramExportArchiveLocator::class))
×
NEW
40
                ->register('whatsapp', $app->make(WhatsAppExportArchiveLocator::class));
×
NEW
41
        });
×
42

NEW
43
        $this->app->singleton(ImportArchiveExtractorFactory::class, function ($app) {
×
NEW
44
            return new ImportArchiveExtractorFactory()
×
NEW
45
                ->register($app->make(ZipImportArchiveExtractor::class))
×
NEW
46
                ->register($app->make(RarImportArchiveExtractor::class));
×
NEW
47
        });
×
48
    }
49

50
    /**
51
     * Bootstrap any application services.
52
     */
53
    public function boot(): void
54
    {
55
        Vite::prefetch(concurrency: 3);
×
56

57
        Validator::extend('phone', function ($attribute, $value, $parameters, $validator) {
×
58
            try {
59
                return new PhoneNumber(
×
60
                    (string)$value,
×
61
                    $parameters
×
62
                        ?: ['RU']
×
63
                )->isValid();
×
64
            } catch (Exception $e) {
×
65
                return false;
×
66
            }
67
        });
×
68
    }
69
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc