Commit graph

2572 commits

Author SHA1 Message Date
Julius Härtl
9eb1554fad
Properly anotate LockedException in files node api
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-28 14:17:15 +01:00
Arthur Schiwon
b3749fbe16
add convenience interfaces so entities can provide presentable details
the File entity starts with a display text (used by talk)

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-28 13:51:21 +01:00
Arthur Schiwon
7210852f07
allow user flows when the acting user is legitimate, but not its owner
for instance, when a sharee changes a file, the owner can act upon

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-28 13:51:16 +01:00
Julius Härtl
329e8c2604
Add mimetype to creators
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-27 19:56:44 +01:00
Julius Härtl
9a2694fcb0
Code style fixes and cleanup
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-27 19:56:40 +01:00
Julius Härtl
e52793c69e
Direct editing API to allow file editing using a one-time token for
mobile apps

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-27 14:36:20 +01:00
Roeland Jago Douma
0532f8116d
Merge pull request #18019 from nextcloud/enhancement/password-policy-events
Add typed events for password_policy
2019-11-27 11:11:17 +01:00
blizzz
d2f9deba51
Merge pull request #17834 from nextcloud/enh/noid/generic-event-replacement-tk2
Public API's GenericEvent replacement (take 2)
2019-11-27 10:50:07 +01:00
Christoph Wurst
1a886b1472
Add typed events for password_policy
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-11-27 09:56:12 +01:00
Roeland Jago Douma
b607e3e6f4
Merge pull request #17948 from nextcloud/enh/check-if-property-is-bool
Make isXXX available for bool properties only
2019-11-26 12:25:36 +01:00
Robin Appelman
9e450d727a
add LEAST and GREATER to db function builder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-26 12:05:30 +01:00
Arthur Schiwon
1b8cbf115a
add Nextcloud specific GenericEvent implementation
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-26 10:23:33 +01:00
Roeland Jago Douma
0fab27f459
Merge pull request #18108 from nextcloud/refactor/strict-credential-store
Add return type hint to credential store and make it strict
2019-11-26 08:08:10 +01:00
blizzz
b1dffc5c2d
Merge pull request #17896 from nextcloud/fix/noid/consider-create-group-result
take group creation result into consideration
2019-11-25 17:16:40 +01:00
Christoph Wurst
128a460d7b
Add return type hint to credential store and make it strict
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-11-25 15:59:55 +01:00
Arthur Schiwon
7ff15c9756
fix documentation, get and createGroup may return null
* also have stricter checks in place

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-25 14:01:25 +01:00
Roeland Jago Douma
68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
Christoph Wurst
535000aac6
Make the post login event public
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-11-20 18:43:09 +01:00
Roeland Jago Douma
ccc0a5e0d5
Merge pull request #16828 from nextcloud/feature/noid/accept-incoming-shares
🔗☑️ Accept all incoming shares
2019-11-18 20:11:20 +01:00
Roeland Jago Douma
a184e350d7
Merge remote-tracking branch 'origin/master' into filecache-extension 2019-11-18 11:06:17 +01:00
Daniel Kesselberg
a27c10daa6
Make isXXX available for bool properties only
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-11-16 00:39:48 +01:00
Arthur Schiwon
2efe8aad38
relax dependency on GenericEvent, instead stay compatible with old events
* also fixes tagging events

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-13 14:23:39 +01:00
Robin Appelman
136c4ef925
dont expose metadata etag for now
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 12:39:36 +01:00
Robin Appelman
1b6e647b63
expose filecache extension data in FileInfo
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 12:39:32 +01:00
Robin Appelman
842da3f183
store filecache extension fields
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 11:30:44 +01:00
Robin Appelman
ac209cea52
add count() as shortcut for count('*') in FunctionBuilder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 11:30:32 +01:00
Robin Appelman
0e9feeb090
return from QueryBuilder instead of IQueryBuilder
this make the type hints work properly with querybuilder subclasses

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 11:30:27 +01:00
Joas Schilling
60da25681e
Only restrict loading of group and user shares for now
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:37:00 +01:00
Joas Schilling
520042bbd0
Allow to accept group shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:36:58 +01:00
Joas Schilling
dcdbea54e6
Respect the accepted flag for group and user shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:13:38 +01:00
Julius Härtl
3c09299346
Do not throw an exception for base App class
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-08 11:41:42 +01:00
Robin Appelman
5ca27085fc
mark getAppContainer as a valid way to construct app containers
this is triggerd (and not cought by the query arm) if an item from an app is queried before the app queries it's own Application instance

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-04 19:40:08 +01:00
blizzz
64bfd4bbeb
Merge pull request #17506 from nextcloud/bugfix/12790/workflow-frontend
Workflow frontend polishing
2019-11-04 15:01:55 +01:00
Daniel Calviño Sánchez
ea55f8eedd fixup! Get all shares as iterable
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-30 14:26:37 +01:00
Roeland Jago Douma
8085ca4cc4
Get all shares as iterable
Sometimes we need all shares or rather a specific subset of shares but
creating dedicated functions is a pain. This just returns an iterable
object for all shares so we can loop over them without allocating all
the memory on the system.

It should not be used by any user called code. But in an occ command or
background job it is fine IMO.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-10-30 09:45:27 +01:00
Roeland Jago Douma
380563fd53
Merge pull request #17562 from nextcloud/techdebt/17509/log-error-when-setting-up-application-incorrectly
Log an error in development cases when the application class was set …
2019-10-29 21:09:26 +01:00
Roeland Jago Douma
043b56cb7d
Having the contructor in the interface makes no sense...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-10-29 19:29:38 +01:00
Arthur Schiwon
9c766cf03f
do not break on Checkers that do not need specific context info
request time, for example

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-10-29 18:03:57 +01:00
Roeland Jago Douma
70500e25ad
Merge pull request #17173 from nextcloud/feature/event-broadcasting
Make it possible to broadcast events to (web) clients
2019-10-28 13:58:35 +01:00
Christoph Wurst
d180a98714
Make it possible to broadcast events to (web) clients
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-10-28 13:58:13 +01:00
Christoph Wurst
ce9a434fb2
Add isXXX getter to Entity
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-10-22 14:54:21 +02:00
Arthur Schiwon
e8095cf737
use OCP\EventDispatcher\Event over Symfony's deprecated Event
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-10-17 13:31:48 +02:00
Joas Schilling
aad535e3af
Log an error in development cases when the application class was set up incorrectly
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-10-16 12:17:09 +02:00
Joas Schilling
653628c8fb
Allow to set the group display name in the database backend
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-27 14:29:56 +02:00
Joas Schilling
45506adc5c
Add a displayname to the database group backend
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-27 14:29:56 +02:00
Joas Schilling
23cf72493a
Add talk-attachment as a rich object type
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-17 15:08:54 +02:00
Roeland Jago Douma
978d312e69
Merge pull request #17151 from nextcloud/td/remove/createPreview
Remove deprecated function createPreview
2019-09-15 19:36:18 +02:00
Greta Doci
0a874c51af
Disable app token creation for impersonated people, ref #15539
Signed-off-by: Greta Doci <gretadoci@gmail.com>
2019-09-15 12:04:27 +02:00
Roeland Jago Douma
98f91982be
Remove deprecated function createPreview
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-09-15 10:52:34 +02:00
Christoph Wurst
a1ef939c06
Use Symfony's new contract Event class instead of the deprecated one
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-09-12 14:44:55 +02:00
Christoph Wurst
b9e14d5972
Add Symfony inspired typed event dispatcher method
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-09-11 20:02:50 +02:00
Roeland Jago Douma
2187f856ce
Merge pull request #16682 from nextcloud/enh/12790/workflow-backend
workflow overhaul
2019-09-11 13:14:06 +02:00
Arthur Schiwon
3a4e31ef6b
fix missing @since's
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:06 +02:00
Arthur Schiwon
ae1cc1d14d
entities equip the RuleMatcher on the events they are aware of
Operations will receive the matcher instance

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:06 +02:00
Arthur Schiwon
849d025d09
let a dedicate service serve a stateful process
* includes making ICheck not requiring any context setter
* and IFileCheck extending the IEntityCheck as entity data can be handed in
  via Dispatcher

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +02:00
Arthur Schiwon
4cd931fcc6
require IChecks to receive entity context
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +02:00
Arthur Schiwon
fd2de58503
seperate setFileInfo from ICheck
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +02:00
Julius Härtl
5891ec602f
Return actual event data instead of self calling
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-09 22:56:05 +02:00
Arthur Schiwon
c2a52813e2
extends ICheck with scope and entity support, provide them as initialState
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:04 +02:00
Arthur Schiwon
d2c8b939d5
WFE as proxy listen to relevent events and forwards them
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:04 +02:00
Arthur Schiwon
bed518e8ab
introduce GenericEntityEvent and adapt File entity
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:04 +02:00
Arthur Schiwon
f0f0a7b43e
adds a trigger hint for complex operations
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:03 +02:00
Arthur Schiwon
26b19b73a4
remove IEntity's getId in favor of class name
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:02 +02:00
Arthur Schiwon
4c2fdbb908
merge IOperator with IOperation for simplicity
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:02 +02:00
Arthur Schiwon
ec36c0ae80
add operator interfaces / API
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:02 +02:00
Arthur Schiwon
2288363b0f
add missing @since annotations
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:02 +02:00
Arthur Schiwon
bd5c455da4
the workflow manager becomes scope aware, Part 1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:01 +02:00
Arthur Schiwon
804d4fe69f
introducing Entity interfaces and a File one as first implementation
also adds admin settings that pass entities as initial state

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:01 +02:00
Arthur Schiwon
445d6eb839
open the WFE to deal with other subjects but files
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:01 +02:00
Roeland Jago Douma
a85f2f4165
set default CSP on NotFoundResponse
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-09-09 22:37:12 +02:00
Roeland Jago Douma
b3f663b8aa
Merge pull request #16859 from PhrozenByte/patch-1
Add IAppManager::getAppWebPath()
2019-09-09 12:20:27 +02:00
Roeland Jago Douma
1cfb851300
Merge pull request #17006 from nextcloud/querybuilder-max-min
add MAX and MIN to functionbuilder
2019-09-07 11:09:11 +02:00
Robin Appelman
8ef5a366ec
add MAX and MIN to functionbuilder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-09-06 12:28:17 +02:00
Daniel Rudolf
2d56664e35
Improve usage of IAppManager::getAppWebPath()
Deprecate \OC_App::getAppWebPath() and \OC_App::getAppPath()

Signed-off-by: Daniel Rudolf <github.com@daniel-rudolf.de>
2019-09-05 18:35:40 +02:00
Roeland Jago Douma
ecd0d39c30
Merge pull request #16928 from nextcloud/fix/icontrolelrmethodreflector
Remove reflect method form public interface
2019-09-03 07:53:36 +02:00
Joas Schilling
60fe0d7fc4
Define a guest type so Talk can use it in it's notifications
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-02 14:56:50 +02:00
Roeland Jago Douma
def82c5077
Remove reflect method form public interface
The reflect method is (and should) only every be called internally.
Since if you call it again it would otherwise start mixing and matching
arguments etc.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-30 13:28:18 +02:00
Roeland Jago Douma
35db32f504
Add deprecation warning
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-29 14:52:50 +02:00
Joas Schilling
b1a0d464ba
Merge pull request #16723 from nextcloud/fix/sharing/unshare-message
Add expiration event for shares
2019-08-26 12:58:51 +02:00
Daniel Rudolf
34919d3ebc
Add IAppManager::getAppWebPath()
Implements a public API for \OC_App::getAppWebPath()

Signed-off-by: Daniel Rudolf <github.com@daniel-rudolf.de>
2019-08-25 15:27:04 +02:00
Joas Schilling
b130a4c8fb
Make the sharing constants publicly available
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-23 13:54:19 +02:00
John Molakvoæ (skjnldsv)
b557f52c22
Add expiration event for shares
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-08-21 08:30:17 +02:00
Roeland Jago Douma
c40fe8b819
Do not enforce the parent constructor of response to be called
If there is no policy set we just take the default empty ones.
That way no obscure errors get thrown if the constructor is not called.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-19 14:39:34 +02:00
Roeland Jago Douma
c4cafae884
frame-src doesn't respect the nonce attribute
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-16 21:29:57 +02:00
Joas Schilling
810ee7d811
Make the auto-disabled list more broad
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-15 11:12:45 +02:00
Roeland Jago Douma
145eee91fe
Get the proper UID
Some user backends (like the database backend) allow us to obtain a user
case insensitive. However the UID itself is case sensitive.

Example:
* create a user User1
* login as User1
  - This results the data/User1 folder to be created etc
* now have some code somewhere that obtains the userFolder (from
IRootFolder) but pas in 'uSER1' as uid
  - The code will check if that is a valid user. And in this case it is
  since User1 and uSER1 both map to the same user
  - However the the UID in the user object is used for the folder a new
  folder fill be create data/uSER1

With this PR this is avoided now. Since we obtain the real UID casing in
the backend before creating the user object.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-13 09:33:46 +02:00
Roeland Jago Douma
b8c5008acf
Add feature policy header
This adds the events and the classes to modify the feature policy.
It also adds a default restricted feature policy.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-10 14:26:22 +02:00
Morris Jobke
1d72073e34
Merge pull request #16498 from nextcloud/feature/noid/room_metadata
Allow calendar resources/rooms to provide metadata
2019-08-05 14:52:45 +02:00
Georg Ehrke
3e5946bd0d
Add standard metadata key for room-features
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-02 20:01:32 +02:00
Maxence Lange
f10e525e0c comparaison types: +regex +wildcard
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-08-02 12:24:32 -01:00
Georg Ehrke
b246e58a1e
Provide standard metadata keys for contact person of a resource
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-01 15:26:11 +02:00
Georg Ehrke
475984ef19
Provide standard metadata keys for location of room
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-01 15:25:43 +02:00
Georg Ehrke
ca060a2a83
sync metadata of rooms / resources with cache
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-01 10:08:56 +02:00
Georg Ehrke
2dc79e5839
Add \OCP\Calendar\IMetadataProvider interface and provider for common metadata keys
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-01 10:08:52 +02:00
Roeland Jago Douma
f94ee72507
Add form-action CSP element
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-31 15:16:10 +02:00
Roeland Jago Douma
cd243b0876
No need to have these classes we tighten the default CSP from time to
time

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-27 14:59:48 +02:00
Roeland Jago Douma
0487144b26
Remove deprecated searchByTag
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-26 12:29:19 +02:00
Daniel Kesselberg
77c09252d5
Dont assign $options to $options and cleanup doc
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-07-22 18:48:47 +02:00
Morris Jobke
3a6d8174a9
Merge pull request #16450 from nextcloud/tech-debt/noid/cleanup-unused-OC_API-methods
Removes unused OC_API::register
2019-07-22 16:04:01 +02:00
Morris Jobke
a085a88205
Merge pull request #14954 from tacruc/searchPatterns
Allow to search for real pattern in contacts
2019-07-19 18:03:37 +02:00