forked from loafle/openapi-generator-original
399 lines
13 KiB
Objective-C
399 lines
13 KiB
Objective-C
#import "SWGStoreApi.h"
|
|
#import "SWGFile.h"
|
|
#import "SWGQueryParamCollection.h"
|
|
#import "SWGOrder.h"
|
|
|
|
|
|
@interface SWGStoreApi ()
|
|
@property (readwrite, nonatomic, strong) NSMutableDictionary *defaultHeaders;
|
|
@end
|
|
|
|
@implementation SWGStoreApi
|
|
|
|
static NSString * basePath = @"http://petstore.swagger.io/v2";
|
|
|
|
#pragma mark - Initialize methods
|
|
|
|
- (id) init {
|
|
self = [super init];
|
|
if (self) {
|
|
self.apiClient = [SWGApiClient sharedClientFromPool:basePath];
|
|
self.defaultHeaders = [NSMutableDictionary dictionary];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (id) initWithApiClient:(SWGApiClient *)apiClient {
|
|
self = [super init];
|
|
if (self) {
|
|
if (apiClient) {
|
|
self.apiClient = apiClient;
|
|
}
|
|
else {
|
|
self.apiClient = [SWGApiClient sharedClientFromPool:basePath];
|
|
}
|
|
self.defaultHeaders = [NSMutableDictionary dictionary];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
#pragma mark -
|
|
|
|
+(SWGStoreApi*) apiWithHeader:(NSString*)headerValue key:(NSString*)key {
|
|
static SWGStoreApi* singletonAPI = nil;
|
|
|
|
if (singletonAPI == nil) {
|
|
singletonAPI = [[SWGStoreApi alloc] init];
|
|
[singletonAPI addHeader:headerValue forKey:key];
|
|
}
|
|
return singletonAPI;
|
|
}
|
|
|
|
+(void) setBasePath:(NSString*)path {
|
|
basePath = path;
|
|
}
|
|
|
|
+(NSString*) getBasePath {
|
|
return basePath;
|
|
}
|
|
|
|
-(void) addHeader:(NSString*)value forKey:(NSString*)key {
|
|
[self.defaultHeaders setValue:value forKey:key];
|
|
}
|
|
|
|
-(void) setHeaderValue:(NSString*) value
|
|
forKey:(NSString*)key {
|
|
[self.defaultHeaders setValue:value forKey:key];
|
|
}
|
|
|
|
-(unsigned long) requestQueueSize {
|
|
return [SWGApiClient requestQueueSize];
|
|
}
|
|
|
|
#pragma mark - Api Methods
|
|
|
|
///
|
|
/// Returns pet inventories by status
|
|
/// Returns a map of status codes to quantities
|
|
/// @returns NSDictionary* /* NSString, NSNumber */
|
|
///
|
|
-(NSNumber*) getInventoryWithCompletionBlock:
|
|
(void (^)(NSDictionary* /* NSString, NSNumber */ output, NSError* error))completionBlock
|
|
{
|
|
|
|
|
|
|
|
NSMutableString* requestUrl = [NSMutableString stringWithFormat:@"%@/store/inventory", basePath];
|
|
|
|
// remove format in URL if needed
|
|
if ([requestUrl rangeOfString:@".{format}"].location != NSNotFound)
|
|
[requestUrl replaceCharactersInRange: [requestUrl rangeOfString:@".{format}"] withString:@".json"];
|
|
|
|
|
|
|
|
NSMutableDictionary* queryParams = [[NSMutableDictionary alloc] init];
|
|
|
|
NSMutableDictionary* headerParams = [NSMutableDictionary dictionaryWithDictionary:self.defaultHeaders];
|
|
|
|
|
|
|
|
// HTTP header `Accept`
|
|
headerParams[@"Accept"] = [SWGApiClient selectHeaderAccept:@[@"application/json", @"application/xml"]];
|
|
if ([headerParams[@"Accept"] length] == 0) {
|
|
[headerParams removeObjectForKey:@"Accept"];
|
|
}
|
|
|
|
// response content type
|
|
NSString *responseContentType;
|
|
if ([headerParams objectForKey:@"Accept"]) {
|
|
responseContentType = [headerParams[@"Accept"] componentsSeparatedByString:@", "][0];
|
|
}
|
|
else {
|
|
responseContentType = @"";
|
|
}
|
|
|
|
// request content type
|
|
NSString *requestContentType = [SWGApiClient selectHeaderContentType:@[]];
|
|
|
|
// Authentication setting
|
|
NSArray *authSettings = @[@"api_key"];
|
|
|
|
id bodyParam = nil;
|
|
|
|
|
|
|
|
NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init];
|
|
|
|
|
|
|
|
|
|
|
|
return [self.apiClient requestWithCompletionBlock: requestUrl
|
|
method: @"GET"
|
|
queryParams: queryParams
|
|
body: bodyParam
|
|
headerParams: headerParams
|
|
authSettings: authSettings
|
|
requestContentType: requestContentType
|
|
responseContentType: responseContentType
|
|
completionBlock: ^(id data, NSError *error) {
|
|
|
|
completionBlock([self.apiClient deserialize: data class:@"NSDictionary* /* NSString, NSNumber */"], error);
|
|
}
|
|
];
|
|
}
|
|
|
|
///
|
|
/// Place an order for a pet
|
|
///
|
|
/// @param body order placed for purchasing the pet
|
|
///
|
|
/// @returns SWGOrder*
|
|
///
|
|
-(NSNumber*) placeOrderWithCompletionBlock: (SWGOrder*) body
|
|
|
|
completionHandler: (void (^)(SWGOrder* output, NSError* error))completionBlock
|
|
{
|
|
|
|
|
|
|
|
NSMutableString* requestUrl = [NSMutableString stringWithFormat:@"%@/store/order", basePath];
|
|
|
|
// remove format in URL if needed
|
|
if ([requestUrl rangeOfString:@".{format}"].location != NSNotFound)
|
|
[requestUrl replaceCharactersInRange: [requestUrl rangeOfString:@".{format}"] withString:@".json"];
|
|
|
|
|
|
|
|
NSMutableDictionary* queryParams = [[NSMutableDictionary alloc] init];
|
|
|
|
NSMutableDictionary* headerParams = [NSMutableDictionary dictionaryWithDictionary:self.defaultHeaders];
|
|
|
|
|
|
|
|
// HTTP header `Accept`
|
|
headerParams[@"Accept"] = [SWGApiClient selectHeaderAccept:@[@"application/json", @"application/xml"]];
|
|
if ([headerParams[@"Accept"] length] == 0) {
|
|
[headerParams removeObjectForKey:@"Accept"];
|
|
}
|
|
|
|
// response content type
|
|
NSString *responseContentType;
|
|
if ([headerParams objectForKey:@"Accept"]) {
|
|
responseContentType = [headerParams[@"Accept"] componentsSeparatedByString:@", "][0];
|
|
}
|
|
else {
|
|
responseContentType = @"";
|
|
}
|
|
|
|
// request content type
|
|
NSString *requestContentType = [SWGApiClient selectHeaderContentType:@[]];
|
|
|
|
// Authentication setting
|
|
NSArray *authSettings = @[];
|
|
|
|
id bodyParam = nil;
|
|
|
|
bodyParam = body;
|
|
|
|
if(bodyParam != nil && [bodyParam isKindOfClass:[NSArray class]]){
|
|
NSMutableArray *objs = [[NSMutableArray alloc] init];
|
|
for (id dict in (NSArray*)bodyParam) {
|
|
if([dict respondsToSelector:@selector(toDictionary)]) {
|
|
[objs addObject:[(SWGObject*)dict toDictionary]];
|
|
}
|
|
else{
|
|
[objs addObject:dict];
|
|
}
|
|
}
|
|
bodyParam = objs;
|
|
}
|
|
else if([bodyParam respondsToSelector:@selector(toDictionary)]) {
|
|
bodyParam = [(SWGObject*)bodyParam toDictionary];
|
|
}
|
|
|
|
|
|
|
|
|
|
return [self.apiClient requestWithCompletionBlock: requestUrl
|
|
method: @"POST"
|
|
queryParams: queryParams
|
|
body: bodyParam
|
|
headerParams: headerParams
|
|
authSettings: authSettings
|
|
requestContentType: requestContentType
|
|
responseContentType: responseContentType
|
|
completionBlock: ^(id data, NSError *error) {
|
|
|
|
completionBlock([self.apiClient deserialize: data class:@"SWGOrder*"], error);
|
|
}
|
|
];
|
|
}
|
|
|
|
///
|
|
/// Find purchase order by ID
|
|
/// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
|
/// @param orderId ID of pet that needs to be fetched
|
|
///
|
|
/// @returns SWGOrder*
|
|
///
|
|
-(NSNumber*) getOrderByIdWithCompletionBlock: (NSString*) orderId
|
|
|
|
completionHandler: (void (^)(SWGOrder* output, NSError* error))completionBlock
|
|
{
|
|
|
|
|
|
// verify the required parameter 'orderId' is set
|
|
if (orderId == nil) {
|
|
[NSException raise:@"Invalid parameter" format:@"Missing the required parameter `orderId` when calling `getOrderById`"];
|
|
}
|
|
|
|
|
|
NSMutableString* requestUrl = [NSMutableString stringWithFormat:@"%@/store/order/{orderId}", basePath];
|
|
|
|
// remove format in URL if needed
|
|
if ([requestUrl rangeOfString:@".{format}"].location != NSNotFound)
|
|
[requestUrl replaceCharactersInRange: [requestUrl rangeOfString:@".{format}"] withString:@".json"];
|
|
|
|
[requestUrl replaceCharactersInRange: [requestUrl rangeOfString:[NSString stringWithFormat:@"%@%@%@", @"{", @"orderId", @"}"]] withString: [SWGApiClient escape:orderId]];
|
|
|
|
|
|
NSMutableDictionary* queryParams = [[NSMutableDictionary alloc] init];
|
|
|
|
NSMutableDictionary* headerParams = [NSMutableDictionary dictionaryWithDictionary:self.defaultHeaders];
|
|
|
|
|
|
|
|
// HTTP header `Accept`
|
|
headerParams[@"Accept"] = [SWGApiClient selectHeaderAccept:@[@"application/json", @"application/xml"]];
|
|
if ([headerParams[@"Accept"] length] == 0) {
|
|
[headerParams removeObjectForKey:@"Accept"];
|
|
}
|
|
|
|
// response content type
|
|
NSString *responseContentType;
|
|
if ([headerParams objectForKey:@"Accept"]) {
|
|
responseContentType = [headerParams[@"Accept"] componentsSeparatedByString:@", "][0];
|
|
}
|
|
else {
|
|
responseContentType = @"";
|
|
}
|
|
|
|
// request content type
|
|
NSString *requestContentType = [SWGApiClient selectHeaderContentType:@[]];
|
|
|
|
// Authentication setting
|
|
NSArray *authSettings = @[];
|
|
|
|
id bodyParam = nil;
|
|
|
|
|
|
|
|
NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init];
|
|
|
|
|
|
|
|
|
|
|
|
return [self.apiClient requestWithCompletionBlock: requestUrl
|
|
method: @"GET"
|
|
queryParams: queryParams
|
|
body: bodyParam
|
|
headerParams: headerParams
|
|
authSettings: authSettings
|
|
requestContentType: requestContentType
|
|
responseContentType: responseContentType
|
|
completionBlock: ^(id data, NSError *error) {
|
|
|
|
completionBlock([self.apiClient deserialize: data class:@"SWGOrder*"], error);
|
|
}
|
|
];
|
|
}
|
|
|
|
///
|
|
/// Delete purchase order by ID
|
|
/// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
|
/// @param orderId ID of the order that needs to be deleted
|
|
///
|
|
/// @returns void
|
|
///
|
|
-(NSNumber*) deleteOrderWithCompletionBlock: (NSString*) orderId
|
|
|
|
|
|
completionHandler: (void (^)(NSError* error))completionBlock {
|
|
|
|
|
|
// verify the required parameter 'orderId' is set
|
|
if (orderId == nil) {
|
|
[NSException raise:@"Invalid parameter" format:@"Missing the required parameter `orderId` when calling `deleteOrder`"];
|
|
}
|
|
|
|
|
|
NSMutableString* requestUrl = [NSMutableString stringWithFormat:@"%@/store/order/{orderId}", basePath];
|
|
|
|
// remove format in URL if needed
|
|
if ([requestUrl rangeOfString:@".{format}"].location != NSNotFound)
|
|
[requestUrl replaceCharactersInRange: [requestUrl rangeOfString:@".{format}"] withString:@".json"];
|
|
|
|
[requestUrl replaceCharactersInRange: [requestUrl rangeOfString:[NSString stringWithFormat:@"%@%@%@", @"{", @"orderId", @"}"]] withString: [SWGApiClient escape:orderId]];
|
|
|
|
|
|
NSMutableDictionary* queryParams = [[NSMutableDictionary alloc] init];
|
|
|
|
NSMutableDictionary* headerParams = [NSMutableDictionary dictionaryWithDictionary:self.defaultHeaders];
|
|
|
|
|
|
|
|
// HTTP header `Accept`
|
|
headerParams[@"Accept"] = [SWGApiClient selectHeaderAccept:@[@"application/json", @"application/xml"]];
|
|
if ([headerParams[@"Accept"] length] == 0) {
|
|
[headerParams removeObjectForKey:@"Accept"];
|
|
}
|
|
|
|
// response content type
|
|
NSString *responseContentType;
|
|
if ([headerParams objectForKey:@"Accept"]) {
|
|
responseContentType = [headerParams[@"Accept"] componentsSeparatedByString:@", "][0];
|
|
}
|
|
else {
|
|
responseContentType = @"";
|
|
}
|
|
|
|
// request content type
|
|
NSString *requestContentType = [SWGApiClient selectHeaderContentType:@[]];
|
|
|
|
// Authentication setting
|
|
NSArray *authSettings = @[];
|
|
|
|
id bodyParam = nil;
|
|
|
|
|
|
|
|
NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init];
|
|
|
|
|
|
|
|
|
|
|
|
return [self.apiClient requestWithCompletionBlock: requestUrl
|
|
method: @"DELETE"
|
|
queryParams: queryParams
|
|
body: bodyParam
|
|
headerParams: headerParams
|
|
authSettings: authSettings
|
|
requestContentType: requestContentType
|
|
responseContentType: responseContentType
|
|
completionBlock: ^(id data, NSError *error) {
|
|
completionBlock(error);
|
|
|
|
}
|
|
];
|
|
}
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|