Commit Graph

82 Commits

Author SHA1 Message Date
Julius Härtl 99c30453dd
Ignore unavailable entity/operation classes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-10-15 12:54:22 +02:00
Joas Schilling d4d3725bfe
Only cache the mimetype if the file exists
Otherwise files access control will cache "application/octet-stream"
for all the target node on:
rename, move, copy and all other methods which create a new item

To check this:
1. Add an automated tagging rule which tags on mimetype NOT "httpd/unix-directory"
2. Add an access control rule which checks for any mimetype
3. Create a folder and rename it, the folder should not be tagged, but it is

Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-10-14 10:05:45 +02:00
Joas Schilling 0f3de7828e
Don't call basename on null
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-10-01 17:30:52 +02:00
Joas Schilling f23d49266f
Merge pull request #17286 from nextcloud/bugfix/noid/correctly-detect-mimetype-from-uploads
Correctly detect the mimetype from uploads
2019-09-27 10:51:10 +02:00
Joas Schilling 744b635d5c
Correctly detect the mimetype from uploads
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-26 17:43:47 +02:00
Joas Schilling 2959e15c7a
Fix "Cannot add a NOT NULL column with default value NULL"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-26 15:51:55 +02:00
Julius Härtl e7e9166efe
Add endpoint to test operations before submitting
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-10 09:01:22 +02:00
Julius Härtl 72a7fe8185
Fix type hinting on setFileInfo
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-10 08:52:13 +02:00
Arthur Schiwon d363654132
fix order/entity types when setting the context
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-10 00:52:27 +02:00
Arthur Schiwon 5610f73b7a
File entity supports tagging events now
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 23:59:31 +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 687edb4bc8
No need to get the class since the entity is already the class string
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-09 22:56:05 +02:00
Julius Härtl 32279ed062
Extend missing check classes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-09 22:56:05 +02:00
Arthur Schiwon 36624def94
add type hint for IDE
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:04 +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 0d7f7e5495
kill old non-OCS Controller
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:04 +02:00
blizzz dcfe4ab2cc
fix parameter for OCSExcpetion
Signed-off-by: blizzz <blizzz@arthur-schiwon.de>

Co-Authored-By: Julius Härtl <jus@bitgrid.net>
2019-09-09 22:56:04 +02:00
blizzz ce4f3598ff
use correct builder instance
Signed-off-by: blizzz <blizzz@arthur-schiwon.de>

Co-Authored-By: Julius Härtl <jus@bitgrid.net>
2019-09-09 22:56:03 +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 54bdc95cc1
fix missing value and run against empty tables in migration script
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:03 +02:00
Arthur Schiwon ed58343e60
split events DB field into entity and events, adjust biz logic
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:03 +02:00
Arthur Schiwon 827dd896fa
extend DB table, manager, controller with support for entity events
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 1c67357db8
section and settings for users
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:02 +02:00
Arthur Schiwon 4aba1f1cff
scope aware workflow controller and manager
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 9a6f7cc8cb
add scope table for workflows and switch to migrations
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
Arthur Schiwon d015cd9c55
provides an OCS workflow controller for admins
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:55:56 +02:00
Roeland Jago Douma f57fa231f7
Be sure to get the jailed path if the storage is a jail
Fixes: https://github.com/nextcloud/groupfolders/issues/583

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-09-03 09:57:09 +02:00
Arthur Schiwon e5fefd1338
webpackify workflowengine
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-05-09 18:42:52 +02:00
Roeland Jago Douma 7c68bf7859
Change Workflow to Tag Management
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-19 14:36:51 +01:00
Roeland Jago Douma 635aa23b8c
Do not load bundled jstimezonedetect
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-06 09:16:45 +01:00
Roeland Jago Douma a201f2b4d0
No need to explicitly load bundle dependencies
oc-webdav-backbone is loaded by default

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-04 19:34:51 +01:00
Roeland Jago Douma 90dc8fb42e
A folder should get a folder mimetype
If doing achunked upload the mimetype of the folder would otherwise be
guessed from the path. Which always returned application/octet-stream.

If an access control rule to block that is in place this means that all
chunked uploads fail hard in directories as the isCreatable on the
directory always fails.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-29 21:35:08 +01:00
Roeland Jago Douma 8c4c4b700f
Move workflowengine to compiled handlebars
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-15 14:55:25 +02:00
Daniel Kesselberg 28fc7b5061
Ignore case for is and !is
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-05 17:54:48 +02:00
Daniel Kesselberg 4c4f50ee2d
Remove unused import
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-04 14:23:45 +02:00
Daniel Kesselberg 0721627943
Make code strict
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-03 20:26:00 +02:00
Daniel Kesselberg fe838de4f7
Add FileName to Workflow engine
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-03 18:24:42 +02:00
Joas Schilling c574212422
Fix mimetype detection for junked uploads
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-24 10:42:59 +02:00
Joas Schilling 1e137a85b8
Make sure to always use an array as parameter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-19 10:38:15 +02:00