88
99#import < Foundation/Foundation.h>
1010
11+ @class LCObject;
1112@class LCUser;
1213
1314NS_ASSUME_NONNULL_BEGIN
1415
1516@interface LCLeaderboardStatistic : NSObject
1617
17- @property (nonatomic , readonly , nullable ) LCUser *user;
1818@property (nonatomic , readonly , nullable ) NSString *name;
19- @property (nonatomic , readonly ) double value;
2019@property (nonatomic , readonly ) NSInteger version;
20+ @property (nonatomic , readonly ) double value;
21+ @property (nonatomic , readonly , nullable ) LCUser *user;
22+ @property (nonatomic , readonly , nullable ) LCObject *object;
23+ @property (nonatomic , readonly , nullable ) NSString *entity;
2124
2225@end
2326
2427@interface LCLeaderboardRanking : NSObject
2528
29+ @property (nonatomic , readonly , nullable ) NSString *statisticName;
2630@property (nonatomic , readonly ) NSInteger rank;
2731@property (nonatomic , readonly ) double value;
32+ @property (nonatomic , readonly , nullable ) NSArray <LCLeaderboardStatistic *> *includedStatistics;
2833@property (nonatomic , readonly , nullable ) LCUser *user;
29- @property (nonatomic , readonly , nullable ) NSString *statisticName ;
30- @property (nonatomic , readonly ) NSArray <LCLeaderboardStatistic *> *includedStatistics ;
34+ @property (nonatomic , readonly , nullable ) LCObject *object ;
35+ @property (nonatomic , readonly , nullable ) NSString *entity ;
3136
3237@end
3338
34- @interface LCLeaderboardUserQueryOption : NSObject
39+ @interface LCLeaderboardQueryOption : NSObject
3540
3641@property (nonatomic , nullable ) NSArray <NSString *> *selectKeys;
3742@property (nonatomic , nullable ) NSArray <NSString *> *includeKeys;
@@ -44,35 +49,71 @@ NS_ASSUME_NONNULL_BEGIN
4449@property (nonatomic ) NSInteger skip;
4550@property (nonatomic ) NSInteger limit;
4651@property (nonatomic , nullable ) NSArray <NSString *> *includeStatistics;
47- @property (nonatomic , nullable ) NSNumber * version;
52+ @property (nonatomic ) NSInteger version;
4853@property (nonatomic ) BOOL returnCount;
4954
5055+ (instancetype )new NS_UNAVAILABLE;
5156- (instancetype )init NS_UNAVAILABLE;
5257
5358- (instancetype )initWithStatisticName : (NSString *)statisticName ;
5459
55- + (void )updateStatistics : (NSDictionary *)statistics
56- callback : (void (^)(NSArray <LCLeaderboardStatistic *> * _Nullable statistics, NSError * _Nullable error))callback ;
60+ // MARK: Update & Delete Statistics
61+
62+ + (void )updateCurrentUserStatistics : (NSDictionary *)statistics
63+ callback : (void (^)(NSArray <LCLeaderboardStatistic *> * _Nullable statistics, NSError * _Nullable error))callback ;
64+
65+ + (void )deleteCurrentUserStatistics : (NSArray <NSString *> *)statisticNames
66+ callback : (void (^)(BOOL succeeded, NSError * _Nullable error))callback ;
67+
68+ // MARK: Get One Statistics
5769
5870+ (void )getStatisticsWithUserId : (NSString *)userId
5971 statisticNames : (NSArray <NSString *> * _Nullable)statisticNames
60- option : (LCLeaderboardUserQueryOption * _Nullable)option
72+ option : (LCLeaderboardQueryOption * _Nullable)option
73+ callback : (void (^)(NSArray <LCLeaderboardStatistic *> * _Nullable statistics, NSError * _Nullable error))callback ;
74+
75+ + (void )getStatisticsWithObjectId : (NSString *)objectId
76+ statisticNames : (NSArray <NSString *> * _Nullable)statisticNames
77+ option : (LCLeaderboardQueryOption * _Nullable)option
78+ callback : (void (^)(NSArray <LCLeaderboardStatistic *> * _Nullable statistics, NSError * _Nullable error))callback ;
79+
80+ + (void )getStatisticsWithEntity : (NSString *)entity
81+ statisticNames : (NSArray <NSString *> * _Nullable)statisticNames
6182 callback : (void (^)(NSArray <LCLeaderboardStatistic *> * _Nullable statistics, NSError * _Nullable error))callback ;
6283
63- + (void )deleteStatistics : (NSArray <NSString *> *)statisticNames
64- callback : (void (^)(BOOL succeeded, NSError * _Nullable error))callback ;
84+ // MARK: Get Group Statistics
6585
6686- (void )getStatisticsWithUserIds : (NSArray <NSString *> *)userIds
67- option : (LCLeaderboardUserQueryOption * _Nullable)option
87+ option : (LCLeaderboardQueryOption * _Nullable)option
6888 callback : (void (^)(NSArray <LCLeaderboardStatistic *> * _Nullable statistics, NSError * _Nullable error))callback ;
6989
70- - (void )getResultsWithOption : (LCLeaderboardUserQueryOption * _Nullable)option
71- callback : (void (^)(NSArray <LCLeaderboardRanking *> * _Nullable rankings, NSInteger count, NSError * _Nullable error))callback ;
90+ - (void )getStatisticsWithObjectIds : (NSArray <NSString *> *)objectIds
91+ option : (LCLeaderboardQueryOption * _Nullable)option
92+ callback : (void (^)(NSArray <LCLeaderboardStatistic *> * _Nullable statistics, NSError * _Nullable error))callback ;
93+
94+ - (void )getStatisticsWithEntities : (NSArray <NSString *> *)entities
95+ callback : (void (^)(NSArray <LCLeaderboardStatistic *> * _Nullable statistics, NSError * _Nullable error))callback ;
96+
97+ // MARK: Get Rankings
98+
99+ - (void )getUserResultsWithOption : (LCLeaderboardQueryOption * _Nullable)option
100+ callback : (void (^)(NSArray <LCLeaderboardRanking *> * _Nullable rankings, NSInteger count, NSError * _Nullable error))callback ;
101+
102+ - (void )getUserResultsAroundUser : (NSString * _Nullable)userId
103+ option : (LCLeaderboardQueryOption * _Nullable)option
104+ callback : (void (^)(NSArray <LCLeaderboardRanking *> * _Nullable rankings, NSInteger count, NSError * _Nullable error))callback ;
105+
106+ - (void )getObjectResultsWithOption : (LCLeaderboardQueryOption * _Nullable)option
107+ callback : (void (^)(NSArray <LCLeaderboardRanking *> * _Nullable rankings, NSInteger count, NSError * _Nullable error))callback ;
108+
109+ - (void )getObjectResultsAroundObject : (NSString * _Nullable)objectId
110+ option : (LCLeaderboardQueryOption * _Nullable)option
111+ callback : (void (^)(NSArray <LCLeaderboardRanking *> * _Nullable rankings, NSInteger count, NSError * _Nullable error))callback ;
112+
113+ - (void )getEntityResultsWithCallback : (void (^)(NSArray <LCLeaderboardRanking *> * _Nullable rankings, NSInteger count, NSError * _Nullable error))callback ;
72114
73- - (void )getResultsAroundUser : (NSString * _Nullable)userId
74- option : (LCLeaderboardUserQueryOption * _Nullable)option
75- callback : (void (^)(NSArray <LCLeaderboardRanking *> * _Nullable rankings, NSInteger count, NSError * _Nullable error))callback ;
115+ - (void )getEntityResultsAroundEntity : (NSString * _Nullable)entity
116+ callback : (void (^)(NSArray <LCLeaderboardRanking *> * _Nullable rankings, NSInteger count, NSError * _Nullable error))callback ;
76117
77118@end
78119
0 commit comments