public GetFeedByName ( string name, bool includePackages ) : |
||
name | string | |
includePackages | bool | |
리턴 |
public virtual async Task <ActionResult> DeleteCuratedPackage( string curatedFeedName, string curatedPackageId) { var curatedFeed = CuratedFeedService.GetFeedByName(curatedFeedName, includePackages: true); if (curatedFeed == null) { return(HttpNotFound()); } var curatedPackage = curatedFeed.Packages.SingleOrDefault(cp => cp.PackageRegistration.Id == curatedPackageId); if (curatedPackage == null) { return(HttpNotFound()); } if (curatedFeed.Managers.All(manager => manager.Username != User.Identity.Name)) { return(new HttpStatusCodeResult(403)); } await CuratedFeedService.DeleteCuratedPackageAsync( curatedFeed.Key, curatedPackage.Key); return(new HttpStatusCodeResult(204)); }
public override async Task CurateAsync(Package galleryPackage, PackageArchiveReader nugetPackage, bool commitChanges) { // Make sure the target feed exists CuratedFeed feed = CuratedFeedService.GetFeedByName(CuratedFeedName, includePackages: true); if (feed != null && galleryPackage.Tags != null) { // Break the tags up so we can be sure we don't catch any partial matches (i.e. "foobar" when we're looking for "foo") string[] tags = galleryPackage.Tags.Split(); // Check if this package should be curated if (tags.Any(tag => RequiredTags.Contains(tag, StringComparer.OrdinalIgnoreCase))) { // It should! // But now we need to ensure that the package's dependencies are also curated if (DependenciesAreCurated(galleryPackage, feed)) { await CuratedFeedService.CreatedCuratedPackageAsync( feed, galleryPackage.PackageRegistration, automaticallyCurated : true, commitChanges : commitChanges); } } } }
public override async Task CurateAsync( Package galleryPackage, PackageArchiveReader nugetPackage, bool commitChanges) { var shouldBeIncluded = ShouldCuratePackage(galleryPackage, nugetPackage); if (!shouldBeIncluded) { return; } var curatedFeed = CuratedFeedService.GetFeedByName("webmatrix", includePackages: true); if (curatedFeed == null) { return; } if (DependenciesAreCurated(galleryPackage, curatedFeed)) { await CuratedFeedService.CreatedCuratedPackageAsync( curatedFeed, galleryPackage.PackageRegistration, included : true, automaticallyCurated : true, commitChanges : commitChanges); } }
public virtual ActionResult PostCuratedPackages( string curatedFeedName, CreateCuratedPackageRequest request) { var curatedFeed = CuratedFeedService.GetFeedByName(curatedFeedName, includePackages: true); if (curatedFeed == null) { return(HttpNotFound()); } if (curatedFeed.Managers.All(manager => manager.Username != User.Identity.Name)) { return(new HttpStatusCodeResult(403)); } if (!ModelState.IsValid) { ViewBag.CuratedFeedName = curatedFeed.Name; return(View("CreateCuratedPackageForm")); } var packageRegistration = EntitiesContext.PackageRegistrations .Where(pr => pr.Id == request.PackageId) .Include(pr => pr.Packages) .Include(pr => pr.Owners) .FirstOrDefault(); if (packageRegistration == null) { ModelState.AddModelError("PackageId", Strings.PackageWithIdDoesNotExist); ViewBag.CuratedFeedName = curatedFeed.Name; return(View("CreateCuratedPackageForm")); } if (curatedFeed.Packages.Any(cp => cp.PackageRegistration.Key == packageRegistration.Key)) { ModelState.AddModelError("PackageId", Strings.PackageIsAlreadyCurated); ViewBag.CuratedFeedName = curatedFeed.Name; return(View("CreateCuratedPackageForm")); } var packages = packageRegistration.Packages.ToList(); foreach (var package in packages) { CuratedFeedService.CreatedCuratedPackage( curatedFeed, package, included: true, automaticallyCurated: false, notes: request.Notes, commitChanges: false); } CuratedFeedService.UpdateIsLatest(packageRegistration, false); EntitiesContext.SaveChanges(); return(RedirectToRoute(RouteName.CuratedFeed, new { name = curatedFeed.Name })); }
public virtual async Task <ActionResult> ListPackages(string curatedFeedName, string q, int page = 1, bool prerel = true) { if (page < 1) { page = 1; } q = (q ?? string.Empty).Trim(); var searchFilter = SearchAdaptor.GetSearchFilter( q, page, includePrerelease: prerel, sortOrder: null, context: SearchFilter.UISearchContext, semVerLevel: SemVerLevelKey.SemVerLevel2); searchFilter.CuratedFeed = CuratedFeedService.GetFeedByName(curatedFeedName, includePackages: false); if (searchFilter.CuratedFeed == null) { return(HttpNotFound()); } SearchResults results = await SearchService.Search(searchFilter); int totalHits = results.Hits; if (page == 1 && !results.Data.Any()) { // In the event the index wasn't updated, we may get an incorrect count. totalHits = 0; } var viewModel = new PackageListViewModel( results.Data, GetCurrentUser(), results.IndexTimestampUtc, q, totalHits, page - 1, Constants.DefaultPackageListPageSize, Url, curatedFeedName, includePrerelease: prerel); ViewBag.SearchTerm = q; return(View("ListPackages", viewModel)); }
public virtual ActionResult GetCreateCuratedPackageForm(string curatedFeedName) { var curatedFeed = CuratedFeedService.GetFeedByName(curatedFeedName, includePackages: false); if (curatedFeed == null) { return(HttpNotFound()); } if (curatedFeed.Managers.All(manager => manager.Username != User.Identity.Name)) { return(new HttpStatusCodeResult(403)); } ViewBag.CuratedFeedName = curatedFeed.Name; return(View()); }
public virtual ActionResult PatchCuratedPackage( string curatedFeedName, string curatedPackageId, ModifyCuratedPackageRequest request) { var curatedFeed = CuratedFeedService.GetFeedByName(curatedFeedName, includePackages: true); if (curatedFeed == null) { return(HttpNotFound()); } var curatedPackage = curatedFeed.Packages.SingleOrDefault(cp => cp.PackageRegistration.Id == curatedPackageId); if (curatedPackage == null) { return(HttpNotFound()); } if (curatedFeed.Managers.All(manager => manager.Username != Identity.Name)) { return(new HttpStatusCodeResult(403)); } if (!ModelState.IsValid) { return(new HttpStatusCodeResult(400)); } CuratedFeedService.ModifyCuratedPackage( curatedFeed.Key, curatedPackage.Key, request.Included); return(new HttpStatusCodeResult(204)); }
public override void Curate( Package galleryPackage, INupkg nugetPackage, bool commitChanges) { var curatedFeed = CuratedFeedService.GetFeedByName("webmatrix", includePackages: true); if (curatedFeed == null) { return; } var shouldBeIncluded = ShouldCuratePackage(curatedFeed, galleryPackage, nugetPackage); if (shouldBeIncluded) { CuratedFeedService.CreatedCuratedPackage( curatedFeed, galleryPackage.PackageRegistration, included: true, automaticallyCurated: true, commitChanges: commitChanges); } }