diff --git a/services/directory/data/License.json b/services/directory/data/License.json index 4a6b20e6b..c77c5ce22 100644 --- a/services/directory/data/License.json +++ b/services/directory/data/License.json @@ -2,303 +2,347 @@ { "id": 1, "name": "CC BY-NC-ND 4.0", - "permissiveAdaptation": false, - "permissiveCommercial": false, + "permitsCommercialUse": false, + "permitsDistribution": false, + "permitsModification": false, "url": "https://creativecommons.org/licenses/by-nc-nd/4.0/" }, { "id": 2, "name": "The MIT License", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://opensource.org/licenses/MIT" }, { "id": 3, "name": "Restricted", - "permissiveAdaptation": false, - "permissiveCommercial": false + "permitsCommercialUse": false, + "permitsDistribution": false, + "permitsModification": false }, { "id": 4, "name": "GPLv3", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://www.gnu.org/licenses/gpl-3.0.en.html" }, { "id": 5, "name": "All Rights Reserved", - "permissiveAdaptation": false, - "permissiveCommercial": false, + "permitsCommercialUse": false, + "permitsDistribution": false, + "permitsModification": false, "url": "https://en.wikipedia.org/wiki/All_rights_reserved" }, { "id": 6, "name": "CC BY-NC-SA 3.0", - "permissiveAdaptation": true, - "permissiveCommercial": false, + "permitsCommercialUse": false, + "permitsDistribution": false, + "permitsModification": true, "url": "https://creativecommons.org/licenses/by-nc-sa/3.0/" }, { "id": 7, "name": "Permissive", - "permissiveAdaptation": true, - "permissiveCommercial": true + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true }, { "id": 8, "name": "CC BY-SA 4.0", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://creativecommons.org/licenses/by-sa/4.0/" }, { "id": 9, "name": "CC BY-NC-SA 4.0", - "permissiveAdaptation": true, - "permissiveCommercial": false, + "permitsCommercialUse": false, + "permitsDistribution": false, + "permitsModification": true, "url": "https://creativecommons.org/licenses/by-nc-sa/4.0/" }, { "id": 10, "name": "BSD-3-Clause", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://opensource.org/licenses/BSD-3-Clause" }, { "id": 11, "name": "The Unlicense", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://unlicense.org/" }, { "id": 12, "name": "CC BY-SA 3.0", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://creativecommons.org/licenses/by-sa/3.0/" }, { "id": 13, "name": "CC BY-NC 4.0", - "permissiveAdaptation": true, - "permissiveCommercial": false, + "permitsCommercialUse": false, + "permitsDistribution": false, + "permitsModification": true, "url": "https://creativecommons.org/licenses/by-nc/4.0/" }, { "id": 14, "name": "WTFPL", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "http://www.wtfpl.net/" }, { "id": 15, "name": "CC BY-ND 4.0", - "permissiveAdaptation": false, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": false, "url": "https://creativecommons.org/licenses/by-nd/4.0/" }, { "id": 16, "name": "CC BY 3.0", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://creativecommons.org/licenses/by/3.0/" }, { "id": 17, "name": "ISC", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://opensource.org/licenses/ISC" }, { "id": 18, "name": "Apache 2.0", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://www.apache.org/licenses/LICENSE-2.0" }, { "id": 19, "name": "GPLv2", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://www.gnu.org/licenses/old-licenses/gpl-2.0.html" }, { "id": 20, "name": "Public Domain", - "permissiveAdaptation": true, - "permissiveCommercial": true + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true }, { "id": 21, "name": "OSINT", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://osint.bambenekconsulting.com/license.txt" }, { "id": 22, "name": "GoogleHosts", - "permissiveAdaptation": false, - "permissiveCommercial": false, + "permitsCommercialUse": false, + "permitsDistribution": false, + "permitsModification": false, "url": "https://raw.githubusercontent.com/googlehosts/hosts/master/LICENSE" }, { "id": 23, "name": "\"Don't Be A Dick\" Public License", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://dbad-license.org/" }, { "id": 24, "name": "CC BY 4.0", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://creativecommons.org/licenses/by/4.0/" }, { "id": 25, "name": "CC BY-NC-SA 2.5", - "permissiveAdaptation": true, - "permissiveCommercial": false, + "permitsCommercialUse": false, + "permitsDistribution": false, + "permitsModification": true, "url": "https://creativecommons.org/licenses/by-nc-sa/2.5/" }, { "id": 26, "name": "CC BY-NC-ND 3.0", - "permissiveAdaptation": false, - "permissiveCommercial": false, + "permitsCommercialUse": false, + "permitsDistribution": false, + "permitsModification": false, "url": "https://creativecommons.org/licenses/by-nc-nd/3.0/" }, { "id": 27, "name": "BSD-2-Clause", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://opensource.org/licenses/BSD-2-Clause" }, { "id": 28, "name": "CC0 1.0 Universal", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://creativecommons.org/publicdomain/zero/1.0/" }, { "id": 29, "name": "The Beer-Ware License", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://spdx.org/licenses/Beerware.html" }, { "id": 30, "name": "CC BY-SA 2.1 JP", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://creativecommons.org/licenses/by-sa/2.1/jp/deed.en" }, { "id": 31, "name": "CC BY-NC 3.0", - "permissiveAdaptation": true, - "permissiveCommercial": false, + "permitsCommercialUse": false, + "permitsDistribution": false, + "permitsModification": true, "url": "https://creativecommons.org/licenses/by-nc/3.0/" }, { "id": 32, "name": "Permissive non-commercial", - "permissiveAdaptation": true, - "permissiveCommercial": false + "permitsCommercialUse": false, + "permitsDistribution": false, + "permitsModification": true }, { "id": 33, "name": "Mozilla Public License v2.0", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://www.mozilla.org/MPL/2.0/" }, { "id": 34, "name": "Lesser GPL v3", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://www.gnu.org/licenses/lgpl-3.0.en.html" }, { "id": 35, "name": "Dandelicence", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://github.com/DandelionSprout/Dandelicence/blob/master/DandelicenceNewestVersion.md" }, { "id": 36, "name": "CC BY-ND 3.0", - "permissiveAdaptation": false, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": false, "url": "https://creativecommons.org/licenses/by-nd/3.0/" }, { "id": 37, "name": "Lesser GPL v2.1", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html" }, { "id": 38, "name": "Generic copyfree", - "permissiveAdaptation": true, - "permissiveCommercial": true + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true }, { "id": 39, "name": "Generic copyleft", - "permissiveAdaptation": true, - "permissiveCommercial": true + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true }, { "id": 40, "name": "McRae General Public License", - "permissiveAdaptation": true, - "permissiveCommercial": false, + "permitsCommercialUse": false, + "permitsDistribution": false, + "permitsModification": true, "url": "https://pgl.yoyo.org/license/" }, { "id": 41, "name": "AGPLv1", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://directory.fsf.org/wiki/License:AGPL-1.0" }, { "id": 42, "name": "AGPLv2", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://www.vicidial.com/?page_id=260" }, { "id": 43, "name": "AGPLv3", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://www.gnu.org/licenses/agpl-3.0.html" }, { "id": 44, "name": "CPAL-1.0", - "permissiveAdaptation": true, - "permissiveCommercial": true, + "permitsCommercialUse": true, + "permitsDistribution": false, + "permitsModification": true, "url": "https://opensource.org/licenses/CPAL-1.0" } ] diff --git a/services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/20200828005349_Initial.Designer.cs b/services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/20200828014014_Initial.Designer.cs similarity index 98% rename from services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/20200828005349_Initial.Designer.cs rename to services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/20200828014014_Initial.Designer.cs index 5312ccbdd..d8a9b22f6 100644 --- a/services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/20200828005349_Initial.Designer.cs +++ b/services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/20200828014014_Initial.Designer.cs @@ -10,7 +10,7 @@ namespace FilterLists.Directory.Infrastructure.Migrations.Migrations { [DbContext(typeof(QueryDbContext))] - [Migration("20200828005349_Initial")] + [Migration("20200828014014_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -217,13 +217,19 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder) .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - b.Property("GitHubKey") - .HasColumnType("text"); - b.Property("Name") .IsRequired() .HasColumnType("text"); + b.Property("PermitsCommercialUse") + .HasColumnType("boolean"); + + b.Property("PermitsDistribution") + .HasColumnType("boolean"); + + b.Property("PermitsModification") + .HasColumnType("boolean"); + b.Property("Url") .HasColumnType("text"); diff --git a/services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/20200828005349_Initial.cs b/services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/20200828014014_Initial.cs similarity index 98% rename from services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/20200828005349_Initial.cs rename to services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/20200828014014_Initial.cs index 6259d0096..566f157a0 100644 --- a/services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/20200828005349_Initial.cs +++ b/services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/20200828014014_Initial.cs @@ -26,8 +26,10 @@ protected override void Up(MigrationBuilder migrationBuilder) Id = table.Column(nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), Name = table.Column(nullable: false), - GitHubKey = table.Column(nullable: true), - Url = table.Column(nullable: true) + Url = table.Column(nullable: true), + PermitsModification = table.Column(nullable: false), + PermitsDistribution = table.Column(nullable: false), + PermitsCommercialUse = table.Column(nullable: false) }, constraints: table => { diff --git a/services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/QueryDbContextModelSnapshot.cs b/services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/QueryDbContextModelSnapshot.cs index 670409cb4..5cd803137 100644 --- a/services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/QueryDbContextModelSnapshot.cs +++ b/services/directory/src/FilterLists.Directory.Infrastructure.Migrations/Migrations/QueryDbContextModelSnapshot.cs @@ -215,13 +215,19 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - b.Property("GitHubKey") - .HasColumnType("text"); - b.Property("Name") .IsRequired() .HasColumnType("text"); + b.Property("PermitsCommercialUse") + .HasColumnType("boolean"); + + b.Property("PermitsDistribution") + .HasColumnType("boolean"); + + b.Property("PermitsModification") + .HasColumnType("boolean"); + b.Property("Url") .HasColumnType("text"); diff --git a/services/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/License.cs b/services/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/License.cs index aeb46b29b..2dcaa4832 100644 --- a/services/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/License.cs +++ b/services/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/License.cs @@ -9,14 +9,11 @@ public class License { public int Id { get; set; } public string Name { get; set; } = null!; - - // TODO: add to seed data - public string? GitHubKey { get; set; } - public Uri? Url { get; set; } + public bool PermitsModification { get; set; } + public bool PermitsDistribution { get; set; } + public bool PermitsCommercialUse { get; set; } public IReadOnlyCollection FilterLists { get; private set; } = new HashSet(); - - // TODO: rm or capture permissiveX from seed data } internal class LicenseTypeConfiguration : IEntityTypeConfiguration