• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

LibreSign / libresign / 20660742393

02 Jan 2026 03:15PM UTC coverage: 44.876%. First build
20660742393

Pull #6302

github

web-flow
Merge 928956222 into cfd974a7d
Pull Request #6302: feat: envelope custom path

77 of 126 new or added lines in 6 files covered. (61.11%)

6660 of 14841 relevant lines covered (44.88%)

5.07 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/lib/Service/EnvelopeFileRelocator.php
1
<?php
2

3
declare(strict_types=1);
4
/**
5
 * SPDX-FileCopyrightText: 2025 LibreCode coop and contributors
6
 * SPDX-License-Identifier: AGPL-3.0-or-later
7
 */
8

9
namespace OCA\Libresign\Service;
10

11
use OCA\Libresign\Exception\LibresignException;
12
use OCP\Files\Node;
13
use OCP\IUser;
14

15
class EnvelopeFileRelocator {
16
        public function __construct(
17
                private FolderService $folderService,
18
        ) {
NEW
19
        }
×
20

21
        public function ensureFileInEnvelopeFolder(Node $sourceNode, int $envelopeFolderId, IUser $userManager): Node {
NEW
22
                $this->folderService->setUserId($userManager->getUID());
×
NEW
23
                $userRootFolder = $this->folderService->getUserRootFolder();
×
NEW
24
                $envelopeFolder = $userRootFolder->getFirstNodeById($envelopeFolderId);
×
25

NEW
26
                if (!$envelopeFolder instanceof \OCP\Files\Folder) {
×
NEW
27
                        throw new LibresignException('Envelope folder not found');
×
28
                }
29

NEW
30
                if ($this->isNodeInsideFolder($sourceNode, $envelopeFolder)) {
×
NEW
31
                        return $sourceNode;
×
32
                }
33

NEW
34
                if (!$sourceNode instanceof \OCP\Files\File) {
×
NEW
35
                        throw new LibresignException('Invalid file type for envelope');
×
36
                }
37

NEW
38
                return $envelopeFolder->newFile($sourceNode->getName(), $sourceNode->getContent());
×
39
        }
40

41
        private function isNodeInsideFolder(Node $node, \OCP\Files\Folder $folder): bool {
NEW
42
                return str_starts_with($node->getPath(), $folder->getPath() . '/');
×
43
        }
44
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc