mirror of https://github.com/oxen-io/session-ios
Closes #315
parent
478110dc86
commit
5ccbc4131b
@ -0,0 +1,15 @@
|
||||
//
|
||||
// TSStorageManager+messageIDs.h
|
||||
// Signal
|
||||
//
|
||||
// Created by Frederic Jacobs on 24/01/15.
|
||||
// Copyright (c) 2015 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TSStorageManager.h"
|
||||
|
||||
@interface TSStorageManager (messageIDs)
|
||||
|
||||
+ (NSString*)getAndIncrementMessageIdWithTransaction:(YapDatabaseReadWriteTransaction*)transaction;
|
||||
|
||||
@end
|
@ -0,0 +1,36 @@
|
||||
//
|
||||
// TSStorageManager+messageIDs.m
|
||||
// Signal
|
||||
//
|
||||
// Created by Frederic Jacobs on 24/01/15.
|
||||
// Copyright (c) 2015 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TSStorageManager+messageIDs.h"
|
||||
|
||||
#define TSStorageParametersCollection @"TSStorageParametersCollection"
|
||||
#define TSMessagesLatestId @"TSMessagesLatestId"
|
||||
|
||||
@implementation TSStorageManager (messageIDs)
|
||||
|
||||
+ (NSString*)getAndIncrementMessageIdWithTransaction:(YapDatabaseReadWriteTransaction*)transaction {
|
||||
NSString *messageId = [transaction objectForKey:TSMessagesLatestId inCollection:TSStorageParametersCollection];
|
||||
if (!messageId) {
|
||||
messageId = @"0";
|
||||
}
|
||||
|
||||
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
|
||||
numberFormatter.numberStyle = NSNumberFormatterDecimalStyle;
|
||||
NSNumber *myNumber = [numberFormatter numberFromString:messageId];
|
||||
|
||||
unsigned long long nextMessageId = [myNumber unsignedLongLongValue];
|
||||
nextMessageId ++;
|
||||
|
||||
NSString *nextMessageIdString = [[NSNumber numberWithUnsignedLongLong:nextMessageId] stringValue];
|
||||
|
||||
[transaction setObject:nextMessageIdString forKey:TSMessagesLatestId inCollection:TSStorageParametersCollection];
|
||||
|
||||
return messageId;
|
||||
}
|
||||
|
||||
@end
|
Loading…
Reference in New Issue