From e5fa939d6cb5f67ced1d5be6692f96d9058407ff Mon Sep 17 00:00:00 2001 From: jld3103 Date: Sat, 17 Jun 2023 15:35:05 +0200 Subject: [PATCH 1/5] tool: Force install incompatible apps --- tool/update.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tool/update.sh b/tool/update.sh index eca0e8f7..61ec2f70 100755 --- a/tool/update.sh +++ b/tool/update.sh @@ -29,10 +29,10 @@ elif [ -d "external/nextcloud-$1" ]; then if [[ "$1" == "server" ]]; then sed -i "s/FROM nextcloud:.*/FROM nextcloud:$latest_version/" ../../tool/Dockerfile.dev else - sed -i "s/RUN \.\/occ app:install $1 .*/RUN .\/occ app:install $1 # $latest_version/" ../../tool/Dockerfile.dev + sed -i "s/RUN \.\/occ app:install $1 .*/RUN .\/occ app:install $1 --force --allow-unstable # $latest_version/" ../../tool/Dockerfile.dev fi ) else echo "$1 not found" exit 1 -fi \ No newline at end of file +fi From 80ffddb1846bd26f1c6e935dbd16165d173156b3 Mon Sep 17 00:00:00 2001 From: jld3103 Date: Sat, 17 Jun 2023 15:36:07 +0200 Subject: [PATCH 2/5] Update nextcloud news to 21.2.0 --- external/nextcloud-news | 2 +- specs/news.json | 2 +- specs/templates/news.json | 2 +- tool/Dockerfile.dev | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/external/nextcloud-news b/external/nextcloud-news index ec74c1b5..144d6d18 160000 --- a/external/nextcloud-news +++ b/external/nextcloud-news @@ -1 +1 @@ -Subproject commit ec74c1b5f3712594c7ea2139c8dfdff15d1ef826 +Subproject commit 144d6d188e2280896f6cacc2218e583d939b4407 diff --git a/specs/news.json b/specs/news.json index 917f94d2..e70d5117 100644 --- a/specs/news.json +++ b/specs/news.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "News", - "version": "21.1.0", + "version": "21.2.0", "description": "An RSS/Atom feed reader", "license": { "name": "agpl", diff --git a/specs/templates/news.json b/specs/templates/news.json index 458f1c09..ee64d7bd 100644 --- a/specs/templates/news.json +++ b/specs/templates/news.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "News", - "version": "21.1.0", + "version": "21.2.0", "description": "An RSS/Atom feed reader", "license": { "name": "agpl", diff --git a/tool/Dockerfile.dev b/tool/Dockerfile.dev index 9261fdfc..26343337 100644 --- a/tool/Dockerfile.dev +++ b/tool/Dockerfile.dev @@ -11,7 +11,7 @@ RUN ./occ app:disable password_policy RUN OC_PASS="user1" ./occ user:add --password-from-env --display-name "User One" user1 RUN OC_PASS="user2" ./occ user:add --password-from-env --display-name "User Two" user2 -RUN ./occ app:install news # 21.1.0 +RUN ./occ app:install news --force --allow-unstable # 21.2.0 RUN ./occ app:install notes # 4.7.1 RUN ./occ app:install uppush # 1.3.0 From b64ff1478e04a51c70fa096bad0736c770d75d9d Mon Sep 17 00:00:00 2001 From: jld3103 Date: Sat, 17 Jun 2023 15:36:52 +0200 Subject: [PATCH 3/5] Update nextcloud notes to 4.8.0 --- external/nextcloud-notes | 2 +- specs/notes.json | 2 +- specs/templates/notes.json | 2 +- tool/Dockerfile.dev | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/external/nextcloud-notes b/external/nextcloud-notes index d80f0278..50e881eb 160000 --- a/external/nextcloud-notes +++ b/external/nextcloud-notes @@ -1 +1 @@ -Subproject commit d80f02787c55078d36df0489cd144896daba799b +Subproject commit 50e881eb151ec5b94fa2bfe0b94c5cd3bbc2acc7 diff --git a/specs/notes.json b/specs/notes.json index 3a6e21e2..a81a605a 100644 --- a/specs/notes.json +++ b/specs/notes.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "Notes", - "version": "4.7.1", + "version": "4.8.0", "description": "Distraction-free notes and writing", "license": { "name": "agpl", diff --git a/specs/templates/notes.json b/specs/templates/notes.json index d5a5b471..ae608b6e 100644 --- a/specs/templates/notes.json +++ b/specs/templates/notes.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "Notes", - "version": "4.7.1", + "version": "4.8.0", "description": "Distraction-free notes and writing", "license": { "name": "agpl", diff --git a/tool/Dockerfile.dev b/tool/Dockerfile.dev index 26343337..b80766bf 100644 --- a/tool/Dockerfile.dev +++ b/tool/Dockerfile.dev @@ -12,7 +12,7 @@ RUN OC_PASS="user1" ./occ user:add --password-from-env --display-name "User One" RUN OC_PASS="user2" ./occ user:add --password-from-env --display-name "User Two" user2 RUN ./occ app:install news --force --allow-unstable # 21.2.0 -RUN ./occ app:install notes # 4.7.1 +RUN ./occ app:install notes --force --allow-unstable # 4.8.0 RUN ./occ app:install uppush # 1.3.0 RUN ./occ app:enable password_policy From c5bfa82393f60df7905635537c52ef4ccdb932c2 Mon Sep 17 00:00:00 2001 From: jld3103 Date: Sat, 17 Jun 2023 15:38:23 +0200 Subject: [PATCH 4/5] Update nextcloud uppush to 1.4.0 --- external/nextcloud-uppush | 2 +- specs/uppush.json | 2 +- tool/Dockerfile.dev | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/external/nextcloud-uppush b/external/nextcloud-uppush index 7f69d28c..5ae33f4e 160000 --- a/external/nextcloud-uppush +++ b/external/nextcloud-uppush @@ -1 +1 @@ -Subproject commit 7f69d28c46476e71c9c19ec7ecf8571ac537f560 +Subproject commit 5ae33f4ebae9e478d40d2c776d9d305a58a829aa diff --git a/specs/uppush.json b/specs/uppush.json index 96b4188b..b1f99c44 100644 --- a/specs/uppush.json +++ b/specs/uppush.json @@ -6,7 +6,7 @@ "license": { "name": "agpl" }, - "version": "1.3.0" + "version": "1.4.0" }, "paths": { "/index.php/apps/uppush": { diff --git a/tool/Dockerfile.dev b/tool/Dockerfile.dev index b80766bf..0fc144ec 100644 --- a/tool/Dockerfile.dev +++ b/tool/Dockerfile.dev @@ -13,7 +13,7 @@ RUN OC_PASS="user2" ./occ user:add --password-from-env --display-name "User Two" RUN ./occ app:install news --force --allow-unstable # 21.2.0 RUN ./occ app:install notes --force --allow-unstable # 4.8.0 -RUN ./occ app:install uppush # 1.3.0 +RUN ./occ app:install uppush --force --allow-unstable # 1.4.0 RUN ./occ app:enable password_policy # TODO: This stopped working randomly with apache not being able to bind to the port during build. Must be some docker changes? From af3a5085bce5b49d19046f33c851a4af20e03355 Mon Sep 17 00:00:00 2001 From: jld3103 Date: Sat, 17 Jun 2023 15:39:12 +0200 Subject: [PATCH 5/5] Update nextcloud server and notifications to 27.0.0 --- external/nextcloud-notifications | 2 +- external/nextcloud-server | 2 +- .../neon/lib/src/widgets/account_tile.dart | 2 +- packages/nextcloud/lib/src/helpers.dart | 6 -- .../nextcloud/lib/src/nextcloud.openapi.dart | 5 +- .../lib/src/nextcloud.openapi.g.dart | 62 ++++++++++++------- .../nextcloud/lib/src/nextcloud.openapi.json | 7 ++- .../nextcloud/lib/src/version_supported.dart | 2 +- packages/nextcloud/test/provisioning_api.dart | 5 +- packages/nextcloud/test/webdav.dart | 6 +- specs/core.json | 5 +- specs/notifications.json | 2 +- specs/provisioning_api.json | 4 +- specs/templates/appinfo_core.xml | 2 +- specs/templates/core.json | 2 +- specs/templates/notifications.json | 2 +- specs/templates/provisioning_api.json | 10 ++- specs/templates/user_status.json | 32 +++++++++- specs/user_status.json | 2 +- tool/Dockerfile.dev | 2 +- 20 files changed, 109 insertions(+), 53 deletions(-) diff --git a/external/nextcloud-notifications b/external/nextcloud-notifications index 69069071..09d3a1c9 160000 --- a/external/nextcloud-notifications +++ b/external/nextcloud-notifications @@ -1 +1 @@ -Subproject commit 69069071ff7a5775ddb06418f55f39593afdbbb1 +Subproject commit 09d3a1c9abcdd1c0ec4d8531907b56ac9f368666 diff --git a/external/nextcloud-server b/external/nextcloud-server index 8cfcb8e2..add4e436 160000 --- a/external/nextcloud-server +++ b/external/nextcloud-server @@ -1 +1 @@ -Subproject commit 8cfcb8e2a2f9ba1bbe993161f00d7dcebf07708f +Subproject commit add4e4365a4040d2e4e6aa79c0d03c3edd78583c diff --git a/packages/neon/neon/lib/src/widgets/account_tile.dart b/packages/neon/neon/lib/src/widgets/account_tile.dart index 5afa02c8..1c8ff4b1 100644 --- a/packages/neon/neon/lib/src/widgets/account_tile.dart +++ b/packages/neon/neon/lib/src/widgets/account_tile.dart @@ -43,7 +43,7 @@ class NeonAccountTile extends StatelessWidget { if (userDetails.data != null) ...[ Flexible( child: Text( - userDetails.data!.getDisplayName()!, + userDetails.data!.displayname, style: Theme.of(context).textTheme.bodyLarge!.copyWith( color: textColor, ), diff --git a/packages/nextcloud/lib/src/helpers.dart b/packages/nextcloud/lib/src/helpers.dart index a6b4895f..b156950e 100644 --- a/packages/nextcloud/lib/src/helpers.dart +++ b/packages/nextcloud/lib/src/helpers.dart @@ -14,12 +14,6 @@ NextcloudNotificationsNotificationDecryptedSubject decryptPushNotificationSubjec json.decode(privateKey.decrypt(subject)) as Map, ); -extension UserDetailsDisplayName on openapi.NextcloudProvisioningApiUserDetails { - /// This is used to work around an API change that wasn't made for every endpoint - /// See https://github.com/nextcloud/server/commit/5086335643b6181284ee50f57b95525002842992 - String? getDisplayName() => displayname ?? displayName; -} - /// See https://github.com/nextcloud/news/blob/4a107b3d53c4fe651ac704251b99e04a53cd587f/lib/Db/ListType.php enum NewsListType { feed(0), diff --git a/packages/nextcloud/lib/src/nextcloud.openapi.dart b/packages/nextcloud/lib/src/nextcloud.openapi.dart index 32691f03..72dc15b4 100644 --- a/packages/nextcloud/lib/src/nextcloud.openapi.dart +++ b/packages/nextcloud/lib/src/nextcloud.openapi.dart @@ -3196,6 +3196,7 @@ abstract class NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus jsonSerializers.deserializeWith(serializer, json)!; Map toJson() => jsonSerializers.serializeWith(serializer, this)! as Map; + bool? get restore; bool? get enabled; @BuiltValueField(wireName: 'supports_emoji') bool? get supportsEmoji; @@ -4015,7 +4016,7 @@ abstract class NextcloudProvisioningApiUserDetails BuiltList get additionalMail; @BuiltValueField(wireName: 'additional_mailScope') BuiltList get additionalMailScope; - String? get displayname; + String get displayname; String get displaynameScope; String get phone; String get phoneScope; @@ -4046,7 +4047,7 @@ abstract class NextcloudProvisioningApiUserDetails String? get notifyEmail; NextcloudProvisioningApiUserDetails_BackendCapabilities get backendCapabilities; @BuiltValueField(wireName: 'display-name') - String? get displayName; + String get displayName; static Serializer get serializer => _$nextcloudProvisioningApiUserDetailsSerializer; } diff --git a/packages/nextcloud/lib/src/nextcloud.openapi.g.dart b/packages/nextcloud/lib/src/nextcloud.openapi.g.dart index 05f56271..de1662b4 100644 --- a/packages/nextcloud/lib/src/nextcloud.openapi.g.dart +++ b/packages/nextcloud/lib/src/nextcloud.openapi.g.dart @@ -3757,6 +3757,12 @@ class _$NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatusSerializ {FullType specifiedType = FullType.unspecified}) { final result = []; Object? value; + value = object.restore; + if (value != null) { + result + ..add('restore') + ..add(serializers.serialize(value, specifiedType: const FullType(bool))); + } value = object.enabled; if (value != null) { result @@ -3784,6 +3790,9 @@ class _$NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatusSerializ iterator.moveNext(); final Object? value = iterator.current; switch (key) { + case 'restore': + result.restore = serializers.deserialize(value, specifiedType: const FullType(bool)) as bool?; + break; case 'enabled': result.enabled = serializers.deserialize(value, specifiedType: const FullType(bool)) as bool?; break; @@ -6109,6 +6118,8 @@ class _$NextcloudProvisioningApiUserDetailsSerializer serializers.serialize(object.additionalMail, specifiedType: const FullType(BuiltList, [FullType(String)])), 'additional_mailScope', serializers.serialize(object.additionalMailScope, specifiedType: const FullType(BuiltList, [FullType(String)])), + 'displayname', + serializers.serialize(object.displayname, specifiedType: const FullType(String)), 'displaynameScope', serializers.serialize(object.displaynameScope, specifiedType: const FullType(String)), 'phone', @@ -6160,6 +6171,8 @@ class _$NextcloudProvisioningApiUserDetailsSerializer 'backendCapabilities', serializers.serialize(object.backendCapabilities, specifiedType: const FullType(NextcloudProvisioningApiUserDetails_BackendCapabilities)), + 'display-name', + serializers.serialize(object.displayName, specifiedType: const FullType(String)), ]; Object? value; value = object.enabled; @@ -6180,24 +6193,12 @@ class _$NextcloudProvisioningApiUserDetailsSerializer ..add('email') ..add(serializers.serialize(value, specifiedType: const FullType(String))); } - value = object.displayname; - if (value != null) { - result - ..add('displayname') - ..add(serializers.serialize(value, specifiedType: const FullType(String))); - } value = object.notifyEmail; if (value != null) { result ..add('notify_email') ..add(serializers.serialize(value, specifiedType: const FullType(String))); } - value = object.displayName; - if (value != null) { - result - ..add('display-name') - ..add(serializers.serialize(value, specifiedType: const FullType(String))); - } return result; } @@ -6254,7 +6255,7 @@ class _$NextcloudProvisioningApiUserDetailsSerializer specifiedType: const FullType(BuiltList, [FullType(String)]))! as BuiltList); break; case 'displayname': - result.displayname = serializers.deserialize(value, specifiedType: const FullType(String)) as String?; + result.displayname = serializers.deserialize(value, specifiedType: const FullType(String))! as String; break; case 'displaynameScope': result.displaynameScope = serializers.deserialize(value, specifiedType: const FullType(String))! as String; @@ -6338,7 +6339,7 @@ class _$NextcloudProvisioningApiUserDetailsSerializer as NextcloudProvisioningApiUserDetails_BackendCapabilities); break; case 'display-name': - result.displayName = serializers.deserialize(value, specifiedType: const FullType(String)) as String?; + result.displayName = serializers.deserialize(value, specifiedType: const FullType(String))! as String; break; } } @@ -13537,6 +13538,8 @@ class NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_ThemingBuilder class _$NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus extends NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus { @override + final bool? restore; + @override final bool? enabled; @override final bool? supportsEmoji; @@ -13545,7 +13548,8 @@ class _$NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus [void Function(NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatusBuilder)? updates]) => (NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatusBuilder()..update(updates))._build(); - _$NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus._({this.enabled, this.supportsEmoji}) : super._(); + _$NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus._({this.restore, this.enabled, this.supportsEmoji}) + : super._(); @override NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus rebuild( @@ -13560,6 +13564,7 @@ class _$NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus bool operator ==(Object other) { if (identical(other, this)) return true; return other is NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus && + restore == other.restore && enabled == other.enabled && supportsEmoji == other.supportsEmoji; } @@ -13567,6 +13572,7 @@ class _$NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus @override int get hashCode { var _$hash = 0; + _$hash = $jc(_$hash, restore.hashCode); _$hash = $jc(_$hash, enabled.hashCode); _$hash = $jc(_$hash, supportsEmoji.hashCode); _$hash = $jf(_$hash); @@ -13576,6 +13582,7 @@ class _$NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus @override String toString() { return (newBuiltValueToStringHelper(r'NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus') + ..add('restore', restore) ..add('enabled', enabled) ..add('supportsEmoji', supportsEmoji)) .toString(); @@ -13588,6 +13595,10 @@ class NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatusBuilder NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatusBuilder> { _$NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus? _$v; + bool? _restore; + bool? get restore => _$this._restore; + set restore(bool? restore) => _$this._restore = restore; + bool? _enabled; bool? get enabled => _$this._enabled; set enabled(bool? enabled) => _$this._enabled = enabled; @@ -13601,6 +13612,7 @@ class NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatusBuilder NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatusBuilder get _$this { final $v = _$v; if ($v != null) { + _restore = $v.restore; _enabled = $v.enabled; _supportsEmoji = $v.supportsEmoji; _$v = null; @@ -13625,7 +13637,7 @@ class NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatusBuilder _$NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus _build() { final _$result = _$v ?? _$NextcloudCoreServerCapabilities_Ocs_Data_Capabilities_UserStatus._( - enabled: enabled, supportsEmoji: supportsEmoji); + restore: restore, enabled: enabled, supportsEmoji: supportsEmoji); replace(_$result); return _$result; } @@ -18682,7 +18694,7 @@ class _$NextcloudProvisioningApiUserDetails extends NextcloudProvisioningApiUser @override final BuiltList additionalMailScope; @override - final String? displayname; + final String displayname; @override final String displaynameScope; @override @@ -18736,7 +18748,7 @@ class _$NextcloudProvisioningApiUserDetails extends NextcloudProvisioningApiUser @override final NextcloudProvisioningApiUserDetails_BackendCapabilities backendCapabilities; @override - final String? displayName; + final String displayName; factory _$NextcloudProvisioningApiUserDetails([void Function(NextcloudProvisioningApiUserDetailsBuilder)? updates]) => (NextcloudProvisioningApiUserDetailsBuilder()..update(updates))._build(); @@ -18754,7 +18766,7 @@ class _$NextcloudProvisioningApiUserDetails extends NextcloudProvisioningApiUser required this.emailScope, required this.additionalMail, required this.additionalMailScope, - this.displayname, + required this.displayname, required this.displaynameScope, required this.phone, required this.phoneScope, @@ -18781,7 +18793,7 @@ class _$NextcloudProvisioningApiUserDetails extends NextcloudProvisioningApiUser required this.locale, this.notifyEmail, required this.backendCapabilities, - this.displayName}) + required this.displayName}) : super._() { BuiltValueNullFieldError.checkNotNull(id, r'NextcloudProvisioningApiUserDetails', 'id'); BuiltValueNullFieldError.checkNotNull(lastLogin, r'NextcloudProvisioningApiUserDetails', 'lastLogin'); @@ -18793,6 +18805,7 @@ class _$NextcloudProvisioningApiUserDetails extends NextcloudProvisioningApiUser BuiltValueNullFieldError.checkNotNull(additionalMail, r'NextcloudProvisioningApiUserDetails', 'additionalMail'); BuiltValueNullFieldError.checkNotNull( additionalMailScope, r'NextcloudProvisioningApiUserDetails', 'additionalMailScope'); + BuiltValueNullFieldError.checkNotNull(displayname, r'NextcloudProvisioningApiUserDetails', 'displayname'); BuiltValueNullFieldError.checkNotNull(displaynameScope, r'NextcloudProvisioningApiUserDetails', 'displaynameScope'); BuiltValueNullFieldError.checkNotNull(phone, r'NextcloudProvisioningApiUserDetails', 'phone'); BuiltValueNullFieldError.checkNotNull(phoneScope, r'NextcloudProvisioningApiUserDetails', 'phoneScope'); @@ -18821,6 +18834,7 @@ class _$NextcloudProvisioningApiUserDetails extends NextcloudProvisioningApiUser BuiltValueNullFieldError.checkNotNull(locale, r'NextcloudProvisioningApiUserDetails', 'locale'); BuiltValueNullFieldError.checkNotNull( backendCapabilities, r'NextcloudProvisioningApiUserDetails', 'backendCapabilities'); + BuiltValueNullFieldError.checkNotNull(displayName, r'NextcloudProvisioningApiUserDetails', 'displayName'); } @override @@ -19223,7 +19237,8 @@ class NextcloudProvisioningApiUserDetailsBuilder emailScope, r'NextcloudProvisioningApiUserDetails', 'emailScope'), additionalMail: additionalMail.build(), additionalMailScope: additionalMailScope.build(), - displayname: displayname, + displayname: BuiltValueNullFieldError.checkNotNull( + displayname, r'NextcloudProvisioningApiUserDetails', 'displayname'), displaynameScope: BuiltValueNullFieldError.checkNotNull( displaynameScope, r'NextcloudProvisioningApiUserDetails', 'displaynameScope'), phone: BuiltValueNullFieldError.checkNotNull(phone, r'NextcloudProvisioningApiUserDetails', 'phone'), @@ -19243,8 +19258,7 @@ class NextcloudProvisioningApiUserDetailsBuilder twitterScope, r'NextcloudProvisioningApiUserDetails', 'twitterScope'), organisation: BuiltValueNullFieldError.checkNotNull( organisation, r'NextcloudProvisioningApiUserDetails', 'organisation'), - organisationScope: BuiltValueNullFieldError.checkNotNull( - organisationScope, r'NextcloudProvisioningApiUserDetails', 'organisationScope'), + organisationScope: BuiltValueNullFieldError.checkNotNull(organisationScope, r'NextcloudProvisioningApiUserDetails', 'organisationScope'), role: BuiltValueNullFieldError.checkNotNull(role, r'NextcloudProvisioningApiUserDetails', 'role'), roleScope: BuiltValueNullFieldError.checkNotNull(roleScope, r'NextcloudProvisioningApiUserDetails', 'roleScope'), headline: BuiltValueNullFieldError.checkNotNull(headline, r'NextcloudProvisioningApiUserDetails', 'headline'), @@ -19260,7 +19274,7 @@ class NextcloudProvisioningApiUserDetailsBuilder locale: BuiltValueNullFieldError.checkNotNull(locale, r'NextcloudProvisioningApiUserDetails', 'locale'), notifyEmail: notifyEmail, backendCapabilities: backendCapabilities.build(), - displayName: displayName); + displayName: BuiltValueNullFieldError.checkNotNull(displayName, r'NextcloudProvisioningApiUserDetails', 'displayName')); } catch (_) { late String _$failedField; try { diff --git a/packages/nextcloud/lib/src/nextcloud.openapi.json b/packages/nextcloud/lib/src/nextcloud.openapi.json index 84b0224d..0e6f6a85 100644 --- a/packages/nextcloud/lib/src/nextcloud.openapi.json +++ b/packages/nextcloud/lib/src/nextcloud.openapi.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "Nextcloud", - "version": "26.0.1", + "version": "27.0.0", "description": "All supported Nextcloud APIs in one", "license": { "name": "agpl", @@ -755,6 +755,9 @@ "type": "object", "additionalProperties": true, "properties": { + "restore": { + "type": "boolean" + }, "enabled": { "type": "boolean" }, @@ -1507,6 +1510,8 @@ "emailScope", "additional_mail", "additional_mailScope", + "display-name", + "displayname", "displaynameScope", "phone", "phoneScope", diff --git a/packages/nextcloud/lib/src/version_supported.dart b/packages/nextcloud/lib/src/version_supported.dart index 6403f8c9..edadd50c 100644 --- a/packages/nextcloud/lib/src/version_supported.dart +++ b/packages/nextcloud/lib/src/version_supported.dart @@ -1,7 +1,7 @@ part of '../nextcloud.dart'; /// Version of core/Server supported -const coreSupportedVersion = 26; +const coreSupportedVersion = 27; /// API version of the news app supported const newsSupportedVersion = 'v1-3'; diff --git a/packages/nextcloud/test/provisioning_api.dart b/packages/nextcloud/test/provisioning_api.dart index 45fdc60c..ea8587df 100644 --- a/packages/nextcloud/test/provisioning_api.dart +++ b/packages/nextcloud/test/provisioning_api.dart @@ -1,4 +1,3 @@ -import 'package:nextcloud/nextcloud.dart'; import 'package:test/test.dart'; import 'helper.dart'; @@ -20,7 +19,7 @@ Future run(final DockerImage image) async { test('Get current user', () async { final user = await client.provisioningApi.getCurrentUser(); expect(user.ocs.data.id, 'user1'); - expect(user.ocs.data.getDisplayName(), 'User One'); + expect(user.ocs.data.displayname, 'User One'); expect(user.ocs.data.displaynameScope, 'v2-federated'); expect(user.ocs.data.language, 'en'); }); @@ -28,7 +27,7 @@ Future run(final DockerImage image) async { test('Get user by username', () async { final user = await client.provisioningApi.getUser(userId: 'user1'); expect(user.ocs.data.id, 'user1'); - expect(user.ocs.data.getDisplayName(), 'User One'); + expect(user.ocs.data.displayname, 'User One'); expect(user.ocs.data.displaynameScope, 'v2-federated'); expect(user.ocs.data.language, 'en'); }); diff --git a/packages/nextcloud/test/webdav.dart b/packages/nextcloud/test/webdav.dart index f07d6bb4..7925a71e 100644 --- a/packages/nextcloud/test/webdav.dart +++ b/packages/nextcloud/test/webdav.dart @@ -47,7 +47,7 @@ Future run(final DockerImage image) async { ), )) .responses; - expect(responses, hasLength(9)); + expect(responses, hasLength(10)); final props = responses.singleWhere((final response) => response.href!.endsWith('/Nextcloud.png')).propstats.first.prop; expect(props.nchaspreview, isTrue); @@ -62,7 +62,7 @@ Future run(final DockerImage image) async { depth: 'infinity', )) .responses; - expect(responses, hasLength(37)); + expect(responses, hasLength(48)); }); test('Create directory', () async { @@ -96,7 +96,7 @@ Future run(final DockerImage image) async { ), )) .responses; - expect(responses, hasLength(11)); + expect(responses, hasLength(12)); expect( responses.singleWhere((final response) => response.href!.endsWith('/test.png')).propstats.first.prop.ocsize, pngBytes.lengthInBytes, diff --git a/specs/core.json b/specs/core.json index 6ed8a375..0d404e16 100644 --- a/specs/core.json +++ b/specs/core.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "Core", - "version": "26.0.1", + "version": "27.0.0", "description": "Core functionality of Nextcloud", "license": { "name": "agpl", @@ -755,6 +755,9 @@ "type": "object", "additionalProperties": true, "properties": { + "restore": { + "type": "boolean" + }, "enabled": { "type": "boolean" }, diff --git a/specs/notifications.json b/specs/notifications.json index 340a16cb..bc3dd746 100644 --- a/specs/notifications.json +++ b/specs/notifications.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "Notifications", - "version": "2.14.0", + "version": "2.15.0", "description": "This app provides a backend and frontend for the notification API available in Nextcloud.", "license": { "name": "agpl", diff --git a/specs/provisioning_api.json b/specs/provisioning_api.json index c409e897..f40045e2 100644 --- a/specs/provisioning_api.json +++ b/specs/provisioning_api.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "Provisioning API", - "version": "1.16.0", + "version": "1.17.0", "description": "This application enables a set of APIs that external systems can use to manage users, groups and apps.", "license": { "name": "agpl", @@ -112,6 +112,8 @@ "emailScope", "additional_mail", "additional_mailScope", + "display-name", + "displayname", "displaynameScope", "phone", "phoneScope", diff --git a/specs/templates/appinfo_core.xml b/specs/templates/appinfo_core.xml index ff8571a6..c28c028e 100644 --- a/specs/templates/appinfo_core.xml +++ b/specs/templates/appinfo_core.xml @@ -4,6 +4,6 @@ Core Core functionality of Nextcloud - 26.0.1 + 27.0.0 agpl diff --git a/specs/templates/core.json b/specs/templates/core.json index ce3abdb5..e43b0105 100644 --- a/specs/templates/core.json +++ b/specs/templates/core.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "Core", - "version": "26.0.1", + "version": "27.0.0", "description": "Core functionality of Nextcloud", "license": { "name": "agpl", diff --git a/specs/templates/notifications.json b/specs/templates/notifications.json index a44561df..b157d639 100644 --- a/specs/templates/notifications.json +++ b/specs/templates/notifications.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "Notifications", - "version": "2.14.0", + "version": "2.15.0", "description": "This app provides a backend and frontend for the notification API available in Nextcloud.", "license": { "name": "agpl", diff --git a/specs/templates/provisioning_api.json b/specs/templates/provisioning_api.json index 153765d1..8dad48da 100644 --- a/specs/templates/provisioning_api.json +++ b/specs/templates/provisioning_api.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "Provisioning API", - "version": "1.16.0", + "version": "1.17.0", "description": "This application enables a set of APIs that external systems can use to manage users, groups and apps.", "license": { "name": "agpl", @@ -562,6 +562,14 @@ "type": "string", "default": "" } + }, + { + "name": "manager", + "in": "query", + "required": false, + "schema": { + "type": "string" + } } ], "responses": { diff --git a/specs/templates/user_status.json b/specs/templates/user_status.json index 309553e8..a7151aa4 100644 --- a/specs/templates/user_status.json +++ b/specs/templates/user_status.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "User status", - "version": "1.6.0", + "version": "1.7.0", "description": "User status", "license": { "name": "agpl", @@ -232,6 +232,36 @@ } } }, + "/ocs/v2.php/apps/user_status/api/v1/user_status/revert/{messageId}": { + "parameters": [ + { + "name": "messageId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "delete": { + "operationId": "userstatus-revertstatus-TODO", + "tags": [ + "user_status" + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, "/ocs/v2.php/apps/user_status/api/v1/predefined_statuses": { "get": { "operationId": "predefinedstatus-findall-TODO", diff --git a/specs/user_status.json b/specs/user_status.json index ac0a2206..78cd91e5 100644 --- a/specs/user_status.json +++ b/specs/user_status.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "User status", - "version": "1.6.0", + "version": "1.7.0", "description": "User status", "license": { "name": "agpl", diff --git a/tool/Dockerfile.dev b/tool/Dockerfile.dev index 0fc144ec..f585d46d 100644 --- a/tool/Dockerfile.dev +++ b/tool/Dockerfile.dev @@ -1,4 +1,4 @@ -FROM nextcloud:26.0.1 +FROM nextcloud:27.0.0 WORKDIR /usr/src/nextcloud RUN chown -R www-data:www-data . USER www-data