kopia lustrzana https://gitlab.com/mysocialportal/relatica
Make reshare unavailable on posts that are reshared from you already.
rodzic
03a7ebc788
commit
4ceaabe02b
|
@ -85,7 +85,8 @@ class EntryManagerService extends ChangeNotifier {
|
|||
return Result.ok(true);
|
||||
}
|
||||
|
||||
FutureResult<bool, ExecError> createNewStatus(String text, {
|
||||
FutureResult<bool, ExecError> createNewStatus(
|
||||
String text, {
|
||||
String spoilerText = '',
|
||||
String inReplyToId = '',
|
||||
required NewEntryMediaItems mediaItems,
|
||||
|
@ -125,8 +126,7 @@ class EntryManagerService extends ChangeNotifier {
|
|||
await MediaUploadAttachmentHelper.getUploadableImageBytes(
|
||||
item.localFilePath,
|
||||
).andThenAsync(
|
||||
(imageBytes) async =>
|
||||
await client.uploadFileAsAttachment(
|
||||
(imageBytes) async => await client.uploadFileAsAttachment(
|
||||
bytes: imageBytes,
|
||||
album: mediaItems.albumName,
|
||||
description: item.description,
|
||||
|
@ -200,9 +200,7 @@ class EntryManagerService extends ChangeNotifier {
|
|||
final updatedPosts =
|
||||
await processNewItems(itemsResult.value, auth.currentId, client);
|
||||
_logger.finest(() {
|
||||
final postCount = _entries.values
|
||||
.where((e) => e.parentId.isEmpty)
|
||||
.length;
|
||||
final postCount = _entries.values.where((e) => e.parentId.isEmpty).length;
|
||||
final commentCount = _entries.length - postCount;
|
||||
final orphanCount = _entries.values
|
||||
.where(
|
||||
|
@ -213,9 +211,11 @@ class EntryManagerService extends ChangeNotifier {
|
|||
return Result.ok(updatedPosts);
|
||||
}
|
||||
|
||||
Future<List<EntryTreeItem>> processNewItems(List<TimelineEntry> items,
|
||||
Future<List<EntryTreeItem>> processNewItems(
|
||||
List<TimelineEntry> items,
|
||||
String currentId,
|
||||
FriendicaClient? client,) async {
|
||||
FriendicaClient? client,
|
||||
) async {
|
||||
items.sort((i1, i2) => int.parse(i1.id).compareTo(int.parse(i2.id)));
|
||||
final allSeenItems = [...items];
|
||||
for (final item in items) {
|
||||
|
@ -242,9 +242,7 @@ class EntryManagerService extends ChangeNotifier {
|
|||
await client
|
||||
?.getPostOrComment(o.id, fullContext: true)
|
||||
.andThenSuccessAsync((items) async {
|
||||
final parentPostId = items
|
||||
.firstWhere((e) => e.parentId.isEmpty)
|
||||
.id;
|
||||
final parentPostId = items.firstWhere((e) => e.parentId.isEmpty).id;
|
||||
_parentPostIds[o.id] = parentPostId;
|
||||
allSeenItems.addAll(items);
|
||||
for (final item in items) {
|
||||
|
@ -282,9 +280,7 @@ class EntryManagerService extends ChangeNotifier {
|
|||
.toList();
|
||||
|
||||
_logger.finest(
|
||||
'Completed processing new items ${client == null
|
||||
? 'sub level'
|
||||
: 'top level'}');
|
||||
'Completed processing new items ${client == null ? 'sub level' : 'top level'}');
|
||||
return updatedPosts;
|
||||
}
|
||||
|
||||
|
@ -300,8 +296,7 @@ class EntryManagerService extends ChangeNotifier {
|
|||
final client = clientResult.value;
|
||||
final result = await client
|
||||
.getPostOrComment(id, fullContext: false)
|
||||
.andThenAsync((rootItems) async =>
|
||||
await client
|
||||
.andThenAsync((rootItems) async => await client
|
||||
.getPostOrComment(id, fullContext: true)
|
||||
.andThenSuccessAsync(
|
||||
(contextItems) async => [...rootItems, ...contextItems]))
|
||||
|
@ -377,8 +372,8 @@ class EntryManagerService extends ChangeNotifier {
|
|||
return Result.ok(true);
|
||||
}
|
||||
|
||||
FutureResult<EntryTreeItem, ExecError> toggleFavorited(String id,
|
||||
bool newStatus) async {
|
||||
FutureResult<EntryTreeItem, ExecError> toggleFavorited(
|
||||
String id, bool newStatus) async {
|
||||
final auth = getIt<AuthService>();
|
||||
final clientResult = auth.currentClient;
|
||||
if (clientResult.isFailure) {
|
||||
|
@ -407,7 +402,8 @@ class EntryManagerService extends ChangeNotifier {
|
|||
childenEntries[c.id] = _nodeToTreeItem(c, currentId);
|
||||
}
|
||||
final entry = _entries[node.id]!;
|
||||
final isMine = entry.authorId == currentId;
|
||||
final isMine =
|
||||
entry.authorId == currentId || entry.reshareAuthorId == currentId;
|
||||
return EntryTreeItem(
|
||||
_entries[node.id]!,
|
||||
isMine: isMine,
|
||||
|
|
Ładowanie…
Reference in New Issue