session-ios/SessionMessagingKit/Threads/TSGroupModel.h

44 lines
1.2 KiB
Objective-C

//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <SessionUtilitiesKit/TSYapDatabaseObject.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, GroupType) {
closedGroup = 0,
openGroup = 1,
};
extern const int32_t kGroupIdLength;
@interface TSGroupModel : TSYapDatabaseObject
@property (nonatomic) NSArray<NSString *> *groupMemberIds;
@property (nonatomic) NSArray<NSString *> *groupAdminIds;
@property (nullable, readonly, nonatomic) NSString *groupName;
@property (readonly, nonatomic) NSData *groupId;
@property (nonatomic) GroupType groupType;
#if TARGET_OS_IOS
@property (nullable, nonatomic, strong) UIImage *groupImage;
- (instancetype)initWithTitle:(nullable NSString *)title
memberIds:(NSArray<NSString *> *)memberIds
image:(nullable UIImage *)image
groupId:(NSData *)groupId
groupType:(GroupType)groupType
adminIds:(NSArray<NSString *> *)adminIds;
- (BOOL)isEqual:(id)other;
- (BOOL)isEqualToGroupModel:(TSGroupModel *)model;
- (NSString *)getInfoStringAboutUpdateTo:(TSGroupModel *)model;
#endif
@end
NS_ASSUME_NONNULL_END