Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions Source/ARTChannel.m
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,13 @@ - (void)getMessageWithSerial:(NSString *)serial
NSAssert(false, @"-[%@ %@] should always be overriden.", self.class, NSStringFromSelector(_cmd));
}

- (void)getMessageVersionsWithSerial:(NSString *)serial
params:(nullable NSDictionary<NSString *, ARTStringifiable *> *)params
wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents
callback:(ARTPaginatedMessagesCallback)callback {
NSAssert(false, @"-[%@ %@] should always be overriden.", self.class, NSStringFromSelector(_cmd));
}

- (void)getMessageVersionsWithSerial:(NSString *)serial
wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents
callback:(ARTPaginatedMessagesCallback)callback {
Expand Down
13 changes: 10 additions & 3 deletions Source/ARTRealtimeChannel.m
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,12 @@ - (void)getMessageWithSerial:(NSString *)serial callback:(ARTMessageErrorCallbac
[_internal getMessageWithSerial:serial wrapperSDKAgents:nil callback:callback];
}

- (void)getMessageVersionsWithSerial:(NSString *)serial params:(nullable NSDictionary<NSString *, ARTStringifiable *> *)params callback:(ARTPaginatedMessagesCallback)callback {
[_internal getMessageVersionsWithSerial:serial params:params wrapperSDKAgents:nil callback:callback];
}

- (void)getMessageVersionsWithSerial:(NSString *)serial callback:(ARTPaginatedMessagesCallback)callback {
[_internal getMessageVersionsWithSerial:serial wrapperSDKAgents:nil callback:callback];
[_internal getMessageVersionsWithSerial:serial params:nil wrapperSDKAgents:nil callback:callback];
}

- (void)history:(ARTPaginatedMessagesCallback)callback {
Expand Down Expand Up @@ -487,8 +491,11 @@ - (void)getMessageWithSerial:(NSString *)serial wrapperSDKAgents:(nullable NSStr
[self.restChannel getMessageWithSerial:serial wrapperSDKAgents:wrapperSDKAgents callback:callback];
}

- (void)getMessageVersionsWithSerial:(NSString *)serial wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTPaginatedMessagesCallback)callback {
[self.restChannel getMessageVersionsWithSerial:serial wrapperSDKAgents:wrapperSDKAgents callback:callback];
- (void)getMessageVersionsWithSerial:(NSString *)serial
params:(nullable NSDictionary<NSString *, ARTStringifiable *> *)params
wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents
callback:(ARTPaginatedMessagesCallback)callback {
[self.restChannel getMessageVersionsWithSerial:serial params:params wrapperSDKAgents:wrapperSDKAgents callback:callback];
}

- (void)publishProtocolMessage:(ARTProtocolMessage *)pm callback:(ARTStatusCallback)cb {
Expand Down
15 changes: 14 additions & 1 deletion Source/ARTRestChannel.m
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,12 @@ - (void)getMessageWithSerial:(NSString *)serial callback:(ARTMessageErrorCallbac
[_internal getMessageWithSerial:serial wrapperSDKAgents:nil callback:callback];
}

- (void)getMessageVersionsWithSerial:(NSString *)serial params:(nullable NSDictionary<NSString *, ARTStringifiable *> *)params callback:(ARTPaginatedMessagesCallback)callback {
[_internal getMessageVersionsWithSerial:serial params:params wrapperSDKAgents:nil callback:callback];
}

- (void)getMessageVersionsWithSerial:(NSString *)serial callback:(ARTPaginatedMessagesCallback)callback {
[_internal getMessageVersionsWithSerial:serial wrapperSDKAgents:nil callback:callback];
[_internal getMessageVersionsWithSerial:serial params:nil wrapperSDKAgents:nil callback:callback];
}

- (void)history:(ARTPaginatedMessagesCallback)callback {
Expand Down Expand Up @@ -624,6 +628,7 @@ - (void)getMessageWithSerial:(NSString *)serial

// RSL14
- (void)getMessageVersionsWithSerial:(NSString *)serial
params:(nullable NSDictionary<NSString *, ARTStringifiable *> *)params
wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents
callback:(ARTPaginatedMessagesCallback)callback {
if (callback) {
Expand All @@ -639,6 +644,14 @@ - (void)getMessageVersionsWithSerial:(NSString *)serial
NSString *messagePath = [NSString stringWithFormat:@"messages/%@/versions", [serial stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]]];
NSURLComponents *components = [[NSURLComponents alloc] initWithURL:[NSURL URLWithString:[self->_basePath stringByAppendingPathComponent:messagePath]] resolvingAgainstBaseURL:YES];

if (params && params.count > 0) {
NSMutableArray<NSURLQueryItem *> *queryItems = [NSMutableArray array];
for (NSString *key in params) {
[queryItems addObject:[NSURLQueryItem queryItemWithName:key value:params[key].stringValue]];
}
components.queryItems = queryItems;
}

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[components URL]];
request.HTTPMethod = @"GET";

Expand Down
8 changes: 8 additions & 0 deletions Source/ARTWrapperSDKProxyRealtimeChannel.m
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,16 @@ - (void)deleteMessage:(nonnull ARTMessage *)message operation:(nullable ARTMessa
callback:callback];
}

- (void)getMessageVersionsWithSerial:(nonnull NSString *)serial params:(nullable NSDictionary<NSString *, ARTStringifiable *> *)params callback:(nonnull ARTPaginatedMessagesCallback)callback {
[self.underlyingChannel.internal getMessageVersionsWithSerial:serial
params:params
wrapperSDKAgents:self.proxyOptions.agents
callback:callback];
}

- (void)getMessageVersionsWithSerial:(nonnull NSString *)serial callback:(nonnull ARTPaginatedMessagesCallback)callback {
[self.underlyingChannel.internal getMessageVersionsWithSerial:serial
params:nil
wrapperSDKAgents:self.proxyOptions.agents
callback:callback];
}
Expand Down
5 changes: 5 additions & 0 deletions Source/PrivateHeaders/Ably/ARTChannel.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,11 @@ NS_SWIFT_SENDABLE
wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents
callback:(ARTMessageErrorCallback)callback;

- (void)getMessageVersionsWithSerial:(NSString *)serial
params:(nullable NSDictionary<NSString *, ARTStringifiable *> *)params
wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents
callback:(ARTPaginatedMessagesCallback)callback;

- (void)getMessageVersionsWithSerial:(NSString *)serial
wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents
callback:(ARTPaginatedMessagesCallback)callback;
Expand Down
11 changes: 11 additions & 0 deletions Source/include/Ably/ARTChannelProtocol.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,17 @@ NS_ASSUME_NONNULL_BEGIN
*/
- (void)getMessageWithSerial:(NSString *)serial callback:(ARTMessageErrorCallback)callback;

/**
* Retrieves all historical versions of a specific message, ordered by version. This includes the original message and all subsequent updates or delete operations.
*
* @param serial A serial identifier string of the message whose versions are to be retrieved.
* @param params Optional parameters sent as part of the query string.
* @param callback A callback which, upon success, will contain an `ARTPaginatedResult` object containing an array of `ARTMessage` objects representing all versions of the message. Upon failure, the callback will contain an `ARTErrorInfo` object which explains the error.
*/
- (void)getMessageVersionsWithSerial:(NSString *)serial
params:(nullable NSDictionary<NSString *, ARTStringifiable *> *)params
callback:(ARTPaginatedMessagesCallback)callback;

/**
* Retrieves all historical versions of a specific message, ordered by version. This includes the original message and all subsequent updates or delete operations.
*
Expand Down
Loading