Implement sending logic

pull/405/head
Niels Andriesse 3 years ago
parent b3f45455e5
commit e2715d1ee9

@ -1105,10 +1105,26 @@ CGFloat kIconViewLength = 24;
- (void)inviteUsersToOpenGroup
{
SNUserSelectionVC *userSelectionVC = [[SNUserSelectionVC alloc] initWithTitle:@"vc_conversation_settings_invite_button_title"
NSString *threadID = self.thread.uniqueId;
SNOpenGroupV2 *openGroup = [LKStorage.shared getV2OpenGroupForThreadID:threadID];
NSString *url = [NSString stringWithFormat:@"%@/%@?public_key=%@", openGroup.server, openGroup.room, openGroup.publicKey];
SNUserSelectionVC *userSelectionVC = [[SNUserSelectionVC alloc] initWithTitle:NSLocalizedString(@"vc_conversation_settings_invite_button_title", @"")
excluding:[NSSet new]
completion:^(NSSet<NSString *> *selectedUsers) {
for (NSString *user in selectedUsers) {
SNVisibleMessage *message = [SNVisibleMessage new];
message.sentTimestamp = [NSDate millisecondTimestamp];
message.openGroupInvitation = [[SNOpenGroupInvitation alloc] initWithName:openGroup.name url:url];
TSOutgoingMessage *tsMessage = [TSOutgoingMessage from:message associatedWith:self.thread];
[LKStorage writeWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
[tsMessage saveWithTransaction:transaction];
}];
[LKStorage writeWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
TSContactThread *thread = [TSContactThread getThreadWithContactSessionID:user transaction:transaction];
[SNMessageSender send:message inThread:thread usingTransaction:transaction];
[self.navigationController popViewControllerAnimated:YES];
}];
}
}];
[self.navigationController pushViewController:userSelectionVC animated:YES];
}

@ -7,7 +7,8 @@ public extension VisibleMessage {
public var name: String?
public var url: String?
internal init(name: String, url: String) {
@objc
public init(name: String, url: String) {
self.name = name
self.url = url
}

@ -4,8 +4,8 @@ public final class OpenGroupV2 : NSObject, NSCoding { // NSObject/NSCoding confo
@objc public let server: String
@objc public let room: String
public let id: String
public let name: String
public let publicKey: String
@objc public let name: String
@objc public let publicKey: String
/// The ID with which the image can be retrieved from the server.
public let imageID: String?

Loading…
Cancel
Save