1// Copyright 2018-present 650 Industries. All rights reserved. 2 3#import "EXScopedNotificationSerializer.h" 4#import "EXScopedNotificationsUtils.h" 5 6NS_ASSUME_NONNULL_BEGIN 7 8@implementation EXScopedNotificationSerializer 9 10+ (NSDictionary *)serializedNotificationResponse:(UNNotificationResponse *)response 11{ 12 NSDictionary *serializedResponse = [super serializedNotificationResponse:response]; 13 NSMutableDictionary *serializedResponseMutable = [serializedResponse mutableCopy]; 14 serializedResponseMutable[@"notification"] = [self serializedNotification:response.notification]; 15 16 return [serializedResponseMutable copy]; 17} 18 19+ (NSDictionary *)serializedNotification:(UNNotification *)notification 20{ 21 NSDictionary *serializedNotification = [super serializedNotification:notification]; 22 NSMutableDictionary *serializedNotificationMutable = [serializedNotification mutableCopy]; 23 serializedNotificationMutable[@"request"] = [self serializedNotificationRequest:notification.request]; 24 25 return [serializedNotificationMutable copy]; 26} 27 28+ (NSDictionary *)serializedNotificationContent:(UNNotificationRequest *)request 29{ 30 NSDictionary *serializedContent = [super serializedNotificationContent:request]; 31 NSMutableDictionary *serializedContentMutable = [serializedContent mutableCopy]; 32 serializedContentMutable[@"categoryIdentifier"] = request.content.categoryIdentifier ? [EXScopedNotificationsUtils getScopeAndIdentifierFromScopedIdentifier:request.content.categoryIdentifier].identifier : [NSNull null]; 33 34 return [serializedContentMutable copy]; 35} 36 37+ (NSDictionary *)serializedNotificationRequest:(UNNotificationRequest *)request 38{ 39 NSDictionary* serializedRequest = [super serializedNotificationRequest:request]; 40 NSMutableDictionary *serializedRequestMutable = [serializedRequest mutableCopy]; 41 serializedRequestMutable[@"identifier"] = [EXScopedNotificationsUtils getScopeAndIdentifierFromScopedIdentifier:request.identifier].identifier; 42 43 return [serializedRequestMutable copy]; 44} 45 46@end 47 48NS_ASSUME_NONNULL_END 49