Skip to content

Commit 6bd41c2

Browse files
committed
feat: leaderboard
1 parent 041b30d commit 6bd41c2

File tree

2 files changed

+269
-81
lines changed

2 files changed

+269
-81
lines changed

AVOS/Sources/Foundation/Leaderboard/LCLeaderboard.h

Lines changed: 58 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,35 @@
88

99
#import <Foundation/Foundation.h>
1010

11+
@class LCObject;
1112
@class LCUser;
1213

1314
NS_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

Comments
 (0)