mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
refactor(directory): ♻ revise License permission schema
This commit is contained in:
parent
378f8dec59
commit
c052e05dba
5 changed files with 158 additions and 103 deletions
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -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<string>("GitHubKey")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("PermitsCommercialUse")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<bool>("PermitsDistribution")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<bool>("PermitsModification")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<string>("Url")
|
||||
.HasColumnType("text");
|
||||
|
||||
|
|
@ -26,8 +26,10 @@ protected override void Up(MigrationBuilder migrationBuilder)
|
|||
Id = table.Column<int>(nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
Name = table.Column<string>(nullable: false),
|
||||
GitHubKey = table.Column<string>(nullable: true),
|
||||
Url = table.Column<string>(nullable: true)
|
||||
Url = table.Column<string>(nullable: true),
|
||||
PermitsModification = table.Column<bool>(nullable: false),
|
||||
PermitsDistribution = table.Column<bool>(nullable: false),
|
||||
PermitsCommercialUse = table.Column<bool>(nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
|
|
@ -215,13 +215,19 @@ protected override void BuildModel(ModelBuilder modelBuilder)
|
|||
.HasColumnType("integer")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
b.Property<string>("GitHubKey")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("PermitsCommercialUse")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<bool>("PermitsDistribution")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<bool>("PermitsModification")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<string>("Url")
|
||||
.HasColumnType("text");
|
||||
|
||||
|
|
|
|||
|
|
@ -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<FilterList> FilterLists { get; private set; } = new HashSet<FilterList>();
|
||||
|
||||
// TODO: rm or capture permissiveX from seed data
|
||||
}
|
||||
|
||||
internal class LicenseTypeConfiguration : IEntityTypeConfiguration<License>
|
||||
|
|
|
|||
Loading…
Reference in a new issue