HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/be.naniguide.com/app/ActivityLog/ActivityInterface.php
<?php

namespace App\ActivityLog;

use App\Model\ActivityLog;
use App\Model\Customer;
use App\Model\User;

interface ActivityInterface
{
    /**
     * The activity type key, e.g. 'campaign.created'.
     */
    public static function type(): string;

    /**
     * The subject type for filtering, e.g. 'campaign'.
     */
    public static function subjectType(): string;

    /**
     * Persist a new activity log row.
     */
    public function record(): ActivityLog;

    /**
     * Render a human-readable HTML message from stored data.
     */
    public static function toHtml(ActivityLog $log): string;

    /**
     * Render a plain-text version.
     */
    public static function toPlainText(ActivityLog $log): string;

    /**
     * Material icon name for this activity type.
     */
    public static function icon(): string;
}