// // MBIMConversationListOperation.m // kordophoned // // Created by James Magahern on 11/13/18. // Copyright © 2018 James Magahern. All rights reserved. // #import "MBIMConversationListOperation.h" #import "MBIMHTTPUtilities.h" #import @implementation MBIMConversationListOperation + (void)load { [super load]; } + (NSString *)endpointName { return @"conversations"; } - (void)main { NSArray *chats = [sChatRegistry allExistingChats]; NSMutableArray *conversations = [NSMutableArray array]; for (IMChat *chat in chats) { NSMutableDictionary *chatDict = [NSMutableDictionary dictionary]; chatDict[@"guid"] = [chat guid]; chatDict[@"displayName"] = [chat displayName]; chatDict[@"date"] = MBIMWebServerFormatRFC822([chat lastFinishedMessageDate]); IMMessage *lastMessage = [chat lastMessage]; if (lastMessage) { chatDict[@"lastMessagePreview"] = [[lastMessage text] string]; } NSMutableArray *participantStrings = [NSMutableArray array]; for (IMHandle *participantHandle in chat.participants) { NSString *participantString = [participantHandle displayNameForChat:chat]; if (participantString) { [participantStrings addObject:participantString]; } } chatDict[@"participantDisplayNames"] = participantStrings; [conversations addObject:chatDict]; } MBIMJSONDataResponse *response = [MBIMJSONDataResponse responseWithJSONObject:conversations]; self.serverCompletionBlock(response); } @end