//
//  Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//

#import "OWSContactOffersInteraction.h"

NS_ASSUME_NONNULL_BEGIN

@implementation OWSContactOffersInteraction

- (instancetype)initWithCoder:(NSCoder *)coder
{
    return [super initWithCoder:coder];
}

- (instancetype)initContactOffersWithTimestamp:(uint64_t)timestamp
                                        thread:(TSThread *)thread
                                 hasBlockOffer:(BOOL)hasBlockOffer
                         hasAddToContactsOffer:(BOOL)hasAddToContactsOffer
                 hasAddToProfileWhitelistOffer:(BOOL)hasAddToProfileWhitelistOffer
                                   recipientId:(NSString *)recipientId
{
    self = [super initInteractionWithTimestamp:timestamp inThread:thread];

    if (!self) {
        return self;
    }

    _hasBlockOffer = hasBlockOffer;
    _hasAddToContactsOffer = hasAddToContactsOffer;
    _hasAddToProfileWhitelistOffer = hasAddToProfileWhitelistOffer;
    OWSAssert(recipientId.length > 0);
    _recipientId = recipientId;

    return self;
}

- (BOOL)shouldUseReceiptDateForSorting
{
    // Use the timestamp, not the "received at" timestamp to sort,
    // since we're creating these interactions after the fact and back-dating them.
    return NO;
}

- (BOOL)isDynamicInteraction
{
    return YES;
}

- (OWSInteractionType)interactionType
{
    return OWSInteractionType_Offer;
}

@end

NS_ASSUME_NONNULL_END
