. */ declare(strict_types=1); namespace FireflyIII\Repositories\Attachment; use FireflyIII\Enums\UserRoleEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\Attachment; use FireflyIII\Models\UserGroup; use FireflyIII\User; use Illuminate\Contracts\Auth\Authenticatable; use Illuminate\Support\Collection; /** * Interface AttachmentRepositoryInterface. * * @method setUserGroup(UserGroup $group) * @method getUserGroup() * @method getUser() * @method checkUserGroupAccess(UserRoleEnum $role) * @method setUser(null|Authenticatable|User $user) * @method setUserGroupById(int $userGroupId) */ interface AttachmentRepositoryInterface { public function destroy(Attachment $attachment): bool; public function exists(Attachment $attachment): bool; public function get(): Collection; public function getContent(Attachment $attachment): string; /** * Get attachment note text or empty string. */ public function getNoteText(Attachment $attachment): ?string; /** * @throws FireflyException */ public function store(array $data): Attachment; public function update(Attachment $attachment, array $attachmentData): Attachment; }