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)); }
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(); }
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); }
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}'.")); }
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)); }