From d97b5ff0a6903db35b1dd37411d73307a83dadaa Mon Sep 17 00:00:00 2001 From: Farzad Date: Wed, 7 Apr 2021 19:18:56 +0430 Subject: [PATCH] Change some storage parameters --- Hicore/Storage/DataStorage.cs | 85 +++++++++--------- .../Hicore.csproj.FileListAbsolute.txt | 5 ++ Hicore/obj/Release/Hicore.dll | Bin 116224 -> 116224 bytes 3 files changed, 47 insertions(+), 43 deletions(-) diff --git a/Hicore/Storage/DataStorage.cs b/Hicore/Storage/DataStorage.cs index fb960a8..f7c5da5 100644 --- a/Hicore/Storage/DataStorage.cs +++ b/Hicore/Storage/DataStorage.cs @@ -10,13 +10,13 @@ public class DataStorage private HicoreSocket _socket; private string storageEvent = "storage"; - private string createClassEvent = "createClass"; + private string addObjectEvent = "addObject"; private string updateClassEvent = "updateClass"; private string incrementValueEvent = "incrementValue"; - private string catchDataEvent = "catchData"; + private string fetchDataEvent = "fetchData"; private string deleteObjectEvent = "deleteObject"; - private Action OnCrateClassResult; + private Action OnAddObjectResult; private Action OnUpdateClassResult; private Action OnIncrementValueResult; private Action OnFetchDataResult; @@ -28,9 +28,9 @@ public DataStorage(HicoreSocket socket) this._socket = socket; - _socket.On(createClassEvent, res => + _socket.On(addObjectEvent, res => { - OnCrateClassResult(new Result(res.Text)); + OnAddObjectResult(new Result(res.Text)); }); _socket.On(updateClassEvent, res => @@ -43,7 +43,7 @@ public DataStorage(HicoreSocket socket) OnIncrementValueResult(new Result(res.Text)); }); - _socket.On(catchDataEvent, res => + _socket.On(fetchDataEvent, res => { OnFetchDataResult(new Result(res.Text)); }); @@ -54,37 +54,25 @@ public DataStorage(HicoreSocket socket) }); } - public void CreateClass(DataObject data, Action onResult) + public void AddObject(DataObject data, Action onResult) { JSONObject json = new JSONObject(); - json.Add("type", StorageType.create.ToString()); - json.Add("class" , data._class); - json.Add("data", data.getData()); // send as json + json.Add("type", StorageType.add.ToString()); + json.Add("collection" , data._collection); + json.Add("data", data.GetData()); // send as json json.Add("token", Client.Token); _socket.Emit(storageEvent, json.ToString()); - OnCrateClassResult = (res) => { onResult(res); }; - } - - public void UpdateClass(DataObject data, Action onResult) - { - JSONObject json = new JSONObject(); - json.Add("type", StorageType.update.ToString()); - json.Add("class", data._class); - json.Add("data", data.getData()); // send as json - json.Add("token", Client.Token); - - _socket.Emit(storageEvent, json.ToString()); - - OnUpdateClassResult = (res) => { onResult(res); }; + OnAddObjectResult = (res) => { onResult(res); }; } + public void IncrementValue(DataObject data, Action onResult) { JSONObject json = new JSONObject(); json.Add("type", StorageType.increment.ToString()); - json.Add("class", data._class); - json.Add("data", data.getData()); + json.Add("collection", data._collection); + json.Add("data", data.GetData()); json.Add("token", Client.Token); _socket.Emit(storageEvent, json.ToString()); @@ -92,11 +80,11 @@ public void IncrementValue(DataObject data, Action onResult) OnIncrementValueResult = (res) => { onResult(res); }; } - public void FetchData(string className, Action onResult) + public void FetchData(string collectionName, Action onResult) { JSONObject json = new JSONObject(); - json.Add("type", StorageType.get.ToString()); - json.Add("class", className); + json.Add("type", StorageType.fetch.ToString()); + json.Add("collection", collectionName); json.Add("token", Client.Token); _socket.Emit(storageEvent, json.ToString()); @@ -105,11 +93,12 @@ public void FetchData(string className, Action onResult) } - public void DeleteObject(string className, Action onResult) + public void DeleteObject(string collectionName,List keys, Action onResult) { JSONObject json = new JSONObject(); json.Add("type", StorageType.delete.ToString()); - json.Add("class", className); + json.Add("collection", collectionName); + json.Add("keys", ConvertListToJsonObject(keys)); json.Add("token", Client.Token); _socket.Emit(storageEvent, json.ToString()); @@ -118,14 +107,24 @@ public void DeleteObject(string className, Action onResult) } + public JSONObject ConvertListToJsonObject(List keys) + { + JSONObject json = new JSONObject(); + + foreach (String key in keys) + { + json.Add(key, 1); + } + + return json; + } private enum StorageType { - create, - update, + add, increment, - get, + fetch, delete, } } @@ -134,18 +133,18 @@ private enum StorageType public class DataObject { private Dictionary m_data = new Dictionary(); - internal string _class; + internal string _collection; private string key; private JSONNode value; - public DataObject(string className) + public DataObject(string collectionName) { - this._class = className; + this._collection = collectionName; } - public void add(string key, JSONNode value) + public void Add(string key, JSONNode value) { if (m_data.ContainsKey(key)) @@ -158,7 +157,7 @@ public void add(string key, JSONNode value) } } - public void increment(string key , int value) + public void Increment(string key , int value) { if (m_data.ContainsKey(key)) { @@ -172,7 +171,7 @@ public void increment(string key , int value) - public JSONObject getData() + public JSONObject GetData() { JSONObject json = new JSONObject(); @@ -183,14 +182,14 @@ public JSONObject getData() return json; } - - public DataObject setKey(string key) + + public DataObject SetKey(string key) { this.key = key; return this; } - public DataObject setValue(JSONNode value) + public DataObject SetValue(JSONNode value) { this.value = value; return this; diff --git a/Hicore/obj/Release/Hicore.csproj.FileListAbsolute.txt b/Hicore/obj/Release/Hicore.csproj.FileListAbsolute.txt index be02267..7e572cb 100644 --- a/Hicore/obj/Release/Hicore.csproj.FileListAbsolute.txt +++ b/Hicore/obj/Release/Hicore.csproj.FileListAbsolute.txt @@ -7,3 +7,8 @@ C:\Users\Farzad\Documents\Projects\C#\Hicore\Hicore\obj\Release\Hicore.dll C:\Users\Farzad\Documents\Projects\C#\Hicore\Hicore\obj\Release\Hicore.pdb C:\Users\Farzad\Documents\Projects\C#\Hicore\Unity\Assets\Hicore\Plugins\Hicore.dll C:\Users\Farzad\Documents\Projects\C#\Hicore\Unity\Assets\Hicore\Plugins\Hicore.pdb +C:\Users\Farzad\Documents\Projects\GitHub\hicore-unity\Hicore\obj\Release\Hicore.csprojAssemblyReference.cache +C:\Users\Farzad\Documents\Projects\GitHub\hicore-unity\Hicore\obj\Release\Hicore.csproj.CoreCompileInputs.cache +C:\Users\Farzad\Documents\Projects\GitHub\hicore-unity\Hicore\obj\Release\Hicore.csproj.CopyComplete +C:\Users\Farzad\Documents\Projects\GitHub\hicore-unity\Hicore\obj\Release\Hicore.dll +C:\Users\Farzad\Documents\Projects\GitHub\hicore-unity\Hicore\obj\Release\Hicore.pdb diff --git a/Hicore/obj/Release/Hicore.dll b/Hicore/obj/Release/Hicore.dll index f8943e8a64ba4175de14f22ff772e744a70df6cc..792daa3b60f2dd46c66413e91b073ed1a91a5040 100644 GIT binary patch delta 44482 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 aviJ?TBJIz}^Dd=haysvTJR{eaYySi82qKaI