Carl Schwan
b42ebea5fc
refactor: Add new modern events for system tag lifecycle
...
The old one was deprecated in 22.0.0 but didn't had a replacement.
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-23 10:57:41 +02:00
Côme Chilliet
1ab09ec753
chore: Apply new coding standard to all files
...
The diff can be checked using: git diff --ignore-all-space --ignore-blank-lines
To see only the changes not related to blank lines.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-01 13:46:39 +02:00
Côme Chilliet
9680004b58
chore: Remove almost all uses of deprecated IServerContainer in lib/private
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 16:22:22 +02:00
Ferdinand Thiessen
e0ba4d71b6
chore: add missing Override attribute to OC
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:27 +02:00
Louis Chmn
3aa2e130cd
feat(systemtag): Add $user context to create and update tag
...
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-03-30 09:54:54 +02:00
Joas Schilling
1425df49d0
feat(systemtags): Add methods to directly do "Generated by AI" tag
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-10 15:19:30 +01:00
Carl Schwan
7b6078875b
refactor: Run rector on lib/private
...
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:18 +01:00
Carl Schwan
2d648e36b9
fix(systemtags): Correct the return type of system tag object mapper
...
Currently, it is documented in some places as returning a string but
returns a int or a string depending on the database used.
This then breaks then using strict comparaison in https://github.com/nextcloud/approval/pull/362
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-26 21:52:01 +01:00
Marcel Klehr
7bd0b5704d
Merge pull request #54810 from nextcloud/feat/typed-tag-events
...
feat(SystemTag): Add typed events for tag mapper events
2025-09-04 11:19:28 +02:00
Marcel Klehr
2bb2fa50ee
feat(SystemTag): Add typed events for tag mapper events
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-09-03 09:36:50 +02:00
Carl Schwan
c4e6fbdae7
fix(query-builder): Don't catch UniqueConstraintViolationException
...
UniqueConstraintViolationException is no longer throw directly but
instead is now wrapped inside a \OCP\DB\Exception. So check the
exception reason.
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:58 +02:00
Carl Schwan
c21b8169ff
refactor(querybuilder): Port away from qb::execute() in lib/
...
Replace by either executeStatement or executeQuery
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:56 +02:00
skjnldsv
51a2125020
fix(systemtags): case-insensitive search & prevent duplicates
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-09 19:28:20 +02:00
John Molakvoæ (skjnldsv)
8e81c1772b
fix(systemtags): emit assign and unassign bulk tagging events
...
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2025-04-04 04:33:36 +02:00
Roland Scheidel
a842d917cf
fix(systemtags): Dispatch events when bulk assigning system tags
...
Signed-off-by: Roland Scheidel <kontakt@scheidel.at>
2025-03-23 22:25:32 +01:00
skjnldsv
4c0c88a0d5
fix(systemtags): prevent tag edition if restricted
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-03-06 11:57:22 +01:00
Benjamin Gaussorgues
b4e3eff078
feat(systemtags): add setting to block non admin to create system tags
...
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-01-22 20:07:24 +01:00
Kostiantyn Miakshyn
faa7cb74b1
fix: Trim tags on adding or editing
...
Signed-off-by: Kostiantyn Miakshyn <molodchick@gmail.com>
2025-01-20 20:12:27 +02:00
skjnldsv
adf8a454dd
feat(systemtags): add color support backend
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-12-06 10:19:42 +01:00
skjnldsv
f536c86049
fix(systemtags): translations and etag method casing
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-10-29 09:08:31 +01:00
skjnldsv
d51cf4536c
feat(systemtags): add cypress tests and fix a few logic issues
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-10-29 09:08:31 +01:00
skjnldsv
14e2a8d3f9
feat(systemtags): add etag support and handle proppatch
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-10-29 09:08:31 +01:00
skjnldsv
0893d4b4d2
feat(core): add index to systemtag objecttype
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-10-29 09:08:30 +01:00
Git'Fellow
a1681b0756
chore(db): Apply query prepared statements
...
Fix: psalm
fix: bad file
fix: bug
chore: add batch
chore: add batch
chore: add batch
fix: psalm
2024-10-17 20:30:47 +02:00
John Molakvoæ (skjnldsv)
abd0cddd38
feat: make systemtags public visible
...
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2024-10-11 16:06:44 +02:00
provokateurin
9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +02:00
Daniel Kesselberg
af6de04e9e
style: update codestyle for coding-standard 1.2.3
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +02:00
yemkareems
87cd78413c
fix: removed unused variable and check if tag ids are empty before starting the inserts
...
Signed-off-by: yemkareems <yemkareems@gmail.com>
2024-06-19 12:52:46 +02:00
yemkareems
d0883b5e85
fix: filtering tags based on existing tags and doing a transaction around the select and insert
...
Signed-off-by: yemkareems <yemkareems@gmail.com>
2024-06-19 12:52:46 +02:00
yemkareems
8782b8724a
fix: do a select in systemtag_object_mapping to see if tag exists already in db. if it does not exist alone insert the same or else do nothing
...
Signed-off-by: yemkareems <yemkareems@gmail.com>
2024-06-19 12:52:46 +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
Faraz Samapoor
a988754e3d
Refactors lib/private/SystemTag.
...
Mainly using PHP8's constructor property promotion.
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-11-07 09:41:33 +03:30
Joas Schilling
6b7221756c
Merge pull request #39571 from nextcloud/bugfix/noid/move-lib-to-IEventDispatcher
...
Move lib/ events to IEventDispatcher where possible
2023-07-27 18:59:42 +02:00
Marcel Klehr
424937fd39
fix(SystemTagManager): Use truncated tagName in getTag and updateTag
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-07-27 13:56:11 +02:00
Joas Schilling
6953e14580
fix: Move SystemTags events to IEventDispatcher
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-27 09:57:52 +02:00
Arthur Schiwon
49db546f78
fix: include invisible tags for admins
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 20:28:01 +02:00
Arthur Schiwon
58f7fd2370
use efficient tag retrieval on DAV report request
...
- uses DAV search approach against valid files joined by systemtag selector
- reduced table join for tag/systemtag search
- supports pagination
- no changes to the output formats or similar
Example request body:
<?xml version="1.0"?>
<oc:filter-files xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns " xmlns:nc="http://nextcloud.org/ns " xmlns:ocs="http://open-collaboration-services.org/ns ">
<d:prop>
<d:getcontentlength/>
<d:getcontenttype/>
<d:getetag/>
<d:getlastmodified/>
<d:resourcetype/>
<nc:face-detections/>
<nc:file-metadata-size/>
<nc:has-preview/>
<nc:realpath/>
<oc:favorite/>
<oc:fileid/>
<oc:permissions/>
<nc:nbItems/>
</d:prop>
<oc:filter-rules>
<oc:systemtag>32</oc:systemtag>
</oc:filter-rules>
<d:limit>
<d:nresults>50</d:nresults>
<nc:firstresult>0</nc:firstresult>
</d:limit>
</oc:filter-files>
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 18:19:08 +02:00
Arthur Schiwon
df662f50bd
refactor: remove where specification from SELECT getter
...
- search constraints are now fully in control of
SystemTagsInFilesDetector::detectAssignedSystemTagsIn(), avoids
duplication of a WHERE statement
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-10 18:48:06 +02:00
Arthur Schiwon
dbfd2f936a
refactor: remove SystemTag logic from Folder into QuerySearchHelper
...
- adds OC\SystemTag\SystemTagsInFilesDetector where the search logic is
moved to
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-09 23:51:52 +02:00
Côme Chilliet
9b1d7794a8
Add chunking in SystemTagObjectMapper::getTagIdsForObjects
...
This avoids crashing on Oracle with more than 1000 objects
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-13 17:36:10 +00:00
Marcel Klehr
8151b1b8b0
fix(SystemTagManager): Truncate overlong tag names
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-02-24 12:55:10 +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
John Molakvoæ (skjnldsv)
215aef3cbd
Update php licenses
...
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Johannes Leuker
d606799ee2
Add commands to manage tags via OCC
...
list, add, delete, edit
Signed-off-by: Johannes Leuker <j.leuker@hosting.de>
2021-05-25 11:29:32 +02:00
Roeland Jago Douma
7e727a1a31
The objectid is a string
...
This allows the query to use the index. Else it has to resort on
scanning all the rows.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-28 22:09:55 +01:00
Christoph Wurst
d89a75be0b
Update all license headers for Nextcloud 21
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01: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
Morris Jobke
fedf9c69d9
Use matching parameter names form interfaces and implementations
...
Found by Psalm 3.14.1
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-19 18:16:35 +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