diff --git a/packages/nextcloud/lib/src/api/news/news.openapi.dart b/packages/nextcloud/lib/src/api/news/news.openapi.dart index 2871a3e141c..5d93ac336c1 100644 --- a/packages/nextcloud/lib/src/api/news/news.openapi.dart +++ b/packages/nextcloud/lib/src/api/news/news.openapi.dart @@ -17,6 +17,8 @@ @_i2.experimental library; // ignore_for_file: no_leading_underscores_for_library_prefixes +import 'dart:convert'; + import 'package:built_collection/built_collection.dart'; import 'package:built_value/built_value.dart'; import 'package:built_value/json_object.dart'; @@ -1330,6 +1332,147 @@ class $ItemsClient { return _i1.ResponseConverter(_serializer).convert(_response); } + /// Builds a serializer to parse the response of [$readMultipleArticles_Request]. + @_i2.experimental + _i1.DynamiteSerializer $readMultipleArticles_Serializer() => _i1.DynamiteSerializer( + bodyType: null, + headersType: null, + serializers: _$jsonSerializers, + validStatuses: const {200}, + ); + + /// Returns a `DynamiteRequest` backing the [readMultipleArticles] operation. + /// Throws a `DynamiteApiException` if the API call does not return an expected status code. + /// + /// Status codes: + /// * 200 + /// + /// See: + /// * [readMultipleArticles] for a method executing this request and parsing the response. + /// * [$readMultipleArticles_Serializer] for a converter to parse the `Response` from an executed this request. + @_i2.experimental + _i3.Request $readMultipleArticles_Request({required ReadMultipleArticlesRequestApplicationJson $body}) { + const _path = '/index.php/apps/news/api/v1-3/items/read/multiple'; + final _uri = Uri.parse('${_rootClient.baseURL}$_path'); + final _request = _i3.Request('post', _uri); +// coverage:ignore-start + final authentication = _i4.IterableExtension(_rootClient.authentications)?.firstWhereOrNull( + (auth) => switch (auth) { + _i1.DynamiteHttpBasicAuthentication() => true, + _ => false, + }, + ); + + if (authentication != null) { + _request.headers.addAll( + authentication.headers, + ); + } else { + throw Exception('Missing authentication for basic_auth'); + } + +// coverage:ignore-end + _request.headers['Content-Type'] = 'application/json'; + _request.body = json.encode( + _$jsonSerializers.serialize($body, specifiedType: const FullType(ReadMultipleArticlesRequestApplicationJson)), + ); + return _request; + } + + /// Returns a [Future] containing a `DynamiteResponse` with the status code, deserialized body and headers. + /// Throws a `DynamiteApiException` if the API call does not return an expected status code. + /// + /// Status codes: + /// * 200 + /// + /// See: + /// * [$readMultipleArticles_Request] for the request send by this method. + /// * [$readMultipleArticles_Serializer] for a converter to parse the `Response` from an executed request. + Future<_i1.DynamiteResponse> readMultipleArticles({ + required ReadMultipleArticlesRequestApplicationJson $body, + }) async { + final _request = $readMultipleArticles_Request( + $body: $body, + ); + final _streamedResponse = await _rootClient.httpClient.send(_request); + final _response = await _i3.Response.fromStream(_streamedResponse); + + final _serializer = $readMultipleArticles_Serializer(); + return _i1.ResponseConverter(_serializer).convert(_response); + } + + /// Builds a serializer to parse the response of [$unreadMultipleArticles_Request]. + @_i2.experimental + _i1.DynamiteSerializer $unreadMultipleArticles_Serializer() => _i1.DynamiteSerializer( + bodyType: null, + headersType: null, + serializers: _$jsonSerializers, + validStatuses: const {200}, + ); + + /// Returns a `DynamiteRequest` backing the [unreadMultipleArticles] operation. + /// Throws a `DynamiteApiException` if the API call does not return an expected status code. + /// + /// Status codes: + /// * 200 + /// + /// See: + /// * [unreadMultipleArticles] for a method executing this request and parsing the response. + /// * [$unreadMultipleArticles_Serializer] for a converter to parse the `Response` from an executed this request. + @_i2.experimental + _i3.Request $unreadMultipleArticles_Request({required UnreadMultipleArticlesRequestApplicationJson $body}) { + const _path = '/index.php/apps/news/api/v1-3/items/unread/multiple'; + final _uri = Uri.parse('${_rootClient.baseURL}$_path'); + final _request = _i3.Request('post', _uri); +// coverage:ignore-start + final authentication = _i4.IterableExtension(_rootClient.authentications)?.firstWhereOrNull( + (auth) => switch (auth) { + _i1.DynamiteHttpBasicAuthentication() => true, + _ => false, + }, + ); + + if (authentication != null) { + _request.headers.addAll( + authentication.headers, + ); + } else { + throw Exception('Missing authentication for basic_auth'); + } + +// coverage:ignore-end + _request.headers['Content-Type'] = 'application/json'; + _request.body = json.encode( + _$jsonSerializers.serialize( + $body, + specifiedType: const FullType(UnreadMultipleArticlesRequestApplicationJson), + ), + ); + return _request; + } + + /// Returns a [Future] containing a `DynamiteResponse` with the status code, deserialized body and headers. + /// Throws a `DynamiteApiException` if the API call does not return an expected status code. + /// + /// Status codes: + /// * 200 + /// + /// See: + /// * [$unreadMultipleArticles_Request] for the request send by this method. + /// * [$unreadMultipleArticles_Serializer] for a converter to parse the `Response` from an executed request. + Future<_i1.DynamiteResponse> unreadMultipleArticles({ + required UnreadMultipleArticlesRequestApplicationJson $body, + }) async { + final _request = $unreadMultipleArticles_Request( + $body: $body, + ); + final _streamedResponse = await _rootClient.httpClient.send(_request); + final _response = await _i3.Response.fromStream(_streamedResponse); + + final _serializer = $unreadMultipleArticles_Serializer(); + return _i1.ResponseConverter(_serializer).convert(_response); + } + /// Builds a serializer to parse the response of [$starArticle_Request]. @_i2.experimental _i1.DynamiteSerializer $starArticle_Serializer() => _i1.DynamiteSerializer( @@ -1463,6 +1606,147 @@ class $ItemsClient { final _serializer = $unstarArticle_Serializer(); return _i1.ResponseConverter(_serializer).convert(_response); } + + /// Builds a serializer to parse the response of [$starMultipleArticles_Request]. + @_i2.experimental + _i1.DynamiteSerializer $starMultipleArticles_Serializer() => _i1.DynamiteSerializer( + bodyType: null, + headersType: null, + serializers: _$jsonSerializers, + validStatuses: const {200}, + ); + + /// Returns a `DynamiteRequest` backing the [starMultipleArticles] operation. + /// Throws a `DynamiteApiException` if the API call does not return an expected status code. + /// + /// Status codes: + /// * 200 + /// + /// See: + /// * [starMultipleArticles] for a method executing this request and parsing the response. + /// * [$starMultipleArticles_Serializer] for a converter to parse the `Response` from an executed this request. + @_i2.experimental + _i3.Request $starMultipleArticles_Request({required StarMultipleArticlesRequestApplicationJson $body}) { + const _path = '/index.php/apps/news/api/v1-3/items/star/multiple'; + final _uri = Uri.parse('${_rootClient.baseURL}$_path'); + final _request = _i3.Request('post', _uri); +// coverage:ignore-start + final authentication = _i4.IterableExtension(_rootClient.authentications)?.firstWhereOrNull( + (auth) => switch (auth) { + _i1.DynamiteHttpBasicAuthentication() => true, + _ => false, + }, + ); + + if (authentication != null) { + _request.headers.addAll( + authentication.headers, + ); + } else { + throw Exception('Missing authentication for basic_auth'); + } + +// coverage:ignore-end + _request.headers['Content-Type'] = 'application/json'; + _request.body = json.encode( + _$jsonSerializers.serialize($body, specifiedType: const FullType(StarMultipleArticlesRequestApplicationJson)), + ); + return _request; + } + + /// Returns a [Future] containing a `DynamiteResponse` with the status code, deserialized body and headers. + /// Throws a `DynamiteApiException` if the API call does not return an expected status code. + /// + /// Status codes: + /// * 200 + /// + /// See: + /// * [$starMultipleArticles_Request] for the request send by this method. + /// * [$starMultipleArticles_Serializer] for a converter to parse the `Response` from an executed request. + Future<_i1.DynamiteResponse> starMultipleArticles({ + required StarMultipleArticlesRequestApplicationJson $body, + }) async { + final _request = $starMultipleArticles_Request( + $body: $body, + ); + final _streamedResponse = await _rootClient.httpClient.send(_request); + final _response = await _i3.Response.fromStream(_streamedResponse); + + final _serializer = $starMultipleArticles_Serializer(); + return _i1.ResponseConverter(_serializer).convert(_response); + } + + /// Builds a serializer to parse the response of [$unstarMultipleArticles_Request]. + @_i2.experimental + _i1.DynamiteSerializer $unstarMultipleArticles_Serializer() => _i1.DynamiteSerializer( + bodyType: null, + headersType: null, + serializers: _$jsonSerializers, + validStatuses: const {200}, + ); + + /// Returns a `DynamiteRequest` backing the [unstarMultipleArticles] operation. + /// Throws a `DynamiteApiException` if the API call does not return an expected status code. + /// + /// Status codes: + /// * 200 + /// + /// See: + /// * [unstarMultipleArticles] for a method executing this request and parsing the response. + /// * [$unstarMultipleArticles_Serializer] for a converter to parse the `Response` from an executed this request. + @_i2.experimental + _i3.Request $unstarMultipleArticles_Request({required UnstarMultipleArticlesRequestApplicationJson $body}) { + const _path = '/index.php/apps/news/api/v1-3/items/unstar/multiple'; + final _uri = Uri.parse('${_rootClient.baseURL}$_path'); + final _request = _i3.Request('post', _uri); +// coverage:ignore-start + final authentication = _i4.IterableExtension(_rootClient.authentications)?.firstWhereOrNull( + (auth) => switch (auth) { + _i1.DynamiteHttpBasicAuthentication() => true, + _ => false, + }, + ); + + if (authentication != null) { + _request.headers.addAll( + authentication.headers, + ); + } else { + throw Exception('Missing authentication for basic_auth'); + } + +// coverage:ignore-end + _request.headers['Content-Type'] = 'application/json'; + _request.body = json.encode( + _$jsonSerializers.serialize( + $body, + specifiedType: const FullType(UnstarMultipleArticlesRequestApplicationJson), + ), + ); + return _request; + } + + /// Returns a [Future] containing a `DynamiteResponse` with the status code, deserialized body and headers. + /// Throws a `DynamiteApiException` if the API call does not return an expected status code. + /// + /// Status codes: + /// * 200 + /// + /// See: + /// * [$unstarMultipleArticles_Request] for the request send by this method. + /// * [$unstarMultipleArticles_Serializer] for a converter to parse the `Response` from an executed request. + Future<_i1.DynamiteResponse> unstarMultipleArticles({ + required UnstarMultipleArticlesRequestApplicationJson $body, + }) async { + final _request = $unstarMultipleArticles_Request( + $body: $body, + ); + final _streamedResponse = await _rootClient.httpClient.send(_request); + final _response = await _i3.Response.fromStream(_streamedResponse); + + final _serializer = $unstarMultipleArticles_Serializer(); + return _i1.ResponseConverter(_serializer).convert(_response); + } } @BuiltValue(instantiable: false) @@ -1884,6 +2168,258 @@ abstract class ListArticles implements $ListArticlesInterface, Built get itemIds; + + /// Rebuilds the instance. + /// + /// The result is the same as this instance but with [updates] applied. + /// [updates] is a function that takes a builder [$ReadMultipleArticlesRequestApplicationJsonInterfaceBuilder]. + $ReadMultipleArticlesRequestApplicationJsonInterface rebuild( + void Function($ReadMultipleArticlesRequestApplicationJsonInterfaceBuilder) updates, + ); + + /// Converts the instance to a builder [$ReadMultipleArticlesRequestApplicationJsonInterfaceBuilder]. + $ReadMultipleArticlesRequestApplicationJsonInterfaceBuilder toBuilder(); + @BuiltValueHook(initializeBuilder: true) + static void _defaults($ReadMultipleArticlesRequestApplicationJsonInterfaceBuilder b) {} + @BuiltValueHook(finalizeBuilder: true) + static void _validate($ReadMultipleArticlesRequestApplicationJsonInterfaceBuilder b) {} +} + +abstract class ReadMultipleArticlesRequestApplicationJson + implements + $ReadMultipleArticlesRequestApplicationJsonInterface, + Built { + /// Creates a new ReadMultipleArticlesRequestApplicationJson object using the builder pattern. + factory ReadMultipleArticlesRequestApplicationJson([ + void Function(ReadMultipleArticlesRequestApplicationJsonBuilder)? b, + ]) = _$ReadMultipleArticlesRequestApplicationJson; + + // coverage:ignore-start + const ReadMultipleArticlesRequestApplicationJson._(); + // coverage:ignore-end + + /// Creates a new object from the given [json] data. + /// + /// Use [toJson] to serialize it back into json. + // coverage:ignore-start + factory ReadMultipleArticlesRequestApplicationJson.fromJson(Map json) => + _$jsonSerializers.deserializeWith(serializer, json)!; + // coverage:ignore-end + + /// Parses this object into a json like map. + /// + /// Use the fromJson factory to revive it again. + // coverage:ignore-start + Map toJson() => _$jsonSerializers.serializeWith(serializer, this)! as Map; + // coverage:ignore-end + + /// Serializer for ReadMultipleArticlesRequestApplicationJson. + static Serializer get serializer => + _$readMultipleArticlesRequestApplicationJsonSerializer; + + @BuiltValueHook(initializeBuilder: true) + static void _defaults(ReadMultipleArticlesRequestApplicationJsonBuilder b) { + $ReadMultipleArticlesRequestApplicationJsonInterface._defaults(b); + } + + @BuiltValueHook(finalizeBuilder: true) + static void _validate(ReadMultipleArticlesRequestApplicationJsonBuilder b) { + $ReadMultipleArticlesRequestApplicationJsonInterface._validate(b); + } +} + +@BuiltValue(instantiable: false) +sealed class $UnreadMultipleArticlesRequestApplicationJsonInterface { + BuiltList get itemIds; + + /// Rebuilds the instance. + /// + /// The result is the same as this instance but with [updates] applied. + /// [updates] is a function that takes a builder [$UnreadMultipleArticlesRequestApplicationJsonInterfaceBuilder]. + $UnreadMultipleArticlesRequestApplicationJsonInterface rebuild( + void Function($UnreadMultipleArticlesRequestApplicationJsonInterfaceBuilder) updates, + ); + + /// Converts the instance to a builder [$UnreadMultipleArticlesRequestApplicationJsonInterfaceBuilder]. + $UnreadMultipleArticlesRequestApplicationJsonInterfaceBuilder toBuilder(); + @BuiltValueHook(initializeBuilder: true) + static void _defaults($UnreadMultipleArticlesRequestApplicationJsonInterfaceBuilder b) {} + @BuiltValueHook(finalizeBuilder: true) + static void _validate($UnreadMultipleArticlesRequestApplicationJsonInterfaceBuilder b) {} +} + +abstract class UnreadMultipleArticlesRequestApplicationJson + implements + $UnreadMultipleArticlesRequestApplicationJsonInterface, + Built { + /// Creates a new UnreadMultipleArticlesRequestApplicationJson object using the builder pattern. + factory UnreadMultipleArticlesRequestApplicationJson([ + void Function(UnreadMultipleArticlesRequestApplicationJsonBuilder)? b, + ]) = _$UnreadMultipleArticlesRequestApplicationJson; + + // coverage:ignore-start + const UnreadMultipleArticlesRequestApplicationJson._(); + // coverage:ignore-end + + /// Creates a new object from the given [json] data. + /// + /// Use [toJson] to serialize it back into json. + // coverage:ignore-start + factory UnreadMultipleArticlesRequestApplicationJson.fromJson(Map json) => + _$jsonSerializers.deserializeWith(serializer, json)!; + // coverage:ignore-end + + /// Parses this object into a json like map. + /// + /// Use the fromJson factory to revive it again. + // coverage:ignore-start + Map toJson() => _$jsonSerializers.serializeWith(serializer, this)! as Map; + // coverage:ignore-end + + /// Serializer for UnreadMultipleArticlesRequestApplicationJson. + static Serializer get serializer => + _$unreadMultipleArticlesRequestApplicationJsonSerializer; + + @BuiltValueHook(initializeBuilder: true) + static void _defaults(UnreadMultipleArticlesRequestApplicationJsonBuilder b) { + $UnreadMultipleArticlesRequestApplicationJsonInterface._defaults(b); + } + + @BuiltValueHook(finalizeBuilder: true) + static void _validate(UnreadMultipleArticlesRequestApplicationJsonBuilder b) { + $UnreadMultipleArticlesRequestApplicationJsonInterface._validate(b); + } +} + +@BuiltValue(instantiable: false) +sealed class $StarMultipleArticlesRequestApplicationJsonInterface { + BuiltList get itemIds; + + /// Rebuilds the instance. + /// + /// The result is the same as this instance but with [updates] applied. + /// [updates] is a function that takes a builder [$StarMultipleArticlesRequestApplicationJsonInterfaceBuilder]. + $StarMultipleArticlesRequestApplicationJsonInterface rebuild( + void Function($StarMultipleArticlesRequestApplicationJsonInterfaceBuilder) updates, + ); + + /// Converts the instance to a builder [$StarMultipleArticlesRequestApplicationJsonInterfaceBuilder]. + $StarMultipleArticlesRequestApplicationJsonInterfaceBuilder toBuilder(); + @BuiltValueHook(initializeBuilder: true) + static void _defaults($StarMultipleArticlesRequestApplicationJsonInterfaceBuilder b) {} + @BuiltValueHook(finalizeBuilder: true) + static void _validate($StarMultipleArticlesRequestApplicationJsonInterfaceBuilder b) {} +} + +abstract class StarMultipleArticlesRequestApplicationJson + implements + $StarMultipleArticlesRequestApplicationJsonInterface, + Built { + /// Creates a new StarMultipleArticlesRequestApplicationJson object using the builder pattern. + factory StarMultipleArticlesRequestApplicationJson([ + void Function(StarMultipleArticlesRequestApplicationJsonBuilder)? b, + ]) = _$StarMultipleArticlesRequestApplicationJson; + + // coverage:ignore-start + const StarMultipleArticlesRequestApplicationJson._(); + // coverage:ignore-end + + /// Creates a new object from the given [json] data. + /// + /// Use [toJson] to serialize it back into json. + // coverage:ignore-start + factory StarMultipleArticlesRequestApplicationJson.fromJson(Map json) => + _$jsonSerializers.deserializeWith(serializer, json)!; + // coverage:ignore-end + + /// Parses this object into a json like map. + /// + /// Use the fromJson factory to revive it again. + // coverage:ignore-start + Map toJson() => _$jsonSerializers.serializeWith(serializer, this)! as Map; + // coverage:ignore-end + + /// Serializer for StarMultipleArticlesRequestApplicationJson. + static Serializer get serializer => + _$starMultipleArticlesRequestApplicationJsonSerializer; + + @BuiltValueHook(initializeBuilder: true) + static void _defaults(StarMultipleArticlesRequestApplicationJsonBuilder b) { + $StarMultipleArticlesRequestApplicationJsonInterface._defaults(b); + } + + @BuiltValueHook(finalizeBuilder: true) + static void _validate(StarMultipleArticlesRequestApplicationJsonBuilder b) { + $StarMultipleArticlesRequestApplicationJsonInterface._validate(b); + } +} + +@BuiltValue(instantiable: false) +sealed class $UnstarMultipleArticlesRequestApplicationJsonInterface { + BuiltList get itemIds; + + /// Rebuilds the instance. + /// + /// The result is the same as this instance but with [updates] applied. + /// [updates] is a function that takes a builder [$UnstarMultipleArticlesRequestApplicationJsonInterfaceBuilder]. + $UnstarMultipleArticlesRequestApplicationJsonInterface rebuild( + void Function($UnstarMultipleArticlesRequestApplicationJsonInterfaceBuilder) updates, + ); + + /// Converts the instance to a builder [$UnstarMultipleArticlesRequestApplicationJsonInterfaceBuilder]. + $UnstarMultipleArticlesRequestApplicationJsonInterfaceBuilder toBuilder(); + @BuiltValueHook(initializeBuilder: true) + static void _defaults($UnstarMultipleArticlesRequestApplicationJsonInterfaceBuilder b) {} + @BuiltValueHook(finalizeBuilder: true) + static void _validate($UnstarMultipleArticlesRequestApplicationJsonInterfaceBuilder b) {} +} + +abstract class UnstarMultipleArticlesRequestApplicationJson + implements + $UnstarMultipleArticlesRequestApplicationJsonInterface, + Built { + /// Creates a new UnstarMultipleArticlesRequestApplicationJson object using the builder pattern. + factory UnstarMultipleArticlesRequestApplicationJson([ + void Function(UnstarMultipleArticlesRequestApplicationJsonBuilder)? b, + ]) = _$UnstarMultipleArticlesRequestApplicationJson; + + // coverage:ignore-start + const UnstarMultipleArticlesRequestApplicationJson._(); + // coverage:ignore-end + + /// Creates a new object from the given [json] data. + /// + /// Use [toJson] to serialize it back into json. + // coverage:ignore-start + factory UnstarMultipleArticlesRequestApplicationJson.fromJson(Map json) => + _$jsonSerializers.deserializeWith(serializer, json)!; + // coverage:ignore-end + + /// Parses this object into a json like map. + /// + /// Use the fromJson factory to revive it again. + // coverage:ignore-start + Map toJson() => _$jsonSerializers.serializeWith(serializer, this)! as Map; + // coverage:ignore-end + + /// Serializer for UnstarMultipleArticlesRequestApplicationJson. + static Serializer get serializer => + _$unstarMultipleArticlesRequestApplicationJsonSerializer; + + @BuiltValueHook(initializeBuilder: true) + static void _defaults(UnstarMultipleArticlesRequestApplicationJsonBuilder b) { + $UnstarMultipleArticlesRequestApplicationJsonInterface._defaults(b); + } + + @BuiltValueHook(finalizeBuilder: true) + static void _validate(UnstarMultipleArticlesRequestApplicationJsonBuilder b) { + $UnstarMultipleArticlesRequestApplicationJsonInterface._validate(b); + } +} + @BuiltValue(instantiable: false) sealed class $OCSMetaInterface { String get status; @@ -2077,6 +2613,27 @@ final Serializers _$serializers = (Serializers().toBuilder() ..addBuilderFactory(const FullType(BuiltList, [FullType(Folder)]), ListBuilder.new) ..addBuilderFactory(const FullType(ListArticles), ListArticlesBuilder.new) ..add(ListArticles.serializer) + ..addBuilderFactory( + const FullType(ReadMultipleArticlesRequestApplicationJson), + ReadMultipleArticlesRequestApplicationJsonBuilder.new, + ) + ..add(ReadMultipleArticlesRequestApplicationJson.serializer) + ..addBuilderFactory(const FullType(BuiltList, [FullType(int)]), ListBuilder.new) + ..addBuilderFactory( + const FullType(UnreadMultipleArticlesRequestApplicationJson), + UnreadMultipleArticlesRequestApplicationJsonBuilder.new, + ) + ..add(UnreadMultipleArticlesRequestApplicationJson.serializer) + ..addBuilderFactory( + const FullType(StarMultipleArticlesRequestApplicationJson), + StarMultipleArticlesRequestApplicationJsonBuilder.new, + ) + ..add(StarMultipleArticlesRequestApplicationJson.serializer) + ..addBuilderFactory( + const FullType(UnstarMultipleArticlesRequestApplicationJson), + UnstarMultipleArticlesRequestApplicationJsonBuilder.new, + ) + ..add(UnstarMultipleArticlesRequestApplicationJson.serializer) ..addBuilderFactory(const FullType(OCSMeta), OCSMetaBuilder.new) ..add(OCSMeta.serializer) ..addBuilderFactory(const FullType(EmptyOCS), EmptyOCSBuilder.new) diff --git a/packages/nextcloud/lib/src/api/news/news.openapi.g.dart b/packages/nextcloud/lib/src/api/news/news.openapi.g.dart index e3756f929cf..c555e751fc1 100644 --- a/packages/nextcloud/lib/src/api/news/news.openapi.g.dart +++ b/packages/nextcloud/lib/src/api/news/news.openapi.g.dart @@ -13,6 +13,14 @@ Serializer _$listFeedsSerializer = _$ListFeedsSerializer(); Serializer _$folderSerializer = _$FolderSerializer(); Serializer _$listFoldersSerializer = _$ListFoldersSerializer(); Serializer _$listArticlesSerializer = _$ListArticlesSerializer(); +Serializer _$readMultipleArticlesRequestApplicationJsonSerializer = + _$ReadMultipleArticlesRequestApplicationJsonSerializer(); +Serializer _$unreadMultipleArticlesRequestApplicationJsonSerializer = + _$UnreadMultipleArticlesRequestApplicationJsonSerializer(); +Serializer _$starMultipleArticlesRequestApplicationJsonSerializer = + _$StarMultipleArticlesRequestApplicationJsonSerializer(); +Serializer _$unstarMultipleArticlesRequestApplicationJsonSerializer = + _$UnstarMultipleArticlesRequestApplicationJsonSerializer(); Serializer _$oCSMetaSerializer = _$OCSMetaSerializer(); Serializer _$emptyOCSOcsSerializer = _$EmptyOCS_OcsSerializer(); Serializer _$emptyOCSSerializer = _$EmptyOCSSerializer(); @@ -526,6 +534,178 @@ class _$ListArticlesSerializer implements StructuredSerializer { } } +class _$ReadMultipleArticlesRequestApplicationJsonSerializer + implements StructuredSerializer { + @override + final Iterable types = const [ + ReadMultipleArticlesRequestApplicationJson, + _$ReadMultipleArticlesRequestApplicationJson + ]; + @override + final String wireName = 'ReadMultipleArticlesRequestApplicationJson'; + + @override + Iterable serialize(Serializers serializers, ReadMultipleArticlesRequestApplicationJson object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'itemIds', + serializers.serialize(object.itemIds, specifiedType: const FullType(BuiltList, [FullType(int)])), + ]; + + return result; + } + + @override + ReadMultipleArticlesRequestApplicationJson deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = ReadMultipleArticlesRequestApplicationJsonBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'itemIds': + result.itemIds.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(int)]))! as BuiltList); + break; + } + } + + return result.build(); + } +} + +class _$UnreadMultipleArticlesRequestApplicationJsonSerializer + implements StructuredSerializer { + @override + final Iterable types = const [ + UnreadMultipleArticlesRequestApplicationJson, + _$UnreadMultipleArticlesRequestApplicationJson + ]; + @override + final String wireName = 'UnreadMultipleArticlesRequestApplicationJson'; + + @override + Iterable serialize(Serializers serializers, UnreadMultipleArticlesRequestApplicationJson object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'itemIds', + serializers.serialize(object.itemIds, specifiedType: const FullType(BuiltList, [FullType(int)])), + ]; + + return result; + } + + @override + UnreadMultipleArticlesRequestApplicationJson deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = UnreadMultipleArticlesRequestApplicationJsonBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'itemIds': + result.itemIds.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(int)]))! as BuiltList); + break; + } + } + + return result.build(); + } +} + +class _$StarMultipleArticlesRequestApplicationJsonSerializer + implements StructuredSerializer { + @override + final Iterable types = const [ + StarMultipleArticlesRequestApplicationJson, + _$StarMultipleArticlesRequestApplicationJson + ]; + @override + final String wireName = 'StarMultipleArticlesRequestApplicationJson'; + + @override + Iterable serialize(Serializers serializers, StarMultipleArticlesRequestApplicationJson object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'itemIds', + serializers.serialize(object.itemIds, specifiedType: const FullType(BuiltList, [FullType(int)])), + ]; + + return result; + } + + @override + StarMultipleArticlesRequestApplicationJson deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = StarMultipleArticlesRequestApplicationJsonBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'itemIds': + result.itemIds.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(int)]))! as BuiltList); + break; + } + } + + return result.build(); + } +} + +class _$UnstarMultipleArticlesRequestApplicationJsonSerializer + implements StructuredSerializer { + @override + final Iterable types = const [ + UnstarMultipleArticlesRequestApplicationJson, + _$UnstarMultipleArticlesRequestApplicationJson + ]; + @override + final String wireName = 'UnstarMultipleArticlesRequestApplicationJson'; + + @override + Iterable serialize(Serializers serializers, UnstarMultipleArticlesRequestApplicationJson object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'itemIds', + serializers.serialize(object.itemIds, specifiedType: const FullType(BuiltList, [FullType(int)])), + ]; + + return result; + } + + @override + UnstarMultipleArticlesRequestApplicationJson deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = UnstarMultipleArticlesRequestApplicationJsonBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'itemIds': + result.itemIds.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(int)]))! as BuiltList); + break; + } + } + + return result.build(); + } +} + class _$OCSMetaSerializer implements StructuredSerializer { @override final Iterable types = const [OCSMeta, _$OCSMeta]; @@ -1922,6 +2102,430 @@ class ListArticlesBuilder implements Builder, } } +abstract mixin class $ReadMultipleArticlesRequestApplicationJsonInterfaceBuilder { + void replace($ReadMultipleArticlesRequestApplicationJsonInterface other); + void update(void Function($ReadMultipleArticlesRequestApplicationJsonInterfaceBuilder) updates); + ListBuilder get itemIds; + set itemIds(ListBuilder? itemIds); +} + +class _$ReadMultipleArticlesRequestApplicationJson extends ReadMultipleArticlesRequestApplicationJson { + @override + final BuiltList itemIds; + + factory _$ReadMultipleArticlesRequestApplicationJson( + [void Function(ReadMultipleArticlesRequestApplicationJsonBuilder)? updates]) => + (ReadMultipleArticlesRequestApplicationJsonBuilder()..update(updates))._build(); + + _$ReadMultipleArticlesRequestApplicationJson._({required this.itemIds}) : super._() { + BuiltValueNullFieldError.checkNotNull(itemIds, r'ReadMultipleArticlesRequestApplicationJson', 'itemIds'); + } + + @override + ReadMultipleArticlesRequestApplicationJson rebuild( + void Function(ReadMultipleArticlesRequestApplicationJsonBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + ReadMultipleArticlesRequestApplicationJsonBuilder toBuilder() => + ReadMultipleArticlesRequestApplicationJsonBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is ReadMultipleArticlesRequestApplicationJson && itemIds == other.itemIds; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, itemIds.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'ReadMultipleArticlesRequestApplicationJson')..add('itemIds', itemIds)) + .toString(); + } +} + +class ReadMultipleArticlesRequestApplicationJsonBuilder + implements + Builder, + $ReadMultipleArticlesRequestApplicationJsonInterfaceBuilder { + _$ReadMultipleArticlesRequestApplicationJson? _$v; + + ListBuilder? _itemIds; + ListBuilder get itemIds => _$this._itemIds ??= ListBuilder(); + set itemIds(covariant ListBuilder? itemIds) => _$this._itemIds = itemIds; + + ReadMultipleArticlesRequestApplicationJsonBuilder() { + ReadMultipleArticlesRequestApplicationJson._defaults(this); + } + + ReadMultipleArticlesRequestApplicationJsonBuilder get _$this { + final $v = _$v; + if ($v != null) { + _itemIds = $v.itemIds.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(covariant ReadMultipleArticlesRequestApplicationJson other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$ReadMultipleArticlesRequestApplicationJson; + } + + @override + void update(void Function(ReadMultipleArticlesRequestApplicationJsonBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + ReadMultipleArticlesRequestApplicationJson build() => _build(); + + _$ReadMultipleArticlesRequestApplicationJson _build() { + ReadMultipleArticlesRequestApplicationJson._validate(this); + _$ReadMultipleArticlesRequestApplicationJson _$result; + try { + _$result = _$v ?? _$ReadMultipleArticlesRequestApplicationJson._(itemIds: itemIds.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'itemIds'; + itemIds.build(); + } catch (e) { + throw BuiltValueNestedFieldError(r'ReadMultipleArticlesRequestApplicationJson', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +abstract mixin class $UnreadMultipleArticlesRequestApplicationJsonInterfaceBuilder { + void replace($UnreadMultipleArticlesRequestApplicationJsonInterface other); + void update(void Function($UnreadMultipleArticlesRequestApplicationJsonInterfaceBuilder) updates); + ListBuilder get itemIds; + set itemIds(ListBuilder? itemIds); +} + +class _$UnreadMultipleArticlesRequestApplicationJson extends UnreadMultipleArticlesRequestApplicationJson { + @override + final BuiltList itemIds; + + factory _$UnreadMultipleArticlesRequestApplicationJson( + [void Function(UnreadMultipleArticlesRequestApplicationJsonBuilder)? updates]) => + (UnreadMultipleArticlesRequestApplicationJsonBuilder()..update(updates))._build(); + + _$UnreadMultipleArticlesRequestApplicationJson._({required this.itemIds}) : super._() { + BuiltValueNullFieldError.checkNotNull(itemIds, r'UnreadMultipleArticlesRequestApplicationJson', 'itemIds'); + } + + @override + UnreadMultipleArticlesRequestApplicationJson rebuild( + void Function(UnreadMultipleArticlesRequestApplicationJsonBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + UnreadMultipleArticlesRequestApplicationJsonBuilder toBuilder() => + UnreadMultipleArticlesRequestApplicationJsonBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is UnreadMultipleArticlesRequestApplicationJson && itemIds == other.itemIds; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, itemIds.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'UnreadMultipleArticlesRequestApplicationJson')..add('itemIds', itemIds)) + .toString(); + } +} + +class UnreadMultipleArticlesRequestApplicationJsonBuilder + implements + Builder, + $UnreadMultipleArticlesRequestApplicationJsonInterfaceBuilder { + _$UnreadMultipleArticlesRequestApplicationJson? _$v; + + ListBuilder? _itemIds; + ListBuilder get itemIds => _$this._itemIds ??= ListBuilder(); + set itemIds(covariant ListBuilder? itemIds) => _$this._itemIds = itemIds; + + UnreadMultipleArticlesRequestApplicationJsonBuilder() { + UnreadMultipleArticlesRequestApplicationJson._defaults(this); + } + + UnreadMultipleArticlesRequestApplicationJsonBuilder get _$this { + final $v = _$v; + if ($v != null) { + _itemIds = $v.itemIds.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(covariant UnreadMultipleArticlesRequestApplicationJson other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$UnreadMultipleArticlesRequestApplicationJson; + } + + @override + void update(void Function(UnreadMultipleArticlesRequestApplicationJsonBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + UnreadMultipleArticlesRequestApplicationJson build() => _build(); + + _$UnreadMultipleArticlesRequestApplicationJson _build() { + UnreadMultipleArticlesRequestApplicationJson._validate(this); + _$UnreadMultipleArticlesRequestApplicationJson _$result; + try { + _$result = _$v ?? _$UnreadMultipleArticlesRequestApplicationJson._(itemIds: itemIds.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'itemIds'; + itemIds.build(); + } catch (e) { + throw BuiltValueNestedFieldError(r'UnreadMultipleArticlesRequestApplicationJson', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +abstract mixin class $StarMultipleArticlesRequestApplicationJsonInterfaceBuilder { + void replace($StarMultipleArticlesRequestApplicationJsonInterface other); + void update(void Function($StarMultipleArticlesRequestApplicationJsonInterfaceBuilder) updates); + ListBuilder get itemIds; + set itemIds(ListBuilder? itemIds); +} + +class _$StarMultipleArticlesRequestApplicationJson extends StarMultipleArticlesRequestApplicationJson { + @override + final BuiltList itemIds; + + factory _$StarMultipleArticlesRequestApplicationJson( + [void Function(StarMultipleArticlesRequestApplicationJsonBuilder)? updates]) => + (StarMultipleArticlesRequestApplicationJsonBuilder()..update(updates))._build(); + + _$StarMultipleArticlesRequestApplicationJson._({required this.itemIds}) : super._() { + BuiltValueNullFieldError.checkNotNull(itemIds, r'StarMultipleArticlesRequestApplicationJson', 'itemIds'); + } + + @override + StarMultipleArticlesRequestApplicationJson rebuild( + void Function(StarMultipleArticlesRequestApplicationJsonBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + StarMultipleArticlesRequestApplicationJsonBuilder toBuilder() => + StarMultipleArticlesRequestApplicationJsonBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is StarMultipleArticlesRequestApplicationJson && itemIds == other.itemIds; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, itemIds.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'StarMultipleArticlesRequestApplicationJson')..add('itemIds', itemIds)) + .toString(); + } +} + +class StarMultipleArticlesRequestApplicationJsonBuilder + implements + Builder, + $StarMultipleArticlesRequestApplicationJsonInterfaceBuilder { + _$StarMultipleArticlesRequestApplicationJson? _$v; + + ListBuilder? _itemIds; + ListBuilder get itemIds => _$this._itemIds ??= ListBuilder(); + set itemIds(covariant ListBuilder? itemIds) => _$this._itemIds = itemIds; + + StarMultipleArticlesRequestApplicationJsonBuilder() { + StarMultipleArticlesRequestApplicationJson._defaults(this); + } + + StarMultipleArticlesRequestApplicationJsonBuilder get _$this { + final $v = _$v; + if ($v != null) { + _itemIds = $v.itemIds.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(covariant StarMultipleArticlesRequestApplicationJson other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$StarMultipleArticlesRequestApplicationJson; + } + + @override + void update(void Function(StarMultipleArticlesRequestApplicationJsonBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + StarMultipleArticlesRequestApplicationJson build() => _build(); + + _$StarMultipleArticlesRequestApplicationJson _build() { + StarMultipleArticlesRequestApplicationJson._validate(this); + _$StarMultipleArticlesRequestApplicationJson _$result; + try { + _$result = _$v ?? _$StarMultipleArticlesRequestApplicationJson._(itemIds: itemIds.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'itemIds'; + itemIds.build(); + } catch (e) { + throw BuiltValueNestedFieldError(r'StarMultipleArticlesRequestApplicationJson', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +abstract mixin class $UnstarMultipleArticlesRequestApplicationJsonInterfaceBuilder { + void replace($UnstarMultipleArticlesRequestApplicationJsonInterface other); + void update(void Function($UnstarMultipleArticlesRequestApplicationJsonInterfaceBuilder) updates); + ListBuilder get itemIds; + set itemIds(ListBuilder? itemIds); +} + +class _$UnstarMultipleArticlesRequestApplicationJson extends UnstarMultipleArticlesRequestApplicationJson { + @override + final BuiltList itemIds; + + factory _$UnstarMultipleArticlesRequestApplicationJson( + [void Function(UnstarMultipleArticlesRequestApplicationJsonBuilder)? updates]) => + (UnstarMultipleArticlesRequestApplicationJsonBuilder()..update(updates))._build(); + + _$UnstarMultipleArticlesRequestApplicationJson._({required this.itemIds}) : super._() { + BuiltValueNullFieldError.checkNotNull(itemIds, r'UnstarMultipleArticlesRequestApplicationJson', 'itemIds'); + } + + @override + UnstarMultipleArticlesRequestApplicationJson rebuild( + void Function(UnstarMultipleArticlesRequestApplicationJsonBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + UnstarMultipleArticlesRequestApplicationJsonBuilder toBuilder() => + UnstarMultipleArticlesRequestApplicationJsonBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is UnstarMultipleArticlesRequestApplicationJson && itemIds == other.itemIds; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, itemIds.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'UnstarMultipleArticlesRequestApplicationJson')..add('itemIds', itemIds)) + .toString(); + } +} + +class UnstarMultipleArticlesRequestApplicationJsonBuilder + implements + Builder, + $UnstarMultipleArticlesRequestApplicationJsonInterfaceBuilder { + _$UnstarMultipleArticlesRequestApplicationJson? _$v; + + ListBuilder? _itemIds; + ListBuilder get itemIds => _$this._itemIds ??= ListBuilder(); + set itemIds(covariant ListBuilder? itemIds) => _$this._itemIds = itemIds; + + UnstarMultipleArticlesRequestApplicationJsonBuilder() { + UnstarMultipleArticlesRequestApplicationJson._defaults(this); + } + + UnstarMultipleArticlesRequestApplicationJsonBuilder get _$this { + final $v = _$v; + if ($v != null) { + _itemIds = $v.itemIds.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(covariant UnstarMultipleArticlesRequestApplicationJson other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$UnstarMultipleArticlesRequestApplicationJson; + } + + @override + void update(void Function(UnstarMultipleArticlesRequestApplicationJsonBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + UnstarMultipleArticlesRequestApplicationJson build() => _build(); + + _$UnstarMultipleArticlesRequestApplicationJson _build() { + UnstarMultipleArticlesRequestApplicationJson._validate(this); + _$UnstarMultipleArticlesRequestApplicationJson _$result; + try { + _$result = _$v ?? _$UnstarMultipleArticlesRequestApplicationJson._(itemIds: itemIds.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'itemIds'; + itemIds.build(); + } catch (e) { + throw BuiltValueNestedFieldError(r'UnstarMultipleArticlesRequestApplicationJson', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + abstract mixin class $OCSMetaInterfaceBuilder { void replace($OCSMetaInterface other); void update(void Function($OCSMetaInterfaceBuilder) updates); diff --git a/packages/nextcloud/lib/src/api/news/news.openapi.json b/packages/nextcloud/lib/src/api/news/news.openapi.json index a3b2854ed6c..8c98e680bea 100644 --- a/packages/nextcloud/lib/src/api/news/news.openapi.json +++ b/packages/nextcloud/lib/src/api/news/news.openapi.json @@ -803,6 +803,74 @@ } } }, + "/index.php/apps/news/api/v1-3/items/read/multiple": { + "post": { + "tags": [ + "items" + ], + "operationId": "read-multiple-articles", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "itemIds" + ], + "properties": { + "itemIds": { + "type": "array", + "items": { + "type": "integer" + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "" + } + } + } + }, + "/index.php/apps/news/api/v1-3/items/unread/multiple": { + "post": { + "tags": [ + "items" + ], + "operationId": "unread-multiple-articles", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "itemIds" + ], + "properties": { + "itemIds": { + "type": "array", + "items": { + "type": "integer" + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "" + } + } + } + }, "/index.php/apps/news/api/v1-3/items/{itemId}/star": { "parameters": [ { @@ -848,6 +916,74 @@ } } } + }, + "/index.php/apps/news/api/v1-3/items/star/multiple": { + "post": { + "tags": [ + "items" + ], + "operationId": "star-multiple-articles", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "itemIds" + ], + "properties": { + "itemIds": { + "type": "array", + "items": { + "type": "integer" + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "" + } + } + } + }, + "/index.php/apps/news/api/v1-3/items/unstar/multiple": { + "post": { + "tags": [ + "items" + ], + "operationId": "unstar-multiple-articles", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "itemIds" + ], + "properties": { + "itemIds": { + "type": "array", + "items": { + "type": "integer" + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "" + } + } + } } } } diff --git a/packages/nextcloud/test/fixtures/news/mark_multiple_articles_as_read_and_unread.regexp b/packages/nextcloud/test/fixtures/news/mark_multiple_articles_as_read_and_unread.regexp new file mode 100644 index 00000000000..a039920bbf3 --- /dev/null +++ b/packages/nextcloud/test/fixtures/news/mark_multiple_articles_as_read_and_unread.regexp @@ -0,0 +1,20 @@ +POST http://localhost/index\.php/apps/news/api/v1-3/feeds\?url=http%3A%2F%2Flocalhost%2Fstatic%2Fwikipedia\.xml +accept: application/json +authorization: Basic mock +GET http://localhost/index\.php/apps/news/api/v1-3/items\?type=6&id=0&getRead=1&batchSize=-1&offset=0&oldestFirst=0 +accept: application/json +authorization: Basic mock +POST http://localhost/index\.php/apps/news/api/v1-3/items/read/multiple +authorization: Basic mock +content-type: application/json; charset=utf-8 +\{"itemIds":\[10,9,8,7,6,5,4,3,2,1\]\} +GET http://localhost/index\.php/apps/news/api/v1-3/items\?type=6&id=0&getRead=1&batchSize=-1&offset=0&oldestFirst=0 +accept: application/json +authorization: Basic mock +POST http://localhost/index\.php/apps/news/api/v1-3/items/unread/multiple +authorization: Basic mock +content-type: application/json; charset=utf-8 +\{"itemIds":\[10,9,8,7,6,5,4,3,2,1\]\} +GET http://localhost/index\.php/apps/news/api/v1-3/items\?type=6&id=0&getRead=1&batchSize=-1&offset=0&oldestFirst=0 +accept: application/json +authorization: Basic mock \ No newline at end of file diff --git a/packages/nextcloud/test/fixtures/news/star_and_unstar_multiple_articles.regexp b/packages/nextcloud/test/fixtures/news/star_and_unstar_multiple_articles.regexp new file mode 100644 index 00000000000..53ba7a2b156 --- /dev/null +++ b/packages/nextcloud/test/fixtures/news/star_and_unstar_multiple_articles.regexp @@ -0,0 +1,23 @@ +POST http://localhost/index\.php/apps/news/api/v1-3/feeds\?url=http%3A%2F%2Flocalhost%2Fstatic%2Fwikipedia\.xml +accept: application/json +authorization: Basic mock +GET http://localhost/index\.php/apps/news/api/v1-3/items\?type=3&id=0&getRead=1&batchSize=-1&offset=0&oldestFirst=0 +accept: application/json +authorization: Basic mock +GET http://localhost/index\.php/apps/news/api/v1-3/items\?type=2&id=0&getRead=1&batchSize=-1&offset=0&oldestFirst=0 +accept: application/json +authorization: Basic mock +POST http://localhost/index\.php/apps/news/api/v1-3/items/star/multiple +authorization: Basic mock +content-type: application/json; charset=utf-8 +\{"itemIds":\[10,9,8,7,6,5,4,3,2,1\]\} +GET http://localhost/index\.php/apps/news/api/v1-3/items\?type=2&id=0&getRead=1&batchSize=-1&offset=0&oldestFirst=0 +accept: application/json +authorization: Basic mock +POST http://localhost/index\.php/apps/news/api/v1-3/items/unstar/multiple +authorization: Basic mock +content-type: application/json; charset=utf-8 +\{"itemIds":\[10,9,8,7,6,5,4,3,2,1\]\} +GET http://localhost/index\.php/apps/news/api/v1-3/items\?type=2&id=0&getRead=1&batchSize=-1&offset=0&oldestFirst=0 +accept: application/json +authorization: Basic mock \ No newline at end of file diff --git a/packages/nextcloud/test/news_test.dart b/packages/nextcloud/test/news_test.dart index df52300800e..9f80112c2d1 100644 --- a/packages/nextcloud/test/news_test.dart +++ b/packages/nextcloud/test/news_test.dart @@ -266,6 +266,31 @@ void main() { expect(response.body.items, hasLength(unreadArticles + 1)); }); + test('Mark multiple articles as read and unread', () async { + await addWikipediaFeed(); + var response = await client.news.items.listArticles(type: news.ListType.unread.index); + final unreadArticles = response.body.items; + expect(unreadArticles, isNotEmpty); + + await client.news.items.readMultipleArticles( + $body: news.ReadMultipleArticlesRequestApplicationJson((b) { + b.itemIds.addAll(unreadArticles.map((a) => a.id)); + }), + ); + + response = await client.news.items.listArticles(type: news.ListType.unread.index); + expect(response.body.items, isEmpty); + + await client.news.items.unreadMultipleArticles( + $body: news.UnreadMultipleArticlesRequestApplicationJson((b) { + b.itemIds.addAll(unreadArticles.map((a) => a.id)); + }), + ); + + response = await client.news.items.listArticles(type: news.ListType.unread.index); + expect(response.body.items, hasLength(unreadArticles.length)); + }); + test('Star article', () async { await addWikipediaFeed(); @@ -318,6 +343,30 @@ void main() { expect(response.body.items, hasLength(0)); }); + test('Star and Unstar multiple articles', () async { + await addWikipediaFeed(); + var response = await client.news.items.listArticles(type: news.ListType.allItems.index); + final allIDs = response.body.items.map((e) => e.id); + response = await client.news.items.listArticles(type: news.ListType.starred.index); + expect(response.body.items, isEmpty); + + await client.news.items.starMultipleArticles( + $body: news.StarMultipleArticlesRequestApplicationJson((b) { + b.itemIds.addAll(allIDs); + }), + ); + response = await client.news.items.listArticles(type: news.ListType.starred.index); + expect(response.body.items, isNotEmpty); + + await client.news.items.unstarMultipleArticles( + $body: news.UnstarMultipleArticlesRequestApplicationJson((b) { + b.itemIds.addAll(allIDs); + }), + ); + response = await client.news.items.listArticles(type: news.ListType.starred.index); + expect(response.body.items, isEmpty); + }); + test('Create folder', () async { var response = await client.news.folders.listFolders(); expect(response.statusCode, 200);