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

eliashaeussler / composer-update-check / 11476967159

23 Oct 2024 09:22AM UTC coverage: 20.394%. First build
11476967159

Pull #130

github

web-flow
Merge pull request #147 from eliashaeussler/task/2.x/teams-enums
Pull Request #130: [!!!][FEATURE] Modernize plugin

347 of 1803 new or added lines in 56 files covered. (19.25%)

373 of 1829 relevant lines covered (20.39%)

1.09 hits per line

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

0.0
/src/Entity/Report/Dto/TeamsAttachment.php
1
<?php
2

3
declare(strict_types=1);
4

5
/*
6
 * This file is part of the Composer package "eliashaeussler/composer-update-check".
7
 *
8
 * Copyright (C) 2020-2024 Elias Häußler <elias@haeussler.dev>
9
 *
10
 * This program is free software: you can redistribute it and/or modify
11
 * it under the terms of the GNU General Public License as published by
12
 * the Free Software Foundation, either version 3 of the License, or
13
 * (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
 * GNU General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU General Public License
21
 * along with this program. If not, see <https://www.gnu.org/licenses/>.
22
 */
23

24
namespace EliasHaeussler\ComposerUpdateCheck\Entity\Report\Dto;
25

26
use JsonSerializable;
27

28
/**
29
 * TeamsAttachment.
30
 *
31
 * @author Elias Häußler <e.haeussler@familie-redlich.de>
32
 * @license GPL-3.0-or-later
33
 */
34
final class TeamsAttachment implements JsonSerializable
35
{
36
    /**
37
     * @param array<string, mixed> $content
38
     */
NEW
39
    private function __construct(
×
40
        public readonly string $contentType,
41
        public readonly array $content,
NEW
42
    ) {}
×
43

44
    /**
45
     * @param list<TeamsContent> $body
46
     * @param list<TeamsAction>  $actions
47
     */
NEW
48
    public static function adaptiveCard(array $body, string $fallbackText, array $actions = []): self
×
49
    {
NEW
50
        return new self(
×
NEW
51
            'application/vnd.microsoft.card.adaptive',
×
NEW
52
            [
×
NEW
53
                'type' => 'AdaptiveCard',
×
NEW
54
                'version' => '1.2',
×
NEW
55
                'body' => $body,
×
NEW
56
                'msteams' => [
×
NEW
57
                    'width' => 'Full',
×
NEW
58
                ],
×
NEW
59
                'fallbackText' => $fallbackText,
×
NEW
60
                'actions' => $actions,
×
NEW
61
            ],
×
NEW
62
        );
×
63
    }
64

65
    /**
66
     * @return array{
67
     *     contentType: string,
68
     *     content: array<string, mixed>,
69
     * }
70
     */
NEW
71
    public function jsonSerialize(): array
×
72
    {
NEW
73
        return [
×
NEW
74
            'contentType' => $this->contentType,
×
NEW
75
            'content' => $this->content,
×
NEW
76
        ];
×
77
    }
78
}
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

© 2025 Coveralls, Inc