public IActionResult Create(PrivateSpace entity) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _privateSpaceservice.Create(entity); return(CreatedAtRoute("GetPrivatespace", new { id = entity.Id.ToString() }, entity)); }
public IActionResult UpdateByUserId(string id, PrivateSpace entity) { var user = _privateSpaceservice.GetByUserId(id); if (user == null) { return(NotFound()); } _privateSpaceservice.Updatebyid(id, entity); return(CreatedAtRoute("GetPrivatespace", new { id = entity.Id.ToString() }, entity)); }
public ActionResult <PrivateSpace> GetByUserId(string id) { var user = _privateSpaceservice.GetByUserId(id); if (user == null) { PrivateSpace obj = new PrivateSpace(); obj.UserId = "No-such-user"; return(obj); } return(user); }
private void Listen() { if (Proxy == null) { Proxy = new Publisher(PrivateSpace, Space, ConcealedSpace); } Proxy.Running = true; while (true) { var request = Space.Get("Request", typeof(HubRequestType), typeof(string), typeof(string)); var identifier = request.Get <string>(2); var requestType = request.Get <HubRequestType>(1); var secret = request.Get <string>(3); if (requestType == HubRequestType.EstablishSession) { var t = PrivateSpace.QueryP("SessionSecret", typeof(string), identifier); if (t != null) { PrivateSpace.GetAll("SessionSecret", typeof(string), identifier); } using (var me = new ECDiffieHellmanCng()) { var herKey = CngKey.Import(Convert.FromBase64String(secret), CngKeyBlobFormat.EccPublicBlob); var ourKey = Convert.ToBase64String(me.DeriveKeyMaterial(herKey)); PrivateSpace.Put("SessionSecret", ourKey, identifier); var myKey = Convert.ToBase64String(me.PublicKey.ToByteArray()); Space.Put("Response", identifier, HubRequestType.EstablishSession, myKey); } Proxy.SyncIncomingUser(identifier); } else if (requestType == HubRequestType.TerminateSession) { PrivateSpace.GetP("SessionSecret", typeof(string), identifier); } } }
public void Update(string id, PrivateSpace entity) { _privateSpace.ReplaceOne(user => user.Id == id, entity); }
public PrivateSpace Create(PrivateSpace entity) { _privateSpace.InsertOne(entity); return(entity); }