Commit Graph

404 Commits (master)

Author SHA1 Message Date
Carl Schwan 81a21fb718
refactor(entity): Don't type id
Some apps overwrite this and this breaks them.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-09 10:19:34 +07:00
Joas Schilling fe393c5dbf
fix(snowflake): Fix generateId() call for SnowflakeEntity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 15:39:09 +07:00
Joas Schilling 2bd2cc71e5
fix(snowflake): Allow SnowflakeAware to overwrite the field types
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 14:06:18 +07:00
Joas Schilling 40b79f5af8
Merge pull request #56795 from nextcloud/feat/noid/extend-entity-to-be-snoflake-aware
feat(snowflake): extend Entity class to support snowflakes
2026-01-07 13:42:49 +07:00
Benjamin Gaussorgues c57c4843e8
feat(openmetrics): introduce OpenMetrics exporter
Expose a `/metrics` endpoint with some basic metrics

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-07 09:38:13 +07:00
Carl Schwan 693a2263cc
fix(entity): Do not call getId when inserting and $id is null
Otherwise this breaks some existing code, in particular PublicKeyToken

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-06 15:42:03 +07:00
Carl Schwan 7c1a8a4060
feat: Adapt a bit the snowflake ids API
- Rename setId() -> generateId() in SnowflakeAwareEntity

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-06 12:57:17 +07:00
Anna Larch a100ede789
feat: extend Entity and adjust QBMapper to support Snowflake IDs
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-06 12:57:17 +07:00
provokateurin f720925b06
fix(AppFramework): Check for responder existence
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-11-12 09:39:53 +07:00
Carl Schwan 336cc3fa35 feat(Db): Use SnowflakeId for previews
Allow to get an id for the storing the preview on disk before inserting
the preview on the DB.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-28 17:50:03 +07:00
skjnldsv 9c98b722f4 fix(dav): allow multiple link shares token in session
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-10-23 13:10:39 +07:00
Carl Schwan bba9667882 perf(preview): Adapt BackgroundCleanupJob to new previews table
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Robin Appelman 26ae51c4b3
feat: add header with user id in response
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-09-18 18:30:04 +07:00
provokateurin aab11d35d3
fix(OCS): Add IRequest::getFormat to determine the response Content-Type the same way everywhere
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-26 09:50:03 +07:00
Ferdinand Thiessen ba00416040 refactor(Streamer): inject `IDateTimeZone` as constructor arg
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-14 17:19:28 +07:00
Maxence Lange 33bff30e1d feat(lexicon): moving out from unstable
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-24 15:56:33 +07:00
Joas Schilling d717dd9850
feat(OCP): Consumable vs. Implementable public API
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-07-09 10:24:10 +07: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 +07:00
Côme Chilliet 4a1eb3dc2a
fix: Correctly ignore lazy ghost initialization in debug warning about direct constructor call
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-16 12:01:16 +07:00
skjnldsv bf3ce79abd feat(files_sharing): show Account menu on public pages
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-11 16:43:53 +07:00
Daniel Kesselberg be587def0e fix: use correct format for expires, last-modified, and if-modified-since headers
Before: Sat, 10 May 2025 18:17:41 +0000
After: Sat, 10 May 2025 18:17:41 GMT

RFC: https://httpwg.org/specs/rfc9110.html#http.date

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-06-10 13:15:31 +07:00
Côme Chilliet 98b2cfc416
fix: Fix several side effects of lazy ghosts
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 20:50:42 +07:00
provokateurin c3aa5316be
feat(RequestHeader): Add indirect parameter
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-06-03 11:09:12 +07:00
provokateurin 727b0c853c
refactor(RequestHeader): Make parameter types stricter
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-06-03 11:07:09 +07:00
provokateurin 18e04e1c5a
chore(RequestHeader): Remove unnecessary getters
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-06-03 11:06:53 +07:00
provokateurin ad031188bc
feat(Http): Add RequestHeader attribute
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-20 13:10:34 +07:00
Ferdinand Thiessen 74bded74a3
refactor: migrate from OC to OCP in public interfaces
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-15 16:17:47 +07:00
provokateurin db70ff6488
refactor(App): Remove registerRoutes method
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-15 13:46:14 +07:00
Côme Chilliet 92038229fa
fix: Remove support for app.php loading
It has been deprecated for a long time, and the last known active
 application to use it (user_saml) is now migrated the modern API.
Presence of the file is still checked in order to log an error.
This behavior may be removed as well in a few versions.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-04-14 14:30:00 +07:00
Côme Chilliet f033ef7c18 fix: Migrate all uses of OCP\Template to OCP\Template\ITemplateManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-06 15:49:25 +07:00
Côme Chilliet 253628ad5a fix: Fix psalm issues and add missing methods to ITemplate interface
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-06 15:49:25 +07:00
Côme Chilliet fec865cc29
chore: Correctly flag json encoding methods as escaping html and quotes
Especially with JSON_HEX_TAG it’s perfectly fine to echo JSON, and we
 only use it in JSON output anyway.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-17 15:24:07 +07:00
Anna Larch 1562db80b1 fix: remove typing and return type
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-01-23 18:34:19 +07:00
Elizabeth Danzberger fdfeb7f265
feat(api): File conversion API
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-01-15 16:38:18 +07:00
provokateurin 26fa4da8c2
fix(IInitialState): Allow provideLazyInitialState() closure to return array
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-13 15:19:19 +07:00
Joas Schilling c515617377
Merge pull request #50070 from nextcloud/docs/http/cors-attribute
docs(HTTP): Add proper docs for CORS attribute
2025-01-09 12:05:28 +07:00
provokateurin 7db694f534
fix(Http): Only allow valid HTTP status code values via template
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-07 15:45:30 +07:00
provokateurin 11feecf772
docs(HTTP): Add proper docs for CORS attribute
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-07 15:41:19 +07:00
provokateurin 3624923af2
fix(HTTP): Adjust JSONResponse data type
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-04 00:58:54 +07:00
Maxence Lange 96586ba709 feat(config): implementation of lexicon
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-12-13 11:08:20 +07:00
Louis Chemineau a2f2f7ce93
feat: Use inline password confirmation in external storage settings
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-11-28 11:01:54 +07:00
provokateurin 2c65d0c0d1
fix(QBMapper): Fix findEntities() return type to be list<T>
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-06 16:31:39 +07:00
Joas Schilling 54c3aa3f99
fix(entity): Fix mapping of old/sub-types to actually supported database types
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-10-23 09:22:05 +07:00
Ferdinand Thiessen 0e54c2bd43
fix: Adjust Entity types
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-17 18:31:44 +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
Ferdinand Thiessen b4ec7ca559
chore: Unify user related events to always provide a `getUid` method
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-15 18:33:11 +07:00
Ferdinand Thiessen a8f46af20f
chore: Add proper deprecation dates where missing
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-20 00:46:03 +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
Kate 8a32881633
Merge pull request #48008 from nextcloud/fix/entity/strict-types 2024-09-16 11:08:35 +07:00