mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-23 04:15:26 +00:00
Improve JSON responses from server
This commit is contained in:
@@ -814,6 +814,7 @@ static NSArray *infoKeys = nil;
|
||||
NSMutableArray *errorMsg;
|
||||
NSDictionary *messageSubmissions;
|
||||
SOGoSystemDefaults *dd;
|
||||
id <WOActionResults> response;
|
||||
|
||||
int messages_count, recipients_count;
|
||||
|
||||
@@ -878,6 +879,8 @@ static NSArray *infoKeys = nil;
|
||||
[errorMsg componentsJoinedByString: @"\n"],
|
||||
@"message",
|
||||
nil];
|
||||
response = [self responseWithStatus: 405
|
||||
andJSONRepresentation: jsonResponse];
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -886,6 +889,8 @@ static NSArray *infoKeys = nil;
|
||||
[co sourceFolder], @"sourceFolder",
|
||||
[NSNumber numberWithInt: [co sourceIMAP4ID]], @"sourceMessageID",
|
||||
nil];
|
||||
response = [self responseWithStatus: 200
|
||||
andJSONRepresentation: jsonResponse];
|
||||
|
||||
recipients_count += [[co allRecipients] count];
|
||||
messages_count += 1;
|
||||
@@ -898,8 +903,7 @@ static NSArray *infoKeys = nil;
|
||||
}
|
||||
}
|
||||
|
||||
return [self responseWithStatus: 200
|
||||
andString: [jsonResponse jsonRepresentation]];
|
||||
return response;
|
||||
}
|
||||
|
||||
@end /* UIxMailEditor */
|
||||
|
||||
@@ -2180,12 +2180,12 @@ static NSArray *reminderValues = nil;
|
||||
if (![account updateFilters])
|
||||
{
|
||||
results = (id <WOActionResults>) [self responseWithStatus: 502
|
||||
andJSONRepresentation: [NSDictionary dictionaryWithObjectsAndKeys: @"Connection error", @"textStatus", nil]];
|
||||
andJSONRepresentation: [NSDictionary dictionaryWithObjectsAndKeys: @"Connection error", @"message", nil]];
|
||||
}
|
||||
}
|
||||
else
|
||||
results = (id <WOActionResults>) [self responseWithStatus: 503
|
||||
andJSONRepresentation: [NSDictionary dictionaryWithObjectsAndKeys: @"Service temporarily unavailable", @"textStatus", nil]];
|
||||
andJSONRepresentation: [NSDictionary dictionaryWithObjectsAndKeys: @"Service temporarily unavailable", @"message", nil]];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
SoSecurityManager *sm;
|
||||
iCalEvent *event;
|
||||
NSCalendarDate *start, *newStart, *end, *newEnd;
|
||||
NSDictionary *params;
|
||||
NSDictionary *params, *jsonResponse;
|
||||
NSTimeInterval newDuration;
|
||||
SOGoUserDefaults *ud;
|
||||
NSNumber *daysDelta, *startDelta, *durationDelta;
|
||||
@@ -138,24 +138,26 @@
|
||||
inContext: context])
|
||||
ex = [co moveToFolder: targetCalendar];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
if (ex)
|
||||
{
|
||||
NSDictionary *jsonResponse;
|
||||
jsonResponse = [NSDictionary dictionaryWithObjectsAndKeys:
|
||||
[ex reason], @"message",
|
||||
nil];
|
||||
response = [self responseWithStatus: 403
|
||||
andString: [jsonResponse jsonRepresentation]];
|
||||
andJSONRepresentation: jsonResponse];
|
||||
}
|
||||
else
|
||||
response = [self responseWith204];
|
||||
}
|
||||
else
|
||||
response = (WOResponse *) [NSException exceptionWithHTTPStatus: 400
|
||||
reason: @"missing 'days', 'start' and/or 'duration' parameters"];
|
||||
{
|
||||
jsonResponse = [NSDictionary dictionaryWithObjectsAndKeys:
|
||||
@"missing 'days', 'start' and/or 'duration' parameters", @"message",
|
||||
nil];
|
||||
response = [self responseWithStatus: 400
|
||||
andJSONRepresentation: jsonResponse];
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user