<?xml version="1.0"?>
<!--
  - SPDX-FileCopyrightText: none
  - SPDX-License-Identifier: CC0-1.0
-->
<psalm
	errorBaseline="tests/psalm-baseline.xml"
	errorLevel="4"
	findUnusedBaselineEntry="true"
	findUnusedCode="false"
	resolveFromConfigFile="true"
	phpVersion="8.0.2"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="https://getpsalm.org/schema/config"
	xsi:schemaLocation="https://getpsalm.org/schema/config vendor-bin/psalm/vendor/vimeo/psalm/config.xsd"
>
	<projectFiles>
		<directory name="lib" />
		<ignoreFiles>
			<directory name="vendor" />
		</ignoreFiles>
	</projectFiles>
	<extraFiles>
		<directory name="vendor" />
		<directory name="vendor-bin/psalm/vendor/nextcloud/ocp" />
	</extraFiles>
	<issueHandlers>
		<LessSpecificReturnStatement errorLevel="error"/>
		<LessSpecificReturnType errorLevel="error"/>
		<LessSpecificImplementedReturnType errorLevel="error"/>
		<MoreSpecificReturnType errorLevel="error"/>
		<UndefinedClass>
			<errorLevel type="suppress">
				<referencedClass name="OC\Core\Controller\ClientFlowLoginController" />
				<referencedClass name="OC\Core\Controller\ClientFlowLoginV2Controller" />
				<referencedClass name="OC\Core\Controller\LoginController" />
				<referencedClass name="OCA\Files_Sharing\Controller\ShareController" />
				<referencedClass name="OCA\Registration\Controller\RegisterController" />
				<referencedClass name="Sabre\DAV\ServerPlugin" />
			</errorLevel>
		</UndefinedClass>
		<UndefinedDocblockClass>
			<errorLevel type="suppress">
				<referencedClass name="Doctrine\DBAL\Schema\Schema" />
				<referencedClass name="Doctrine\DBAL\Schema\Table" />
				<referencedClass name="OC\AppFramework\OCS\BaseResponse" />
			</errorLevel>
		</UndefinedDocblockClass>
	</issueHandlers>
	<stubs>
		<file name="tests/stubs/filesystem.php"/>
		<file name="tests/stubs/registration.php"/>
	</stubs>
</psalm>
