Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 42 additions & 43 deletions Hicore/Storage/DataStorage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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<Result> OnCrateClassResult;
private Action<Result> OnAddObjectResult;
private Action<Result> OnUpdateClassResult;
private Action<Result> OnIncrementValueResult;
private Action<Result> OnFetchDataResult;
Expand All @@ -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 =>
Expand All @@ -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));
});
Expand All @@ -54,49 +54,37 @@ public DataStorage(HicoreSocket socket)
});
}

public void CreateClass(DataObject data, Action<Result> onResult)
public void AddObject(DataObject data, Action<Result> 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<Result> 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<Result> 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());

OnIncrementValueResult = (res) => { onResult(res); };
}

public void FetchData(string className, Action<Result> onResult)
public void FetchData(string collectionName, Action<Result> 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());
Expand All @@ -105,11 +93,12 @@ public void FetchData(string className, Action<Result> onResult)

}

public void DeleteObject(string className, Action<Result> onResult)
public void DeleteObject(string collectionName,List<String> keys, Action<Result> 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());
Expand All @@ -118,14 +107,24 @@ public void DeleteObject(string className, Action<Result> onResult)

}

public JSONObject ConvertListToJsonObject(List<String> 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,
}
}
Expand All @@ -134,18 +133,18 @@ private enum StorageType
public class DataObject
{
private Dictionary<string, JSONNode> m_data = new Dictionary<string, JSONNode>();
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))
Expand All @@ -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))
{
Expand All @@ -172,7 +171,7 @@ public void increment(string key , int value)



public JSONObject getData()
public JSONObject GetData()
{
JSONObject json = new JSONObject();

Expand All @@ -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;
Expand Down
5 changes: 5 additions & 0 deletions Hicore/obj/Release/Hicore.csproj.FileListAbsolute.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Binary file modified Hicore/obj/Release/Hicore.dll
Binary file not shown.