1 //
2 // TWTRUser.h
3 //
4 // Copyright (c) 2015 Twitter. All rights reserved.
5 //
6
7 #import <Foundation/Foundation.h>
8 #import <TwitterKit/TWTRJSONConvertible.h>
9
10 NS_ASSUME_NONNULL_BEGIN
11
12 /**
13 * Represents a user on Twitter.
14 */
15 @interface TWTRUser : NSObject <NSCoding, NSCopying, TWTRJSONConvertible>
16
17 # pragma mark - Properties
18
19 /**
20 * The ID of the Twitter User.
21 */
22 @property (nonatomic, copy, readonly) NSString *userID;
23
24 /**
25 * The user's name as it appears on their profile.
26 *
27 * @warning This can be modified by the user at any time.
28 */
29 @property (nonatomic, copy, readonly) NSString *name;
30
31 /**
32 * The user's username on Twitter.
33 *
34 * @warning This can be modified by the user at any time.
35 */
36 @property (nonatomic, copy, readonly) NSString *screenName;
37
38 /**
39 * Whether the user has been verified by Twitter.
40 */
41 @property (nonatomic, readonly) BOOL isVerified;
42
43 /**
44 * Whether the user is protected.
45 */
46 @property (nonatomic, readonly) BOOL isProtected;
47
48 /**
49 * The HTTPS URL of the user's profile image.
50 */
51 @property (nonatomic, copy, readonly) NSString *profileImageURL;
52
53 /**
54 * The URL of a smaller version of the user's profile image.
55 */
56 @property (nonatomic, copy, readonly) NSString *profileImageMiniURL;
57
58 /**
59 * The URL of a larger version of the user's profile image.
60 */
61 @property (nonatomic, copy, readonly) NSString *profileImageLargeURL;
62
63 /**
64 * The formatted version of the user's `screenName` with the `@` sign for display purposes.
65 */
66 @property (nonatomic, copy, readonly) NSString *formattedScreenName;
67
68 /**
69 * Returns the URL for deeplinking to the the user's profile.
70 */
71 @property (nonatomic, copy, readonly) NSURL *profileURL;
72
73 @end
74
75 NS_ASSUME_NONNULL_END