Skip to content

refactor(nextcloud): reorganize package structure #2295

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions packages/nextcloud/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ targets:
- 'Map<String, dynamic> toJson\(\) => _\$jsonSerializers\.serializeWith\(serializer, this\)! as Map<String, dynamic>;'
- 'static BuiltSet<.*> get values => _\$.*Values;'
overrides:
lib/src/api/news.openapi.json:
lib/src/api/news/news.openapi.json:
experimental: true
lib/src/api/notes.openapi.json:
lib/src/api/notes/notes.openapi.json:
experimental: true
lib/src/api/uppush.openapi.json:
lib/src/api/uppush/uppush.openapi.json:
experimental: true
21 changes: 9 additions & 12 deletions packages/nextcloud/generate_exports.dart
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
import 'dart:io';

import 'package:dynamite/src/helpers/dart_helpers.dart';
import 'package:glob/glob.dart';
import 'package:glob/list_local_fs.dart';
import 'package:path/path.dart' as p;

void main() {
final files = Directory('lib/src/api')
.listSync()
.cast<File>()
.where((file) => file.path.endsWith('.openapi.dart'))
.toList()
..sort((a, b) => a.path.compareTo(b.path));
final files = Glob('lib/src/api/**/*.openapi.dart').listSync()..sort((a, b) => a.path.compareTo(b.path));

final idStatements = StringBuffer();

Expand All @@ -23,20 +20,20 @@ void main() {
..writeln(' /// ID for the $id app.')
..writeln(" static const $variablePrefix = '$id';");

final exports = ["export 'src/api/$id.openapi.dart';"];
if (File('lib/src/helpers/$id.dart').existsSync()) {
exports.add("export 'src/helpers/$id.dart';");
final exports = ["export 'src/api/$id/$id.openapi.dart';"];
if (File('lib/src/api/$id/${id}_helpers.dart').existsSync()) {
exports.add("export 'src/api/$id/${id}_helpers.dart';");
}

if (!file.readAsStringSync().contains(RegExp(r'class \$Client extends _i[0-9]*.DynamiteClient {'))) {
if (!File(file.path).readAsStringSync().contains(RegExp(r'class \$Client extends _i[0-9]*.DynamiteClient {'))) {
File('lib/$id.dart').writeAsStringSync(exports.join('\n'));
continue;
}

File('lib/$id.dart').writeAsStringSync('''
// coverage:ignore-file
import 'package:nextcloud/src/api/$id.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/$id/$id.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

${exports.join('\n')}

Expand Down
6 changes: 3 additions & 3 deletions packages/nextcloud/generate_props.dart
Original file line number Diff line number Diff line change
Expand Up @@ -121,17 +121,17 @@ void main() {
variables.add(variable);
}
}
File('lib/src/webdav/props.dart').writeAsStringSync(
File('lib/src/api/webdav/models/props.dart').writeAsStringSync(
[
'// ignore_for_file: public_member_api_docs',
'// coverage:ignore-file',
"import 'package:meta/meta.dart';",
"import 'package:nextcloud/src/api/webdav/webdav.dart';",
"import 'package:nextcloud/src/utils/date_time.dart';",
"import 'package:nextcloud/src/webdav/utils.dart';",
"import 'package:nextcloud/src/webdav/webdav.dart';",
"import 'package:timezone/timezone.dart' as tz;",
"import 'package:xml/xml.dart';",
"import 'package:xml_annotation/xml_annotation.dart' as annotation;",
'',
"part 'props.g.dart';",
'',
...generateClass(
Expand Down
2 changes: 1 addition & 1 deletion packages/nextcloud/lib/comments.dart
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export 'src/api/comments.openapi.dart';
export 'src/api/comments/comments.openapi.dart';
8 changes: 4 additions & 4 deletions packages/nextcloud/lib/cookbook.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/cookbook.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/cookbook/cookbook.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/cookbook.openapi.dart';
export 'src/helpers/cookbook.dart';
export 'src/api/cookbook/cookbook.openapi.dart';
export 'src/api/cookbook/cookbook_helpers.dart';

// ignore: public_member_api_docs
extension CookbookExtension on NextcloudClient {
Expand Down
8 changes: 4 additions & 4 deletions packages/nextcloud/lib/core.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/core.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/core/core.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/core.openapi.dart';
export 'src/helpers/core.dart';
export 'src/api/core/core.openapi.dart';
export 'src/api/core/core_helpers.dart';

// ignore: public_member_api_docs
extension CoreExtension on NextcloudClient {
Expand Down
6 changes: 3 additions & 3 deletions packages/nextcloud/lib/dashboard.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/dashboard.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/dashboard/dashboard.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/dashboard.openapi.dart';
export 'src/api/dashboard/dashboard.openapi.dart';

// ignore: public_member_api_docs
extension DashboardExtension on NextcloudClient {
Expand Down
6 changes: 3 additions & 3 deletions packages/nextcloud/lib/dav.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/dav.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/dav/dav.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/dav.openapi.dart';
export 'src/api/dav/dav.openapi.dart';

// ignore: public_member_api_docs
extension DavExtension on NextcloudClient {
Expand Down
6 changes: 3 additions & 3 deletions packages/nextcloud/lib/drop_account.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/drop_account.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/drop_account/drop_account.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/drop_account.openapi.dart';
export 'src/api/drop_account/drop_account.openapi.dart';

// ignore: public_member_api_docs
extension DropAccountExtension on NextcloudClient {
Expand Down
6 changes: 3 additions & 3 deletions packages/nextcloud/lib/files.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/files.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/files/files.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/files.openapi.dart';
export 'src/api/files/files.openapi.dart';

// ignore: public_member_api_docs
extension FilesExtension on NextcloudClient {
Expand Down
6 changes: 3 additions & 3 deletions packages/nextcloud/lib/files_external.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/files_external.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/files_external/files_external.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/files_external.openapi.dart';
export 'src/api/files_external/files_external.openapi.dart';

// ignore: public_member_api_docs
extension FilesExternalExtension on NextcloudClient {
Expand Down
6 changes: 3 additions & 3 deletions packages/nextcloud/lib/files_reminders.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/files_reminders.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/files_reminders/files_reminders.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/files_reminders.openapi.dart';
export 'src/api/files_reminders/files_reminders.openapi.dart';

// ignore: public_member_api_docs
extension FilesRemindersExtension on NextcloudClient {
Expand Down
6 changes: 3 additions & 3 deletions packages/nextcloud/lib/files_sharing.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/files_sharing.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/files_sharing/files_sharing.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/files_sharing.openapi.dart';
export 'src/api/files_sharing/files_sharing.openapi.dart';

// ignore: public_member_api_docs
extension FilesSharingExtension on NextcloudClient {
Expand Down
6 changes: 3 additions & 3 deletions packages/nextcloud/lib/files_trashbin.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/files_trashbin.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/files_trashbin/files_trashbin.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/files_trashbin.openapi.dart';
export 'src/api/files_trashbin/files_trashbin.openapi.dart';

// ignore: public_member_api_docs
extension FilesTrashbinExtension on NextcloudClient {
Expand Down
6 changes: 3 additions & 3 deletions packages/nextcloud/lib/files_versions.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/files_versions.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/files_versions/files_versions.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/files_versions.openapi.dart';
export 'src/api/files_versions/files_versions.openapi.dart';

// ignore: public_member_api_docs
extension FilesVersionsExtension on NextcloudClient {
Expand Down
8 changes: 4 additions & 4 deletions packages/nextcloud/lib/news.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/news.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/news/news.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/news.openapi.dart';
export 'src/helpers/news.dart';
export 'src/api/news/news.openapi.dart';
export 'src/api/news/news_helpers.dart';

// ignore: public_member_api_docs
extension NewsExtension on NextcloudClient {
Expand Down
4 changes: 2 additions & 2 deletions packages/nextcloud/lib/nextcloud.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ export 'package:dynamite_runtime/http_client.dart'
export 'package:dynamite_runtime/models.dart';

export 'ids.dart';
export 'src/client.dart';
export 'src/helpers/common.dart';
export 'src/models/models.dart';
export 'src/nextcloud_client.dart';
8 changes: 4 additions & 4 deletions packages/nextcloud/lib/notes.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/notes.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/notes/notes.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/notes.openapi.dart';
export 'src/helpers/notes.dart';
export 'src/api/notes/notes.openapi.dart';
export 'src/api/notes/notes_helpers.dart';

// ignore: public_member_api_docs
extension NotesExtension on NextcloudClient {
Expand Down
8 changes: 4 additions & 4 deletions packages/nextcloud/lib/notifications.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/notifications.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/notifications/notifications.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/notifications.openapi.dart';
export 'src/helpers/notifications.dart';
export 'src/api/notifications/notifications.openapi.dart';
export 'src/api/notifications/notifications_helpers.dart';

// ignore: public_member_api_docs
extension NotificationsExtension on NextcloudClient {
Expand Down
6 changes: 3 additions & 3 deletions packages/nextcloud/lib/provisioning_api.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/provisioning_api.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/provisioning_api/provisioning_api.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/provisioning_api.openapi.dart';
export 'src/api/provisioning_api/provisioning_api.openapi.dart';

// ignore: public_member_api_docs
extension ProvisioningApiExtension on NextcloudClient {
Expand Down
6 changes: 3 additions & 3 deletions packages/nextcloud/lib/settings.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/settings.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/settings/settings.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/settings.openapi.dart';
export 'src/api/settings/settings.openapi.dart';

// ignore: public_member_api_docs
extension SettingsExtension on NextcloudClient {
Expand Down
2 changes: 1 addition & 1 deletion packages/nextcloud/lib/sharebymail.dart
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export 'src/api/sharebymail.openapi.dart';
export 'src/api/sharebymail/sharebymail.openapi.dart';
8 changes: 4 additions & 4 deletions packages/nextcloud/lib/spreed.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// coverage:ignore-file
import 'package:nextcloud/src/api/spreed.openapi.dart';
import 'package:nextcloud/src/client.dart';
import 'package:nextcloud/src/api/spreed/spreed.openapi.dart';
import 'package:nextcloud/src/nextcloud_client.dart';

export 'src/api/spreed.openapi.dart';
export 'src/helpers/spreed.dart';
export 'src/api/spreed/spreed.openapi.dart';
export 'src/api/spreed/spreed_helpers.dart';

// ignore: public_member_api_docs
extension SpreedExtension on NextcloudClient {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:built_collection/built_collection.dart';
import 'package:nextcloud/src/api/cookbook.openapi.dart' as cookbook;
import 'package:nextcloud/src/helpers/common.dart';
import 'package:nextcloud/src/api/cookbook/cookbook.openapi.dart' as cookbook;
import 'package:nextcloud/src/models/models.dart';
import 'package:version/version.dart';

/// Minimum version of the cookbook app supported.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// ignore_for_file: public_member_api_docs

import 'package:built_collection/built_collection.dart';
import 'package:nextcloud/src/api/core.openapi.dart' as core;
import 'package:nextcloud/src/helpers/common.dart';
import 'package:nextcloud/core.dart' as core;
import 'package:nextcloud/src/models/models.dart';
import 'package:version/version.dart';

/// Minimum version of core/Server supported
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// ignore_for_file: public_member_api_docs

import 'package:built_collection/built_collection.dart';
import 'package:nextcloud/src/api/news.openapi.dart' as news;
import 'package:nextcloud/src/helpers/common.dart';
import 'package:nextcloud/src/api/news/news.openapi.dart' as news;
import 'package:nextcloud/src/models/models.dart';
import 'package:version/version.dart';

/// Minimum API version of the news app supported
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'package:built_collection/built_collection.dart';
import 'package:nextcloud/src/api/core.openapi.dart' as core;
import 'package:nextcloud/src/api/notes.openapi.dart' as notes;
import 'package:nextcloud/src/helpers/common.dart';
import 'package:nextcloud/core.dart' as core;
import 'package:nextcloud/src/api/notes/notes.openapi.dart' as notes;
import 'package:nextcloud/src/models/models.dart';
import 'package:version/version.dart';

/// Minimum API version of the notes app supported
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import 'package:built_value/standard_json_plugin.dart';
import 'package:crypto/crypto.dart';
import 'package:crypton/crypton.dart';

part 'notifications.g.dart';
part 'notifications_helpers.g.dart';

/// Generates the push token hash which is just sha512
String generatePushTokenHash(String pushToken) => sha512.convert(utf8.encode(pushToken)).toString();
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'package:built_collection/built_collection.dart';
import 'package:nextcloud/core.dart' as core;
import 'package:nextcloud/nextcloud.dart';
import 'package:nextcloud/src/api/core.openapi.dart' as core;
import 'package:nextcloud/src/api/spreed.openapi.dart' as spreed;
import 'package:nextcloud/src/api/spreed/spreed.openapi.dart' as spreed;
import 'package:version/version.dart';

/// The minimum version of the spreed app that is supported.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:dynamite_runtime/http_client.dart';
import 'package:http/http.dart' as http;
import 'package:logging/logging.dart';
import 'package:meta/meta.dart';
import 'package:nextcloud/nextcloud.dart';

/// A [http.Client] that sends the Nextcloud CSRF token.
Expand All @@ -10,6 +11,7 @@ import 'package:nextcloud/nextcloud.dart';
/// long as we send the OCS-APIRequest header, but the server has a bug that only triggers when you also send the
/// cookies.
/// {@endtemplate}
@internal
final class WebDavCSRFClient with http.BaseClient {
/// Creates a new CSRF client that executes requests through the given [DynamiteClient].
WebDavCSRFClient(this._inner);
Expand Down
Loading