andriiosmak/laravel-layer-sdk

View on GitHub
src/Routers/RouterInterface.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace Aosmak\Laravel\Layer\Sdk\Routers;

use Illuminate\Contracts\Container\Container;

/**
 * Interface RouterInterface
 * @package namespace Aosmak\Laravel\Layer\Sdk\Routers
 */
interface RouterInterface
{
    /**
     * Set an application ID
     *
     * @param string $appId application ID
     *
     * @return void
     */
    public function setAppId(string $appId): void;

    /**
     * Set an Container
     *
     * @param \Illuminate\Contracts\Container\Container $container
     *
     * @return void
     */
    public function setContainer(Container $container): void;

    /**
     * Generate a request URL
     *
     * @param integer $id user ID
     * @param array $data user data
     *
     * @return string
     */
    public function genereteURL(string $url, array $data): string;

    /**
     * Get a URL
     *
     * @param string $pattern base uri pattern
     * @param string $entityId entity ID
     * @param string $path path
     *
     * @return string
     */
    public function getShortUrl(string $pattern, string $entityId = null, string $path = null): string;

    /**
     * Get a content URL
     *
     * @param string $conversationId user ID
     * @param string $contentId contentId content item ID
     *
     * @return string
     */
    public function getContentUrl(string $conversationId, string $contentId): string;

    /**
     * Send message URL
     *
     * @param string $userId user ID
     * @param string $conversationId conversation ID
     *
     * @return string
     */
    public function sendMessagesURL(string $userId, string $conversationId): string;

    /**
     * Get user message receipts URL
     *
     * @param string $userId user ID
     * @param string $messageId message ID
     *
     * @return string
     */
    public function getMessageReceiptsURL(string $userId, string $messageId): string;

    /**
     * Get a user message URL
     *
     * @param string $userId user ID
     * @param string $messageId message ID
     *
     * @return string
     */
    public function deleteMessageURL(string $userId, string $messageId): string;

    /**
     * Get a message URL
     *
     * @param string $messageId message ID
     * @param string $conversationId user ID
     *
     * @return string
     */
    public function getMessageURL(string $messageId, string $conversationId): string;
}