Return proper current-user-principal on v1 endpoints - fixes #23306
This commit is contained in:
parent
4c738ea9c4
commit
8c2b19d2bc
|
@ -23,7 +23,10 @@
|
|||
namespace OCA\DAV\Connector;
|
||||
|
||||
use OCA\DAV\Connector\Sabre\DavAclPlugin;
|
||||
use Sabre\DAV\INode;
|
||||
use Sabre\DAV\PropFind;
|
||||
use Sabre\HTTP\URLUtil;
|
||||
use Sabre\DAVACL\Xml\Property\Principal;
|
||||
|
||||
class LegacyDAVACL extends DavAclPlugin {
|
||||
|
||||
|
@ -67,4 +70,16 @@ class LegacyDAVACL extends DavAclPlugin {
|
|||
}
|
||||
return "principals/$name";
|
||||
}
|
||||
|
||||
function propFind(PropFind $propFind, INode $node) {
|
||||
/* Overload current-user-principal */
|
||||
$propFind->handle('{DAV:}current-user-principal', function () {
|
||||
if ($url = parent::getCurrentUserPrincipal()) {
|
||||
return new Principal(Principal::HREF, $url . '/');
|
||||
} else {
|
||||
return new Principal(Principal::UNAUTHENTICATED);
|
||||
}
|
||||
});
|
||||
parent::propFind($propFind, $node);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue