Exemplo n.º 1
0
        public async Task <IActionResult> ViewMySites(ViewMySitesAddressModel model)
        {
            var appid = await _tokenManager.ValidateAccessToken(model.AccessToken);

            var appLocal = await _dbContext.Apps.SingleOrDefaultAsync(t => t.AppId == appid);

            if (appLocal == null)
            {
                appLocal = new ProbeApp
                {
                    AppId = appid
                };
                _dbContext.Apps.Add(appLocal);
                await _dbContext.SaveChangesAsync();
            }

            var sites = await _dbContext
                        .Sites
                        .Where(t => t.AppId == appid)
                        .Include(t => t.Root)
                        .ToListAsync();

            var viewModel = new ViewMySitesViewModel
            {
                AppId   = appLocal.AppId,
                Sites   = sites,
                Code    = ErrorType.Success,
                Message = "Successfully get your buckets!"
            };

            return(Json(viewModel));
        }
Exemplo n.º 2
0
        public async Task DeleteApp(ProbeApp app)
        {
            var sites = await _siteRepo.GetAllSitesUnderApp(app.AppId);

            foreach (var site in sites)
            {
                await _siteRepo.DeleteSite(site);
            }
            _dbContext.Apps.Remove(app);
            await _dbContext.SaveChangesAsync();
        }
Exemplo n.º 3
0
        public async Task <ProbeApp> GetApp(string accessToken)
        {
            var appid    = _acTokenManager.ValidateAccessToken(accessToken);
            var appLocal = await _dbContext.Apps.SingleOrDefaultAsync(t => t.AppId == appid);

            if (appLocal == null)
            {
                appLocal = new ProbeApp
                {
                    AppId = appid
                };
                await _dbContext.Apps.AddAsync(appLocal);

                await _dbContext.SaveChangesAsync();
            }
            return(appLocal);
        }
Exemplo n.º 4
0
        public async Task <IActionResult> CreateNewSite(CreateNewSiteAddressModel model)
        {
            var appid = await _tokenManager.ValidateAccessToken(model.AccessToken);

            var appLocal = await _dbContext.Apps.SingleOrDefaultAsync(t => t.AppId == appid);

            if (appLocal == null)
            {
                appLocal = new ProbeApp
                {
                    AppId = appid
                };
                _dbContext.Apps.Add(appLocal);
                await _dbContext.SaveChangesAsync();
            }

            var conflict = await _dbContext.Sites
                           .AnyAsync(t => t.SiteName.ToLower().Trim() == model.NewSiteName.ToLower().Trim());

            if (conflict)
            {
                return(this.Protocol(ErrorType.NotEnoughResources, $"There is already a site with name: '{model.NewSiteName}'. Please try another new name."));
            }
            var newRootFolder = new Folder
            {
                FolderName = "blob"
            };

            _dbContext.Folders.Add(newRootFolder);
            await _dbContext.SaveChangesAsync();

            var site = new Site
            {
                AppId          = appid,
                SiteName       = model.NewSiteName.ToLower(),
                FolderId       = newRootFolder.Id,
                OpenToUpload   = model.OpenToUpload,
                OpenToDownload = model.OpenToDownload
            };

            _dbContext.Sites.Add(site);
            await _dbContext.SaveChangesAsync();

            return(this.Protocol(ErrorType.Success, $"Successfully created your new site: '{site.SiteName}'."));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> ViewSiteDetail(ViewSiteDetailAddressModel model)
        {
            var appid = await _tokenManager.ValidateAccessToken(model.AccessToken);

            var appLocal = await _dbContext.Apps.SingleOrDefaultAsync(t => t.AppId == appid);

            if (appLocal == null)
            {
                appLocal = new ProbeApp
                {
                    AppId = appid
                };
                _dbContext.Apps.Add(appLocal);
                await _dbContext.SaveChangesAsync();
            }

            var site = await _dbContext
                       .Sites
                       .Where(t => t.AppId == appid)
                       .Include(t => t.Root)
                       .SingleOrDefaultAsync(t => t.SiteName.ToLower() == model.SiteName.ToLower());

            if (site == null)
            {
                return(this.Protocol(ErrorType.NotFound, $"Could not find your site with name: {model.SiteName}"));
            }
            var viewModel = new ViewSiteDetailViewModel
            {
                AppId   = appLocal.AppId,
                Site    = site,
                Size    = await _folderCleaner.GetFolderSite(site.Root),
                Code    = ErrorType.Success,
                Message = "Successfully get your buckets!"
            };

            return(Json(viewModel));
        }