Refactor publicUrl construction logic

This commit is contained in:
Neeraj Gupta
2025-08-12 11:10:34 +05:30
parent 799e844de3
commit f248dbabe0
5 changed files with 15 additions and 22 deletions

View File

@@ -753,6 +753,15 @@ class CollectionsService {
return _cachedKeys[collectionID]!;
}
String getPublicUrl(Collection c) {
final PublicURL url = c.publicURLs.firstOrNull!;
final String collectionKey = Base58Encode(
CollectionsService.instance.getCollectionKey(c.id),
);
final String urlValue = "${url.url}#$collectionKey";
return urlValue;
}
Uint8List _getAndCacheDecryptedKey(
Collection collection, {
String source = "",

View File

@@ -2,7 +2,6 @@ import 'dart:convert';
import 'package:collection/collection.dart';
import 'package:ente_crypto/ente_crypto.dart';
import "package:fast_base58/fast_base58.dart";
import 'package:flutter/material.dart';
import "package:flutter/services.dart";
import "package:photos/generated/l10n.dart";
@@ -54,10 +53,8 @@ class _ManageSharedLinkWidgetState extends State<ManageSharedLinkWidget> {
widget.collection!.publicURLs.firstOrNull?.passwordEnabled ?? false;
final enteColorScheme = getEnteColorScheme(context);
final PublicURL url = widget.collection!.publicURLs.firstOrNull!;
final String collectionKey = Base58Encode(
CollectionsService.instance.getCollectionKey(widget.collection!.id),
);
final String urlValue = "${url.url}#$collectionKey";
final String urlValue =
CollectionsService.instance.getPublicUrl(widget.collection!);
return Scaffold(
appBar: AppBar(
elevation: 0,

View File

@@ -1,5 +1,4 @@
import 'package:collection/collection.dart';
import 'package:fast_base58/fast_base58.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import "package:photos/extensions/user_extension.dart";
@@ -170,11 +169,8 @@ class _ShareCollectionPageState extends State<ShareCollectionPage> {
),
);
} else {
final String collectionKey = Base58Encode(
CollectionsService.instance.getCollectionKey(widget.collection.id),
);
final String url =
"${widget.collection.publicURLs.first.url}#$collectionKey";
CollectionsService.instance.getPublicUrl(widget.collection);
children.addAll(
[
MenuItemWidget(

View File

@@ -1,7 +1,5 @@
import "dart:async";
import 'package:fast_base58/fast_base58.dart';
import "package:flutter/cupertino.dart";
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import "package:local_auth/local_auth.dart";
@@ -851,12 +849,9 @@ class _FileSelectionActionsWidgetState
Future<void> _sendLink() async {
if (_cachedCollectionForSharedLink != null) {
final String collectionKey = Base58Encode(
CollectionsService.instance
.getCollectionKey(_cachedCollectionForSharedLink!.id),
final String url = CollectionsService.instance.getPublicUrl(
_cachedCollectionForSharedLink!,
);
final String url =
"${_cachedCollectionForSharedLink!.publicURLs.first.url}#$collectionKey";
unawaited(Clipboard.setData(ClipboardData(text: url)));
await shareImageAndUrl(
placeholderBytes,

View File

@@ -1,4 +1,3 @@
import "package:fast_base58/fast_base58.dart";
import "package:flutter/material.dart";
import "package:photos/generated/l10n.dart";
import "package:photos/models/collection/collection.dart";
@@ -45,10 +44,7 @@ class _EmptyAlbumStateNewState extends State<CollectPhotosBottomButtons> {
}
Future<void> _shareAlbumUrl() async {
final String collectionKey = Base58Encode(
CollectionsService.instance.getCollectionKey(widget.c.id),
);
final String url = "${widget.c.publicURLs.first.url}#$collectionKey";
final String url = CollectionsService.instance.getPublicUrl(widget.c);
await shareAlbumLinkWithPlaceholder(
context,
widget.c,