Files
thankcard-system/app/Services/User/Contracts/UserServiceInterface.php
T
antv 781a0f8aa7 m
2026-07-21 10:16:06 +07:00

33 lines
1.3 KiB
PHP

<?php
namespace App\Services\User\Contracts;
use App\Models\User;
use Illuminate\Pagination\LengthAwarePaginator;
interface UserServiceInterface
{
public function getDashboard(User $user, string $selectedMonth): LengthAwarePaginator;
public function getOtherActiveUsers(User $currentUser): \Illuminate\Database\Eloquent\Collection;
public function sendThankcards(User $sender, string $receiverMsnv, int $amount, ?int $templateId = 1): void;
public function updatePassword(User $user, string $newPassword): void;
public function getPersonalStats(User $user, string $selectedMonth): array;
public function getRankingList(string $type, string $selectedMonth, User $currentUser): array;
public function updateProfile(User $user, array $data, ?\Illuminate\Http\UploadedFile $avatarFile = null): void;
public function getSentCardsToUserThisMonth(User $sender, string $receiverMsnv): int;
public function getReceivedPageData(User $user, string $selectedMonth, int $limit = 12, int $offset = 0): array;
public function getSentPageData(User $user, string $selectedMonth, int $limit = 12, int $offset = 0): array;
public function getReceivedFeed(User $user, string $selectedMonth, int $limit = 12, int $offset = 0): array;
public function getSentFeed(User $user, string $selectedMonth, int $limit = 12, int $offset = 0): array;
}