33 lines
1.3 KiB
PHP
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): 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;
|
|
} |