public HttpResponseMessage Create([FromBody] AceObject request) { if (WorldDb.SaveObject(request)) { return(Request.CreateResponse(HttpStatusCode.OK, new { message = "changes saved." })); } else { return(Request.CreateResponse(HttpStatusCode.InternalServerError, new { message = "Unable to save changes." })); } }
public HttpResponseMessage Get(uint weenieId) { var weenie = WorldDb.GetObject(weenieId); if (weenie != null) { return(Request.CreateResponse(HttpStatusCode.OK, weenie)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound)); } }
public HttpResponseMessage RedeployDatabase(RedeployRequest request) { // Only allow one request at a time: if (Database.Redeploy.RedeploymentActive) { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "A Redeployment already in progress!")); } //TODO: Fix this hack, make the redeploy request object work properly: bool forceDeploy = false; //Request.RequestUri.Query.ToLowerInvariant().Contains("request.force=true") ? true : false; SourceSelectionOption dataSource = Request.RequestUri.Query.ToLowerInvariant().Contains("request.dataSource=") ? SourceSelectionOption.LocalDisk : SourceSelectionOption.Github; DatabaseSelectionOption databaseName = DatabaseSelectionOption.None; foreach (KeyValuePair <string, string> query in Request.GetQueryNameValuePairs()) { if (query.Key.ToLowerInvariant() == "request.sourceselection") { Enum.TryParse <SourceSelectionOption>(query.Value, out dataSource); } if (query.Key.ToLowerInvariant() == "request.databaseselection") { // try to parse selection enum Enum.TryParse <DatabaseSelectionOption>(query.Value, out databaseName); } if (query.Key.ToLowerInvariant() == "request.force") { // try to parse selection enum if (Convert.ToBoolean(query.Value)) { forceDeploy = true; } } } // Check to determine if a userModified flag has been set in the database var modifiedFlagPresent = WorldDb.UserModifiedFlagPresent(); if (!modifiedFlagPresent || forceDeploy) { string errorResult = Database.Redeploy.RedeployDatabaseFromSource(databaseName, dataSource); if (errorResult == null) { return(Request.CreateResponse(HttpStatusCode.OK, "Database(s) have been redeployed and should now be completely reset. Please remember to recreate your user accounts if you reset the authentication database!")); } else { return(Request.CreateResponse(HttpStatusCode.InternalServerError, $"There was an error durring your request. {errorResult}")); } } return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "You have unexported changes in your database. Please specify 'force = true' in your request.")); }
public HttpResponseMessage Update([FromBody] AceObject request) { // force this to true, as we're explicitly doing an update request.HasEverBeenSavedToDatabase = true; if (WorldDb.ReplaceObject(request)) { return(Request.CreateResponse(HttpStatusCode.OK, new { message = "changes saved." })); } else { return(Request.CreateResponse(HttpStatusCode.InternalServerError, new { message = "Unable to save changes." })); } }
public HttpResponseMessage Create([FromBody] Content content) { if (string.IsNullOrWhiteSpace(content?.ContentName)) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new { message = "ContentName is required" })); } try { WorldDb.CreateContent(content); return(Request.CreateResponse(HttpStatusCode.OK, new { message = "creation successful." })); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, new { message = ex.ToString() })); } }
public HttpResponseMessage Delete(Guid?contentGuid) { if (contentGuid == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new { message = "cannot delete with a null ContentGuid." })); } try { WorldDb.DeleteContent(contentGuid.Value); return(Request.CreateResponse(HttpStatusCode.OK, new { message = "Delete successful." })); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, new { message = ex.ToString() })); } }
public HttpResponseMessage GetAll() { return(Request.CreateResponse(HttpStatusCode.OK, WorldDb.GetAllContent())); }
public HttpResponseMessage Search([FromBody] SearchWeeniesCriteria request) { return(Request.CreateResponse(HttpStatusCode.OK, WorldDb.SearchWeenies(request))); }