private async Task ProcessRegisterClientCmd(CommandHeader cmdHeader) { var clientIdBytes = await NetworkHelper.ReadBytes(_networkStream, cmdHeader.PayloadLength); var clientId = new Guid(clientIdBytes); var ret = new ServerResponseWithData <bool>(); var cl = _config.Clients.FirstOrDefault(x => x.Id == clientId); if (cl != null) { ret.Data = true; } else { _config.Clients.Add(new RegisteredClient { Id = clientId, }); _config.Store(); ret.Data = true; } await CommandHelper.WriteCommandResponse(_networkStream, Commands.RegisterClientCmd, ret); }
private async Task ProcessGetClientEndpointsCmd(CommandHeader cmdHeader) { var clientIdBytes = await NetworkHelper.ReadBytes(_networkStream, cmdHeader.PayloadLength); var clientId = new Guid(clientIdBytes); var ret = new ServerResponseWithData <List <ClientFolderEndpoint> >(); var cl = _config.Clients.FirstOrDefault(x => x.Id == clientId); if (cl == null) { ret.ErrorMsg = $"Client {clientId} is not registered"; } else { ret.Data = cl.FolderEndpoints .Select(x => new ClientFolderEndpoint { DisplayName = x.DisplayName, Id = x.Id }) .ToList(); } await CommandHelper.WriteCommandResponse(_networkStream, Commands.GetClientEndpointsCmd, ret); }