1
0
mirror of https://github.com/immich-app/immich.git synced 2024-12-23 02:06:15 +02:00
immich/mobile/lib/routing/router.gr.dart

1726 lines
42 KiB
Dart
Raw Normal View History

2022-02-03 18:06:44 +02:00
// **************************************************************************
// AutoRouteGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// **************************************************************************
// AutoRouteGenerator
// **************************************************************************
//
// ignore_for_file: type=lint
part of 'router.dart';
class _$AppRouter extends RootStackRouter {
_$AppRouter({
GlobalKey<NavigatorState>? navigatorKey,
required this.authGuard,
required this.duplicateGuard,
required this.backupPermissionGuard,
}) : super(navigatorKey);
final AuthGuard authGuard;
final DuplicateGuard duplicateGuard;
2022-02-03 18:06:44 +02:00
final BackupPermissionGuard backupPermissionGuard;
2022-02-03 18:06:44 +02:00
@override
final Map<String, PageFactory> pagesMap = {
SplashScreenRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const SplashScreenPage(),
);
},
PermissionOnboardingRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const PermissionOnboardingPage(),
);
},
2022-02-03 18:06:44 +02:00
LoginRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const LoginPage(),
);
2022-02-03 18:06:44 +02:00
},
ChangePasswordRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const ChangePasswordPage(),
);
},
TabControllerRoute.name: (routeData) {
return CustomPage<dynamic>(
routeData: routeData,
child: const TabControllerPage(),
transitionsBuilder: TransitionsBuilders.fadeIn,
opaque: true,
barrierDismissible: false,
);
2022-02-03 18:06:44 +02:00
},
GalleryViewerRoute.name: (routeData) {
final args = routeData.argsAs<GalleryViewerRouteArgs>();
return CustomPage<dynamic>(
routeData: routeData,
child: GalleryViewerPage(
key: args.key,
initialIndex: args.initialIndex,
loadAsset: args.loadAsset,
totalAssets: args.totalAssets,
heroOffset: args.heroOffset,
2023-10-22 04:38:07 +02:00
showStack: args.showStack,
),
transitionsBuilder: CustomTransitionsBuilders.zoomedPage,
opaque: true,
barrierDismissible: false,
);
},
VideoViewerRoute.name: (routeData) {
final args = routeData.argsAs<VideoViewerRouteArgs>();
return MaterialPageX<dynamic>(
routeData: routeData,
child: VideoViewerPage(
key: args.key,
asset: args.asset,
isMotionVideo: args.isMotionVideo,
onVideoEnded: args.onVideoEnded,
onPlaying: args.onPlaying,
onPaused: args.onPaused,
placeholder: args.placeholder,
),
);
},
BackupControllerRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const BackupControllerPage(),
);
},
2022-03-03 00:44:24 +02:00
SearchResultRoute.name: (routeData) {
final args = routeData.argsAs<SearchResultRouteArgs>();
return MaterialPageX<dynamic>(
routeData: routeData,
child: SearchResultPage(
key: args.key,
searchTerm: args.searchTerm,
),
);
2022-03-03 00:44:24 +02:00
},
CuratedLocationRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const CuratedLocationPage(),
);
},
CreateAlbumRoute.name: (routeData) {
final args = routeData.argsAs<CreateAlbumRouteArgs>();
return MaterialPageX<dynamic>(
routeData: routeData,
child: CreateAlbumPage(
key: args.key,
isSharedAlbum: args.isSharedAlbum,
initialAssets: args.initialAssets,
),
);
},
FavoritesRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const FavoritesPage(),
);
},
AllVideosRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const AllVideosPage(),
);
},
AllMotionPhotosRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const AllMotionPhotosPage(),
);
},
RecentlyAddedRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const RecentlyAddedPage(),
);
},
AssetSelectionRoute.name: (routeData) {
final args = routeData.argsAs<AssetSelectionRouteArgs>();
return CustomPage<AssetSelectionPageResult?>(
routeData: routeData,
child: AssetSelectionPage(
key: args.key,
existingAssets: args.existingAssets,
2023-10-22 04:38:07 +02:00
canDeselect: args.canDeselect,
query: args.query,
),
transitionsBuilder: TransitionsBuilders.slideBottom,
opaque: true,
barrierDismissible: false,
);
},
SelectUserForSharingRoute.name: (routeData) {
final args = routeData.argsAs<SelectUserForSharingRouteArgs>();
return CustomPage<List<String>>(
routeData: routeData,
child: SelectUserForSharingPage(
key: args.key,
assets: args.assets,
),
transitionsBuilder: TransitionsBuilders.slideBottom,
opaque: true,
barrierDismissible: false,
);
},
AlbumViewerRoute.name: (routeData) {
final args = routeData.argsAs<AlbumViewerRouteArgs>();
return MaterialPageX<dynamic>(
routeData: routeData,
child: AlbumViewerPage(
key: args.key,
albumId: args.albumId,
),
);
},
SelectAdditionalUserForSharingRoute.name: (routeData) {
final args = routeData.argsAs<SelectAdditionalUserForSharingRouteArgs>();
return CustomPage<List<String>?>(
routeData: routeData,
child: SelectAdditionalUserForSharingPage(
key: args.key,
album: args.album,
),
transitionsBuilder: TransitionsBuilders.slideBottom,
opaque: true,
barrierDismissible: false,
);
},
BackupAlbumSelectionRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const BackupAlbumSelectionPage(),
);
},
AlbumPreviewRoute.name: (routeData) {
final args = routeData.argsAs<AlbumPreviewRouteArgs>();
return MaterialPageX<dynamic>(
routeData: routeData,
child: AlbumPreviewPage(
key: args.key,
album: args.album,
),
);
},
FailedBackupStatusRoute.name: (routeData) {
return CustomPage<dynamic>(
routeData: routeData,
child: const FailedBackupStatusPage(),
transitionsBuilder: TransitionsBuilders.slideBottom,
opaque: true,
barrierDismissible: false,
);
},
SettingsRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const SettingsPage(),
);
},
AppLogRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const AppLogPage(),
);
},
AppLogDetailRoute.name: (routeData) {
final args = routeData.argsAs<AppLogDetailRouteArgs>();
return MaterialPageX<dynamic>(
routeData: routeData,
child: AppLogDetailPage(
key: args.key,
logMessage: args.logMessage,
),
);
},
ArchiveRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const ArchivePage(),
);
},
PartnerRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const PartnerPage(),
);
},
PartnerDetailRoute.name: (routeData) {
final args = routeData.argsAs<PartnerDetailRouteArgs>();
return MaterialPageX<dynamic>(
routeData: routeData,
child: PartnerDetailPage(
key: args.key,
partner: args.partner,
),
);
},
PersonResultRoute.name: (routeData) {
final args = routeData.argsAs<PersonResultRouteArgs>();
return MaterialPageX<dynamic>(
routeData: routeData,
child: PersonResultPage(
key: args.key,
personId: args.personId,
personName: args.personName,
),
);
},
AllPeopleRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const AllPeoplePage(),
);
},
MemoryRoute.name: (routeData) {
final args = routeData.argsAs<MemoryRouteArgs>();
return MaterialPageX<dynamic>(
routeData: routeData,
child: MemoryPage(
memories: args.memories,
memoryIndex: args.memoryIndex,
key: args.key,
),
);
},
MapRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const MapPage(),
);
},
AlbumOptionsRoute.name: (routeData) {
final args = routeData.argsAs<AlbumOptionsRouteArgs>();
return MaterialPageX<dynamic>(
routeData: routeData,
child: AlbumOptionsPage(
key: args.key,
album: args.album,
),
);
},
feat(server): trash asset (#4015) * refactor(server): delete assets endpoint * fix: formatting * chore: cleanup * chore: open api * chore(mobile): replace DeleteAssetDTO with BulkIdsDTOs * feat: trash an asset * chore(server): formatting * chore: open api * chore: wording * chore: open-api * feat(server): add withDeleted to getAssets queries * WIP: mobile-recycle-bin * feat(server): recycle-bin to system config * feat(web): use recycle-bin system config * chore(server): domain assetcore removed * chore(server): rename recycle-bin to trash * chore(web): rename recycle-bin to trash * chore(server): always send soft deleted assets for getAllByUserId * chore(web): formatting * feat(server): permanent delete assets older than trashed period * feat(web): trash empty placeholder image * feat(server): empty trash * feat(web): empty trash * WIP: mobile-recycle-bin * refactor(server): empty / restore trash to separate endpoint * test(server): handle failures * test(server): fix e2e server-info test * test(server): deletion test refactor * feat(mobile): use map settings from server-config to enable / disable map * feat(mobile): trash asset * fix(server): operations on assets in trash * feat(web): show trash statistics * fix(web): handle trash enabled * fix(mobile): restore updates from trash * fix(server): ignore trashed assets for person * fix(server): add / remove search index when trashed / restored * chore(web): format * fix(server): asset service test * fix(server): include trashed assts for duplicates from uploads * feat(mobile): no dialog for trash, always dialog for permanent delete * refactor(mobile): use isar where instead of dart filter * refactor(mobile): asset provide - handle deletes in single db txn * chore(mobile): review changes * feat(web): confirmation before empty trash * server: review changes * fix(server): handle library changes * fix: filter external assets from getting trashed / deleted * fix(server): empty-bin * feat: broadcast config update events through ws * change order of trash button on mobile * styling * fix(mobile): do not show trashed toast for local only assets --------- Co-authored-by: Jason Rasmussen <jrasm91@gmail.com> Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-10-06 09:01:14 +02:00
TrashRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const TrashPage(),
);
},
SharedLinkRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const SharedLinkPage(),
);
},
SharedLinkEditRoute.name: (routeData) {
final args = routeData.argsAs<SharedLinkEditRouteArgs>(
orElse: () => const SharedLinkEditRouteArgs());
return MaterialPageX<dynamic>(
routeData: routeData,
child: SharedLinkEditPage(
key: args.key,
existingLink: args.existingLink,
assetsList: args.assetsList,
albumId: args.albumId,
),
);
},
ActivitiesRoute.name: (routeData) {
final args = routeData.argsAs<ActivitiesRouteArgs>();
return CustomPage<dynamic>(
routeData: routeData,
child: ActivitiesPage(
args.albumId,
appBarTitle: args.appBarTitle,
assetId: args.assetId,
withAssetThumbs: args.withAssetThumbs,
isOwner: args.isOwner,
isReadOnly: args.isReadOnly,
key: args.key,
),
transitionsBuilder: TransitionsBuilders.slideLeft,
durationInMilliseconds: 200,
opaque: true,
barrierDismissible: false,
);
},
MapLocationPickerRoute.name: (routeData) {
final args = routeData.argsAs<MapLocationPickerRouteArgs>(
orElse: () => const MapLocationPickerRouteArgs());
return CustomPage<LatLng?>(
routeData: routeData,
child: MapLocationPickerPage(
key: args.key,
initialLatLng: args.initialLatLng,
),
opaque: true,
barrierDismissible: false,
);
},
HomeRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const HomePage(),
);
},
SearchRoute.name: (routeData) {
final args = routeData.argsAs<SearchRouteArgs>(
orElse: () => const SearchRouteArgs());
return MaterialPageX<dynamic>(
routeData: routeData,
child: SearchPage(key: args.key),
);
},
SharingRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const SharingPage(),
);
},
LibraryRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const LibraryPage(),
);
},
2022-02-03 18:06:44 +02:00
};
@override
List<RouteConfig> get routes => [
RouteConfig(
SplashScreenRoute.name,
path: '/',
),
RouteConfig(
PermissionOnboardingRoute.name,
path: '/permission-onboarding-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
LoginRoute.name,
path: '/login-page',
guards: [duplicateGuard],
),
RouteConfig(
ChangePasswordRoute.name,
path: '/change-password-page',
),
RouteConfig(
TabControllerRoute.name,
path: '/tab-controller-page',
guards: [
authGuard,
duplicateGuard,
],
children: [
RouteConfig(
HomeRoute.name,
path: 'home-page',
parent: TabControllerRoute.name,
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
SearchRoute.name,
path: 'search-page',
parent: TabControllerRoute.name,
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
SharingRoute.name,
path: 'sharing-page',
parent: TabControllerRoute.name,
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
LibraryRoute.name,
path: 'library-page',
parent: TabControllerRoute.name,
guards: [
authGuard,
duplicateGuard,
],
),
],
),
RouteConfig(
GalleryViewerRoute.name,
path: '/gallery-viewer-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
VideoViewerRoute.name,
path: '/video-viewer-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
BackupControllerRoute.name,
path: '/backup-controller-page',
guards: [
authGuard,
duplicateGuard,
backupPermissionGuard,
],
),
RouteConfig(
SearchResultRoute.name,
path: '/search-result-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
CuratedLocationRoute.name,
path: '/curated-location-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
CreateAlbumRoute.name,
path: '/create-album-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
FavoritesRoute.name,
path: '/favorites-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
AllVideosRoute.name,
path: '/all-videos-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
AllMotionPhotosRoute.name,
path: '/all-motion-photos-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
RecentlyAddedRoute.name,
path: '/recently-added-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
AssetSelectionRoute.name,
path: '/asset-selection-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
SelectUserForSharingRoute.name,
path: '/select-user-for-sharing-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
AlbumViewerRoute.name,
path: '/album-viewer-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
SelectAdditionalUserForSharingRoute.name,
path: '/select-additional-user-for-sharing-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
BackupAlbumSelectionRoute.name,
path: '/backup-album-selection-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
AlbumPreviewRoute.name,
path: '/album-preview-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
FailedBackupStatusRoute.name,
path: '/failed-backup-status-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
SettingsRoute.name,
path: '/settings-page',
guards: [duplicateGuard],
),
RouteConfig(
AppLogRoute.name,
path: '/app-log-page',
guards: [duplicateGuard],
),
RouteConfig(
AppLogDetailRoute.name,
path: '/app-log-detail-page',
),
RouteConfig(
ArchiveRoute.name,
path: '/archive-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
PartnerRoute.name,
path: '/partner-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
PartnerDetailRoute.name,
path: '/partner-detail-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
PersonResultRoute.name,
path: '/person-result-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
AllPeopleRoute.name,
path: '/all-people-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
MemoryRoute.name,
path: '/memory-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
MapRoute.name,
path: '/map-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
AlbumOptionsRoute.name,
path: '/album-options-page',
guards: [
authGuard,
duplicateGuard,
],
),
feat(server): trash asset (#4015) * refactor(server): delete assets endpoint * fix: formatting * chore: cleanup * chore: open api * chore(mobile): replace DeleteAssetDTO with BulkIdsDTOs * feat: trash an asset * chore(server): formatting * chore: open api * chore: wording * chore: open-api * feat(server): add withDeleted to getAssets queries * WIP: mobile-recycle-bin * feat(server): recycle-bin to system config * feat(web): use recycle-bin system config * chore(server): domain assetcore removed * chore(server): rename recycle-bin to trash * chore(web): rename recycle-bin to trash * chore(server): always send soft deleted assets for getAllByUserId * chore(web): formatting * feat(server): permanent delete assets older than trashed period * feat(web): trash empty placeholder image * feat(server): empty trash * feat(web): empty trash * WIP: mobile-recycle-bin * refactor(server): empty / restore trash to separate endpoint * test(server): handle failures * test(server): fix e2e server-info test * test(server): deletion test refactor * feat(mobile): use map settings from server-config to enable / disable map * feat(mobile): trash asset * fix(server): operations on assets in trash * feat(web): show trash statistics * fix(web): handle trash enabled * fix(mobile): restore updates from trash * fix(server): ignore trashed assets for person * fix(server): add / remove search index when trashed / restored * chore(web): format * fix(server): asset service test * fix(server): include trashed assts for duplicates from uploads * feat(mobile): no dialog for trash, always dialog for permanent delete * refactor(mobile): use isar where instead of dart filter * refactor(mobile): asset provide - handle deletes in single db txn * chore(mobile): review changes * feat(web): confirmation before empty trash * server: review changes * fix(server): handle library changes * fix: filter external assets from getting trashed / deleted * fix(server): empty-bin * feat: broadcast config update events through ws * change order of trash button on mobile * styling * fix(mobile): do not show trashed toast for local only assets --------- Co-authored-by: Jason Rasmussen <jrasm91@gmail.com> Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-10-06 09:01:14 +02:00
RouteConfig(
TrashRoute.name,
path: '/trash-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
SharedLinkRoute.name,
path: '/shared-link-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
SharedLinkEditRoute.name,
path: '/shared-link-edit-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
ActivitiesRoute.name,
path: '/activities-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
MapLocationPickerRoute.name,
path: '/map-location-picker-page',
guards: [
authGuard,
duplicateGuard,
],
),
2022-02-03 18:06:44 +02:00
];
}
/// generated route for
/// [SplashScreenPage]
class SplashScreenRoute extends PageRouteInfo<void> {
const SplashScreenRoute()
: super(
SplashScreenRoute.name,
path: '/',
);
static const String name = 'SplashScreenRoute';
}
/// generated route for
/// [PermissionOnboardingPage]
class PermissionOnboardingRoute extends PageRouteInfo<void> {
const PermissionOnboardingRoute()
: super(
PermissionOnboardingRoute.name,
path: '/permission-onboarding-page',
);
static const String name = 'PermissionOnboardingRoute';
}
2022-02-03 18:06:44 +02:00
/// generated route for
/// [LoginPage]
class LoginRoute extends PageRouteInfo<void> {
const LoginRoute()
: super(
LoginRoute.name,
path: '/login-page',
);
2022-02-03 18:06:44 +02:00
static const String name = 'LoginRoute';
}
/// generated route for
/// [ChangePasswordPage]
class ChangePasswordRoute extends PageRouteInfo<void> {
const ChangePasswordRoute()
: super(
ChangePasswordRoute.name,
path: '/change-password-page',
);
static const String name = 'ChangePasswordRoute';
}
2022-02-03 18:06:44 +02:00
/// generated route for
/// [TabControllerPage]
class TabControllerRoute extends PageRouteInfo<void> {
const TabControllerRoute({List<PageRouteInfo>? children})
: super(
TabControllerRoute.name,
path: '/tab-controller-page',
initialChildren: children,
);
2022-02-03 18:06:44 +02:00
static const String name = 'TabControllerRoute';
2022-02-03 18:06:44 +02:00
}
/// generated route for
/// [GalleryViewerPage]
class GalleryViewerRoute extends PageRouteInfo<GalleryViewerRouteArgs> {
GalleryViewerRoute({
Key? key,
required int initialIndex,
required Asset Function(int) loadAsset,
required int totalAssets,
int heroOffset = 0,
2023-10-22 04:38:07 +02:00
bool showStack = false,
}) : super(
GalleryViewerRoute.name,
path: '/gallery-viewer-page',
args: GalleryViewerRouteArgs(
key: key,
initialIndex: initialIndex,
loadAsset: loadAsset,
totalAssets: totalAssets,
heroOffset: heroOffset,
2023-10-22 04:38:07 +02:00
showStack: showStack,
),
);
static const String name = 'GalleryViewerRoute';
}
class GalleryViewerRouteArgs {
const GalleryViewerRouteArgs({
this.key,
required this.initialIndex,
required this.loadAsset,
required this.totalAssets,
this.heroOffset = 0,
2023-10-22 04:38:07 +02:00
this.showStack = false,
});
final Key? key;
final int initialIndex;
final Asset Function(int) loadAsset;
final int totalAssets;
final int heroOffset;
2023-10-22 04:38:07 +02:00
final bool showStack;
@override
String toString() {
return 'GalleryViewerRouteArgs{key: $key, initialIndex: $initialIndex, loadAsset: $loadAsset, totalAssets: $totalAssets, heroOffset: $heroOffset, showStack: $showStack}';
}
}
/// generated route for
/// [VideoViewerPage]
class VideoViewerRoute extends PageRouteInfo<VideoViewerRouteArgs> {
VideoViewerRoute({
Key? key,
required Asset asset,
required bool isMotionVideo,
required void Function() onVideoEnded,
void Function()? onPlaying,
void Function()? onPaused,
Widget? placeholder,
}) : super(
VideoViewerRoute.name,
path: '/video-viewer-page',
args: VideoViewerRouteArgs(
key: key,
asset: asset,
isMotionVideo: isMotionVideo,
onVideoEnded: onVideoEnded,
onPlaying: onPlaying,
onPaused: onPaused,
placeholder: placeholder,
),
);
static const String name = 'VideoViewerRoute';
}
class VideoViewerRouteArgs {
const VideoViewerRouteArgs({
this.key,
required this.asset,
required this.isMotionVideo,
required this.onVideoEnded,
this.onPlaying,
this.onPaused,
this.placeholder,
});
final Key? key;
final Asset asset;
final bool isMotionVideo;
final void Function() onVideoEnded;
final void Function()? onPlaying;
final void Function()? onPaused;
final Widget? placeholder;
@override
String toString() {
return 'VideoViewerRouteArgs{key: $key, asset: $asset, isMotionVideo: $isMotionVideo, onVideoEnded: $onVideoEnded, onPlaying: $onPlaying, onPaused: $onPaused, placeholder: $placeholder}';
}
}
/// generated route for
/// [BackupControllerPage]
class BackupControllerRoute extends PageRouteInfo<void> {
const BackupControllerRoute()
: super(
BackupControllerRoute.name,
path: '/backup-controller-page',
);
static const String name = 'BackupControllerRoute';
}
2022-03-03 00:44:24 +02:00
/// generated route for
/// [SearchResultPage]
class SearchResultRoute extends PageRouteInfo<SearchResultRouteArgs> {
SearchResultRoute({
Key? key,
required String searchTerm,
}) : super(
SearchResultRoute.name,
path: '/search-result-page',
args: SearchResultRouteArgs(
key: key,
searchTerm: searchTerm,
),
);
2022-03-03 00:44:24 +02:00
static const String name = 'SearchResultRoute';
}
class SearchResultRouteArgs {
const SearchResultRouteArgs({
this.key,
required this.searchTerm,
});
2022-03-03 00:44:24 +02:00
final Key? key;
final String searchTerm;
@override
String toString() {
return 'SearchResultRouteArgs{key: $key, searchTerm: $searchTerm}';
}
}
/// generated route for
/// [CuratedLocationPage]
class CuratedLocationRoute extends PageRouteInfo<void> {
const CuratedLocationRoute()
: super(
CuratedLocationRoute.name,
path: '/curated-location-page',
);
static const String name = 'CuratedLocationRoute';
}
/// generated route for
/// [CreateAlbumPage]
class CreateAlbumRoute extends PageRouteInfo<CreateAlbumRouteArgs> {
CreateAlbumRoute({
Key? key,
required bool isSharedAlbum,
List<Asset>? initialAssets,
}) : super(
CreateAlbumRoute.name,
path: '/create-album-page',
args: CreateAlbumRouteArgs(
key: key,
isSharedAlbum: isSharedAlbum,
initialAssets: initialAssets,
),
);
static const String name = 'CreateAlbumRoute';
}
class CreateAlbumRouteArgs {
const CreateAlbumRouteArgs({
this.key,
required this.isSharedAlbum,
this.initialAssets,
});
final Key? key;
final bool isSharedAlbum;
final List<Asset>? initialAssets;
@override
String toString() {
return 'CreateAlbumRouteArgs{key: $key, isSharedAlbum: $isSharedAlbum, initialAssets: $initialAssets}';
}
}
/// generated route for
/// [FavoritesPage]
class FavoritesRoute extends PageRouteInfo<void> {
const FavoritesRoute()
: super(
FavoritesRoute.name,
path: '/favorites-page',
);
static const String name = 'FavoritesRoute';
}
/// generated route for
/// [AllVideosPage]
class AllVideosRoute extends PageRouteInfo<void> {
const AllVideosRoute()
: super(
AllVideosRoute.name,
path: '/all-videos-page',
);
static const String name = 'AllVideosRoute';
}
/// generated route for
/// [AllMotionPhotosPage]
class AllMotionPhotosRoute extends PageRouteInfo<void> {
const AllMotionPhotosRoute()
: super(
AllMotionPhotosRoute.name,
path: '/all-motion-photos-page',
);
static const String name = 'AllMotionPhotosRoute';
}
/// generated route for
/// [RecentlyAddedPage]
class RecentlyAddedRoute extends PageRouteInfo<void> {
const RecentlyAddedRoute()
: super(
RecentlyAddedRoute.name,
path: '/recently-added-page',
);
static const String name = 'RecentlyAddedRoute';
}
/// generated route for
/// [AssetSelectionPage]
class AssetSelectionRoute extends PageRouteInfo<AssetSelectionRouteArgs> {
AssetSelectionRoute({
Key? key,
required Set<Asset> existingAssets,
2023-10-22 04:38:07 +02:00
bool canDeselect = false,
required QueryBuilder<Asset, Asset, QAfterSortBy>? query,
}) : super(
AssetSelectionRoute.name,
path: '/asset-selection-page',
args: AssetSelectionRouteArgs(
key: key,
existingAssets: existingAssets,
2023-10-22 04:38:07 +02:00
canDeselect: canDeselect,
query: query,
),
);
static const String name = 'AssetSelectionRoute';
}
class AssetSelectionRouteArgs {
const AssetSelectionRouteArgs({
this.key,
required this.existingAssets,
2023-10-22 04:38:07 +02:00
this.canDeselect = false,
required this.query,
});
final Key? key;
final Set<Asset> existingAssets;
2023-10-22 04:38:07 +02:00
final bool canDeselect;
final QueryBuilder<Asset, Asset, QAfterSortBy>? query;
@override
String toString() {
2023-10-22 04:38:07 +02:00
return 'AssetSelectionRouteArgs{key: $key, existingAssets: $existingAssets, canDeselect: $canDeselect, query: $query}';
}
}
/// generated route for
/// [SelectUserForSharingPage]
class SelectUserForSharingRoute
extends PageRouteInfo<SelectUserForSharingRouteArgs> {
SelectUserForSharingRoute({
Key? key,
required Set<Asset> assets,
}) : super(
SelectUserForSharingRoute.name,
path: '/select-user-for-sharing-page',
args: SelectUserForSharingRouteArgs(
key: key,
assets: assets,
),
);
static const String name = 'SelectUserForSharingRoute';
}
class SelectUserForSharingRouteArgs {
const SelectUserForSharingRouteArgs({
this.key,
required this.assets,
});
final Key? key;
final Set<Asset> assets;
@override
String toString() {
return 'SelectUserForSharingRouteArgs{key: $key, assets: $assets}';
}
}
/// generated route for
/// [AlbumViewerPage]
class AlbumViewerRoute extends PageRouteInfo<AlbumViewerRouteArgs> {
AlbumViewerRoute({
Key? key,
required int albumId,
}) : super(
AlbumViewerRoute.name,
path: '/album-viewer-page',
args: AlbumViewerRouteArgs(
key: key,
albumId: albumId,
),
);
static const String name = 'AlbumViewerRoute';
}
class AlbumViewerRouteArgs {
const AlbumViewerRouteArgs({
this.key,
required this.albumId,
});
final Key? key;
final int albumId;
@override
String toString() {
return 'AlbumViewerRouteArgs{key: $key, albumId: $albumId}';
}
}
/// generated route for
/// [SelectAdditionalUserForSharingPage]
class SelectAdditionalUserForSharingRoute
extends PageRouteInfo<SelectAdditionalUserForSharingRouteArgs> {
SelectAdditionalUserForSharingRoute({
Key? key,
required Album album,
}) : super(
SelectAdditionalUserForSharingRoute.name,
path: '/select-additional-user-for-sharing-page',
args: SelectAdditionalUserForSharingRouteArgs(
key: key,
album: album,
),
);
static const String name = 'SelectAdditionalUserForSharingRoute';
}
class SelectAdditionalUserForSharingRouteArgs {
const SelectAdditionalUserForSharingRouteArgs({
this.key,
required this.album,
});
final Key? key;
final Album album;
@override
String toString() {
return 'SelectAdditionalUserForSharingRouteArgs{key: $key, album: $album}';
}
}
/// generated route for
/// [BackupAlbumSelectionPage]
class BackupAlbumSelectionRoute extends PageRouteInfo<void> {
const BackupAlbumSelectionRoute()
: super(
BackupAlbumSelectionRoute.name,
path: '/backup-album-selection-page',
);
static const String name = 'BackupAlbumSelectionRoute';
}
/// generated route for
/// [AlbumPreviewPage]
class AlbumPreviewRoute extends PageRouteInfo<AlbumPreviewRouteArgs> {
AlbumPreviewRoute({
Key? key,
required AssetPathEntity album,
}) : super(
AlbumPreviewRoute.name,
path: '/album-preview-page',
args: AlbumPreviewRouteArgs(
key: key,
album: album,
),
);
static const String name = 'AlbumPreviewRoute';
}
class AlbumPreviewRouteArgs {
const AlbumPreviewRouteArgs({
this.key,
required this.album,
});
final Key? key;
final AssetPathEntity album;
@override
String toString() {
return 'AlbumPreviewRouteArgs{key: $key, album: $album}';
}
}
/// generated route for
/// [FailedBackupStatusPage]
class FailedBackupStatusRoute extends PageRouteInfo<void> {
const FailedBackupStatusRoute()
: super(
FailedBackupStatusRoute.name,
path: '/failed-backup-status-page',
);
static const String name = 'FailedBackupStatusRoute';
}
/// generated route for
/// [SettingsPage]
class SettingsRoute extends PageRouteInfo<void> {
const SettingsRoute()
: super(
SettingsRoute.name,
path: '/settings-page',
);
static const String name = 'SettingsRoute';
}
/// generated route for
/// [AppLogPage]
class AppLogRoute extends PageRouteInfo<void> {
const AppLogRoute()
: super(
AppLogRoute.name,
path: '/app-log-page',
);
static const String name = 'AppLogRoute';
}
/// generated route for
/// [AppLogDetailPage]
class AppLogDetailRoute extends PageRouteInfo<AppLogDetailRouteArgs> {
AppLogDetailRoute({
Key? key,
required LoggerMessage logMessage,
}) : super(
AppLogDetailRoute.name,
path: '/app-log-detail-page',
args: AppLogDetailRouteArgs(
key: key,
logMessage: logMessage,
),
);
static const String name = 'AppLogDetailRoute';
}
class AppLogDetailRouteArgs {
const AppLogDetailRouteArgs({
this.key,
required this.logMessage,
});
final Key? key;
final LoggerMessage logMessage;
@override
String toString() {
return 'AppLogDetailRouteArgs{key: $key, logMessage: $logMessage}';
}
}
/// generated route for
/// [ArchivePage]
class ArchiveRoute extends PageRouteInfo<void> {
const ArchiveRoute()
: super(
ArchiveRoute.name,
path: '/archive-page',
);
static const String name = 'ArchiveRoute';
}
/// generated route for
/// [PartnerPage]
class PartnerRoute extends PageRouteInfo<void> {
const PartnerRoute()
: super(
PartnerRoute.name,
path: '/partner-page',
);
static const String name = 'PartnerRoute';
}
/// generated route for
/// [PartnerDetailPage]
class PartnerDetailRoute extends PageRouteInfo<PartnerDetailRouteArgs> {
PartnerDetailRoute({
Key? key,
required User partner,
}) : super(
PartnerDetailRoute.name,
path: '/partner-detail-page',
args: PartnerDetailRouteArgs(
key: key,
partner: partner,
),
);
static const String name = 'PartnerDetailRoute';
}
class PartnerDetailRouteArgs {
const PartnerDetailRouteArgs({
this.key,
required this.partner,
});
final Key? key;
final User partner;
@override
String toString() {
return 'PartnerDetailRouteArgs{key: $key, partner: $partner}';
}
}
/// generated route for
/// [PersonResultPage]
class PersonResultRoute extends PageRouteInfo<PersonResultRouteArgs> {
PersonResultRoute({
Key? key,
required String personId,
required String personName,
}) : super(
PersonResultRoute.name,
path: '/person-result-page',
args: PersonResultRouteArgs(
key: key,
personId: personId,
personName: personName,
),
);
static const String name = 'PersonResultRoute';
}
class PersonResultRouteArgs {
const PersonResultRouteArgs({
this.key,
required this.personId,
required this.personName,
});
final Key? key;
final String personId;
final String personName;
@override
String toString() {
return 'PersonResultRouteArgs{key: $key, personId: $personId, personName: $personName}';
}
}
/// generated route for
/// [AllPeoplePage]
class AllPeopleRoute extends PageRouteInfo<void> {
const AllPeopleRoute()
: super(
AllPeopleRoute.name,
path: '/all-people-page',
);
static const String name = 'AllPeopleRoute';
}
/// generated route for
/// [MemoryPage]
class MemoryRoute extends PageRouteInfo<MemoryRouteArgs> {
MemoryRoute({
required List<Memory> memories,
required int memoryIndex,
Key? key,
}) : super(
MemoryRoute.name,
path: '/memory-page',
args: MemoryRouteArgs(
memories: memories,
memoryIndex: memoryIndex,
key: key,
),
);
static const String name = 'MemoryRoute';
}
class MemoryRouteArgs {
const MemoryRouteArgs({
required this.memories,
required this.memoryIndex,
this.key,
});
final List<Memory> memories;
final int memoryIndex;
final Key? key;
@override
String toString() {
return 'MemoryRouteArgs{memories: $memories, memoryIndex: $memoryIndex, key: $key}';
}
}
/// generated route for
/// [MapPage]
class MapRoute extends PageRouteInfo<void> {
const MapRoute()
: super(
MapRoute.name,
path: '/map-page',
);
static const String name = 'MapRoute';
}
/// generated route for
/// [AlbumOptionsPage]
class AlbumOptionsRoute extends PageRouteInfo<AlbumOptionsRouteArgs> {
AlbumOptionsRoute({
Key? key,
required Album album,
}) : super(
AlbumOptionsRoute.name,
path: '/album-options-page',
args: AlbumOptionsRouteArgs(
key: key,
album: album,
),
);
static const String name = 'AlbumOptionsRoute';
}
class AlbumOptionsRouteArgs {
const AlbumOptionsRouteArgs({
this.key,
required this.album,
});
final Key? key;
final Album album;
@override
String toString() {
return 'AlbumOptionsRouteArgs{key: $key, album: $album}';
}
}
feat(server): trash asset (#4015) * refactor(server): delete assets endpoint * fix: formatting * chore: cleanup * chore: open api * chore(mobile): replace DeleteAssetDTO with BulkIdsDTOs * feat: trash an asset * chore(server): formatting * chore: open api * chore: wording * chore: open-api * feat(server): add withDeleted to getAssets queries * WIP: mobile-recycle-bin * feat(server): recycle-bin to system config * feat(web): use recycle-bin system config * chore(server): domain assetcore removed * chore(server): rename recycle-bin to trash * chore(web): rename recycle-bin to trash * chore(server): always send soft deleted assets for getAllByUserId * chore(web): formatting * feat(server): permanent delete assets older than trashed period * feat(web): trash empty placeholder image * feat(server): empty trash * feat(web): empty trash * WIP: mobile-recycle-bin * refactor(server): empty / restore trash to separate endpoint * test(server): handle failures * test(server): fix e2e server-info test * test(server): deletion test refactor * feat(mobile): use map settings from server-config to enable / disable map * feat(mobile): trash asset * fix(server): operations on assets in trash * feat(web): show trash statistics * fix(web): handle trash enabled * fix(mobile): restore updates from trash * fix(server): ignore trashed assets for person * fix(server): add / remove search index when trashed / restored * chore(web): format * fix(server): asset service test * fix(server): include trashed assts for duplicates from uploads * feat(mobile): no dialog for trash, always dialog for permanent delete * refactor(mobile): use isar where instead of dart filter * refactor(mobile): asset provide - handle deletes in single db txn * chore(mobile): review changes * feat(web): confirmation before empty trash * server: review changes * fix(server): handle library changes * fix: filter external assets from getting trashed / deleted * fix(server): empty-bin * feat: broadcast config update events through ws * change order of trash button on mobile * styling * fix(mobile): do not show trashed toast for local only assets --------- Co-authored-by: Jason Rasmussen <jrasm91@gmail.com> Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-10-06 09:01:14 +02:00
/// generated route for
/// [TrashPage]
class TrashRoute extends PageRouteInfo<void> {
const TrashRoute()
: super(
TrashRoute.name,
path: '/trash-page',
);
static const String name = 'TrashRoute';
}
/// generated route for
/// [SharedLinkPage]
class SharedLinkRoute extends PageRouteInfo<void> {
const SharedLinkRoute()
: super(
SharedLinkRoute.name,
path: '/shared-link-page',
);
static const String name = 'SharedLinkRoute';
}
/// generated route for
/// [SharedLinkEditPage]
class SharedLinkEditRoute extends PageRouteInfo<SharedLinkEditRouteArgs> {
SharedLinkEditRoute({
Key? key,
SharedLink? existingLink,
List<String>? assetsList,
String? albumId,
}) : super(
SharedLinkEditRoute.name,
path: '/shared-link-edit-page',
args: SharedLinkEditRouteArgs(
key: key,
existingLink: existingLink,
assetsList: assetsList,
albumId: albumId,
),
);
static const String name = 'SharedLinkEditRoute';
}
class SharedLinkEditRouteArgs {
const SharedLinkEditRouteArgs({
this.key,
this.existingLink,
this.assetsList,
this.albumId,
});
final Key? key;
final SharedLink? existingLink;
final List<String>? assetsList;
final String? albumId;
@override
String toString() {
return 'SharedLinkEditRouteArgs{key: $key, existingLink: $existingLink, assetsList: $assetsList, albumId: $albumId}';
}
}
/// generated route for
/// [ActivitiesPage]
class ActivitiesRoute extends PageRouteInfo<ActivitiesRouteArgs> {
ActivitiesRoute({
required String albumId,
String appBarTitle = "",
String? assetId,
bool withAssetThumbs = true,
bool isOwner = false,
bool isReadOnly = false,
Key? key,
}) : super(
ActivitiesRoute.name,
path: '/activities-page',
args: ActivitiesRouteArgs(
albumId: albumId,
appBarTitle: appBarTitle,
assetId: assetId,
withAssetThumbs: withAssetThumbs,
isOwner: isOwner,
isReadOnly: isReadOnly,
key: key,
),
);
static const String name = 'ActivitiesRoute';
}
class ActivitiesRouteArgs {
const ActivitiesRouteArgs({
required this.albumId,
this.appBarTitle = "",
this.assetId,
this.withAssetThumbs = true,
this.isOwner = false,
this.isReadOnly = false,
this.key,
});
final String albumId;
final String appBarTitle;
final String? assetId;
final bool withAssetThumbs;
final bool isOwner;
final bool isReadOnly;
final Key? key;
@override
String toString() {
return 'ActivitiesRouteArgs{albumId: $albumId, appBarTitle: $appBarTitle, assetId: $assetId, withAssetThumbs: $withAssetThumbs, isOwner: $isOwner, isReadOnly: $isReadOnly, key: $key}';
}
}
/// generated route for
/// [MapLocationPickerPage]
class MapLocationPickerRoute extends PageRouteInfo<MapLocationPickerRouteArgs> {
MapLocationPickerRoute({
Key? key,
LatLng? initialLatLng,
}) : super(
MapLocationPickerRoute.name,
path: '/map-location-picker-page',
args: MapLocationPickerRouteArgs(
key: key,
initialLatLng: initialLatLng,
),
);
static const String name = 'MapLocationPickerRoute';
}
class MapLocationPickerRouteArgs {
const MapLocationPickerRouteArgs({
this.key,
this.initialLatLng,
});
final Key? key;
final LatLng? initialLatLng;
@override
String toString() {
return 'MapLocationPickerRouteArgs{key: $key, initialLatLng: $initialLatLng}';
}
}
/// generated route for
/// [HomePage]
class HomeRoute extends PageRouteInfo<void> {
const HomeRoute()
: super(
HomeRoute.name,
path: 'home-page',
);
static const String name = 'HomeRoute';
}
/// generated route for
/// [SearchPage]
class SearchRoute extends PageRouteInfo<SearchRouteArgs> {
SearchRoute({Key? key})
: super(
SearchRoute.name,
path: 'search-page',
args: SearchRouteArgs(key: key),
);
static const String name = 'SearchRoute';
}
class SearchRouteArgs {
const SearchRouteArgs({this.key});
final Key? key;
@override
String toString() {
return 'SearchRouteArgs{key: $key}';
}
}
/// generated route for
/// [SharingPage]
class SharingRoute extends PageRouteInfo<void> {
const SharingRoute()
: super(
SharingRoute.name,
path: 'sharing-page',
);
static const String name = 'SharingRoute';
}
/// generated route for
/// [LibraryPage]
class LibraryRoute extends PageRouteInfo<void> {
const LibraryRoute()
: super(
LibraryRoute.name,
path: 'library-page',
);
static const String name = 'LibraryRoute';
}