The new shares are completely without parents eventually. But for some
current legacy reasons the methods are still around. But we should
properly check for them.
Fixes#22309
Fixes#19685
The default expiration date should only be set when we create a new
share. So if a share is created and the expiration date is unset. And
after that the password is updated the expiration date should remain
unset.
* sharedWith
* sharedBy
* shareOwner
Now all set/get strings with the id. (userId, groupId,
federatedsharerId).
This to avoid a huge amount of if statements
Now that we support multiple managers we communicate shares to the
outside as 'providerId:shareId'. This makes sures that id's are unique
when references from the OCS API.
However, since we do not want to break the OCS API v1 we need to
somewhat hack around this.
When we switch to OCS API v2 (which we should when we support more
custom providers). We will change the id to always be the fullShareId.
* Added sharemanager class
This is the central class where all API calls talk to (OCS/Activity).
This in turn talks to the share providers to get the actual sharing
done.
It uses all ShareObjects
* Added share class
Simple class to hold all the share properties that is passed around
* Added IShareProvider interface
Interface that providers os a share have to implement.