wikimedia/mediawiki-extensions-Wikibase

View on GitHub
repo/rest-api/src/Application/UseCases/SetItemDescription/SetItemDescriptionRequest.php

Summary

Maintainability
C
7 hrs
Test Coverage
<?php declare( strict_types = 1 );

namespace Wikibase\Repo\RestApi\Application\UseCases\SetItemDescription;

use Wikibase\Repo\RestApi\Application\UseCaseRequestValidation\EditMetadataRequest;
use Wikibase\Repo\RestApi\Application\UseCaseRequestValidation\ItemDescriptionEditRequest;
use Wikibase\Repo\RestApi\Application\UseCaseRequestValidation\UseCaseRequest;

/**
 * @license GPL-2.0-or-later
 */
class SetItemDescriptionRequest implements UseCaseRequest, ItemDescriptionEditRequest, EditMetadataRequest {

    private string $itemId;
    private string $languageCode;
    private string $description;
    private array $editTags;
    private bool $isBot;
    private ?string $comment;
    private ?string $username;

    public function __construct(
        string $itemId,
        string $languageCode,
        string $description,
        array $editTags,
        bool $isBot,
        ?string $comment,
        ?string $username
    ) {
        $this->itemId = $itemId;
        $this->languageCode = $languageCode;
        $this->description = trim( $description );
        $this->editTags = $editTags;
        $this->isBot = $isBot;
        $this->comment = $comment;
        $this->username = $username;
    }

    public function getItemId(): string {
        return $this->itemId;
    }

    public function getLanguageCode(): string {
        return $this->languageCode;
    }

    public function getDescription(): string {
        return $this->description;
    }

    public function getEditTags(): array {
        return $this->editTags;
    }

    public function isBot(): bool {
        return $this->isBot;
    }

    public function getComment(): ?string {
        return $this->comment;
    }

    public function getUsername(): ?string {
        return $this->username;
    }
}