Exemplo n.º 1
0
 public NeuronModule(INeuronQueryService neuronQueryService) : base("/cortex/neurons")
 {
     // use this from clients instead of neurongraphclient since latter is eventually consistent
     // returned version can be used by client to check if change is applicable
     this.Get("/{neuronId}", async(parameters) => new TextResponse(JsonConvert.SerializeObject(
                                                                       await neuronQueryService.GetNeuronById(parameters.neuronId))
                                                                   )
              );
 }
Exemplo n.º 2
0
        public NeuronModule(INeuronQueryService queryService, IEventStoreApplicationService eventStoreApplicationService) : base("/cortex/neurons")
        {
            this.Get("", async(parameters) =>
            {
                return(await NeuronModule.ProcessRequest(async() =>
                {
                    var nv = await queryService.GetNeurons(NeuronModule.ParseNeuronQueryOrEmpty(this.Request.Url.Query), NeuronModule.GetUserId(this.Request));
                    return new TextResponse(JsonConvert.SerializeObject(nv));
                }
                                                         ));
            }
                     );

            this.Get("/{neuronid:guid}", async(parameters) =>
            {
                return(await NeuronModule.ProcessRequest(async() =>
                {
                    var nv = await queryService.GetNeuronById(parameters.neuronid, NeuronModule.ParseNeuronQueryOrEmpty(this.Request.Url.Query), NeuronModule.GetUserId(this.Request));
                    return new TextResponse(JsonConvert.SerializeObject(nv));
                }
                                                         ));
            }
                     );

            this.Get("/{centralid:guid}/relatives", async(parameters) =>
            {
                return(await NeuronModule.ProcessRequest(async() =>
                {
                    var nv = await queryService.GetNeurons(
                        parameters.centralid,
                        NeuronModule.ParseNeuronQueryOrEmpty(this.Request.Url.Query),
                        NeuronModule.GetUserId(this.Request)
                        );

                    return new TextResponse(JsonConvert.SerializeObject(nv));
                }
                                                         ));
            }
                     );

            this.Get("/{centralid:guid}/relatives/{neuronid:guid}", async(parameters) =>
            {
                return(await NeuronModule.ProcessRequest(async() =>
                {
                    var nv = await queryService.GetNeuronById(
                        parameters.neuronid,
                        parameters.centralid,
                        NeuronModule.ParseNeuronQueryOrEmpty(this.Request.Url.Query),
                        NeuronModule.GetUserId(this.Request)
                        );
                    return new TextResponse(JsonConvert.SerializeObject(nv));
                }
                                                         ));
            }
                     );

            this.Get("/{aggregateid:guid}/events", async(parameters) =>
            {
                return(await NeuronModule.ProcessRequest(async() =>
                {
                    // TODO: validate if guid represents a neuron

                    var nv = await eventStoreApplicationService.Get(
                        parameters.aggregateid,
                        0
                        );

                    return new TextResponse(JsonConvert.SerializeObject(nv));
                }
                                                         ));
            }
                     );
        }
Exemplo n.º 3
0
        public GraphModule(INeuronQueryService neuronQueryService, ITerminalQueryService terminalQueryService) : base("/cortex/graph")
        {
            this.Get("/neurons", async(parameters) =>
            {
                return(await GraphModule.ProcessRequest(async() =>
                {
                    var nv = await neuronQueryService.GetNeurons(GraphModule.ExtractQuery(this.Request.Query));
                    return new TextResponse(JsonConvert.SerializeObject(nv));
                }
                                                        ));
            }
                     );

            this.Get("/neurons/{neuronid:guid}", async(parameters) =>
            {
                return(await GraphModule.ProcessRequest(async() =>
                {
                    var nv = await neuronQueryService.GetNeuronById(
                        parameters.neuronid,
                        GraphModule.ExtractQuery(this.Request.Query)
                        );
                    return new TextResponse(JsonConvert.SerializeObject(nv));
                }
                                                        ));
            }
                     );

            this.Get("/neurons/{centralid:guid}/relatives", async(parameters) =>
            {
                return(await GraphModule.ProcessRequest(async() =>
                {
                    var nv = await neuronQueryService.GetNeurons(
                        parameters.centralid,
                        GraphModule.ExtractQuery(this.Request.Query)
                        );

                    return new TextResponse(JsonConvert.SerializeObject(nv));
                }
                                                        ));
            }
                     );

            this.Get("/neurons/{centralid:guid}/relatives/{neuronid:guid}", async(parameters) =>
            {
                return(await GraphModule.ProcessRequest(async() =>
                {
                    var nv = await neuronQueryService.GetNeuronById(
                        parameters.neuronid,
                        parameters.centralid,
                        GraphModule.ExtractQuery(this.Request.Query)
                        );
                    return new TextResponse(JsonConvert.SerializeObject(nv));
                }
                                                        ));
            }
                     );

            this.Get("/terminals/{terminalid:guid}", async(parameters) =>
            {
                return(await GraphModule.ProcessRequest(async() =>
                {
                    var nv = await terminalQueryService.GetTerminalById(
                        parameters.terminalid,
                        GraphModule.ExtractQuery(this.Request.Query)
                        );
                    return new TextResponse(JsonConvert.SerializeObject(nv));
                }
                                                        ));
            }
                     );
        }