public IActionResult Pull([FromBody] PullRequest req) { try { return(this.PolicyService.InvokePolicy.Execute( () => { using (var session = this.DatabaseService.Database.CreateSession()) { var user = session.GetUser(); var response = new PullResponseBuilder(user); if (req.P != null) { foreach (var p in req.P) { var pull = p.Load(session); if (pull.Object != null) { var pullInstantiate = new PullInstantiate(session, pull, user, this.FetchService); pullInstantiate.Execute(response); } else { var pullExtent = new PullExtent(session, pull, user, this.ExtentService, this.FetchService); pullExtent.Execute(response); } } } return this.Ok(response.Build()); } })); } catch (Exception e) { this.Logger.LogError(e, "Exception"); return(this.StatusCode(500, e.Message)); } }
public ActionResult <PullResponse> Post([FromBody] PullRequest request) => this.PolicyService.InvokePolicy.Execute( () => { try { using (var session = this.DatabaseService.Database.CreateSession()) { var acls = new WorkspaceAccessControlLists(session.GetUser()); var response = new PullResponseBuilder(acls, this.TreeService); if (request.p != null) { foreach (var p in request.p) { var pull = p.Load(session); if (pull.Object != null) { var pullInstantiate = new PullInstantiate(session, pull, acls, this.FetchService); pullInstantiate.Execute(response); } else { var pullExtent = new PullExtent(session, pull, acls, this.ExtentService, this.FetchService); pullExtent.Execute(response); } } } return(response.Build()); } } catch (Exception e) { this.Logger.LogError(e, "PullRequest {request}", request); throw; } });
public Task <PullResponse> Pull(PullRequest request) { try { using (var session = this.Database.CreateSession()) { var acls = new WorkspaceAccessControlLists(session.GetUser()); var response = new PullResponseBuilder(acls, this.TreeService); if (request.P != null) { foreach (var p in request.P) { var pull = p.Load(session); if (pull.Object != null) { var pullInstantiate = new PullInstantiate(session, pull, acls, this.FetchService); pullInstantiate.Execute(response); } else { var pullExtent = new PullExtent(session, pull, acls, this.ExtentService, this.FetchService); pullExtent.Execute(response); } } } return(Task.FromResult(response.Build())); } } catch (Exception e) { this.Logger.LogError(e, "PullRequest {request}", request); throw; } }