diff --git a/server/AyaNova/ControllerHelpers/ApiOkResponse.cs b/server/AyaNova/ControllerHelpers/ApiOkResponse.cs index 52828a9b..a3b014d6 100644 --- a/server/AyaNova/ControllerHelpers/ApiOkResponse.cs +++ b/server/AyaNova/ControllerHelpers/ApiOkResponse.cs @@ -3,17 +3,25 @@ namespace AyaNova.Api.ControllerHelpers { - - public class ApiOkResponse + //return the response with optional readonly flag + //this exists basically for consistency and to reduce the bandwidth if not readonly which is most common + public static class ApiOkResponse { - - public object Data { get; } - public bool ReadOnly {get;} - - public ApiOkResponse(object result, bool isReadOnly) + public static object Response(object result, bool isReadOnly) { - Data = result; - ReadOnly=isReadOnly; + if (isReadOnly) + { + return new + { + Data = result, + ReadOnly = true + }; + } + else + { + return new { Data = result }; + } + } }//eoc diff --git a/server/AyaNova/Controllers/AttachmentController.cs b/server/AyaNova/Controllers/AttachmentController.cs index d1d83736..7d3d71f3 100644 --- a/server/AyaNova/Controllers/AttachmentController.cs +++ b/server/AyaNova/Controllers/AttachmentController.cs @@ -104,7 +104,7 @@ namespace AyaNova.Api.Controllers log.LogInformation("Auth retry dlkey"); }; - return Ok(new ApiOkResponse(new { dlkey = u.DlKey, expires = u.DlKeyExpire }, true)); + return Ok(ApiOkResponse.Response(new { dlkey = u.DlKey, expires = u.DlKeyExpire }, true)); } } @@ -247,7 +247,7 @@ namespace AyaNova.Api.Controllers } //Return the list of attachment ids and filenames - return Ok(new ApiOkResponse(returnList, false)); + return Ok(ApiOkResponse.Response(returnList, false)); } /// diff --git a/server/AyaNova/Controllers/AuthController.cs b/server/AyaNova/Controllers/AuthController.cs index caafcc29..dfd315c3 100644 --- a/server/AyaNova/Controllers/AuthController.cs +++ b/server/AyaNova/Controllers/AuthController.cs @@ -136,7 +136,7 @@ namespace AyaNova.Api.Controllers } - return Ok(new ApiOkResponse(new + return Ok(ApiOkResponse.Response(new { token = TestToken }, true)); @@ -210,7 +210,7 @@ namespace AyaNova.Api.Controllers //TODO: This needs to return the authorization roles of the user in the payload and it should all be in the token //and remove the issued, expires id etc so that all that is returned is an encoded token with that info in it - return Ok(new ApiOkResponse(new + return Ok(ApiOkResponse.Response(new { // ok = 1, // issued = iat, diff --git a/server/AyaNova/Controllers/AyaEnumPickListController.cs b/server/AyaNova/Controllers/AyaEnumPickListController.cs index d74ceb84..cb934664 100644 --- a/server/AyaNova/Controllers/AyaEnumPickListController.cs +++ b/server/AyaNova/Controllers/AyaEnumPickListController.cs @@ -129,7 +129,7 @@ namespace AyaNova.Api.Controllers } - return Ok(new ApiOkResponse(ReturnList, true)); + return Ok(ApiOkResponse.Response(ReturnList, true)); } @@ -154,7 +154,7 @@ namespace AyaNova.Api.Controllers ret.Add(new KeyValuePair("authorizationroles", "AyaNova user account role types")); ret.Add(new KeyValuePair("AyaType", "All AyaNova object types, use the AyaTypeController route to fetch these")); - return Ok(new ApiOkResponse(ret, true)); + return Ok(ApiOkResponse.Response(ret, true)); } diff --git a/server/AyaNova/Controllers/AyaTypeController.cs b/server/AyaNova/Controllers/AyaTypeController.cs index 4c89252a..3c5fdb73 100644 --- a/server/AyaNova/Controllers/AyaTypeController.cs +++ b/server/AyaNova/Controllers/AyaTypeController.cs @@ -70,7 +70,7 @@ namespace AyaNova.Api.Controllers } - return Ok(new ApiOkResponse(l, true)); + return Ok(ApiOkResponse.Response(l, true)); } diff --git a/server/AyaNova/Controllers/DataFilterController.cs b/server/AyaNova/Controllers/DataFilterController.cs index 01c6f60f..b23cbce2 100644 --- a/server/AyaNova/Controllers/DataFilterController.cs +++ b/server/AyaNova/Controllers/DataFilterController.cs @@ -71,7 +71,7 @@ namespace AyaNova.Api.Controllers if (o == null) return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - return Ok(new ApiOkResponse(o, !Authorized.IsAuthorizedToModify(HttpContext.Items, biz.BizType))); + return Ok(ApiOkResponse.Response(o, !Authorized.IsAuthorizedToModify(HttpContext.Items, biz.BizType))); } @@ -96,7 +96,7 @@ namespace AyaNova.Api.Controllers DataFilterBiz biz = DataFilterBiz.GetBiz(ct, HttpContext); var l = await biz.GetPickListAsync(ListKey); - return Ok(new ApiOkResponse(l, true)); + return Ok(ApiOkResponse.Response(l, true)); } @@ -142,7 +142,7 @@ namespace AyaNova.Api.Controllers else return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); } - return Ok(new ApiOkResponse(new { ConcurrencyToken = o.ConcurrencyToken }, true)); + return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); } diff --git a/server/AyaNova/Controllers/EventLogController.cs b/server/AyaNova/Controllers/EventLogController.cs index 5ca48033..ef692efc 100644 --- a/server/AyaNova/Controllers/EventLogController.cs +++ b/server/AyaNova/Controllers/EventLogController.cs @@ -67,7 +67,7 @@ namespace AyaNova.Api.Controllers } var result = await EventLogProcessor.GetLogForObject(opt, ct); - return Ok(new ApiOkResponse(result, true)); + return Ok(ApiOkResponse.Response(result, true)); } @@ -104,7 +104,7 @@ namespace AyaNova.Api.Controllers var result = await EventLogProcessor.GetLogForUser(opt, ct); - return Ok(new ApiOkResponse(result, true)); + return Ok(ApiOkResponse.Response(result, true)); } diff --git a/server/AyaNova/Controllers/FormCustomController.cs b/server/AyaNova/Controllers/FormCustomController.cs index 8fc08531..4b121379 100644 --- a/server/AyaNova/Controllers/FormCustomController.cs +++ b/server/AyaNova/Controllers/FormCustomController.cs @@ -87,7 +87,7 @@ namespace AyaNova.Api.Controllers } } - return Ok(new ApiOkResponse(o, !Authorized.IsAuthorizedToModify(HttpContext.Items, biz.BizType))); + return Ok(ApiOkResponse.Response(o, !Authorized.IsAuthorizedToModify(HttpContext.Items, biz.BizType))); } @@ -117,7 +117,7 @@ namespace AyaNova.Api.Controllers if (FormAvailableFields.IsValidFormKey(formkey)) { - return Ok(new ApiOkResponse(FormAvailableFields.FormFields(formkey), true)); + return Ok(ApiOkResponse.Response(FormAvailableFields.FormFields(formkey), true)); } else { @@ -145,7 +145,7 @@ namespace AyaNova.Api.Controllers if (!ModelState.IsValid) return BadRequest(new ApiErrorResponse(ModelState)); - return Ok(new ApiOkResponse(AyDataType.ValidCustomFieldTypes, true)); + return Ok(ApiOkResponse.Response(AyDataType.ValidCustomFieldTypes, true)); } @@ -169,7 +169,7 @@ namespace AyaNova.Api.Controllers if (!ModelState.IsValid) return BadRequest(new ApiErrorResponse(ModelState)); - return Ok(new ApiOkResponse(FormAvailableFields.AvailableFormKeys, true)); + return Ok(ApiOkResponse.Response(FormAvailableFields.AvailableFormKeys, true)); } @@ -215,7 +215,7 @@ namespace AyaNova.Api.Controllers else return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); } - return Ok(new ApiOkResponse(new { ConcurrencyToken = o.ConcurrencyToken }, true)); + return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); } diff --git a/server/AyaNova/Controllers/ImportAyaNova7Controller.cs b/server/AyaNova/Controllers/ImportAyaNova7Controller.cs index 9f6fbdc9..414880ca 100644 --- a/server/AyaNova/Controllers/ImportAyaNova7Controller.cs +++ b/server/AyaNova/Controllers/ImportAyaNova7Controller.cs @@ -138,7 +138,7 @@ namespace AyaNova.Api.Controllers } //Return the list of attachment ids and filenames - return Ok(new ApiOkResponse(returnList, true)); + return Ok(ApiOkResponse.Response(returnList, true)); } @@ -204,7 +204,7 @@ namespace AyaNova.Api.Controllers //dump file name example: ayanova.data.dump.XXX.zip List l = FileUtil.UtilityFileList("ayanova.data.dump.*.zip"); - return Ok(new ApiOkResponse(l, true)); + return Ok(ApiOkResponse.Response(l, true)); } diff --git a/server/AyaNova/Controllers/JobOperationsController.cs b/server/AyaNova/Controllers/JobOperationsController.cs index 8652eee6..5c49b2fa 100644 --- a/server/AyaNova/Controllers/JobOperationsController.cs +++ b/server/AyaNova/Controllers/JobOperationsController.cs @@ -77,7 +77,7 @@ namespace AyaNova.Api.Controllers JobOperationsBiz biz = new JobOperationsBiz(ct, UserIdFromContext.Id(HttpContext.Items), UserRolesFromContext.Roles(HttpContext.Items)); List l = await biz.GetJobListAsync(); - return Ok(new ApiOkResponse(l, true)); + return Ok(ApiOkResponse.Response(l, true)); } @@ -116,7 +116,7 @@ namespace AyaNova.Api.Controllers JobOperationsBiz biz = new JobOperationsBiz(ct, UserIdFromContext.Id(HttpContext.Items), UserRolesFromContext.Roles(HttpContext.Items)); List l = await biz.GetJobLogListAsync(gid); - return Ok(new ApiOkResponse(l, true)); + return Ok(ApiOkResponse.Response(l, true)); } diff --git a/server/AyaNova/Controllers/LicenseController.cs b/server/AyaNova/Controllers/LicenseController.cs index 241e76c9..d26027c5 100644 --- a/server/AyaNova/Controllers/LicenseController.cs +++ b/server/AyaNova/Controllers/LicenseController.cs @@ -67,7 +67,7 @@ namespace AyaNova.Api.Controllers var ret = AyaNova.Core.License.LicenseInfoAsJson; - return Ok(new ApiOkResponse(ret, true)); + return Ok(ApiOkResponse.Response(ret, true)); } @@ -129,7 +129,7 @@ namespace AyaNova.Api.Controllers //Log EventLogProcessor.LogEventToDatabase(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.License, AyaEvent.LicenseFetch), ct); - return Ok(new ApiOkResponse(ret, true)); + return Ok(ApiOkResponse.Response(ret, true)); } @@ -181,7 +181,7 @@ namespace AyaNova.Api.Controllers //Log EventLogProcessor.LogEventToDatabase(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.License, AyaEvent.LicenseTrialRequest), ct); - return Ok(new ApiOkResponse(ret, true)); + return Ok(ApiOkResponse.Response(ret, true)); } //------------------------------------------------------ diff --git a/server/AyaNova/Controllers/LocaleController.cs b/server/AyaNova/Controllers/LocaleController.cs index 5e32f07b..fd42293d 100644 --- a/server/AyaNova/Controllers/LocaleController.cs +++ b/server/AyaNova/Controllers/LocaleController.cs @@ -82,7 +82,7 @@ namespace AyaNova.Api.Controllers return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); } - return Ok(new ApiOkResponse(o, true)); + return Ok(ApiOkResponse.Response(o, true)); } @@ -106,7 +106,7 @@ namespace AyaNova.Api.Controllers LocaleBiz biz = LocaleBiz.GetBiz(ct, HttpContext); var l = await biz.GetPickListAsync(); - return Ok(new ApiOkResponse(l, true)); + return Ok(ApiOkResponse.Response(l, true)); } @@ -130,7 +130,7 @@ namespace AyaNova.Api.Controllers //LocaleBiz biz = new LocaleBiz(ct, UserIdFromContext.Id(HttpContext.Items), UserRolesFromContext.Roles(HttpContext.Items)); var l = biz.LocaleKeyCoverage(); - return Ok(new ApiOkResponse(l, true)); + return Ok(ApiOkResponse.Response(l, true)); } #endif @@ -157,7 +157,7 @@ namespace AyaNova.Api.Controllers LocaleBiz biz = LocaleBiz.GetBiz(ct, HttpContext); var l = await biz.GetSubset(inObj); - return Ok(new ApiOkResponse(l, true)); + return Ok(ApiOkResponse.Response(l, true)); } @@ -265,7 +265,7 @@ namespace AyaNova.Api.Controllers } - return Ok(new ApiOkResponse(new { ConcurrencyToken = oFromDb.ConcurrencyToken }, true)); + return Ok(ApiOkResponse.Response(new { ConcurrencyToken = oFromDb.ConcurrencyToken }, true)); } /// @@ -331,7 +331,7 @@ namespace AyaNova.Api.Controllers } } - return Ok(new ApiOkResponse(new { ConcurrencyToken = oFromDb.ConcurrencyToken }, true)); + return Ok(ApiOkResponse.Response(new { ConcurrencyToken = oFromDb.ConcurrencyToken }, true)); } diff --git a/server/AyaNova/Controllers/LogFilesController.cs b/server/AyaNova/Controllers/LogFilesController.cs index 033c6105..0a40c75e 100644 --- a/server/AyaNova/Controllers/LogFilesController.cs +++ b/server/AyaNova/Controllers/LogFilesController.cs @@ -135,7 +135,7 @@ namespace AyaNova.Api.Controllers - return Ok(new ApiOkResponse(o, true)); + return Ok(ApiOkResponse.Response(o, true)); } diff --git a/server/AyaNova/Controllers/MetricsController.cs b/server/AyaNova/Controllers/MetricsController.cs index 4dea99ef..aafe1338 100644 --- a/server/AyaNova/Controllers/MetricsController.cs +++ b/server/AyaNova/Controllers/MetricsController.cs @@ -101,7 +101,7 @@ namespace AyaNova.Api.Controllers //Log EventLogProcessor.LogEventToDatabase(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.Metrics, AyaEvent.Retrieved), ct); - return Ok(new ApiOkResponse(json, true)); + return Ok(ApiOkResponse.Response(json, true)); } /// diff --git a/server/AyaNova/Controllers/SearchController.cs b/server/AyaNova/Controllers/SearchController.cs index ff9fc509..f991e561 100644 --- a/server/AyaNova/Controllers/SearchController.cs +++ b/server/AyaNova/Controllers/SearchController.cs @@ -70,7 +70,7 @@ namespace AyaNova.Api.Controllers //Do the search var SearchResults = await Search.DoSearch(ct, UserLocaleIdFromContext.Id(HttpContext.Items), UserRolesFromContext.Roles(HttpContext.Items), searchParams); - return Ok(new ApiOkResponse(SearchResults, true)); + return Ok(ApiOkResponse.Response(SearchResults, true)); } diff --git a/server/AyaNova/Controllers/ServerStateController.cs b/server/AyaNova/Controllers/ServerStateController.cs index dbf2f2a0..b310aaf6 100644 --- a/server/AyaNova/Controllers/ServerStateController.cs +++ b/server/AyaNova/Controllers/ServerStateController.cs @@ -48,7 +48,7 @@ namespace AyaNova.Api.Controllers [HttpGet] public ActionResult Get() { - return Ok(new ApiOkResponse(new ServerStateModel() { ServerState = serverState.GetState().ToString(), Reason = serverState.Reason }, true)); + return Ok(ApiOkResponse.Response(new ServerStateModel() { ServerState = serverState.GetState().ToString(), Reason = serverState.Reason }, true)); } diff --git a/server/AyaNova/Controllers/TagListController.cs b/server/AyaNova/Controllers/TagListController.cs index 2394207c..60e069b0 100644 --- a/server/AyaNova/Controllers/TagListController.cs +++ b/server/AyaNova/Controllers/TagListController.cs @@ -55,7 +55,7 @@ namespace AyaNova.Api.Controllers return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason)); } - return Ok(new ApiOkResponse(TagUtil.PickListFiltered(ct, query),true)); + return Ok(ApiOkResponse.Response(TagUtil.PickListFiltered(ct, query),true)); } @@ -75,7 +75,7 @@ namespace AyaNova.Api.Controllers return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason)); } - return Ok(new ApiOkResponse(TagUtil.CloudListFiltered(ct, query), true)); + return Ok(ApiOkResponse.Response(TagUtil.CloudListFiltered(ct, query), true)); } @@ -99,7 +99,7 @@ namespace AyaNova.Api.Controllers // ret.Add(new KeyValuePair("authorizationroles", "AyaNova user account role types")); // ret.Add(new KeyValuePair("AyaType", "All AyaNova object types, use the AyaTypeController route to fetch these")); - // return Ok(new ApiOkResponse(ret)); + // return Ok(ApiOkResponse.Response(ret)); // } diff --git a/server/AyaNova/Controllers/UserController.cs b/server/AyaNova/Controllers/UserController.cs index 003639b5..70c65b6d 100644 --- a/server/AyaNova/Controllers/UserController.cs +++ b/server/AyaNova/Controllers/UserController.cs @@ -83,7 +83,7 @@ namespace AyaNova.Api.Controllers return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); } - return Ok(new ApiOkResponse(o, !Authorized.IsAuthorizedToModify(HttpContext.Items, biz.BizType))); + return Ok(ApiOkResponse.Response(o, !Authorized.IsAuthorizedToModify(HttpContext.Items, biz.BizType))); } @@ -240,7 +240,7 @@ namespace AyaNova.Api.Controllers return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); } } - return Ok(new ApiOkResponse(new { ConcurrencyToken = o.ConcurrencyToken }, true)); + return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); } @@ -303,7 +303,7 @@ namespace AyaNova.Api.Controllers } } - return Ok(new ApiOkResponse(new { ConcurrencyToken = o.ConcurrencyToken }, true)); + return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); } diff --git a/server/AyaNova/Controllers/UserOptionsController.cs b/server/AyaNova/Controllers/UserOptionsController.cs index ca187106..9fac3fa6 100644 --- a/server/AyaNova/Controllers/UserOptionsController.cs +++ b/server/AyaNova/Controllers/UserOptionsController.cs @@ -83,7 +83,7 @@ namespace AyaNova.Api.Controllers return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); } - return Ok(new ApiOkResponse(o, !Authorized.IsAuthorizedToModify(HttpContext.Items, biz.BizType))); + return Ok(ApiOkResponse.Response(o, !Authorized.IsAuthorizedToModify(HttpContext.Items, biz.BizType))); } @@ -148,7 +148,7 @@ namespace AyaNova.Api.Controllers } } - return Ok(new ApiOkResponse(new { ConcurrencyToken = o.ConcurrencyToken }, true)); + return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); } @@ -215,7 +215,7 @@ namespace AyaNova.Api.Controllers } } - return Ok(new ApiOkResponse(new { ConcurrencyToken = o.ConcurrencyToken }, true)); + return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); } diff --git a/server/AyaNova/Controllers/WidgetController.cs b/server/AyaNova/Controllers/WidgetController.cs index 16dd10c3..0d5a4a56 100644 --- a/server/AyaNova/Controllers/WidgetController.cs +++ b/server/AyaNova/Controllers/WidgetController.cs @@ -74,7 +74,7 @@ namespace AyaNova.Api.Controllers if (o == null) return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - return Ok(new ApiOkResponse(o, !Authorized.IsAuthorizedToModify(HttpContext.Items, biz.BizType))); + return Ok(ApiOkResponse.Response(o, !Authorized.IsAuthorizedToModify(HttpContext.Items, biz.BizType))); } @@ -200,7 +200,7 @@ namespace AyaNova.Api.Controllers else return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); } - return Ok(new ApiOkResponse(new { ConcurrencyToken = o.ConcurrencyToken }, true)); + return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); } @@ -250,7 +250,7 @@ namespace AyaNova.Api.Controllers else return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); } - return Ok(new ApiOkResponse(new { ConcurrencyToken = o.ConcurrencyToken }, true)); + return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); }