55 Commits

Author SHA1 Message Date
Carl Schwan
6154bfa823 chore(psalm): Fix most issues with the workflowengine
This found a real bug where we were catching an Doctrine exception
instead of a OCP\DB\Exception. This will be backported separately.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-17 09:57:10 +02:00
Ferdinand Thiessen
5981b7eb51 chore: apply new CSFixer rules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

# Conflicts:
#	apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +02:00
Andy Scherzinger
dae7c159f7 chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +02:00
Joas Schilling
42be7a5d74 fix(OCP): Add since tag for all constants
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-02-14 20:50:08 +01:00
Joas Schilling
aa039c986a fix(workflowengine): Remove legacy event (deprecated since 17)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-19 17:37:34 +02:00
Simon L
d55a7c619d Fix typos in lib/public subdirectory
Found via `codespell -q 3 -S l10n -L jus ./lib/public`

Signed-off-by: luz paz <luzpaz@github.com>

Update lib/public/Accounts/IAccount.php

Signed-off-by: luz paz <luzpaz@github.com>

Signed-off-by: Simon L <szaimen@e.mail.de>
Co-Authored-By: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2023-05-10 11:56:34 +02:00
Joas Schilling
5bc86dd6ac techdebt(workflowengine): Remove transition event classes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-03-03 15:33:17 +01:00
Côme Chilliet
f5c361cf44 composer run cs:fix
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-01-20 11:45:08 +01:00
Christoph Wurst
9ae505cb7c Add Psalm specific scope type hint for the WFE operation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-22 08:42:40 +01:00
John Molakvoæ (skjnldsv)
215aef3cbd Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Christoph Wurst
4fc0b2c639 Deprecate all remaining event constants
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-09 13:53:41 +01:00
Morris Jobke
f4c1512bb7 Fix typo in @deprecated PHPDoc tag
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-24 00:13:09 +01:00
Arthur Schiwon
1eb86e46fd inform the user when flow config data exceeds thresholds
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-10-28 14:07:14 +01:00
Roeland Jago Douma
b5e9f7e846 Merge pull request #22432 from nextcloud/enh/phpdoc
Add php docs build script
2020-08-26 21:18:11 +02:00
Julius Härtl
45a474071e Remove @package annotations from public namespace
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-08-26 16:59:40 +02:00
Joas Schilling
0934aee46b Merge pull request #22359 from nextcloud/fix/noid/flow-leaking-scope
fix possible leaking scope in Flow
2020-08-25 10:40:26 +02:00
Christoph Wurst
2a054e6c04 Update the license headers for Nextcloud 20
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-24 14:54:25 +02:00
Arthur Schiwon
28c0eea8cb fix possible leaking scope in Flow
- a configured flow can be brought into consideration, despite its event
  was not fired
- it could either run through
- or run into a RuntimeException and killing processing of valid flows

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-08-24 13:44:01 +02:00
Morris Jobke
782a2df392 Add PHP doc for events
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-10 14:24:24 +02:00
Arthur Schiwon
6c1c9273c0 Enable Flow entities to recreate state if necessary
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-08-05 13:24:20 +02:00
Arthur Schiwon
3706eae777 flow to not use deprecated event dispatcher methods
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-06-19 23:03:07 +02:00
Christoph Wurst
cb057829f7 Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +02:00
Christoph Wurst
28f8eb5dba Add visibility to all constants
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:54:27 +02:00
Christoph Wurst
caff1023ea Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +02:00
Christoph Wurst
41b5e5923a Use exactly one empty line after the namespace declaration
For PSR2

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 11:48:10 +02:00
Christoph Wurst
6127c288e8 Fix license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-01-13 14:23:49 +01:00
Roeland Jago Douma
25d4f3230d Use the new Events in Flow
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-01-02 16:40:49 +01:00
Christoph Wurst
1b46621cd3 Update license headers for 18
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-20 09:23:25 +01:00
Joas Schilling
4a151c545a Allow to specify apps that somethign is a dir
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-12-10 09:11:43 +01:00
Christoph Wurst
5bf3d1bb38 Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +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
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
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
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