public virtual void StartEditPackageRequest(Package p, EditPackageVersionRequest request, User editingUser) { PackageEdit edit = new PackageEdit { // Description User = editingUser, Authors = request.Authors, Copyright = request.Copyright, Description = request.Description, IconUrl = request.IconUrl, LicenseUrl = p.LicenseUrl, // Our current policy is not to allow editing the license URL, so just clone it from its previous value. ProjectUrl = request.ProjectUrl, ReleaseNotes = request.ReleaseNotes, RequiresLicenseAcceptance = request.RequiresLicenseAcceptance, Summary = request.Summary, Tags = request.Tags, Title = request.VersionTitle, // Other Package = p, Timestamp = DateTime.UtcNow, TriedCount = 0, }; EntitiesContext.Set <PackageEdit>().Add(edit); // Note: EditPackageRequests are completed asynchronously by the worker role. }
public virtual void StartEditPackageRequest(Package p, EditPackageVersionRequest request, User editingUser) { PackageEdit edit = new PackageEdit { // Description User = editingUser, Authors = request.Authors, Copyright = request.Copyright, Description = request.Description, IconUrl = request.IconUrl, LicenseUrl = p.LicenseUrl, // Our current policy is not to allow editing the license URL, so just clone it from its previous value. ProjectUrl = request.ProjectUrl, ReleaseNotes = request.ReleaseNotes, RequiresLicenseAcceptance = request.RequiresLicenseAcceptance, Summary = request.Summary, Tags = request.Tags, Title = request.VersionTitle, // Other Package = p, Timestamp = DateTime.UtcNow, TriedCount = 0, }; EntitiesContext.Set<PackageEdit>().Add(edit); // Note: EditPackageRequests are completed asynchronously by the worker role. }
/// <summary> /// Save a pending ReadMe if changes are detected. /// </summary> /// <param name="package">Package entity associated with the ReadMe.</param> /// <param name="edit">Package edit entity.</param> /// <returns>True if a ReadMe is pending, false otherwise.</returns> public async Task <bool> SavePendingReadMeMdIfChanged(Package package, EditPackageVersionRequest edit, Encoding encoding) { var activeReadMe = package.HasReadMe ? NormalizeNewLines(await GetReadMeMdAsync(package)) : null; var newReadMe = HasReadMeSource(edit?.ReadMe) ? NormalizeNewLines(await GetReadMeMdAsync(edit.ReadMe, encoding)) : null; var hasReadMe = !string.IsNullOrWhiteSpace(newReadMe); if (hasReadMe && !newReadMe.Equals(activeReadMe)) { await _packageFileService.SavePendingReadMeMdFileAsync(package, newReadMe); edit.ReadMeState = PackageEditReadMeState.Changed; } else if (!hasReadMe && !string.IsNullOrEmpty(activeReadMe)) { await _packageFileService.DeleteReadMeMdFileAsync(package, isPending : true); edit.ReadMeState = PackageEditReadMeState.Deleted; } else { edit.ReadMeState = PackageEditReadMeState.Unchanged; } return(hasReadMe); }
public virtual void StartEditPackageRequest(Package p, EditPackageVersionRequest request, User editingUser) { if (PackageNamingConflictValidator.TitleConflictsWithExistingRegistrationId(p.PackageRegistration.Id, request.VersionTitle)) { throw new EntityException(Strings.TitleMatchesExistingRegistration, request.VersionTitle); } PackageEdit edit = new PackageEdit { // Description User = editingUser, Authors = request.Authors, Copyright = request.Copyright, Description = request.Description, IconUrl = request.IconUrl, LicenseUrl = p.LicenseUrl, // Our current policy is not to allow editing the license URL, so just clone it from its previous value. ProjectUrl = request.ProjectUrl, ReleaseNotes = request.ReleaseNotes, RequiresLicenseAcceptance = request.RequiresLicenseAcceptance, Summary = request.Summary, Tags = request.Tags, Title = request.VersionTitle, ReadMeState = request.ReadMeState, // Other Package = p, Timestamp = DateTime.UtcNow, TriedCount = 0, }; EntitiesContext.Set <PackageEdit>().Add(edit); // Note: EditPackageRequests are completed asynchronously by the worker role. }
public VerifyPackageRequest(PackageMetadata packageMetadata) { var dependencyGroups = packageMetadata.GetDependencyGroups(); Id = packageMetadata.Id; Version = packageMetadata.Version.ToFullStringSafe(); OriginalVersion = packageMetadata.Version.OriginalVersion; HasSemVer2Version = packageMetadata.Version.IsSemVer2; HasSemVer2Dependency = dependencyGroups.Any(d => d.Packages.Any( p => (p.VersionRange.HasUpperBound && p.VersionRange.MaxVersion.IsSemVer2) || (p.VersionRange.HasLowerBound && p.VersionRange.MinVersion.IsSemVer2))); LicenseUrl = packageMetadata.LicenseUrl.ToEncodedUrlStringOrNull(); Listed = true; Language = packageMetadata.Language; MinClientVersionDisplay = packageMetadata.MinClientVersion.ToFullStringSafe(); FrameworkReferenceGroups = packageMetadata.GetFrameworkReferenceGroups(); Dependencies = new DependencySetsViewModel(packageMetadata.GetDependencyGroups().AsPackageDependencyEnumerable()); DevelopmentDependency = packageMetadata.GetValueFromMetadata("developmentDependency"); Edit = new EditPackageVersionRequest(packageMetadata); }