Ejemplo n.º 1
0
        private void hello(RequestHandlerArgument arg)
        {
            string  executingAssemblyName = Framework.ExecutingAssembly.GetName().Name;
            JArray  services   = new JArray();
            JObject jsonResult = new JObject()
            {
                { "ROSE", "Rapid Online Service Engine" },
                { "Framework", new JObject()
                  {
                      { "AEGISFramework version", Framework.AegisVersion.ToString(3) },
                      { $"{Settings.EngineName} version", Settings.EngineVersion.ToString(3) },
                      { $"{executingAssemblyName} version", Framework.ExecutingVersion.ToString(3) }
                  } },
                { "Service Modules", services }
            };


            //  등록된 Assembly의 버전정보
            var dict = new Dictionary <string, string>();

            foreach (var item in Starter.ServiceAssemblies)
            {
                dict.Add(item.Key, item.Value.GetName().Version.ToString(3));
            }

            //  JObject 형식으로 변환
            var token = JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(dict));

            services.Add(token);


            arg.Response(jsonResult);
        }
Ejemplo n.º 2
0
        private void delete(RequestHandlerArgument arg)
        {
            var executor = new Executer(arg.MessageBody);
            var result   = executor.Execute();

            arg.Response(result);
        }
Ejemplo n.º 3
0
        private void dropCollection(RequestHandlerArgument arg)
        {
            var json       = JsonConverter.Parse(arg.MessageBody);
            var collection = Collection.GetCollection((string)json.GetProperty("collection").Value);

            collection.ParentScheme.DeleteCollection(collection.Name);
            arg.Response(null);
        }
Ejemplo n.º 4
0
        private void dropScheme(RequestHandlerArgument arg)
        {
            var    json       = JsonConverter.Parse(arg.MessageBody);
            string schemeName = (string)json.GetProperty("scheme").Value;

            SchemeCatalog.DeleteScheme(schemeName);
            arg.Response(null);
        }
Ejemplo n.º 5
0
        private void addIndex(RequestHandlerArgument arg)
        {
            var    json       = JsonConverter.Parse(arg.MessageBody);
            var    collection = Collection.GetCollection((string)json.GetProperty("collection").Value);
            string indexKey   = (string)json.GetProperty("indexKey").Value;

            collection.AddIndex(indexKey);
            arg.Response(null);
        }
Ejemplo n.º 6
0
        private void schemeList(RequestHandlerArgument arg)
        {
            JObject json     = JObject.Parse(arg.MessageBody);
            var     response = new JArray();


            SchemeCatalog.GetSchemesInfo(ref response);
            arg.Response(response);
        }
Ejemplo n.º 7
0
        private void collectionList(RequestHandlerArgument arg)
        {
            JObject json       = JObject.Parse(arg.MessageBody);
            string  schemeName = (string)json.GetProperty("scheme").Value;
            var     scheme     = SchemeCatalog.GetScheme(schemeName);
            var     response   = new JArray();


            scheme.GetCollectionsInfo(ref response);
            arg.Response(response);
        }
Ejemplo n.º 8
0
        private void sequenceNumber(RequestHandlerArgument arg)
        {
            JToken json         = JToken.Parse(arg.MessageBody);
            var    scheme       = SchemeCatalog.GetScheme("rose");
            var    collection   = scheme.GetCollection("sequenceNumbers");
            string sequenceName = (string)json.GetProperty("name");
            long   increase     = (long)(json.GetProperty("condition/increase", false)?.Value ?? 1);
            var    result       = sequenceNumber(sequenceName, increase);


            arg.Response(result);
        }
Ejemplo n.º 9
0
        private void createCollection(RequestHandlerArgument arg)
        {
            var json       = JsonConverter.Parse(arg.MessageBody);
            var collection = (string)json.GetProperty("collection").Value;

            string[] target = collection.Split('.');
            if (target.Count() != 2)
            {
                throw new AegisException(Engine.RoseResult.InvalidArgument, "Collection must be in {scheme_name}.{collection_name} format.");
            }

            bool justInCache = ((string)json.GetProperty("justInCache", false)?.Value ?? "false").ToBoolean();
            var  scheme      = SchemeCatalog.GetScheme(target[0].Trim());

            scheme.CreateCollection(target[1].Trim(), justInCache);
            arg.Response(null);
        }
Ejemplo n.º 10
0
 private void random(RequestHandlerArgument arg)
 {
     arg.Response(random());
 }
Ejemplo n.º 11
0
 private void now(RequestHandlerArgument arg)
 {
     arg.Response(now());
 }