baasday
 All Classes
BDAPIClient.h
1 //
2 // BDAPIClient.h
3 // baasday
4 //
5 // Created by Tokusei Noborio on 13/03/30.
6 // Copyright (c) 2013年 Nyampass Corporation. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import "BDListResult.h"
11 #import "BDQuery.h"
12 
13 typedef void (^BDDictionaryResultBlock)(NSDictionary *result, NSError *error);
14 typedef id (^BDContentConverter)(NSDictionary *values);
15 
16 @interface BDAPIClient : NSObject
17 
18 - (BDAPIClient *)getWithPath:(NSString *)path;
19 - (BDAPIClient *)postWithPath:(NSString *)path;
20 - (BDAPIClient *)putWithPath:(NSString *)path;
21 - (BDAPIClient *)deleteWithPath:(NSString *)path;
22 
23 - (BDAPIClient *)requestParameters:(NSDictionary *)requestParameters;
24 - (BDAPIClient *)requestJson:(NSDictionary *)dic;
25 
26 - (NSDictionary *)doRequestWithError:(NSError **)error;
27 - (void)doRequestInBackground:(BDDictionaryResultBlock)block;
28 
29 + (NSDictionary *)fetchWithPath:(NSString *)path error:(NSError **)error;
30 + (void)fetchInBackgroundWithPath:(NSString *)path block:(BDDictionaryResultBlock)block;
31 + (BDAPIClient *)apiClientForCreateWithPath:(NSString *)path values:(NSDictionary *)values;
32 + (NSDictionary *)createWithPath:(NSString *)path values:(NSDictionary *)values error:(NSError **)error;
33 + (void)createInBackgroundWithPath:(NSString *)path values:(NSDictionary *)values block:(BDDictionaryResultBlock)block;
34 + (BDAPIClient *)apiClientForFetchAllWithPath:(NSString *)path query:(BDQuery *)query;
35 + (BDListResult *)fetchAllWithPath:(NSString *)path query:(BDQuery *)query error:(NSError **)error;
36 + (BDListResult *)fetchAllWithPath:(NSString *)path query:(BDQuery *)query contentConverter:(BDContentConverter)contentConverter error:(NSError **)error;
37 + (void)fetchAllInBackgroundWithPath:(NSString *)path query:(BDQuery *)query block:(BDListResultBlock)block;
38 + (void)fetchAllInBackgroundWithPath:(NSString *)path query:(BDQuery *)query contentConverter:(BDContentConverter)contentConverter block:(BDListResultBlock)block;
39 
40 @end