Commit Graph

105 Commits (jtr/fix-public-exceptions-http-codes)

Author SHA1 Message Date
Carl Schwan 996be0f441 fix(comments): Don's catch invalid DriverException
These are nowadays also OCP\DB\Exception and if the id is not a numeric
deleting by id is also non working.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:58 +07: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 +07:00
Carl Schwan 94e2af0302 perf(comments): Also cache the comments count
Since we now have an easy way to fetch the comments count.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-21 11:30:56 +07:00
Carl Schwan fa5548a1f3 perf(comments): Add a way to get comments for multiple objects at the same time
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-21 11:18:57 +07:00
Joas Schilling 6600c1ad86
feat(comments): Allow to filter by topmost parent id
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-07-10 12:58:46 +07:00
Ferdinand Thiessen db94e10af0
fix: Prevent breaking change in IQueryBuilder
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-17 18:31:44 +07:00
Ferdinand Thiessen ee02e3246d
feat(AppFramework): Add full support for date / time / datetime columns
This adds support for all Doctrine supported types, for the column types only the immutable variants needed to be added.
But especially those types are the important ones, as our **Entity** class works by detecting changes through setters.
Meaning if it is mutable, changes like `$entity->date->modfiy()` can not be detected, so the immutable types make more sense here.

Similar the parameter types needed to be added.

`Enity` and `QBMapper` needed to be adjusted so they support (auto map) those types, required when insert or update an entity.

Also added more tests, especially to make sure the mapper really serializes the values correctly.

Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-17 18:31:42 +07: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 +07:00
Anna Larch 8af7ecb257 chore: adjust code to adhere to coding standard
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-05 21:23:38 +07: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 +07:00
Julius Härtl 9713dd3fa9
chore: Move comments event handler to use proper event dispatcher
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-06-26 18:13:07 +07:00
Andy Scherzinger dae7c159f7
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +07:00
Côme Chilliet ec5133b739 fix: Apply new coding standard to all files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +07:00
Robin Appelman eb5832b8fa refactor: depricate getNumberOfUnreadCommentsForFolder and redo it's implementation based on getNumberOfUnreadCommentsForObjects
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-07 19:19:07 +07:00
Joas Schilling 6056928dc6
feat(comments): Add a meta data column for comments
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-14 14:32:00 +07:00
Joas Schilling aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +07:00
Joas Schilling 4d2217073a
fix(comments): Use provided offset in best effort when loading comments
When we didn't find the "$lastKnownComment" the whole condition was ignored.
Now we still use the ID as an offset.
This is required as a fall-back for expired messages in Talk
and deleted comments in other apps.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-09-18 20:09:32 +07:00
Côme Chilliet 7aa97dcc23
Throw if creation date is read before inserting into database
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-06-20 12:14:57 +07:00
Carl Schwan 9725d00329
Cleanup comments code
- Fix various psalm issues
- Add as much typing as possible while preserving stable API

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2023-06-20 10:55:20 +07:00
Vitor Mattos 7ab50ab010 Update expire_date column of table comments
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-04-26 11:29:56 +07:00
Vitor Mattos e9295f739e Split the comments ids by chunks
Split the comments ids by chunks to prevent error with Oracle database
that can't do a query with more than 1000 parameters.

https://github.com/nextcloud/spreed/issues/8287

Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-03-01 13:08:17 +07: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 +07:00
Joas Schilling 3f4fed3550
Fix forwarding the object id when searching comments
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-11-16 12:08:34 +07:00
Vitor Mattos 7a0648757a
Delete comments that expired now
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-07-25 11:30:20 +07:00
blizzz c98e44507d
Merge pull request #32865 from nextcloud/bugfix/remove-unecessary-row
Remove unecessary row and make compatible with db schema
2022-07-08 23:11:10 +07:00
Joas Schilling 198224bf7a
Allow to expire comments of multiple objects with one call
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-07-01 15:59:29 +07:00
Vitor Mattos c59b0c2ff7
Add comments expire date
https://github.com/nextcloud/spreed/pull/7327

Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-06-15 11:58:29 +07:00
Vitor Mattos 45cdb36d5c
Remove unecessary row and make compatible with db schema
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-06-13 13:35:34 +07:00
Joas Schilling 5b82ad0b30
Create query parameters on correct objects to make debugging easier
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-05-23 13:02:36 +07:00
Joas Schilling 4e0595fb0f
Fix JSON error when comment has no reactions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-05-09 09:53:49 +07:00
Joas Schilling 0d87335751
Merge pull request #31703 from nextcloud/techdebt/noid/emojihelper-interface
Emojihelper interface
2022-04-29 18:31:29 +07:00
Joas Schilling 7c85f8dea4
Make the order of reactions reliable
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-04-28 16:13:41 +07:00
Vitor Mattos a75a22f3ac
Increase check if support reactions
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-04-28 07:09:44 +07:00
Joas Schilling 902476fa20
Extract the EmojiService from user status and add an OCP interface
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-04-28 07:09:44 +07:00
Joas Schilling 367be7c55f
Allow reactions also with other combined emojis
Honerful copying the EmojiService from UserStatus for now
I think this should be put into a decent place and then reused,
but I couldn't find somethin short term before beta1

Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-03-24 15:13:09 +07:00
Joas Schilling d05dca0c1c
Simplify comment search in special cases
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-03-18 09:22:16 +07:00
Vitor Mattos 8ec7c5c8ae
Update ICommentsManager with reaction methods
Fix psalm errors
Reorder methods and remove return null
Use best pattern on docblock

Goals: update https://github.com/ChristophWurst/nextcloud_composer/ with reaction methods.
The script
https://github.com/ChristophWurst/nextcloud_composer/blob/master/build.sh
only get lib/public classes

Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-02-03 12:52:18 +07:00
Joas Schilling e8c66d0f89
Merge pull request #30794 from nextcloud/techdebt/noid/allow-to-get-comments-with-verb
Allow to get comments with a given set of verbs
2022-01-28 16:41:42 +07:00
Joas Schilling 1ceba64863
Allow to get comments with a given set of verbs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-21 13:42:04 +07:00
Vitor Mattos b9f74584a1
Fix check after change from string to mb_string
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-01-21 08:39:41 +07:00
Joas Schilling c9f2f00777
Fix CS
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-21 08:39:40 +07:00
Joas Schilling ecb98f772e
Throw if trying to save reaction without support
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-21 08:39:40 +07:00
Joas Schilling e0b89cd576
Only check mb_strlen()
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-21 08:39:40 +07:00
Joas Schilling d850dc0220
Remove order from groupConcat as it is not working everywhere
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-21 08:39:39 +07:00
Joas Schilling 189f9f96ce
Limit the summary and sort it afterwards
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-21 08:39:39 +07:00
Vitor Mattos f071b4dfbb
Fix groupConcat and ordering on Oracle
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-01-21 08:39:39 +07:00
Vitor Mattos f7cd995612
Order the reaction summary, improvements on validations
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-01-21 08:39:39 +07:00
Vitor Mattos 1ce894a50c
Disable reactions if database don't support utf8mb4
Fix column size

Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-01-21 08:39:37 +07:00
Vitor Mattos 898e87fe1a
Rename vars and move logic to method
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-01-21 08:37:07 +07:00
Vitor Mattos a7c0868a4c
Prevent violate constraint
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-01-21 08:37:06 +07:00