feat(mobile): Folder View for mobile ()

* very rough prototype for folder navigation without assets

* fix: refactored data model and tried to implement asset loading

* fix: openapi generator shadowing query param in /view/folder

* add simple alphanumeric sorting for folders

* basic asset viewing in folders

* rudimentary switch sorting order

* fixed reactivity when toggling sort order

* Fixed trailing comma

* Fixed bad merge conflict resolution

* Regenerated open-api

* Added rudimentary breadcrumbs

* Fixed linting problems

* feat: cleanup

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
Arno 2025-03-06 18:27:43 +01:00 committed by GitHub
parent deb399ea15
commit 4ebc25c754
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
49 changed files with 1238 additions and 371 deletions

View file

@ -252,6 +252,7 @@
"edit_date_time_dialog_timezone": "Timezone",
"edit_image_title": "Edit",
"edit_location_dialog_title": "Location",
"empty_folder": "This folder is empty",
"end_date": "End date",
"enqueued": "Enqueued",
"enter_wifi_name": "Enter WiFi name",
@ -275,6 +276,11 @@
"favorites_page_title": "Favorites",
"filename_search": "File name or extension",
"filter": "Filter",
"folders": "Folders",
"folder": "Folder",
"failed_to_load_folder": "Failed to load folder",
"failed_to_load_assets": "Failed to load assets",
"folder_not_found": "Folder not found",
"get_wifiname_error": "Could not get Wi-Fi name. Make sure you have granted the necessary permissions and are connected to a Wi-Fi network",
"grant_permission": "Grant permission",
"haptic_feedback_switch": "Enable haptic feedback",
@ -678,4 +684,4 @@
"viewer_unstack": "Un-Stack",
"wifi_name": "WiFi Name",
"your_wifi_name": "Your WiFi name"
}
}

View file

@ -0,0 +1,6 @@
import 'package:immich_mobile/entities/asset.entity.dart';
abstract interface class IFolderApiRepository {
Future<List<String>> getAllUniquePaths();
Future<List<Asset>> getAssetsForPath(String? path);
}

View file

@ -0,0 +1,11 @@
import 'package:immich_mobile/models/folder/root_folder.model.dart';
class RecursiveFolder extends RootFolder {
final String name;
RecursiveFolder({
required this.name,
required super.path,
required super.subfolders,
});
}

View file

@ -0,0 +1,11 @@
import 'package:immich_mobile/models/folder/recursive_folder.model.dart';
class RootFolder {
final List<RecursiveFolder> subfolders;
final String path;
RootFolder({
required this.subfolders,
required this.path,
});
}

View file

@ -0,0 +1,320 @@
import 'package:auto_route/auto_route.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/constants/enums.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/extensions/theme_extensions.dart';
import 'package:immich_mobile/models/folder/recursive_folder.model.dart';
import 'package:immich_mobile/models/folder/root_folder.model.dart';
import 'package:immich_mobile/pages/common/large_leading_tile.dart';
import 'package:immich_mobile/providers/folder.provider.dart';
import 'package:immich_mobile/routing/router.dart';
import 'package:immich_mobile/utils/bytes_units.dart';
import 'package:immich_mobile/widgets/asset_grid/thumbnail_image.dart';
import 'package:immich_mobile/widgets/common/immich_toast.dart';
RecursiveFolder? _findFolderInStructure(
RootFolder rootFolder,
RecursiveFolder targetFolder,
) {
for (final folder in rootFolder.subfolders) {
if (targetFolder.path == '/' &&
folder.path.isEmpty &&
folder.name == targetFolder.name) {
return folder;
}
if (folder.path == targetFolder.path && folder.name == targetFolder.name) {
return folder;
}
if (folder.subfolders.isNotEmpty) {
final found = _findFolderInStructure(folder, targetFolder);
if (found != null) return found;
}
}
return null;
}
@RoutePage()
class FolderPage extends HookConsumerWidget {
final RecursiveFolder? folder;
const FolderPage({super.key, this.folder});
@override
Widget build(BuildContext context, WidgetRef ref) {
final folderState = ref.watch(folderStructureProvider);
final currentFolder = useState<RecursiveFolder?>(folder);
final sortOrder = useState<SortOrder>(SortOrder.asc);
useEffect(
() {
if (folder == null) {
ref
.read(folderStructureProvider.notifier)
.fetchFolders(sortOrder.value);
}
return null;
},
[],
);
// Update current folder when root structure changes
useEffect(
() {
if (folder != null && folderState.hasValue) {
final updatedFolder =
_findFolderInStructure(folderState.value!, folder!);
if (updatedFolder != null) {
currentFolder.value = updatedFolder;
}
}
return null;
},
[folderState],
);
void onToggleSortOrder() {
final newOrder =
sortOrder.value == SortOrder.asc ? SortOrder.desc : SortOrder.asc;
ref.read(folderStructureProvider.notifier).fetchFolders(newOrder);
sortOrder.value = newOrder;
}
return Scaffold(
appBar: AppBar(
title: Text(currentFolder.value?.name ?? tr("folders")),
elevation: 0,
centerTitle: false,
actions: [
IconButton(
icon: const Icon(Icons.swap_vert),
onPressed: onToggleSortOrder,
),
],
),
body: folderState.when(
data: (rootFolder) {
if (folder == null) {
return FolderContent(
folder: rootFolder,
root: rootFolder,
sortOrder: sortOrder.value,
);
} else {
return FolderContent(
folder: currentFolder.value!,
root: rootFolder,
sortOrder: sortOrder.value,
);
}
},
loading: () => const Center(
child: CircularProgressIndicator(),
),
error: (error, stack) {
ImmichToast.show(
context: context,
msg: "failed_to_load_folder".tr(),
toastType: ToastType.error,
);
return Center(child: const Text("failed_to_load_folder").tr());
},
),
);
}
}
class FolderContent extends HookConsumerWidget {
final RootFolder? folder;
final RootFolder root;
final SortOrder sortOrder;
const FolderContent({
super.key,
this.folder,
required this.root,
this.sortOrder = SortOrder.asc,
});
@override
Widget build(BuildContext context, WidgetRef ref) {
final folderRenderlist = ref.watch(folderRenderListProvider(folder!));
// Initial asset fetch
useEffect(
() {
if (folder == null) return;
ref
.read(folderRenderListProvider(folder!).notifier)
.fetchAssets(sortOrder);
return null;
},
[folder],
);
if (folder == null) {
return Center(child: const Text("folder_not_found").tr());
}
getSubtitle(int subFolderCount) {
if (subFolderCount > 0) {
return "$subFolderCount ${tr("folders")}".toLowerCase();
}
if (subFolderCount == 1) {
return "1 ${tr("folder")}".toLowerCase();
}
return "";
}
return Column(
children: [
FolderPath(currentFolder: folder!, root: root),
Expanded(
child: folderRenderlist.when(
data: (list) {
if (folder!.subfolders.isEmpty && list.isEmpty) {
return Center(child: const Text("empty_folder").tr());
}
return ListView(
children: [
if (folder!.subfolders.isNotEmpty)
...folder!.subfolders.map(
(subfolder) => LargeLeadingTile(
leading: Icon(
Icons.folder,
color: context.primaryColor,
size: 48,
),
title: Text(
subfolder.name,
softWrap: false,
overflow: TextOverflow.ellipsis,
style: context.textTheme.titleSmall?.copyWith(
fontWeight: FontWeight.w600,
),
),
subtitle: subfolder.subfolders.isNotEmpty
? Text(
getSubtitle(subfolder.subfolders.length),
style: context.textTheme.bodyMedium?.copyWith(
color: context.colorScheme.onSurfaceSecondary,
),
)
: null,
onTap: () =>
context.pushRoute(FolderRoute(folder: subfolder)),
),
),
if (!list.isEmpty &&
list.allAssets != null &&
list.allAssets!.isNotEmpty)
...list.allAssets!.map(
(asset) => LargeLeadingTile(
onTap: () => context.pushRoute(
GalleryViewerRoute(
renderList: list,
initialIndex: list.allAssets!.indexOf(asset),
),
),
leading: ClipRRect(
borderRadius: const BorderRadius.all(
Radius.circular(15),
),
child: SizedBox(
width: 80,
height: 80,
child: ThumbnailImage(
asset: asset,
showStorageIndicator: false,
),
),
),
title: Text(
asset.fileName,
maxLines: 2,
softWrap: false,
overflow: TextOverflow.ellipsis,
style: context.textTheme.titleSmall?.copyWith(
fontWeight: FontWeight.w600,
),
),
subtitle: Text(
"${asset.exifInfo?.fileSize != null ? formatBytes(asset.exifInfo?.fileSize ?? 0) : ""}${DateFormat.yMMMd().format(asset.fileCreatedAt)}",
style: context.textTheme.bodyMedium?.copyWith(
color: context.colorScheme.onSurfaceSecondary,
),
),
),
),
],
);
},
loading: () => const Center(
child: CircularProgressIndicator(),
),
error: (error, stack) {
ImmichToast.show(
context: context,
msg: "failed_to_load_assets".tr(),
toastType: ToastType.error,
);
return Center(child: const Text("failed_to_load_assets").tr());
},
),
),
],
);
}
}
class FolderPath extends StatelessWidget {
final RootFolder currentFolder;
final RootFolder root;
const FolderPath({
super.key,
required this.currentFolder,
required this.root,
});
@override
Widget build(BuildContext context) {
if (currentFolder.path.isEmpty || currentFolder.path == '/') {
return const SizedBox.shrink();
}
return Container(
width: double.infinity,
alignment: Alignment.centerLeft,
child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(
currentFolder.path,
style: TextStyle(
fontFamily: 'Inconsolata',
fontWeight: FontWeight.bold,
fontSize: 14,
color: context.colorScheme.onSurface.withAlpha(175),
),
),
],
),
),
),
);
}
}

View file

@ -128,6 +128,19 @@ class QuickAccessButtons extends ConsumerWidget {
bottomRight: Radius.circular(partners.isEmpty ? 20 : 0),
),
),
leading: const Icon(
Icons.folder_outlined,
size: 26,
),
title: Text(
'folders'.tr(),
style: context.textTheme.titleSmall?.copyWith(
fontWeight: FontWeight.w500,
),
),
onTap: () => context.pushRoute(FolderRoute()),
),
ListTile(
leading: const Icon(
Icons.group_outlined,
size: 26,

View file

@ -0,0 +1,62 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/constants/enums.dart';
import 'package:immich_mobile/models/folder/root_folder.model.dart';
import 'package:immich_mobile/services/folder.service.dart';
import 'package:immich_mobile/widgets/asset_grid/asset_grid_data_structure.dart';
import 'package:logging/logging.dart';
class FolderStructureNotifier extends StateNotifier<AsyncValue<RootFolder>> {
final FolderService _folderService;
final Logger _log = Logger("FolderStructureNotifier");
FolderStructureNotifier(this._folderService) : super(const AsyncLoading());
Future<void> fetchFolders(SortOrder order) async {
try {
final folders = await _folderService.getFolderStructure(order);
state = AsyncData(folders);
} catch (e, stack) {
_log.severe("Failed to build folder structure", e, stack);
state = AsyncError(e, stack);
}
}
}
final folderStructureProvider =
StateNotifierProvider<FolderStructureNotifier, AsyncValue<RootFolder>>(
(ref) {
return FolderStructureNotifier(
ref.watch(folderServiceProvider),
);
});
class FolderRenderListNotifier extends StateNotifier<AsyncValue<RenderList>> {
final FolderService _folderService;
final RootFolder _folder;
final Logger _log = Logger("FolderAssetsNotifier");
FolderRenderListNotifier(this._folderService, this._folder)
: super(const AsyncLoading());
Future<void> fetchAssets(SortOrder order) async {
try {
final assets = await _folderService.getFolderAssets(_folder, order);
final renderList =
await RenderList.fromAssets(assets, GroupAssetsBy.none);
state = AsyncData(renderList);
} catch (e, stack) {
_log.severe("Failed to fetch folder assets", e, stack);
state = AsyncError(e, stack);
}
}
}
final folderRenderListProvider = StateNotifierProvider.family<
FolderRenderListNotifier,
AsyncValue<RenderList>,
RootFolder>((ref, folder) {
return FolderRenderListNotifier(
ref.watch(folderServiceProvider),
folder,
);
});

View file

@ -0,0 +1,43 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/interfaces/folder_api.interface.dart';
import 'package:immich_mobile/providers/api.provider.dart';
import 'package:immich_mobile/repositories/api.repository.dart';
import 'package:logging/logging.dart';
import 'package:openapi/api.dart';
final folderApiRepositoryProvider = Provider(
(ref) => FolderApiRepository(
ref.watch(apiServiceProvider).viewApi,
),
);
class FolderApiRepository extends ApiRepository
implements IFolderApiRepository {
final ViewApi _api;
final Logger _log = Logger("FolderApiRepository");
FolderApiRepository(this._api);
@override
Future<List<String>> getAllUniquePaths() async {
try {
final list = await _api.getUniqueOriginalPaths();
return list ?? [];
} catch (e, stack) {
_log.severe("Failed to fetch unique original links", e, stack);
return [];
}
}
@override
Future<List<Asset>> getAssetsForPath(String? path) async {
try {
final list = await _api.getAssetsByOriginalPath(path ?? '/');
return list != null ? list.map(Asset.remote).toList() : [];
} catch (e, stack) {
_log.severe("Failed to fetch Assets by original path", e, stack);
return [];
}
}
}

View file

@ -5,6 +5,8 @@ import 'package:immich_mobile/domain/models/log.model.dart';
import 'package:immich_mobile/entities/album.entity.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/entities/user.entity.dart';
import 'package:immich_mobile/models/folder/recursive_folder.model.dart';
import 'package:immich_mobile/pages/library/folder/folder.page.dart';
import 'package:immich_mobile/models/memories/memory.model.dart';
import 'package:immich_mobile/models/search/search_filter.model.dart';
import 'package:immich_mobile/models/shared_link/shared_link.model.dart';
@ -207,6 +209,11 @@ class AppRouter extends RootStackRouter {
guards: [_authGuard, _duplicateGuard],
transitionsBuilder: TransitionsBuilders.slideLeft,
),
CustomRoute(
page: FolderRoute.page,
guards: [_authGuard],
transitionsBuilder: TransitionsBuilders.fadeIn,
),
AutoRoute(
page: PartnerDetailRoute.page,
guards: [_authGuard, _duplicateGuard],

View file

@ -1175,6 +1175,40 @@ class PartnerRoute extends PageRouteInfo<void> {
);
}
/// manually written (with love) route for
/// [FolderPage]
class FolderRoute extends PageRouteInfo<FolderRouteArgs> {
FolderRoute({
RecursiveFolder? folder,
List<PageRouteInfo>? children,
}) : super(
FolderRoute.name,
args: FolderRouteArgs(folder: folder),
initialChildren: children,
);
static const String name = 'FolderRoute';
static PageInfo page = PageInfo(
name,
builder: (data) {
final args = data.argsAs<FolderRouteArgs>();
return FolderPage(folder: args.folder);
},
);
}
class FolderRouteArgs {
const FolderRouteArgs({this.folder});
final RecursiveFolder? folder;
@override
String toString() {
return 'FolderRouteArgs{folder: $folder}';
}
}
/// generated route for
/// [PeopleCollectionPage]
class PeopleCollectionRoute extends PageRouteInfo<void> {

View file

@ -31,6 +31,7 @@ class ApiService implements Authentication {
late DownloadApi downloadApi;
late TrashApi trashApi;
late StacksApi stacksApi;
late ViewApi viewApi;
late MemoriesApi memoriesApi;
ApiService() {
@ -64,6 +65,7 @@ class ApiService implements Authentication {
downloadApi = DownloadApi(_apiClient);
trashApi = TrashApi(_apiClient);
stacksApi = StacksApi(_apiClient);
viewApi = ViewApi(_apiClient);
memoriesApi = MemoriesApi(_apiClient);
}

View file

@ -0,0 +1,132 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/constants/enums.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/models/folder/recursive_folder.model.dart';
import 'package:immich_mobile/models/folder/root_folder.model.dart';
import 'package:immich_mobile/repositories/folder_api.repository.dart';
import 'package:logging/logging.dart';
final folderServiceProvider = Provider(
(ref) => FolderService(ref.watch(folderApiRepositoryProvider)),
);
class FolderService {
final FolderApiRepository _folderApiRepository;
final Logger _log = Logger("FolderService");
FolderService(this._folderApiRepository);
Future<RootFolder> getFolderStructure(SortOrder order) async {
final paths = await _folderApiRepository.getAllUniquePaths();
// Create folder structure
Map<String, List<RecursiveFolder>> folderMap = {};
for (String fullPath in paths) {
if (fullPath == '/') continue;
// Ensure the path starts with a slash
if (!fullPath.startsWith('/')) {
fullPath = '/$fullPath';
}
List<String> segments = fullPath.split('/')
..removeWhere((s) => s.isEmpty);
String currentPath = '';
for (int i = 0; i < segments.length; i++) {
String parentPath = currentPath.isEmpty ? '_root_' : currentPath;
currentPath =
i == 0 ? '/${segments[i]}' : '$currentPath/${segments[i]}';
if (!folderMap.containsKey(parentPath)) {
folderMap[parentPath] = [];
}
if (!folderMap[parentPath]!.any((f) => f.name == segments[i])) {
folderMap[parentPath]!.add(
RecursiveFolder(
path: parentPath == '_root_' ? '' : parentPath,
name: segments[i],
subfolders: [],
),
);
// Sort folders based on order parameter
folderMap[parentPath]!.sort(
(a, b) => order == SortOrder.desc
? b.name.compareTo(a.name)
: a.name.compareTo(b.name),
);
}
}
}
void attachSubfolders(RecursiveFolder folder) {
String fullPath = folder.path.isEmpty
? '/${folder.name}'
: '${folder.path}/${folder.name}';
if (folderMap.containsKey(fullPath)) {
folder.subfolders.addAll(folderMap[fullPath]!);
// Sort subfolders based on order parameter
folder.subfolders.sort(
(a, b) => order == SortOrder.desc
? b.name.compareTo(a.name)
: a.name.compareTo(b.name),
);
for (var subfolder in folder.subfolders) {
attachSubfolders(subfolder);
}
}
}
List<RecursiveFolder> rootSubfolders = folderMap['_root_'] ?? [];
// Sort root subfolders based on order parameter
rootSubfolders.sort(
(a, b) => order == SortOrder.desc
? b.name.compareTo(a.name)
: a.name.compareTo(b.name),
);
for (var folder in rootSubfolders) {
attachSubfolders(folder);
}
return RootFolder(
subfolders: rootSubfolders,
path: '/',
);
}
Future<List<Asset>> getFolderAssets(
RootFolder folder,
SortOrder order,
) async {
try {
if (folder is RecursiveFolder) {
String fullPath =
folder.path.isEmpty ? folder.name : '${folder.path}/${folder.name}';
fullPath = fullPath[0] == '/' ? fullPath.substring(1) : fullPath;
var result = await _folderApiRepository.getAssetsForPath(fullPath);
if (order == SortOrder.desc) {
result.sort((a, b) => b.fileCreatedAt.compareTo(a.fileCreatedAt));
} else {
result.sort((a, b) => a.fileCreatedAt.compareTo(b.fileCreatedAt));
}
return result;
}
final result = await _folderApiRepository.getAssetsForPath('/');
return result;
} catch (e, stack) {
_log.severe(
"Failed to fetch assets for folder ${folder is RecursiveFolder ? folder.name : "root"}",
e,
stack,
);
return [];
}
}
}

View file

@ -10,7 +10,6 @@ import 'package:immich_mobile/models/backup/backup_state.model.dart';
import 'package:immich_mobile/models/server_info/server_info.model.dart';
import 'package:immich_mobile/providers/backup/backup.provider.dart';
import 'package:immich_mobile/providers/immich_logo_provider.dart';
import 'package:immich_mobile/providers/infrastructure/sync_stream.provider.dart';
import 'package:immich_mobile/providers/server_info.provider.dart';
import 'package:immich_mobile/routing/router.dart';
import 'package:immich_mobile/widgets/common/app_bar_dialog/app_bar_dialog.dart';
@ -186,12 +185,6 @@ class ImmichAppBar extends ConsumerWidget implements PreferredSizeWidget {
},
),
actions: [
IconButton(
onPressed: () {
ref.read(syncStreamServiceProvider).syncUsers();
},
icon: const Icon(Icons.sync),
),
if (actions != null)
...actions!.map(
(action) => Padding(

View file

@ -22,7 +22,7 @@ class ActivitiesApi {
/// * [ActivityCreateDto] activityCreateDto (required):
Future<Response> createActivityWithHttpInfo(ActivityCreateDto activityCreateDto,) async {
// ignore: prefer_const_declarations
final path = r'/activities';
final apiPath = r'/activities';
// ignore: prefer_final_locals
Object? postBody = activityCreateDto;
@ -35,7 +35,7 @@ class ActivitiesApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -69,7 +69,7 @@ class ActivitiesApi {
/// * [String] id (required):
Future<Response> deleteActivityWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/activities/{id}'
final apiPath = r'/activities/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -83,7 +83,7 @@ class ActivitiesApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -117,7 +117,7 @@ class ActivitiesApi {
/// * [String] userId:
Future<Response> getActivitiesWithHttpInfo(String albumId, { String? assetId, ReactionLevel? level, ReactionType? type, String? userId, }) async {
// ignore: prefer_const_declarations
final path = r'/activities';
final apiPath = r'/activities';
// ignore: prefer_final_locals
Object? postBody;
@ -144,7 +144,7 @@ class ActivitiesApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -191,7 +191,7 @@ class ActivitiesApi {
/// * [String] assetId:
Future<Response> getActivityStatisticsWithHttpInfo(String albumId, { String? assetId, }) async {
// ignore: prefer_const_declarations
final path = r'/activities/statistics';
final apiPath = r'/activities/statistics';
// ignore: prefer_final_locals
Object? postBody;
@ -209,7 +209,7 @@ class ActivitiesApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,

View file

@ -26,7 +26,7 @@ class AlbumsApi {
/// * [String] key:
Future<Response> addAssetsToAlbumWithHttpInfo(String id, BulkIdsDto bulkIdsDto, { String? key, }) async {
// ignore: prefer_const_declarations
final path = r'/albums/{id}/assets'
final apiPath = r'/albums/{id}/assets'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -44,7 +44,7 @@ class AlbumsApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -87,7 +87,7 @@ class AlbumsApi {
/// * [AddUsersDto] addUsersDto (required):
Future<Response> addUsersToAlbumWithHttpInfo(String id, AddUsersDto addUsersDto,) async {
// ignore: prefer_const_declarations
final path = r'/albums/{id}/users'
final apiPath = r'/albums/{id}/users'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -101,7 +101,7 @@ class AlbumsApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -137,7 +137,7 @@ class AlbumsApi {
/// * [CreateAlbumDto] createAlbumDto (required):
Future<Response> createAlbumWithHttpInfo(CreateAlbumDto createAlbumDto,) async {
// ignore: prefer_const_declarations
final path = r'/albums';
final apiPath = r'/albums';
// ignore: prefer_final_locals
Object? postBody = createAlbumDto;
@ -150,7 +150,7 @@ class AlbumsApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -184,7 +184,7 @@ class AlbumsApi {
/// * [String] id (required):
Future<Response> deleteAlbumWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/albums/{id}'
final apiPath = r'/albums/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -198,7 +198,7 @@ class AlbumsApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -228,7 +228,7 @@ class AlbumsApi {
/// * [bool] withoutAssets:
Future<Response> getAlbumInfoWithHttpInfo(String id, { String? key, bool? withoutAssets, }) async {
// ignore: prefer_const_declarations
final path = r'/albums/{id}'
final apiPath = r'/albums/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -249,7 +249,7 @@ class AlbumsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -284,7 +284,7 @@ class AlbumsApi {
/// Performs an HTTP 'GET /albums/statistics' operation and returns the [Response].
Future<Response> getAlbumStatisticsWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/albums/statistics';
final apiPath = r'/albums/statistics';
// ignore: prefer_final_locals
Object? postBody;
@ -297,7 +297,7 @@ class AlbumsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -331,7 +331,7 @@ class AlbumsApi {
/// * [bool] shared:
Future<Response> getAllAlbumsWithHttpInfo({ String? assetId, bool? shared, }) async {
// ignore: prefer_const_declarations
final path = r'/albums';
final apiPath = r'/albums';
// ignore: prefer_final_locals
Object? postBody;
@ -351,7 +351,7 @@ class AlbumsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -393,7 +393,7 @@ class AlbumsApi {
/// * [BulkIdsDto] bulkIdsDto (required):
Future<Response> removeAssetFromAlbumWithHttpInfo(String id, BulkIdsDto bulkIdsDto,) async {
// ignore: prefer_const_declarations
final path = r'/albums/{id}/assets'
final apiPath = r'/albums/{id}/assets'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -407,7 +407,7 @@ class AlbumsApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -448,7 +448,7 @@ class AlbumsApi {
/// * [String] userId (required):
Future<Response> removeUserFromAlbumWithHttpInfo(String id, String userId,) async {
// ignore: prefer_const_declarations
final path = r'/albums/{id}/user/{userId}'
final apiPath = r'/albums/{id}/user/{userId}'
.replaceAll('{id}', id)
.replaceAll('{userId}', userId);
@ -463,7 +463,7 @@ class AlbumsApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -493,7 +493,7 @@ class AlbumsApi {
/// * [UpdateAlbumDto] updateAlbumDto (required):
Future<Response> updateAlbumInfoWithHttpInfo(String id, UpdateAlbumDto updateAlbumDto,) async {
// ignore: prefer_const_declarations
final path = r'/albums/{id}'
final apiPath = r'/albums/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -507,7 +507,7 @@ class AlbumsApi {
return apiClient.invokeAPI(
path,
apiPath,
'PATCH',
queryParams,
postBody,
@ -547,7 +547,7 @@ class AlbumsApi {
/// * [UpdateAlbumUserDto] updateAlbumUserDto (required):
Future<Response> updateAlbumUserWithHttpInfo(String id, String userId, UpdateAlbumUserDto updateAlbumUserDto,) async {
// ignore: prefer_const_declarations
final path = r'/albums/{id}/user/{userId}'
final apiPath = r'/albums/{id}/user/{userId}'
.replaceAll('{id}', id)
.replaceAll('{userId}', userId);
@ -562,7 +562,7 @@ class AlbumsApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class APIKeysApi {
/// * [APIKeyCreateDto] aPIKeyCreateDto (required):
Future<Response> createApiKeyWithHttpInfo(APIKeyCreateDto aPIKeyCreateDto,) async {
// ignore: prefer_const_declarations
final path = r'/api-keys';
final apiPath = r'/api-keys';
// ignore: prefer_final_locals
Object? postBody = aPIKeyCreateDto;
@ -35,7 +35,7 @@ class APIKeysApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -69,7 +69,7 @@ class APIKeysApi {
/// * [String] id (required):
Future<Response> deleteApiKeyWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/api-keys/{id}'
final apiPath = r'/api-keys/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -83,7 +83,7 @@ class APIKeysApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -109,7 +109,7 @@ class APIKeysApi {
/// * [String] id (required):
Future<Response> getApiKeyWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/api-keys/{id}'
final apiPath = r'/api-keys/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -123,7 +123,7 @@ class APIKeysApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -154,7 +154,7 @@ class APIKeysApi {
/// Performs an HTTP 'GET /api-keys' operation and returns the [Response].
Future<Response> getApiKeysWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/api-keys';
final apiPath = r'/api-keys';
// ignore: prefer_final_locals
Object? postBody;
@ -167,7 +167,7 @@ class APIKeysApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -203,7 +203,7 @@ class APIKeysApi {
/// * [APIKeyUpdateDto] aPIKeyUpdateDto (required):
Future<Response> updateApiKeyWithHttpInfo(String id, APIKeyUpdateDto aPIKeyUpdateDto,) async {
// ignore: prefer_const_declarations
final path = r'/api-keys/{id}'
final apiPath = r'/api-keys/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -217,7 +217,7 @@ class APIKeysApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,

View file

@ -27,7 +27,7 @@ class AssetsApi {
/// * [AssetBulkUploadCheckDto] assetBulkUploadCheckDto (required):
Future<Response> checkBulkUploadWithHttpInfo(AssetBulkUploadCheckDto assetBulkUploadCheckDto,) async {
// ignore: prefer_const_declarations
final path = r'/assets/bulk-upload-check';
final apiPath = r'/assets/bulk-upload-check';
// ignore: prefer_final_locals
Object? postBody = assetBulkUploadCheckDto;
@ -40,7 +40,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -83,7 +83,7 @@ class AssetsApi {
/// * [CheckExistingAssetsDto] checkExistingAssetsDto (required):
Future<Response> checkExistingAssetsWithHttpInfo(CheckExistingAssetsDto checkExistingAssetsDto,) async {
// ignore: prefer_const_declarations
final path = r'/assets/exist';
final apiPath = r'/assets/exist';
// ignore: prefer_final_locals
Object? postBody = checkExistingAssetsDto;
@ -96,7 +96,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -134,7 +134,7 @@ class AssetsApi {
/// * [AssetBulkDeleteDto] assetBulkDeleteDto (required):
Future<Response> deleteAssetsWithHttpInfo(AssetBulkDeleteDto assetBulkDeleteDto,) async {
// ignore: prefer_const_declarations
final path = r'/assets';
final apiPath = r'/assets';
// ignore: prefer_final_locals
Object? postBody = assetBulkDeleteDto;
@ -147,7 +147,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -175,7 +175,7 @@ class AssetsApi {
/// * [String] key:
Future<Response> downloadAssetWithHttpInfo(String id, { String? key, }) async {
// ignore: prefer_const_declarations
final path = r'/assets/{id}/original'
final apiPath = r'/assets/{id}/original'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -193,7 +193,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -234,7 +234,7 @@ class AssetsApi {
/// * [String] deviceId (required):
Future<Response> getAllUserAssetsByDeviceIdWithHttpInfo(String deviceId,) async {
// ignore: prefer_const_declarations
final path = r'/assets/device/{deviceId}'
final apiPath = r'/assets/device/{deviceId}'
.replaceAll('{deviceId}', deviceId);
// ignore: prefer_final_locals
@ -248,7 +248,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -291,7 +291,7 @@ class AssetsApi {
/// * [String] key:
Future<Response> getAssetInfoWithHttpInfo(String id, { String? key, }) async {
// ignore: prefer_const_declarations
final path = r'/assets/{id}'
final apiPath = r'/assets/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -309,7 +309,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -349,7 +349,7 @@ class AssetsApi {
/// * [bool] isTrashed:
Future<Response> getAssetStatisticsWithHttpInfo({ bool? isArchived, bool? isFavorite, bool? isTrashed, }) async {
// ignore: prefer_const_declarations
final path = r'/assets/statistics';
final apiPath = r'/assets/statistics';
// ignore: prefer_final_locals
Object? postBody;
@ -372,7 +372,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -412,7 +412,7 @@ class AssetsApi {
/// * [int] month (required):
Future<Response> getMemoryLaneWithHttpInfo(int day, int month,) async {
// ignore: prefer_const_declarations
final path = r'/assets/memory-lane';
final apiPath = r'/assets/memory-lane';
// ignore: prefer_final_locals
Object? postBody;
@ -428,7 +428,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -470,7 +470,7 @@ class AssetsApi {
/// * [num] count:
Future<Response> getRandomWithHttpInfo({ num? count, }) async {
// ignore: prefer_const_declarations
final path = r'/assets/random';
final apiPath = r'/assets/random';
// ignore: prefer_final_locals
Object? postBody;
@ -487,7 +487,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -528,7 +528,7 @@ class AssetsApi {
/// * [String] key:
Future<Response> playAssetVideoWithHttpInfo(String id, { String? key, }) async {
// ignore: prefer_const_declarations
final path = r'/assets/{id}/video/playback'
final apiPath = r'/assets/{id}/video/playback'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -546,7 +546,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -601,7 +601,7 @@ class AssetsApi {
/// * [String] duration:
Future<Response> replaceAssetWithHttpInfo(String id, MultipartFile assetData, String deviceAssetId, String deviceId, DateTime fileCreatedAt, DateTime fileModifiedAt, { String? key, String? duration, }) async {
// ignore: prefer_const_declarations
final path = r'/assets/{id}/original'
final apiPath = r'/assets/{id}/original'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -618,7 +618,7 @@ class AssetsApi {
const contentTypes = <String>['multipart/form-data'];
bool hasFields = false;
final mp = MultipartRequest('PUT', Uri.parse(path));
final mp = MultipartRequest('PUT', Uri.parse(apiPath));
if (assetData != null) {
hasFields = true;
mp.fields[r'assetData'] = assetData.field;
@ -649,7 +649,7 @@ class AssetsApi {
}
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -701,7 +701,7 @@ class AssetsApi {
/// * [AssetJobsDto] assetJobsDto (required):
Future<Response> runAssetJobsWithHttpInfo(AssetJobsDto assetJobsDto,) async {
// ignore: prefer_const_declarations
final path = r'/assets/jobs';
final apiPath = r'/assets/jobs';
// ignore: prefer_final_locals
Object? postBody = assetJobsDto;
@ -714,7 +714,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -742,7 +742,7 @@ class AssetsApi {
/// * [UpdateAssetDto] updateAssetDto (required):
Future<Response> updateAssetWithHttpInfo(String id, UpdateAssetDto updateAssetDto,) async {
// ignore: prefer_const_declarations
final path = r'/assets/{id}'
final apiPath = r'/assets/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -756,7 +756,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -792,7 +792,7 @@ class AssetsApi {
/// * [AssetBulkUpdateDto] assetBulkUpdateDto (required):
Future<Response> updateAssetsWithHttpInfo(AssetBulkUpdateDto assetBulkUpdateDto,) async {
// ignore: prefer_const_declarations
final path = r'/assets';
final apiPath = r'/assets';
// ignore: prefer_final_locals
Object? postBody = assetBulkUpdateDto;
@ -805,7 +805,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -856,7 +856,7 @@ class AssetsApi {
/// * [MultipartFile] sidecarData:
Future<Response> uploadAssetWithHttpInfo(MultipartFile assetData, String deviceAssetId, String deviceId, DateTime fileCreatedAt, DateTime fileModifiedAt, { String? key, String? xImmichChecksum, String? duration, bool? isArchived, bool? isFavorite, bool? isVisible, String? livePhotoVideoId, MultipartFile? sidecarData, }) async {
// ignore: prefer_const_declarations
final path = r'/assets';
final apiPath = r'/assets';
// ignore: prefer_final_locals
Object? postBody;
@ -876,7 +876,7 @@ class AssetsApi {
const contentTypes = <String>['multipart/form-data'];
bool hasFields = false;
final mp = MultipartRequest('POST', Uri.parse(path));
final mp = MultipartRequest('POST', Uri.parse(apiPath));
if (assetData != null) {
hasFields = true;
mp.fields[r'assetData'] = assetData.field;
@ -928,7 +928,7 @@ class AssetsApi {
}
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -991,7 +991,7 @@ class AssetsApi {
/// * [AssetMediaSize] size:
Future<Response> viewAssetWithHttpInfo(String id, { String? key, AssetMediaSize? size, }) async {
// ignore: prefer_const_declarations
final path = r'/assets/{id}/thumbnail'
final apiPath = r'/assets/{id}/thumbnail'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -1012,7 +1012,7 @@ class AssetsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class AuthenticationApi {
/// * [ChangePasswordDto] changePasswordDto (required):
Future<Response> changePasswordWithHttpInfo(ChangePasswordDto changePasswordDto,) async {
// ignore: prefer_const_declarations
final path = r'/auth/change-password';
final apiPath = r'/auth/change-password';
// ignore: prefer_final_locals
Object? postBody = changePasswordDto;
@ -35,7 +35,7 @@ class AuthenticationApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -69,7 +69,7 @@ class AuthenticationApi {
/// * [LoginCredentialDto] loginCredentialDto (required):
Future<Response> loginWithHttpInfo(LoginCredentialDto loginCredentialDto,) async {
// ignore: prefer_const_declarations
final path = r'/auth/login';
final apiPath = r'/auth/login';
// ignore: prefer_final_locals
Object? postBody = loginCredentialDto;
@ -82,7 +82,7 @@ class AuthenticationApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -113,7 +113,7 @@ class AuthenticationApi {
/// Performs an HTTP 'POST /auth/logout' operation and returns the [Response].
Future<Response> logoutWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/auth/logout';
final apiPath = r'/auth/logout';
// ignore: prefer_final_locals
Object? postBody;
@ -126,7 +126,7 @@ class AuthenticationApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -157,7 +157,7 @@ class AuthenticationApi {
/// * [SignUpDto] signUpDto (required):
Future<Response> signUpAdminWithHttpInfo(SignUpDto signUpDto,) async {
// ignore: prefer_const_declarations
final path = r'/auth/admin-sign-up';
final apiPath = r'/auth/admin-sign-up';
// ignore: prefer_final_locals
Object? postBody = signUpDto;
@ -170,7 +170,7 @@ class AuthenticationApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -201,7 +201,7 @@ class AuthenticationApi {
/// Performs an HTTP 'POST /auth/validateToken' operation and returns the [Response].
Future<Response> validateAccessTokenWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/auth/validateToken';
final apiPath = r'/auth/validateToken';
// ignore: prefer_final_locals
Object? postBody;
@ -214,7 +214,7 @@ class AuthenticationApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,

View file

@ -25,7 +25,7 @@ class DeprecatedApi {
/// * [num] count:
Future<Response> getRandomWithHttpInfo({ num? count, }) async {
// ignore: prefer_const_declarations
final path = r'/assets/random';
final apiPath = r'/assets/random';
// ignore: prefer_final_locals
Object? postBody;
@ -42,7 +42,7 @@ class DeprecatedApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,

View file

@ -24,7 +24,7 @@ class DownloadApi {
/// * [String] key:
Future<Response> downloadArchiveWithHttpInfo(AssetIdsDto assetIdsDto, { String? key, }) async {
// ignore: prefer_const_declarations
final path = r'/download/archive';
final apiPath = r'/download/archive';
// ignore: prefer_final_locals
Object? postBody = assetIdsDto;
@ -41,7 +41,7 @@ class DownloadApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -79,7 +79,7 @@ class DownloadApi {
/// * [String] key:
Future<Response> getDownloadInfoWithHttpInfo(DownloadInfoDto downloadInfoDto, { String? key, }) async {
// ignore: prefer_const_declarations
final path = r'/download/info';
final apiPath = r'/download/info';
// ignore: prefer_final_locals
Object? postBody = downloadInfoDto;
@ -96,7 +96,7 @@ class DownloadApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,

View file

@ -19,7 +19,7 @@ class DuplicatesApi {
/// Performs an HTTP 'GET /duplicates' operation and returns the [Response].
Future<Response> getAssetDuplicatesWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/duplicates';
final apiPath = r'/duplicates';
// ignore: prefer_final_locals
Object? postBody;
@ -32,7 +32,7 @@ class DuplicatesApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class FacesApi {
/// * [AssetFaceCreateDto] assetFaceCreateDto (required):
Future<Response> createFaceWithHttpInfo(AssetFaceCreateDto assetFaceCreateDto,) async {
// ignore: prefer_const_declarations
final path = r'/faces';
final apiPath = r'/faces';
// ignore: prefer_final_locals
Object? postBody = assetFaceCreateDto;
@ -35,7 +35,7 @@ class FacesApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -63,7 +63,7 @@ class FacesApi {
/// * [AssetFaceDeleteDto] assetFaceDeleteDto (required):
Future<Response> deleteFaceWithHttpInfo(String id, AssetFaceDeleteDto assetFaceDeleteDto,) async {
// ignore: prefer_const_declarations
final path = r'/faces/{id}'
final apiPath = r'/faces/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -77,7 +77,7 @@ class FacesApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -105,7 +105,7 @@ class FacesApi {
/// * [String] id (required):
Future<Response> getFacesWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/faces';
final apiPath = r'/faces';
// ignore: prefer_final_locals
Object? postBody;
@ -120,7 +120,7 @@ class FacesApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -159,7 +159,7 @@ class FacesApi {
/// * [FaceDto] faceDto (required):
Future<Response> reassignFacesByIdWithHttpInfo(String id, FaceDto faceDto,) async {
// ignore: prefer_const_declarations
final path = r'/faces/{id}'
final apiPath = r'/faces/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -173,7 +173,7 @@ class FacesApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class FileReportsApi {
/// * [FileReportFixDto] fileReportFixDto (required):
Future<Response> fixAuditFilesWithHttpInfo(FileReportFixDto fileReportFixDto,) async {
// ignore: prefer_const_declarations
final path = r'/reports/fix';
final apiPath = r'/reports/fix';
// ignore: prefer_final_locals
Object? postBody = fileReportFixDto;
@ -35,7 +35,7 @@ class FileReportsApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -58,7 +58,7 @@ class FileReportsApi {
/// Performs an HTTP 'GET /reports' operation and returns the [Response].
Future<Response> getAuditFilesWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/reports';
final apiPath = r'/reports';
// ignore: prefer_final_locals
Object? postBody;
@ -71,7 +71,7 @@ class FileReportsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -102,7 +102,7 @@ class FileReportsApi {
/// * [FileChecksumDto] fileChecksumDto (required):
Future<Response> getFileChecksumsWithHttpInfo(FileChecksumDto fileChecksumDto,) async {
// ignore: prefer_const_declarations
final path = r'/reports/checksum';
final apiPath = r'/reports/checksum';
// ignore: prefer_final_locals
Object? postBody = fileChecksumDto;
@ -115,7 +115,7 @@ class FileReportsApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class JobsApi {
/// * [JobCreateDto] jobCreateDto (required):
Future<Response> createJobWithHttpInfo(JobCreateDto jobCreateDto,) async {
// ignore: prefer_const_declarations
final path = r'/jobs';
final apiPath = r'/jobs';
// ignore: prefer_final_locals
Object? postBody = jobCreateDto;
@ -35,7 +35,7 @@ class JobsApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -58,7 +58,7 @@ class JobsApi {
/// Performs an HTTP 'GET /jobs' operation and returns the [Response].
Future<Response> getAllJobsStatusWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/jobs';
final apiPath = r'/jobs';
// ignore: prefer_final_locals
Object? postBody;
@ -71,7 +71,7 @@ class JobsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -104,7 +104,7 @@ class JobsApi {
/// * [JobCommandDto] jobCommandDto (required):
Future<Response> sendJobCommandWithHttpInfo(JobName id, JobCommandDto jobCommandDto,) async {
// ignore: prefer_const_declarations
final path = r'/jobs/{id}'
final apiPath = r'/jobs/{id}'
.replaceAll('{id}', id.toString());
// ignore: prefer_final_locals
@ -118,7 +118,7 @@ class JobsApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class LibrariesApi {
/// * [CreateLibraryDto] createLibraryDto (required):
Future<Response> createLibraryWithHttpInfo(CreateLibraryDto createLibraryDto,) async {
// ignore: prefer_const_declarations
final path = r'/libraries';
final apiPath = r'/libraries';
// ignore: prefer_final_locals
Object? postBody = createLibraryDto;
@ -35,7 +35,7 @@ class LibrariesApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -69,7 +69,7 @@ class LibrariesApi {
/// * [String] id (required):
Future<Response> deleteLibraryWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/libraries/{id}'
final apiPath = r'/libraries/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -83,7 +83,7 @@ class LibrariesApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -106,7 +106,7 @@ class LibrariesApi {
/// Performs an HTTP 'GET /libraries' operation and returns the [Response].
Future<Response> getAllLibrariesWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/libraries';
final apiPath = r'/libraries';
// ignore: prefer_final_locals
Object? postBody;
@ -119,7 +119,7 @@ class LibrariesApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -153,7 +153,7 @@ class LibrariesApi {
/// * [String] id (required):
Future<Response> getLibraryWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/libraries/{id}'
final apiPath = r'/libraries/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -167,7 +167,7 @@ class LibrariesApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -201,7 +201,7 @@ class LibrariesApi {
/// * [String] id (required):
Future<Response> getLibraryStatisticsWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/libraries/{id}/statistics'
final apiPath = r'/libraries/{id}/statistics'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -215,7 +215,7 @@ class LibrariesApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -249,7 +249,7 @@ class LibrariesApi {
/// * [String] id (required):
Future<Response> scanLibraryWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/libraries/{id}/scan'
final apiPath = r'/libraries/{id}/scan'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -263,7 +263,7 @@ class LibrariesApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -291,7 +291,7 @@ class LibrariesApi {
/// * [UpdateLibraryDto] updateLibraryDto (required):
Future<Response> updateLibraryWithHttpInfo(String id, UpdateLibraryDto updateLibraryDto,) async {
// ignore: prefer_const_declarations
final path = r'/libraries/{id}'
final apiPath = r'/libraries/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -305,7 +305,7 @@ class LibrariesApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -343,7 +343,7 @@ class LibrariesApi {
/// * [ValidateLibraryDto] validateLibraryDto (required):
Future<Response> validateWithHttpInfo(String id, ValidateLibraryDto validateLibraryDto,) async {
// ignore: prefer_const_declarations
final path = r'/libraries/{id}/validate'
final apiPath = r'/libraries/{id}/validate'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -357,7 +357,7 @@ class LibrariesApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,

View file

@ -32,7 +32,7 @@ class MapApi {
/// * [bool] withSharedAlbums:
Future<Response> getMapMarkersWithHttpInfo({ DateTime? fileCreatedAfter, DateTime? fileCreatedBefore, bool? isArchived, bool? isFavorite, bool? withPartners, bool? withSharedAlbums, }) async {
// ignore: prefer_const_declarations
final path = r'/map/markers';
final apiPath = r'/map/markers';
// ignore: prefer_final_locals
Object? postBody;
@ -64,7 +64,7 @@ class MapApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -113,7 +113,7 @@ class MapApi {
/// * [double] lon (required):
Future<Response> reverseGeocodeWithHttpInfo(double lat, double lon,) async {
// ignore: prefer_const_declarations
final path = r'/map/reverse-geocode';
final apiPath = r'/map/reverse-geocode';
// ignore: prefer_final_locals
Object? postBody;
@ -129,7 +129,7 @@ class MapApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,

View file

@ -24,7 +24,7 @@ class MemoriesApi {
/// * [BulkIdsDto] bulkIdsDto (required):
Future<Response> addMemoryAssetsWithHttpInfo(String id, BulkIdsDto bulkIdsDto,) async {
// ignore: prefer_const_declarations
final path = r'/memories/{id}/assets'
final apiPath = r'/memories/{id}/assets'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -38,7 +38,7 @@ class MemoriesApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -77,7 +77,7 @@ class MemoriesApi {
/// * [MemoryCreateDto] memoryCreateDto (required):
Future<Response> createMemoryWithHttpInfo(MemoryCreateDto memoryCreateDto,) async {
// ignore: prefer_const_declarations
final path = r'/memories';
final apiPath = r'/memories';
// ignore: prefer_final_locals
Object? postBody = memoryCreateDto;
@ -90,7 +90,7 @@ class MemoriesApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -124,7 +124,7 @@ class MemoriesApi {
/// * [String] id (required):
Future<Response> deleteMemoryWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/memories/{id}'
final apiPath = r'/memories/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -138,7 +138,7 @@ class MemoriesApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -164,7 +164,7 @@ class MemoriesApi {
/// * [String] id (required):
Future<Response> getMemoryWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/memories/{id}'
final apiPath = r'/memories/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -178,7 +178,7 @@ class MemoriesApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -214,7 +214,7 @@ class MemoriesApi {
/// * [BulkIdsDto] bulkIdsDto (required):
Future<Response> removeMemoryAssetsWithHttpInfo(String id, BulkIdsDto bulkIdsDto,) async {
// ignore: prefer_const_declarations
final path = r'/memories/{id}/assets'
final apiPath = r'/memories/{id}/assets'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -228,7 +228,7 @@ class MemoriesApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -273,7 +273,7 @@ class MemoriesApi {
/// * [MemoryType] type:
Future<Response> searchMemoriesWithHttpInfo({ DateTime? for_, bool? isSaved, bool? isTrashed, MemoryType? type, }) async {
// ignore: prefer_const_declarations
final path = r'/memories';
final apiPath = r'/memories';
// ignore: prefer_final_locals
Object? postBody;
@ -299,7 +299,7 @@ class MemoriesApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -344,7 +344,7 @@ class MemoriesApi {
/// * [MemoryUpdateDto] memoryUpdateDto (required):
Future<Response> updateMemoryWithHttpInfo(String id, MemoryUpdateDto memoryUpdateDto,) async {
// ignore: prefer_const_declarations
final path = r'/memories/{id}'
final apiPath = r'/memories/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -358,7 +358,7 @@ class MemoriesApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,

View file

@ -24,7 +24,7 @@ class NotificationsApi {
/// * [TemplateDto] templateDto (required):
Future<Response> getNotificationTemplateWithHttpInfo(String name, TemplateDto templateDto,) async {
// ignore: prefer_const_declarations
final path = r'/notifications/templates/{name}'
final apiPath = r'/notifications/templates/{name}'
.replaceAll('{name}', name);
// ignore: prefer_final_locals
@ -38,7 +38,7 @@ class NotificationsApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -74,7 +74,7 @@ class NotificationsApi {
/// * [SystemConfigSmtpDto] systemConfigSmtpDto (required):
Future<Response> sendTestEmailWithHttpInfo(SystemConfigSmtpDto systemConfigSmtpDto,) async {
// ignore: prefer_const_declarations
final path = r'/notifications/test-email';
final apiPath = r'/notifications/test-email';
// ignore: prefer_final_locals
Object? postBody = systemConfigSmtpDto;
@ -87,7 +87,7 @@ class NotificationsApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class OAuthApi {
/// * [OAuthCallbackDto] oAuthCallbackDto (required):
Future<Response> finishOAuthWithHttpInfo(OAuthCallbackDto oAuthCallbackDto,) async {
// ignore: prefer_const_declarations
final path = r'/oauth/callback';
final apiPath = r'/oauth/callback';
// ignore: prefer_final_locals
Object? postBody = oAuthCallbackDto;
@ -35,7 +35,7 @@ class OAuthApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -69,7 +69,7 @@ class OAuthApi {
/// * [OAuthCallbackDto] oAuthCallbackDto (required):
Future<Response> linkOAuthAccountWithHttpInfo(OAuthCallbackDto oAuthCallbackDto,) async {
// ignore: prefer_const_declarations
final path = r'/oauth/link';
final apiPath = r'/oauth/link';
// ignore: prefer_final_locals
Object? postBody = oAuthCallbackDto;
@ -82,7 +82,7 @@ class OAuthApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -113,7 +113,7 @@ class OAuthApi {
/// Performs an HTTP 'GET /oauth/mobile-redirect' operation and returns the [Response].
Future<Response> redirectOAuthToMobileWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/oauth/mobile-redirect';
final apiPath = r'/oauth/mobile-redirect';
// ignore: prefer_final_locals
Object? postBody;
@ -126,7 +126,7 @@ class OAuthApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -149,7 +149,7 @@ class OAuthApi {
/// * [OAuthConfigDto] oAuthConfigDto (required):
Future<Response> startOAuthWithHttpInfo(OAuthConfigDto oAuthConfigDto,) async {
// ignore: prefer_const_declarations
final path = r'/oauth/authorize';
final apiPath = r'/oauth/authorize';
// ignore: prefer_final_locals
Object? postBody = oAuthConfigDto;
@ -162,7 +162,7 @@ class OAuthApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -193,7 +193,7 @@ class OAuthApi {
/// Performs an HTTP 'POST /oauth/unlink' operation and returns the [Response].
Future<Response> unlinkOAuthAccountWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/oauth/unlink';
final apiPath = r'/oauth/unlink';
// ignore: prefer_final_locals
Object? postBody;
@ -206,7 +206,7 @@ class OAuthApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class PartnersApi {
/// * [String] id (required):
Future<Response> createPartnerWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/partners/{id}'
final apiPath = r'/partners/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -36,7 +36,7 @@ class PartnersApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -70,7 +70,7 @@ class PartnersApi {
/// * [PartnerDirection] direction (required):
Future<Response> getPartnersWithHttpInfo(PartnerDirection direction,) async {
// ignore: prefer_const_declarations
final path = r'/partners';
final apiPath = r'/partners';
// ignore: prefer_final_locals
Object? postBody;
@ -85,7 +85,7 @@ class PartnersApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -122,7 +122,7 @@ class PartnersApi {
/// * [String] id (required):
Future<Response> removePartnerWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/partners/{id}'
final apiPath = r'/partners/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -136,7 +136,7 @@ class PartnersApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -164,7 +164,7 @@ class PartnersApi {
/// * [UpdatePartnerDto] updatePartnerDto (required):
Future<Response> updatePartnerWithHttpInfo(String id, UpdatePartnerDto updatePartnerDto,) async {
// ignore: prefer_const_declarations
final path = r'/partners/{id}'
final apiPath = r'/partners/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -178,7 +178,7 @@ class PartnersApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class PeopleApi {
/// * [PersonCreateDto] personCreateDto (required):
Future<Response> createPersonWithHttpInfo(PersonCreateDto personCreateDto,) async {
// ignore: prefer_const_declarations
final path = r'/people';
final apiPath = r'/people';
// ignore: prefer_final_locals
Object? postBody = personCreateDto;
@ -35,7 +35,7 @@ class PeopleApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -79,7 +79,7 @@ class PeopleApi {
/// * [bool] withHidden:
Future<Response> getAllPeopleWithHttpInfo({ String? closestAssetId, String? closestPersonId, num? page, num? size, bool? withHidden, }) async {
// ignore: prefer_const_declarations
final path = r'/people';
final apiPath = r'/people';
// ignore: prefer_final_locals
Object? postBody;
@ -108,7 +108,7 @@ class PeopleApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -152,7 +152,7 @@ class PeopleApi {
/// * [String] id (required):
Future<Response> getPersonWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/people/{id}'
final apiPath = r'/people/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -166,7 +166,7 @@ class PeopleApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -200,7 +200,7 @@ class PeopleApi {
/// * [String] id (required):
Future<Response> getPersonStatisticsWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/people/{id}/statistics'
final apiPath = r'/people/{id}/statistics'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -214,7 +214,7 @@ class PeopleApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -248,7 +248,7 @@ class PeopleApi {
/// * [String] id (required):
Future<Response> getPersonThumbnailWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/people/{id}/thumbnail'
final apiPath = r'/people/{id}/thumbnail'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -262,7 +262,7 @@ class PeopleApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -298,7 +298,7 @@ class PeopleApi {
/// * [MergePersonDto] mergePersonDto (required):
Future<Response> mergePersonWithHttpInfo(String id, MergePersonDto mergePersonDto,) async {
// ignore: prefer_const_declarations
final path = r'/people/{id}/merge'
final apiPath = r'/people/{id}/merge'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -312,7 +312,7 @@ class PeopleApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -353,7 +353,7 @@ class PeopleApi {
/// * [AssetFaceUpdateDto] assetFaceUpdateDto (required):
Future<Response> reassignFacesWithHttpInfo(String id, AssetFaceUpdateDto assetFaceUpdateDto,) async {
// ignore: prefer_const_declarations
final path = r'/people/{id}/reassign'
final apiPath = r'/people/{id}/reassign'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -367,7 +367,7 @@ class PeopleApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -406,7 +406,7 @@ class PeopleApi {
/// * [PeopleUpdateDto] peopleUpdateDto (required):
Future<Response> updatePeopleWithHttpInfo(PeopleUpdateDto peopleUpdateDto,) async {
// ignore: prefer_const_declarations
final path = r'/people';
final apiPath = r'/people';
// ignore: prefer_final_locals
Object? postBody = peopleUpdateDto;
@ -419,7 +419,7 @@ class PeopleApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -458,7 +458,7 @@ class PeopleApi {
/// * [PersonUpdateDto] personUpdateDto (required):
Future<Response> updatePersonWithHttpInfo(String id, PersonUpdateDto personUpdateDto,) async {
// ignore: prefer_const_declarations
final path = r'/people/{id}'
final apiPath = r'/people/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -472,7 +472,7 @@ class PeopleApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,

View file

@ -19,7 +19,7 @@ class SearchApi {
/// Performs an HTTP 'GET /search/cities' operation and returns the [Response].
Future<Response> getAssetsByCityWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/search/cities';
final apiPath = r'/search/cities';
// ignore: prefer_final_locals
Object? postBody;
@ -32,7 +32,7 @@ class SearchApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -63,7 +63,7 @@ class SearchApi {
/// Performs an HTTP 'GET /search/explore' operation and returns the [Response].
Future<Response> getExploreDataWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/search/explore';
final apiPath = r'/search/explore';
// ignore: prefer_final_locals
Object? postBody;
@ -76,7 +76,7 @@ class SearchApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -121,7 +121,7 @@ class SearchApi {
/// * [String] state:
Future<Response> getSearchSuggestionsWithHttpInfo(SearchSuggestionType type, { String? country, bool? includeNull, String? make, String? model, String? state, }) async {
// ignore: prefer_const_declarations
final path = r'/search/suggestions';
final apiPath = r'/search/suggestions';
// ignore: prefer_final_locals
Object? postBody;
@ -151,7 +151,7 @@ class SearchApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -199,7 +199,7 @@ class SearchApi {
/// * [MetadataSearchDto] metadataSearchDto (required):
Future<Response> searchAssetsWithHttpInfo(MetadataSearchDto metadataSearchDto,) async {
// ignore: prefer_const_declarations
final path = r'/search/metadata';
final apiPath = r'/search/metadata';
// ignore: prefer_final_locals
Object? postBody = metadataSearchDto;
@ -212,7 +212,7 @@ class SearchApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -248,7 +248,7 @@ class SearchApi {
/// * [bool] withHidden:
Future<Response> searchPersonWithHttpInfo(String name, { bool? withHidden, }) async {
// ignore: prefer_const_declarations
final path = r'/search/person';
final apiPath = r'/search/person';
// ignore: prefer_final_locals
Object? postBody;
@ -266,7 +266,7 @@ class SearchApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -305,7 +305,7 @@ class SearchApi {
/// * [String] name (required):
Future<Response> searchPlacesWithHttpInfo(String name,) async {
// ignore: prefer_const_declarations
final path = r'/search/places';
final apiPath = r'/search/places';
// ignore: prefer_final_locals
Object? postBody;
@ -320,7 +320,7 @@ class SearchApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -357,7 +357,7 @@ class SearchApi {
/// * [RandomSearchDto] randomSearchDto (required):
Future<Response> searchRandomWithHttpInfo(RandomSearchDto randomSearchDto,) async {
// ignore: prefer_const_declarations
final path = r'/search/random';
final apiPath = r'/search/random';
// ignore: prefer_final_locals
Object? postBody = randomSearchDto;
@ -370,7 +370,7 @@ class SearchApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -407,7 +407,7 @@ class SearchApi {
/// * [SmartSearchDto] smartSearchDto (required):
Future<Response> searchSmartWithHttpInfo(SmartSearchDto smartSearchDto,) async {
// ignore: prefer_const_declarations
final path = r'/search/smart';
final apiPath = r'/search/smart';
// ignore: prefer_final_locals
Object? postBody = smartSearchDto;
@ -420,7 +420,7 @@ class SearchApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,

View file

@ -19,7 +19,7 @@ class ServerApi {
/// Performs an HTTP 'DELETE /server/license' operation and returns the [Response].
Future<Response> deleteServerLicenseWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/server/license';
final apiPath = r'/server/license';
// ignore: prefer_final_locals
Object? postBody;
@ -32,7 +32,7 @@ class ServerApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -52,7 +52,7 @@ class ServerApi {
/// Performs an HTTP 'GET /server/about' operation and returns the [Response].
Future<Response> getAboutInfoWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/server/about';
final apiPath = r'/server/about';
// ignore: prefer_final_locals
Object? postBody;
@ -65,7 +65,7 @@ class ServerApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -93,7 +93,7 @@ class ServerApi {
/// Performs an HTTP 'GET /server/config' operation and returns the [Response].
Future<Response> getServerConfigWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/server/config';
final apiPath = r'/server/config';
// ignore: prefer_final_locals
Object? postBody;
@ -106,7 +106,7 @@ class ServerApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -134,7 +134,7 @@ class ServerApi {
/// Performs an HTTP 'GET /server/features' operation and returns the [Response].
Future<Response> getServerFeaturesWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/server/features';
final apiPath = r'/server/features';
// ignore: prefer_final_locals
Object? postBody;
@ -147,7 +147,7 @@ class ServerApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -175,7 +175,7 @@ class ServerApi {
/// Performs an HTTP 'GET /server/license' operation and returns the [Response].
Future<Response> getServerLicenseWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/server/license';
final apiPath = r'/server/license';
// ignore: prefer_final_locals
Object? postBody;
@ -188,7 +188,7 @@ class ServerApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -216,7 +216,7 @@ class ServerApi {
/// Performs an HTTP 'GET /server/statistics' operation and returns the [Response].
Future<Response> getServerStatisticsWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/server/statistics';
final apiPath = r'/server/statistics';
// ignore: prefer_final_locals
Object? postBody;
@ -229,7 +229,7 @@ class ServerApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -257,7 +257,7 @@ class ServerApi {
/// Performs an HTTP 'GET /server/version' operation and returns the [Response].
Future<Response> getServerVersionWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/server/version';
final apiPath = r'/server/version';
// ignore: prefer_final_locals
Object? postBody;
@ -270,7 +270,7 @@ class ServerApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -298,7 +298,7 @@ class ServerApi {
/// Performs an HTTP 'GET /server/storage' operation and returns the [Response].
Future<Response> getStorageWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/server/storage';
final apiPath = r'/server/storage';
// ignore: prefer_final_locals
Object? postBody;
@ -311,7 +311,7 @@ class ServerApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -339,7 +339,7 @@ class ServerApi {
/// Performs an HTTP 'GET /server/media-types' operation and returns the [Response].
Future<Response> getSupportedMediaTypesWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/server/media-types';
final apiPath = r'/server/media-types';
// ignore: prefer_final_locals
Object? postBody;
@ -352,7 +352,7 @@ class ServerApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -380,7 +380,7 @@ class ServerApi {
/// Performs an HTTP 'GET /server/theme' operation and returns the [Response].
Future<Response> getThemeWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/server/theme';
final apiPath = r'/server/theme';
// ignore: prefer_final_locals
Object? postBody;
@ -393,7 +393,7 @@ class ServerApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -421,7 +421,7 @@ class ServerApi {
/// Performs an HTTP 'GET /server/version-history' operation and returns the [Response].
Future<Response> getVersionHistoryWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/server/version-history';
final apiPath = r'/server/version-history';
// ignore: prefer_final_locals
Object? postBody;
@ -434,7 +434,7 @@ class ServerApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -465,7 +465,7 @@ class ServerApi {
/// Performs an HTTP 'GET /server/ping' operation and returns the [Response].
Future<Response> pingServerWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/server/ping';
final apiPath = r'/server/ping';
// ignore: prefer_final_locals
Object? postBody;
@ -478,7 +478,7 @@ class ServerApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -509,7 +509,7 @@ class ServerApi {
/// * [LicenseKeyDto] licenseKeyDto (required):
Future<Response> setServerLicenseWithHttpInfo(LicenseKeyDto licenseKeyDto,) async {
// ignore: prefer_const_declarations
final path = r'/server/license';
final apiPath = r'/server/license';
// ignore: prefer_final_locals
Object? postBody = licenseKeyDto;
@ -522,7 +522,7 @@ class ServerApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,

View file

@ -19,7 +19,7 @@ class SessionsApi {
/// Performs an HTTP 'DELETE /sessions' operation and returns the [Response].
Future<Response> deleteAllSessionsWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/sessions';
final apiPath = r'/sessions';
// ignore: prefer_final_locals
Object? postBody;
@ -32,7 +32,7 @@ class SessionsApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -55,7 +55,7 @@ class SessionsApi {
/// * [String] id (required):
Future<Response> deleteSessionWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/sessions/{id}'
final apiPath = r'/sessions/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -69,7 +69,7 @@ class SessionsApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -92,7 +92,7 @@ class SessionsApi {
/// Performs an HTTP 'GET /sessions' operation and returns the [Response].
Future<Response> getSessionsWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/sessions';
final apiPath = r'/sessions';
// ignore: prefer_final_locals
Object? postBody;
@ -105,7 +105,7 @@ class SessionsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,

View file

@ -26,7 +26,7 @@ class SharedLinksApi {
/// * [String] key:
Future<Response> addSharedLinkAssetsWithHttpInfo(String id, AssetIdsDto assetIdsDto, { String? key, }) async {
// ignore: prefer_const_declarations
final path = r'/shared-links/{id}/assets'
final apiPath = r'/shared-links/{id}/assets'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -44,7 +44,7 @@ class SharedLinksApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -85,7 +85,7 @@ class SharedLinksApi {
/// * [SharedLinkCreateDto] sharedLinkCreateDto (required):
Future<Response> createSharedLinkWithHttpInfo(SharedLinkCreateDto sharedLinkCreateDto,) async {
// ignore: prefer_const_declarations
final path = r'/shared-links';
final apiPath = r'/shared-links';
// ignore: prefer_final_locals
Object? postBody = sharedLinkCreateDto;
@ -98,7 +98,7 @@ class SharedLinksApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -132,7 +132,7 @@ class SharedLinksApi {
/// * [String] albumId:
Future<Response> getAllSharedLinksWithHttpInfo({ String? albumId, }) async {
// ignore: prefer_const_declarations
final path = r'/shared-links';
final apiPath = r'/shared-links';
// ignore: prefer_final_locals
Object? postBody;
@ -149,7 +149,7 @@ class SharedLinksApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -190,7 +190,7 @@ class SharedLinksApi {
/// * [String] token:
Future<Response> getMySharedLinkWithHttpInfo({ String? key, String? password, String? token, }) async {
// ignore: prefer_const_declarations
final path = r'/shared-links/me';
final apiPath = r'/shared-links/me';
// ignore: prefer_final_locals
Object? postBody;
@ -213,7 +213,7 @@ class SharedLinksApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -251,7 +251,7 @@ class SharedLinksApi {
/// * [String] id (required):
Future<Response> getSharedLinkByIdWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/shared-links/{id}'
final apiPath = r'/shared-links/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -265,7 +265,7 @@ class SharedLinksApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -299,7 +299,7 @@ class SharedLinksApi {
/// * [String] id (required):
Future<Response> removeSharedLinkWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/shared-links/{id}'
final apiPath = r'/shared-links/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -313,7 +313,7 @@ class SharedLinksApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -343,7 +343,7 @@ class SharedLinksApi {
/// * [String] key:
Future<Response> removeSharedLinkAssetsWithHttpInfo(String id, AssetIdsDto assetIdsDto, { String? key, }) async {
// ignore: prefer_const_declarations
final path = r'/shared-links/{id}/assets'
final apiPath = r'/shared-links/{id}/assets'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -361,7 +361,7 @@ class SharedLinksApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -404,7 +404,7 @@ class SharedLinksApi {
/// * [SharedLinkEditDto] sharedLinkEditDto (required):
Future<Response> updateSharedLinkWithHttpInfo(String id, SharedLinkEditDto sharedLinkEditDto,) async {
// ignore: prefer_const_declarations
final path = r'/shared-links/{id}'
final apiPath = r'/shared-links/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -418,7 +418,7 @@ class SharedLinksApi {
return apiClient.invokeAPI(
path,
apiPath,
'PATCH',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class StacksApi {
/// * [StackCreateDto] stackCreateDto (required):
Future<Response> createStackWithHttpInfo(StackCreateDto stackCreateDto,) async {
// ignore: prefer_const_declarations
final path = r'/stacks';
final apiPath = r'/stacks';
// ignore: prefer_final_locals
Object? postBody = stackCreateDto;
@ -35,7 +35,7 @@ class StacksApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -69,7 +69,7 @@ class StacksApi {
/// * [String] id (required):
Future<Response> deleteStackWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/stacks/{id}'
final apiPath = r'/stacks/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -83,7 +83,7 @@ class StacksApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -109,7 +109,7 @@ class StacksApi {
/// * [BulkIdsDto] bulkIdsDto (required):
Future<Response> deleteStacksWithHttpInfo(BulkIdsDto bulkIdsDto,) async {
// ignore: prefer_const_declarations
final path = r'/stacks';
final apiPath = r'/stacks';
// ignore: prefer_final_locals
Object? postBody = bulkIdsDto;
@ -122,7 +122,7 @@ class StacksApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -148,7 +148,7 @@ class StacksApi {
/// * [String] id (required):
Future<Response> getStackWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/stacks/{id}'
final apiPath = r'/stacks/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -162,7 +162,7 @@ class StacksApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -196,7 +196,7 @@ class StacksApi {
/// * [String] primaryAssetId:
Future<Response> searchStacksWithHttpInfo({ String? primaryAssetId, }) async {
// ignore: prefer_const_declarations
final path = r'/stacks';
final apiPath = r'/stacks';
// ignore: prefer_final_locals
Object? postBody;
@ -213,7 +213,7 @@ class StacksApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -252,7 +252,7 @@ class StacksApi {
/// * [StackUpdateDto] stackUpdateDto (required):
Future<Response> updateStackWithHttpInfo(String id, StackUpdateDto stackUpdateDto,) async {
// ignore: prefer_const_declarations
final path = r'/stacks/{id}'
final apiPath = r'/stacks/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -266,7 +266,7 @@ class StacksApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class SyncApi {
/// * [SyncAckDeleteDto] syncAckDeleteDto (required):
Future<Response> deleteSyncAckWithHttpInfo(SyncAckDeleteDto syncAckDeleteDto,) async {
// ignore: prefer_const_declarations
final path = r'/sync/ack';
final apiPath = r'/sync/ack';
// ignore: prefer_final_locals
Object? postBody = syncAckDeleteDto;
@ -35,7 +35,7 @@ class SyncApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -61,7 +61,7 @@ class SyncApi {
/// * [AssetDeltaSyncDto] assetDeltaSyncDto (required):
Future<Response> getDeltaSyncWithHttpInfo(AssetDeltaSyncDto assetDeltaSyncDto,) async {
// ignore: prefer_const_declarations
final path = r'/sync/delta-sync';
final apiPath = r'/sync/delta-sync';
// ignore: prefer_final_locals
Object? postBody = assetDeltaSyncDto;
@ -74,7 +74,7 @@ class SyncApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -108,7 +108,7 @@ class SyncApi {
/// * [AssetFullSyncDto] assetFullSyncDto (required):
Future<Response> getFullSyncForUserWithHttpInfo(AssetFullSyncDto assetFullSyncDto,) async {
// ignore: prefer_const_declarations
final path = r'/sync/full-sync';
final apiPath = r'/sync/full-sync';
// ignore: prefer_final_locals
Object? postBody = assetFullSyncDto;
@ -121,7 +121,7 @@ class SyncApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -155,7 +155,7 @@ class SyncApi {
/// Performs an HTTP 'GET /sync/ack' operation and returns the [Response].
Future<Response> getSyncAckWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/sync/ack';
final apiPath = r'/sync/ack';
// ignore: prefer_final_locals
Object? postBody;
@ -168,7 +168,7 @@ class SyncApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -202,7 +202,7 @@ class SyncApi {
/// * [SyncStreamDto] syncStreamDto (required):
Future<Response> getSyncStreamWithHttpInfo(SyncStreamDto syncStreamDto,) async {
// ignore: prefer_const_declarations
final path = r'/sync/stream';
final apiPath = r'/sync/stream';
// ignore: prefer_final_locals
Object? postBody = syncStreamDto;
@ -215,7 +215,7 @@ class SyncApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -241,7 +241,7 @@ class SyncApi {
/// * [SyncAckSetDto] syncAckSetDto (required):
Future<Response> sendSyncAckWithHttpInfo(SyncAckSetDto syncAckSetDto,) async {
// ignore: prefer_const_declarations
final path = r'/sync/ack';
final apiPath = r'/sync/ack';
// ignore: prefer_final_locals
Object? postBody = syncAckSetDto;
@ -254,7 +254,7 @@ class SyncApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,

View file

@ -19,7 +19,7 @@ class SystemConfigApi {
/// Performs an HTTP 'GET /system-config' operation and returns the [Response].
Future<Response> getConfigWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/system-config';
final apiPath = r'/system-config';
// ignore: prefer_final_locals
Object? postBody;
@ -32,7 +32,7 @@ class SystemConfigApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -60,7 +60,7 @@ class SystemConfigApi {
/// Performs an HTTP 'GET /system-config/defaults' operation and returns the [Response].
Future<Response> getConfigDefaultsWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/system-config/defaults';
final apiPath = r'/system-config/defaults';
// ignore: prefer_final_locals
Object? postBody;
@ -73,7 +73,7 @@ class SystemConfigApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -101,7 +101,7 @@ class SystemConfigApi {
/// Performs an HTTP 'GET /system-config/storage-template-options' operation and returns the [Response].
Future<Response> getStorageTemplateOptionsWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/system-config/storage-template-options';
final apiPath = r'/system-config/storage-template-options';
// ignore: prefer_final_locals
Object? postBody;
@ -114,7 +114,7 @@ class SystemConfigApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -145,7 +145,7 @@ class SystemConfigApi {
/// * [SystemConfigDto] systemConfigDto (required):
Future<Response> updateConfigWithHttpInfo(SystemConfigDto systemConfigDto,) async {
// ignore: prefer_const_declarations
final path = r'/system-config';
final apiPath = r'/system-config';
// ignore: prefer_final_locals
Object? postBody = systemConfigDto;
@ -158,7 +158,7 @@ class SystemConfigApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,

View file

@ -19,7 +19,7 @@ class SystemMetadataApi {
/// Performs an HTTP 'GET /system-metadata/admin-onboarding' operation and returns the [Response].
Future<Response> getAdminOnboardingWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/system-metadata/admin-onboarding';
final apiPath = r'/system-metadata/admin-onboarding';
// ignore: prefer_final_locals
Object? postBody;
@ -32,7 +32,7 @@ class SystemMetadataApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -60,7 +60,7 @@ class SystemMetadataApi {
/// Performs an HTTP 'GET /system-metadata/reverse-geocoding-state' operation and returns the [Response].
Future<Response> getReverseGeocodingStateWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/system-metadata/reverse-geocoding-state';
final apiPath = r'/system-metadata/reverse-geocoding-state';
// ignore: prefer_final_locals
Object? postBody;
@ -73,7 +73,7 @@ class SystemMetadataApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -104,7 +104,7 @@ class SystemMetadataApi {
/// * [AdminOnboardingUpdateDto] adminOnboardingUpdateDto (required):
Future<Response> updateAdminOnboardingWithHttpInfo(AdminOnboardingUpdateDto adminOnboardingUpdateDto,) async {
// ignore: prefer_const_declarations
final path = r'/system-metadata/admin-onboarding';
final apiPath = r'/system-metadata/admin-onboarding';
// ignore: prefer_final_locals
Object? postBody = adminOnboardingUpdateDto;
@ -117,7 +117,7 @@ class SystemMetadataApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class TagsApi {
/// * [TagBulkAssetsDto] tagBulkAssetsDto (required):
Future<Response> bulkTagAssetsWithHttpInfo(TagBulkAssetsDto tagBulkAssetsDto,) async {
// ignore: prefer_const_declarations
final path = r'/tags/assets';
final apiPath = r'/tags/assets';
// ignore: prefer_final_locals
Object? postBody = tagBulkAssetsDto;
@ -35,7 +35,7 @@ class TagsApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -69,7 +69,7 @@ class TagsApi {
/// * [TagCreateDto] tagCreateDto (required):
Future<Response> createTagWithHttpInfo(TagCreateDto tagCreateDto,) async {
// ignore: prefer_const_declarations
final path = r'/tags';
final apiPath = r'/tags';
// ignore: prefer_final_locals
Object? postBody = tagCreateDto;
@ -82,7 +82,7 @@ class TagsApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -116,7 +116,7 @@ class TagsApi {
/// * [String] id (required):
Future<Response> deleteTagWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/tags/{id}'
final apiPath = r'/tags/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -130,7 +130,7 @@ class TagsApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -153,7 +153,7 @@ class TagsApi {
/// Performs an HTTP 'GET /tags' operation and returns the [Response].
Future<Response> getAllTagsWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/tags';
final apiPath = r'/tags';
// ignore: prefer_final_locals
Object? postBody;
@ -166,7 +166,7 @@ class TagsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -200,7 +200,7 @@ class TagsApi {
/// * [String] id (required):
Future<Response> getTagByIdWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/tags/{id}'
final apiPath = r'/tags/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -214,7 +214,7 @@ class TagsApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -250,7 +250,7 @@ class TagsApi {
/// * [BulkIdsDto] bulkIdsDto (required):
Future<Response> tagAssetsWithHttpInfo(String id, BulkIdsDto bulkIdsDto,) async {
// ignore: prefer_const_declarations
final path = r'/tags/{id}/assets'
final apiPath = r'/tags/{id}/assets'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -264,7 +264,7 @@ class TagsApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -305,7 +305,7 @@ class TagsApi {
/// * [BulkIdsDto] bulkIdsDto (required):
Future<Response> untagAssetsWithHttpInfo(String id, BulkIdsDto bulkIdsDto,) async {
// ignore: prefer_const_declarations
final path = r'/tags/{id}/assets'
final apiPath = r'/tags/{id}/assets'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -319,7 +319,7 @@ class TagsApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -360,7 +360,7 @@ class TagsApi {
/// * [TagUpdateDto] tagUpdateDto (required):
Future<Response> updateTagWithHttpInfo(String id, TagUpdateDto tagUpdateDto,) async {
// ignore: prefer_const_declarations
final path = r'/tags/{id}'
final apiPath = r'/tags/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -374,7 +374,7 @@ class TagsApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -410,7 +410,7 @@ class TagsApi {
/// * [TagUpsertDto] tagUpsertDto (required):
Future<Response> upsertTagsWithHttpInfo(TagUpsertDto tagUpsertDto,) async {
// ignore: prefer_const_declarations
final path = r'/tags';
final apiPath = r'/tags';
// ignore: prefer_final_locals
Object? postBody = tagUpsertDto;
@ -423,7 +423,7 @@ class TagsApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,

View file

@ -46,7 +46,7 @@ class TimelineApi {
/// * [bool] withStacked:
Future<Response> getTimeBucketWithHttpInfo(TimeBucketSize size, String timeBucket, { String? albumId, bool? isArchived, bool? isFavorite, bool? isTrashed, String? key, AssetOrder? order, String? personId, String? tagId, String? userId, bool? withPartners, bool? withStacked, }) async {
// ignore: prefer_const_declarations
final path = r'/timeline/bucket';
final apiPath = r'/timeline/bucket';
// ignore: prefer_final_locals
Object? postBody;
@ -95,7 +95,7 @@ class TimelineApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -178,7 +178,7 @@ class TimelineApi {
/// * [bool] withStacked:
Future<Response> getTimeBucketsWithHttpInfo(TimeBucketSize size, { String? albumId, bool? isArchived, bool? isFavorite, bool? isTrashed, String? key, AssetOrder? order, String? personId, String? tagId, String? userId, bool? withPartners, bool? withStacked, }) async {
// ignore: prefer_const_declarations
final path = r'/timeline/buckets';
final apiPath = r'/timeline/buckets';
// ignore: prefer_final_locals
Object? postBody;
@ -226,7 +226,7 @@ class TimelineApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,

View file

@ -19,7 +19,7 @@ class TrashApi {
/// Performs an HTTP 'POST /trash/empty' operation and returns the [Response].
Future<Response> emptyTrashWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/trash/empty';
final apiPath = r'/trash/empty';
// ignore: prefer_final_locals
Object? postBody;
@ -32,7 +32,7 @@ class TrashApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -63,7 +63,7 @@ class TrashApi {
/// * [BulkIdsDto] bulkIdsDto (required):
Future<Response> restoreAssetsWithHttpInfo(BulkIdsDto bulkIdsDto,) async {
// ignore: prefer_const_declarations
final path = r'/trash/restore/assets';
final apiPath = r'/trash/restore/assets';
// ignore: prefer_final_locals
Object? postBody = bulkIdsDto;
@ -76,7 +76,7 @@ class TrashApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -107,7 +107,7 @@ class TrashApi {
/// Performs an HTTP 'POST /trash/restore' operation and returns the [Response].
Future<Response> restoreTrashWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/trash/restore';
final apiPath = r'/trash/restore';
// ignore: prefer_final_locals
Object? postBody;
@ -120,7 +120,7 @@ class TrashApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class UsersAdminApi {
/// * [UserAdminCreateDto] userAdminCreateDto (required):
Future<Response> createUserAdminWithHttpInfo(UserAdminCreateDto userAdminCreateDto,) async {
// ignore: prefer_const_declarations
final path = r'/admin/users';
final apiPath = r'/admin/users';
// ignore: prefer_final_locals
Object? postBody = userAdminCreateDto;
@ -35,7 +35,7 @@ class UsersAdminApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -71,7 +71,7 @@ class UsersAdminApi {
/// * [UserAdminDeleteDto] userAdminDeleteDto (required):
Future<Response> deleteUserAdminWithHttpInfo(String id, UserAdminDeleteDto userAdminDeleteDto,) async {
// ignore: prefer_const_declarations
final path = r'/admin/users/{id}'
final apiPath = r'/admin/users/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -85,7 +85,7 @@ class UsersAdminApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -121,7 +121,7 @@ class UsersAdminApi {
/// * [String] id (required):
Future<Response> getUserAdminWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/admin/users/{id}'
final apiPath = r'/admin/users/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -135,7 +135,7 @@ class UsersAdminApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -169,7 +169,7 @@ class UsersAdminApi {
/// * [String] id (required):
Future<Response> getUserPreferencesAdminWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/admin/users/{id}/preferences'
final apiPath = r'/admin/users/{id}/preferences'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -183,7 +183,7 @@ class UsersAdminApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -217,7 +217,7 @@ class UsersAdminApi {
/// * [String] id (required):
Future<Response> restoreUserAdminWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/admin/users/{id}/restore'
final apiPath = r'/admin/users/{id}/restore'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -231,7 +231,7 @@ class UsersAdminApi {
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -265,7 +265,7 @@ class UsersAdminApi {
/// * [bool] withDeleted:
Future<Response> searchUsersAdminWithHttpInfo({ bool? withDeleted, }) async {
// ignore: prefer_const_declarations
final path = r'/admin/users';
final apiPath = r'/admin/users';
// ignore: prefer_final_locals
Object? postBody;
@ -282,7 +282,7 @@ class UsersAdminApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -321,7 +321,7 @@ class UsersAdminApi {
/// * [UserAdminUpdateDto] userAdminUpdateDto (required):
Future<Response> updateUserAdminWithHttpInfo(String id, UserAdminUpdateDto userAdminUpdateDto,) async {
// ignore: prefer_const_declarations
final path = r'/admin/users/{id}'
final apiPath = r'/admin/users/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -335,7 +335,7 @@ class UsersAdminApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -373,7 +373,7 @@ class UsersAdminApi {
/// * [UserPreferencesUpdateDto] userPreferencesUpdateDto (required):
Future<Response> updateUserPreferencesAdminWithHttpInfo(String id, UserPreferencesUpdateDto userPreferencesUpdateDto,) async {
// ignore: prefer_const_declarations
final path = r'/admin/users/{id}/preferences'
final apiPath = r'/admin/users/{id}/preferences'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -387,7 +387,7 @@ class UsersAdminApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class UsersApi {
/// * [MultipartFile] file (required):
Future<Response> createProfileImageWithHttpInfo(MultipartFile file,) async {
// ignore: prefer_const_declarations
final path = r'/users/profile-image';
final apiPath = r'/users/profile-image';
// ignore: prefer_final_locals
Object? postBody;
@ -34,7 +34,7 @@ class UsersApi {
const contentTypes = <String>['multipart/form-data'];
bool hasFields = false;
final mp = MultipartRequest('POST', Uri.parse(path));
final mp = MultipartRequest('POST', Uri.parse(apiPath));
if (file != null) {
hasFields = true;
mp.fields[r'file'] = file.field;
@ -45,7 +45,7 @@ class UsersApi {
}
return apiClient.invokeAPI(
path,
apiPath,
'POST',
queryParams,
postBody,
@ -76,7 +76,7 @@ class UsersApi {
/// Performs an HTTP 'DELETE /users/profile-image' operation and returns the [Response].
Future<Response> deleteProfileImageWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/users/profile-image';
final apiPath = r'/users/profile-image';
// ignore: prefer_final_locals
Object? postBody;
@ -89,7 +89,7 @@ class UsersApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -109,7 +109,7 @@ class UsersApi {
/// Performs an HTTP 'DELETE /users/me/license' operation and returns the [Response].
Future<Response> deleteUserLicenseWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/users/me/license';
final apiPath = r'/users/me/license';
// ignore: prefer_final_locals
Object? postBody;
@ -122,7 +122,7 @@ class UsersApi {
return apiClient.invokeAPI(
path,
apiPath,
'DELETE',
queryParams,
postBody,
@ -142,7 +142,7 @@ class UsersApi {
/// Performs an HTTP 'GET /users/me/preferences' operation and returns the [Response].
Future<Response> getMyPreferencesWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/users/me/preferences';
final apiPath = r'/users/me/preferences';
// ignore: prefer_final_locals
Object? postBody;
@ -155,7 +155,7 @@ class UsersApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -183,7 +183,7 @@ class UsersApi {
/// Performs an HTTP 'GET /users/me' operation and returns the [Response].
Future<Response> getMyUserWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/users/me';
final apiPath = r'/users/me';
// ignore: prefer_final_locals
Object? postBody;
@ -196,7 +196,7 @@ class UsersApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -227,7 +227,7 @@ class UsersApi {
/// * [String] id (required):
Future<Response> getProfileImageWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/users/{id}/profile-image'
final apiPath = r'/users/{id}/profile-image'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -241,7 +241,7 @@ class UsersApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -275,7 +275,7 @@ class UsersApi {
/// * [String] id (required):
Future<Response> getUserWithHttpInfo(String id,) async {
// ignore: prefer_const_declarations
final path = r'/users/{id}'
final apiPath = r'/users/{id}'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
@ -289,7 +289,7 @@ class UsersApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -320,7 +320,7 @@ class UsersApi {
/// Performs an HTTP 'GET /users/me/license' operation and returns the [Response].
Future<Response> getUserLicenseWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/users/me/license';
final apiPath = r'/users/me/license';
// ignore: prefer_final_locals
Object? postBody;
@ -333,7 +333,7 @@ class UsersApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -361,7 +361,7 @@ class UsersApi {
/// Performs an HTTP 'GET /users' operation and returns the [Response].
Future<Response> searchUsersWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/users';
final apiPath = r'/users';
// ignore: prefer_final_locals
Object? postBody;
@ -374,7 +374,7 @@ class UsersApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -408,7 +408,7 @@ class UsersApi {
/// * [LicenseKeyDto] licenseKeyDto (required):
Future<Response> setUserLicenseWithHttpInfo(LicenseKeyDto licenseKeyDto,) async {
// ignore: prefer_const_declarations
final path = r'/users/me/license';
final apiPath = r'/users/me/license';
// ignore: prefer_final_locals
Object? postBody = licenseKeyDto;
@ -421,7 +421,7 @@ class UsersApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -455,7 +455,7 @@ class UsersApi {
/// * [UserPreferencesUpdateDto] userPreferencesUpdateDto (required):
Future<Response> updateMyPreferencesWithHttpInfo(UserPreferencesUpdateDto userPreferencesUpdateDto,) async {
// ignore: prefer_const_declarations
final path = r'/users/me/preferences';
final apiPath = r'/users/me/preferences';
// ignore: prefer_final_locals
Object? postBody = userPreferencesUpdateDto;
@ -468,7 +468,7 @@ class UsersApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,
@ -502,7 +502,7 @@ class UsersApi {
/// * [UserUpdateMeDto] userUpdateMeDto (required):
Future<Response> updateMyUserWithHttpInfo(UserUpdateMeDto userUpdateMeDto,) async {
// ignore: prefer_const_declarations
final path = r'/users/me';
final apiPath = r'/users/me';
// ignore: prefer_final_locals
Object? postBody = userUpdateMeDto;
@ -515,7 +515,7 @@ class UsersApi {
return apiClient.invokeAPI(
path,
apiPath,
'PUT',
queryParams,
postBody,

View file

@ -22,7 +22,7 @@ class ViewApi {
/// * [String] path (required):
Future<Response> getAssetsByOriginalPathWithHttpInfo(String path,) async {
// ignore: prefer_const_declarations
final path = r'/view/folder';
final apiPath = r'/view/folder';
// ignore: prefer_final_locals
Object? postBody;
@ -37,7 +37,7 @@ class ViewApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,
@ -71,7 +71,7 @@ class ViewApi {
/// Performs an HTTP 'GET /view/folder/unique-paths' operation and returns the [Response].
Future<Response> getUniqueOriginalPathsWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/view/folder/unique-paths';
final apiPath = r'/view/folder/unique-paths';
// ignore: prefer_final_locals
Object? postBody;
@ -84,7 +84,7 @@ class ViewApi {
return apiClient.invokeAPI(
path,
apiPath,
'GET',
queryParams,
postBody,

View file

@ -83,7 +83,7 @@ dependencies:
# Taken from https://github.com/Myzel394/locus/blob/445013d22ec1d759027d4303bd65b30c5c8588c8/pubspec.yaml#L105
dependency_overrides:
# TODO: remove once Isar is updated
analyzer: ^6.3.0
analyzer: ^6.0.0
# TODO: remove once analyzer override is removed
meta: ^1.11.0
# TODO: remove once analyzer override is removed

View file

@ -9,7 +9,11 @@ function dart {
wget -O native_class.mustache https://raw.githubusercontent.com/OpenAPITools/openapi-generator/$OPENAPI_GENERATOR_VERSION/modules/openapi-generator/src/main/resources/dart2/serialization/native/native_class.mustache
patch --no-backup-if-mismatch -u native_class.mustache <native_class.mustache.patch
cd ../../../../
cd ../../
wget -O api.mustache https://raw.githubusercontent.com/OpenAPITools/openapi-generator/$OPENAPI_GENERATOR_VERSION/modules/openapi-generator/src/main/resources/dart2/api.mustache
patch --no-backup-if-mismatch -u api.mustache <api.mustache.patch
cd ../../
npx --yes @openapitools/openapi-generator-cli generate -g dart -i ./immich-openapi-specs.json -o ../mobile/openapi -t ./templates/mobile
# Post generate patches

View file

@ -0,0 +1,194 @@
{{>header}}
{{>part_of}}
{{#operations}}
class {{{classname}}} {
{{{classname}}}([ApiClient? apiClient]) : apiClient = apiClient ?? defaultApiClient;
final ApiClient apiClient;
{{#operation}}
{{#summary}}
/// {{{.}}}
{{/summary}}
{{#notes}}
{{#summary}}
///
{{/summary}}
/// {{{notes}}}
///
/// Note: This method returns the HTTP [Response].
{{/notes}}
{{^notes}}
{{#summary}}
///
/// Note: This method returns the HTTP [Response].
{{/summary}}
{{^summary}}
/// Performs an HTTP '{{{httpMethod}}} {{{path}}}' operation and returns the [Response].
{{/summary}}
{{/notes}}
{{#hasParams}}
{{#summary}}
///
{{/summary}}
{{^summary}}
{{#notes}}
///
{{/notes}}
{{/summary}}
/// Parameters:
///
{{/hasParams}}
{{#allParams}}
/// * [{{{dataType}}}] {{{paramName}}}{{#required}} (required){{/required}}{{#optional}} (optional){{/optional}}:
{{#description}}
/// {{{.}}}
{{/description}}
{{^-last}}
///
{{/-last}}
{{/allParams}}
Future<Response> {{{nickname}}}WithHttpInfo({{#allParams}}{{#required}}{{{dataType}}} {{{paramName}}},{{^-last}} {{/-last}}{{/required}}{{/allParams}}{{#hasOptionalParams}}{ {{#allParams}}{{^required}}{{{dataType}}}? {{{paramName}}},{{^-last}} {{/-last}}{{/required}}{{/allParams}} }{{/hasOptionalParams}}) async {
// ignore: prefer_const_declarations
final apiPath = r'{{{path}}}'{{#pathParams}}
.replaceAll({{=<% %>=}}'{<% baseName %>}'<%={{ }}=%>, {{{paramName}}}{{^isString}}.toString(){{/isString}}){{/pathParams}};
// ignore: prefer_final_locals
Object? postBody{{#bodyParam}} = {{{paramName}}}{{/bodyParam}};
final queryParams = <QueryParam>[];
final headerParams = <String, String>{};
final formParams = <String, String>{};
{{#hasQueryParams}}
{{#queryParams}}
{{^required}}
if ({{{paramName}}} != null) {
{{/required}}
queryParams.addAll(_queryParams('{{{collectionFormat}}}', '{{{baseName}}}', {{{paramName}}}));
{{^required}}
}
{{/required}}
{{/queryParams}}
{{/hasQueryParams}}
{{#hasHeaderParams}}
{{#headerParams}}
{{#required}}
headerParams[r'{{{baseName}}}'] = parameterToString({{{paramName}}});
{{/required}}
{{^required}}
if ({{{paramName}}} != null) {
headerParams[r'{{{baseName}}}'] = parameterToString({{{paramName}}});
}
{{/required}}
{{/headerParams}}
{{/hasHeaderParams}}
const contentTypes = <String>[{{#prioritizedContentTypes}}'{{{mediaType}}}'{{^-last}}, {{/-last}}{{/prioritizedContentTypes}}];
{{#isMultipart}}
bool hasFields = false;
final mp = MultipartRequest('{{{httpMethod}}}', Uri.parse(apiPath));
{{#formParams}}
{{^isFile}}
if ({{{paramName}}} != null) {
hasFields = true;
mp.fields[r'{{{baseName}}}'] = parameterToString({{{paramName}}});
}
{{/isFile}}
{{#isFile}}
if ({{{paramName}}} != null) {
hasFields = true;
mp.fields[r'{{{baseName}}}'] = {{{paramName}}}.field;
mp.files.add({{{paramName}}});
}
{{/isFile}}
{{/formParams}}
if (hasFields) {
postBody = mp;
}
{{/isMultipart}}
{{^isMultipart}}
{{#formParams}}
{{^isFile}}
if ({{{paramName}}} != null) {
formParams[r'{{{baseName}}}'] = parameterToString({{{paramName}}});
}
{{/isFile}}
{{/formParams}}
{{/isMultipart}}
return apiClient.invokeAPI(
apiPath,
'{{{httpMethod}}}',
queryParams,
postBody,
headerParams,
formParams,
contentTypes.isEmpty ? null : contentTypes.first,
);
}
{{#summary}}
/// {{{.}}}
{{/summary}}
{{#notes}}
{{#summary}}
///
{{/summary}}
/// {{{notes}}}
{{/notes}}
{{#hasParams}}
{{#summary}}
///
{{/summary}}
{{^summary}}
{{#notes}}
///
{{/notes}}
{{/summary}}
/// Parameters:
///
{{/hasParams}}
{{#allParams}}
/// * [{{{dataType}}}] {{{paramName}}}{{#required}} (required){{/required}}{{#optional}} (optional){{/optional}}:
{{#description}}
/// {{{.}}}
{{/description}}
{{^-last}}
///
{{/-last}}
{{/allParams}}
Future<{{#returnType}}{{{.}}}?{{/returnType}}{{^returnType}}void{{/returnType}}> {{{nickname}}}({{#allParams}}{{#required}}{{{dataType}}} {{{paramName}}},{{^-last}} {{/-last}}{{/required}}{{/allParams}}{{#hasOptionalParams}}{ {{#allParams}}{{^required}}{{{dataType}}}? {{{paramName}}},{{^-last}} {{/-last}}{{/required}}{{/allParams}} }{{/hasOptionalParams}}) async {
final response = await {{{nickname}}}WithHttpInfo({{#allParams}}{{#required}}{{{paramName}}},{{^-last}} {{/-last}}{{/required}}{{/allParams}}{{#hasOptionalParams}} {{#allParams}}{{^required}}{{{paramName}}}: {{{paramName}}},{{^-last}} {{/-last}}{{/required}}{{/allParams}} {{/hasOptionalParams}});
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
}
{{#returnType}}
// When a remote server returns no body with a status of 204, we shall not decode it.
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
// FormatException when trying to decode an empty string.
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
{{#native_serialization}}
{{#isArray}}
final responseBody = await _decodeBodyBytes(response);
return (await apiClient.deserializeAsync(responseBody, '{{{returnType}}}') as List)
.cast<{{{returnBaseType}}}>()
.{{#uniqueItems}}toSet(){{/uniqueItems}}{{^uniqueItems}}toList(growable: false){{/uniqueItems}};
{{/isArray}}
{{^isArray}}
{{#isMap}}
return {{{returnType}}}.from(await apiClient.deserializeAsync(await _decodeBodyBytes(response), '{{{returnType}}}'),);
{{/isMap}}
{{^isMap}}
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), '{{{returnType}}}',) as {{{returnType}}};
{{/isMap}}{{/isArray}}{{/native_serialization}}
}
return null;
{{/returnType}}
}
{{/operation}}
}
{{/operations}}

View file

@ -0,0 +1,29 @@
--- api.mustache 2025-01-22 05:50:25
+++ api.mustache.modified 2025-01-22 05:52:23
@@ -51,7 +51,7 @@
{{/allParams}}
Future<Response> {{{nickname}}}WithHttpInfo({{#allParams}}{{#required}}{{{dataType}}} {{{paramName}}},{{^-last}} {{/-last}}{{/required}}{{/allParams}}{{#hasOptionalParams}}{ {{#allParams}}{{^required}}{{{dataType}}}? {{{paramName}}},{{^-last}} {{/-last}}{{/required}}{{/allParams}} }{{/hasOptionalParams}}) async {
// ignore: prefer_const_declarations
- final path = r'{{{path}}}'{{#pathParams}}
+ final apiPath = r'{{{path}}}'{{#pathParams}}
.replaceAll({{=<% %>=}}'{<% baseName %>}'<%={{ }}=%>, {{{paramName}}}{{^isString}}.toString(){{/isString}}){{/pathParams}};
// ignore: prefer_final_locals
@@ -90,7 +90,7 @@
{{#isMultipart}}
bool hasFields = false;
- final mp = MultipartRequest('{{{httpMethod}}}', Uri.parse(path));
+ final mp = MultipartRequest('{{{httpMethod}}}', Uri.parse(apiPath));
{{#formParams}}
{{^isFile}}
if ({{{paramName}}} != null) {
@@ -121,7 +121,7 @@
{{/isMultipart}}
return apiClient.invokeAPI(
- path,
+ apiPath,
'{{{httpMethod}}}',
queryParams,
postBody,