Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions library/Source/API/methods/VKApiConst.h
Original file line number Diff line number Diff line change
Expand Up @@ -121,3 +121,7 @@ typedef NS_ENUM(NSInteger, VKProgressType) {
VKProgressTypeDownload
};

extern NSString *const VK_API_DOMAIN;
extern NSString *const VK_API_FILTER;
extern NSString *const VK_API_RANDOM_ID;

5 changes: 5 additions & 0 deletions library/Source/API/methods/VKApiConst.m
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,8 @@

//Events
NSString *const VKCaptchaAnsweredEvent = @"VKCaptchaAnsweredEvent";

NSString *const VK_API_DOMAIN = @"domain";
NSString *const VK_API_FILTER = @"filter";
NSString *const VK_API_RANDOM_ID = @"random_id";

4 changes: 4 additions & 0 deletions library/Source/API/methods/VKApiFriends.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,8 @@ Builds requests for API.users part
- (VKRequest *)get;

- (VKRequest *)get:(NSDictionary *)params;

- (VKRequest *)getWithCount:(NSInteger)count
offset:(NSInteger)offset
fields:(NSArray *)fields;
@end
14 changes: 14 additions & 0 deletions library/Source/API/methods/VKApiFriends.m
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,18 @@ - (VKRequest *)get:(NSDictionary *)params {
return [self prepareRequestWithMethodName:@"get" parameters:params modelClass:[VKUsersArray class]];
}

- (VKRequest *)getWithCount:(NSInteger)count
offset:(NSInteger)offset
fields:(NSArray *)fields {
NSString *mStringFields = [fields componentsJoinedByString:@","];
return [self prepareRequestWithMethodName:@"get"
parameters:
@{
VK_API_COUNT : @(count),
VK_API_OFFSET : @(offset),
VK_API_FIELDS : mStringFields
}
modelClass:[VKApiFriends class]];
}

@end
29 changes: 29 additions & 0 deletions library/Source/API/methods/VKApiWall.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,14 @@

#import "VKApiBase.h"

typedef enum {
VKSdkWallFilterAll = 0,
VKSdkWallFilterSuggests = 1,
VKSdkWallFilterPostponed = 2,
VKSdkWallFilterOwner = 3,
VKSdkWallFilterOthers = 4
} VKSdkWallFilter;

/**
Builds requests for API.wall part
*/
Expand All @@ -32,4 +40,25 @@ Builds requests for API.wall part
@return Request for execution
*/
- (VKRequest *)post:(NSDictionary *)params;


/**
https://vk.com/dev/wall.get
@param params Use parameters from description with VK_API prefix
@return Request for execution
*/
- (VKRequest *)getByOwnerId:(NSInteger)ownerId
domain:(NSString *)domain
offset:(NSInteger)offset
count:(NSInteger)count
filter:(VKSdkWallFilter)filter
extended:(BOOL)extended
fields:(NSArray *)fields;


- (VKRequest *)getByOwnerId:(NSInteger)ownerId
domain:(NSString *)domain
offset:(NSInteger)offset
count:(NSInteger)count;

@end
60 changes: 60 additions & 0 deletions library/Source/API/methods/VKApiWall.m
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,64 @@ - (VKRequest *)post:(NSDictionary *)params {
return [self prepareRequestWithMethodName:@"post" parameters:params];
}

- (VKRequest *)getByOwnerId:(NSInteger)ownerId
domain:(NSString *)domain
offset:(NSInteger)offset
count:(NSInteger)count {
return [self getByOwnerId:ownerId
domain:domain
offset:offset
count:count
filter:VKSdkWallFilterAll
extended:NO
fields:@[]];
}

- (VKRequest *)getByOwnerId:(NSInteger)ownerId
domain:(NSString *)domain
offset:(NSInteger)offset
count:(NSInteger)count
filter:(VKSdkWallFilter)filter
extended:(BOOL)extended
fields:(NSArray *)fields {
return [self prepareRequestWithMethodName:@"get"
parameters:
@{
VK_API_OWNER_ID : @(ownerId),
VK_API_DOMAIN : domain,
VK_API_COUNT : @(count),
VK_API_OFFSET : @(offset),
VK_API_FILTER : [self filterNameForEnum:filter],
VK_API_EXTENDED : @(extended),
VK_API_FIELDS : fields
}
modelClass:[VKDocsArray class]];
}


- (NSString *)filterNameForEnum:(VKSdkWallFilter)filter {
NSString *result = nil;
switch (filter) {
case VKSdkWallFilterAll:
result = @"all";
break;
case VKSdkWallFilterSuggests:
result = @"suggests";
break;
case VKSdkWallFilterOthers:
result = @"others";
break;
case VKSdkWallFilterOwner:
result = @"owner";
break;
case VKSdkWallFilterPostponed:
result = @"postponed";
break;
default:
result = @"";
break;
}
return result;
}

@end