Commit graph

87 commits

Author SHA1 Message Date
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
Jan-Christoph Borchardt
cef0e622fb
Add Flow app icon
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2019-11-07 17:09:32 +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
Julius Härtl
8a0164b6b9
Adjust user UserWorkflowController methods to AWorflowController
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-10-29 18:03:56 +01:00
Julius Härtl
6830daf104
Decode list of events when returning them
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-10-29 18:03:54 +01:00
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