Ejemplo n.º 1
0
        public async Task <IActionResult> CreateChannel([FromForm] CreateChannelAddressModel model)
        {
            var token = await _dbContext.AccessTokens.Include(t => t.ApplyApp).SingleOrDefaultAsync(t => t.Value == model.AccessToken);

            if (token == null || token.ApplyApp == null)
            {
                return(Protocal(ErrorType.Unauthorized, "Invalid accesstoken!"));
            }
            //Create and save to database
            var newChannel = new Channel
            {
                Description = model.Description,
                ConnectKey  = StringOperation.RandomString(20),
                AppId       = token.ApplyAppId
            };

            _dbContext.Channels.Add(newChannel);
            await _dbContext.SaveChangesAsync();

            //return model
            var viewModel = new CreateChannelViewModel
            {
                ChannelId  = newChannel.Id,
                ConnectKey = newChannel.ConnectKey,
                code       = ErrorType.Success,
                message    = "Successfully created your channel!"
            };

            return(Json(viewModel));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> CreateChannel(CreateChannelAddressModel model)
        {
            //Update app info
            var appid    = _tokenManager.ValidateAccessToken(model.AccessToken);
            var appLocal = await _dbContext.Apps.SingleOrDefaultAsync(t => t.Id == appid);

            if (appLocal == null)
            {
                appLocal = new StargateApp
                {
                    Id = appid
                };
                await _dbContext.Apps.AddAsync(appLocal);
            }
            var channelId = _counter.GetUniqueNo();
            var key       = Guid.NewGuid().ToString("N");

            _stargateMemory.CreateChannel(channelId, appid, model.Description, key);
            //return model
            var viewModel = new CreateChannelViewModel
            {
                ChannelId  = channelId,
                ConnectKey = key,
                Code       = ErrorType.Success,
                Message    = "Successfully created your channel!"
            };

            return(Ok(viewModel));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> CreateChannel([FromForm] CreateChannelAddressModel model)
        {
            //Update app info
            var app = await ApiService.ValidateAccessTokenAsync(model.AccessToken);

            var appLocal = await _dbContext.Apps.Include(t => t.Channels).SingleOrDefaultAsync(t => t.Id == app.AppId);

            if (appLocal == null)
            {
                appLocal = new StargateApp
                {
                    Id       = app.AppId,
                    Channels = new List <Channel>()
                };
                _dbContext.Apps.Add(appLocal);
            }
            //Create and save to database
            var newChannel = new Channel
            {
                Description = model.Description,
                ConnectKey  = StringOperation.RandomString(20)
            };

            appLocal.Channels.Add(newChannel);
            await _dbContext.SaveChangesAsync();

            //return model
            var viewModel = new CreateChannelViewModel
            {
                ChannelId  = newChannel.Id,
                ConnectKey = newChannel.ConnectKey,
                code       = ErrorType.Success,
                message    = "Successfully created your channel!"
            };

            return(Json(viewModel));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> CreateChannel(CreateChannelAddressModel model)
        {
            //Update app info
            var appid = await _tokenManager.ValidateAccessToken(model.AccessToken);

            var appLocal = await _dbContext.Apps.Include(t => t.Channels).SingleOrDefaultAsync(t => t.Id == appid);

            if (appLocal == null)
            {
                appLocal = new StargateApp
                {
                    Id       = appid,
                    Channels = new List <Channel>()
                };
                _dbContext.Apps.Add(appLocal);
            }
            //Create and save to database
            var newChannel = new Channel
            {
                Description = model.Description,
                ConnectKey  = Guid.NewGuid().ToString("N")
            };

            appLocal.Channels.Add(newChannel);
            await _dbContext.SaveChangesAsync();

            //return model
            var viewModel = new CreateChannelViewModel
            {
                ChannelId  = newChannel.Id,
                ConnectKey = newChannel.ConnectKey,
                Code       = ErrorType.Success,
                Message    = "Successfully created your channel!"
            };

            return(Json(viewModel));
        }