feat: link local library

This commit is contained in:
gabdevele
2026-06-17 20:43:56 +02:00 Unverified
parent 9a770a2af0
commit db59882f33
327 changed files with 22274 additions and 1 deletions
@@ -0,0 +1,310 @@
# Generated by Django 4.0.2 on 2022-02-13 09:06
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import spid_cie_oidc.authority.models
class Migration(migrations.Migration):
initial = True
dependencies = [
("spid_cie_oidc_entity", "0001_initial"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name="FederationDescendant",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created", models.DateTimeField(auto_now_add=True)),
("modified", models.DateTimeField(auto_now=True)),
(
"uid",
models.CharField(
default=spid_cie_oidc.authority.models.FederationDescendant.def_uid,
help_text="an unique code that identifies this entry. For italian public service it may be the IPA code.",
max_length=1024,
unique=True,
),
),
(
"name",
models.CharField(
help_text="human readable name of this entity. It may be a unit or organization name",
max_length=33,
),
),
(
"sub",
models.URLField(
help_text="URL that identifies this Entity in the Federation.",
max_length=255,
unique=True,
validators=[
spid_cie_oidc.authority.validators.validate_entity_configuration
],
),
),
(
"type",
models.CharField(
blank=True,
choices=[
("federation_entity", "federation_entity"),
("openid_relying_party", "openid_relying_party"),
("openid_provider", "openid_provider"),
("oauth_resource", "oauth_resource"),
],
default="openid_relying_party",
help_text="OpenID Connect Federation entity type",
max_length=33,
),
),
(
"metadata_policy",
models.JSONField(
blank=True,
default=dict,
help_text="if present overloads the DEFAULT policy",
),
),
(
"constraints",
models.JSONField(
blank=True,
default=dict,
help_text="if present overloads the DEFAULT policy",
),
),
(
"extended_claims",
models.JSONField(
blank=True,
default=dict,
help_text="a dictionary containing any other claim like: jti, crti, policy_language_crit and any other extension",
),
),
(
"status",
models.CharField(
choices=[
("unreachable", "unreachable"),
("valid", "valid"),
("signature_failed", "signature_failed"),
("not_valid", "not_valid"),
("unknown", "unknown"),
("expired", "expired"),
],
default=False,
help_text="Its entity configuration is periodically fetched and validated.",
max_length=33,
),
),
(
"status_log",
models.JSONField(blank=True, default=dict, help_text="status log"),
),
(
"is_active",
models.BooleanField(
default=False, help_text="If this entity is active. "
),
),
(
"registrant",
models.ManyToManyField(
blank=True,
help_text="Logged in users can modify only sub, contacts and jwks attributes, if they're owner of this entry. ",
to=settings.AUTH_USER_MODEL,
),
),
],
options={
"verbose_name": "Federation Entity Descendant",
"verbose_name_plural": "Federation Entity Descendants",
},
),
migrations.CreateModel(
name="FederationEntityProfile",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created", models.DateTimeField(auto_now_add=True)),
("modified", models.DateTimeField(auto_now=True)),
("name", models.CharField(help_text="Profile name. ", max_length=33)),
(
"profile_category",
models.CharField(
choices=[
("federation_entity", "federation_entity"),
("openid_relying_party", "openid_relying_party"),
("openid_provider", "openid_provider"),
("oauth_resource", "oauth_resource"),
],
help_text="Profile id. It SHOULD be a URL but feel free to put whatever",
max_length=64,
),
),
(
"profile_id",
models.CharField(
help_text="Profile id. It SHOULD be a URL but feel free to put whatever",
max_length=1024,
unique=True,
),
),
(
"trust_mark_template",
models.JSONField(
blank=True,
default=dict,
help_text="trust marks template for this profile",
),
),
],
options={
"verbose_name": "Federation Entity Profile",
"verbose_name_plural": "Federation Entity Profiles",
},
),
migrations.CreateModel(
name="FederationEntityAssignedProfile",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created", models.DateTimeField(auto_now_add=True)),
("modified", models.DateTimeField(auto_now=True)),
(
"descendant",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="spid_cie_oidc_authority.federationdescendant",
),
),
(
"issuer",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="spid_cie_oidc_entity.federationentityconfiguration",
),
),
(
"profile",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="spid_cie_oidc_authority.federationentityprofile",
),
),
],
options={
"verbose_name": "Federation Entity Descendant Assigned Profile",
"verbose_name_plural": "Federation Descendant Assigned Profiles",
},
),
migrations.CreateModel(
name="FederationDescendantJwk",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created", models.DateTimeField(auto_now_add=True)),
("modified", models.DateTimeField(auto_now=True)),
(
"descendant",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="spid_cie_oidc_authority.federationdescendant",
),
),
(
"jwk",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="spid_cie_oidc_entity.publicjwk",
),
),
],
options={
"verbose_name": "Federation Descendant Public JWK",
"verbose_name_plural": "Federation Descendant Public JWKs",
},
),
migrations.CreateModel(
name="FederationDescendantContact",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created", models.DateTimeField(auto_now_add=True)),
("modified", models.DateTimeField(auto_now=True)),
(
"contact",
models.CharField(
help_text="any kind of contact type, usually an email.",
max_length=255,
),
),
(
"type",
models.CharField(
choices=[
("email", "email"),
("telephone", "telephone"),
("other", "other"),
],
max_length=255,
),
),
(
"entity",
models.ForeignKey(
help_text="Entity for which this contac is related",
on_delete=django.db.models.deletion.CASCADE,
to="spid_cie_oidc_authority.federationdescendant",
),
),
],
options={
"verbose_name": "Federation Entity Contact",
"verbose_name_plural": "Federation Entity Contacts",
},
),
]
@@ -0,0 +1,20 @@
# Generated by Django 4.0.2 on 2022-02-14 22:57
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("spid_cie_oidc_authority", "0001_initial"),
]
operations = [
migrations.AlterField(
model_name="federationentityprofile",
name="trust_mark_template",
field=models.JSONField(
default=dict, help_text="trust marks template for this profile"
),
),
]
@@ -0,0 +1,50 @@
# Generated by Django 4.0.2 on 2022-02-20 22:18
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
(
"spid_cie_oidc_authority",
"0002_alter_federationentityprofile_trust_mark_template",
),
]
operations = [
migrations.AlterField(
model_name="federationdescendantcontact",
name="entity",
field=models.ForeignKey(
help_text="Entity for which this contac is related",
on_delete=django.db.models.deletion.CASCADE,
to="spid_cie_oidc_authority.federationdescendant",
),
),
migrations.AlterField(
model_name="federationdescendantjwk",
name="descendant",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="spid_cie_oidc_authority.federationdescendant",
),
),
migrations.AlterField(
model_name="federationentityassignedprofile",
name="descendant",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="spid_cie_oidc_authority.federationdescendant",
),
),
migrations.AlterField(
model_name="federationentityassignedprofile",
name="profile",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="spid_cie_oidc_authority.federationentityprofile",
),
),
]
@@ -0,0 +1,22 @@
# Generated by Django 4.0.2 on 2022-03-06 22:36
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('spid_cie_oidc_authority', '0003_alter_federationdescendantcontact_entity_and_more'),
]
operations = [
migrations.AddField(
model_name='federationdescendant',
name='jwks',
field=models.JSONField(default=list, help_text='a list of public keys'),
preserve_default=False,
),
migrations.DeleteModel(
name='FederationDescendantJwk',
),
]
@@ -0,0 +1,19 @@
# Generated by Django 4.0.2 on 2022-03-06 23:11
from django.db import migrations, models
import spid_cie_oidc.entity.validators
class Migration(migrations.Migration):
dependencies = [
('spid_cie_oidc_authority', '0004_federationdescendant_jwks_and_more'),
]
operations = [
migrations.AlterField(
model_name='federationdescendant',
name='jwks',
field=models.JSONField(default=list, help_text='a list of public keys', validators=[spid_cie_oidc.entity.validators.validate_public_jwks]),
),
]
@@ -0,0 +1,32 @@
# Generated by Django 4.0.3 on 2022-03-20 10:50
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import spid_cie_oidc.authority.utils
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('spid_cie_oidc_authority', '0005_alter_federationdescendant_jwks'),
]
operations = [
migrations.CreateModel(
name='StaffToken',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True)),
('modified', models.DateTimeField(auto_now=True)),
('token', models.CharField(default=spid_cie_oidc.authority.utils.random_token, help_text='any kind of contact type, usually an email.', max_length=255)),
('is_active', models.BooleanField(default=True)),
('user', models.ForeignKey(help_text='The user responsible of thi token', on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'Staff Token',
'verbose_name_plural': 'Staff Tokens',
},
),
]
@@ -0,0 +1,18 @@
# Generated by Django 4.0.3 on 2022-03-20 10:53
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('spid_cie_oidc_authority', '0006_stafftoken'),
]
operations = [
migrations.AddField(
model_name='stafftoken',
name='expire_at',
field=models.DateTimeField(blank=True, null=True),
),
]
@@ -0,0 +1,19 @@
# Generated by Django 4.0.2 on 2022-03-28 12:04
from django.db import migrations, models
import spid_cie_oidc.authority.utils
class Migration(migrations.Migration):
dependencies = [
('spid_cie_oidc_authority', '0007_stafftoken_expire_at'),
]
operations = [
migrations.AlterField(
model_name='stafftoken',
name='token',
field=models.CharField(default=spid_cie_oidc.authority.utils.random_token, help_text='it will be generated automatically.', max_length=255),
),
]
@@ -0,0 +1,16 @@
# Generated by Django 4.0.5 on 2022-10-18 09:11
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('spid_cie_oidc_authority', '0008_alter_stafftoken_token'),
]
operations = [
migrations.DeleteModel(
name='StaffToken',
),
]
@@ -0,0 +1,30 @@
# Generated by Django 4.2.1 on 2023-07-09 15:23
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("spid_cie_oidc_authority", "0009_delete_stafftoken"),
]
operations = [
migrations.AddField(
model_name="federationdescendant",
name="metadata",
field=models.JSONField(
blank=True,
default=dict,
help_text="if present it overloads the descendants metadata, in the defined parts. This will be applied to the subordinate only.",
),
),
migrations.AlterField(
model_name="federationdescendant",
name="metadata_policy",
field=models.JSONField(
blank=True,
default=dict,
help_text="if present it overloads the DEFAULT policy. This will be applied recursively to all the descendants.",
),
),
]
@@ -0,0 +1,54 @@
# Generated by Django 4.2.1 on 2023-07-09 15:44
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("spid_cie_oidc_authority", "0010_federationdescendant_metadata_and_more"),
]
operations = [
migrations.AddField(
model_name="federationdescendant",
name="issue_x509",
field=models.BooleanField(
default=False,
help_text="Issues x509 certificates in the entity statement.",
),
),
migrations.AlterField(
model_name="federationdescendant",
name="type",
field=models.CharField(
blank=True,
choices=[
("federation_entity", "federation_entity"),
("openid_relying_party", "openid_relying_party"),
("openid_provider", "openid_provider"),
("oauth_resource", "oauth_resource"),
("wallet_provider", "wallet_provider"),
("wallet_relying_party", "wallet_relying_party"),
],
default="openid_relying_party",
help_text="OpenID Connect Federation entity type",
max_length=33,
),
),
migrations.AlterField(
model_name="federationentityprofile",
name="profile_category",
field=models.CharField(
choices=[
("federation_entity", "federation_entity"),
("openid_relying_party", "openid_relying_party"),
("openid_provider", "openid_provider"),
("oauth_resource", "oauth_resource"),
("wallet_provider", "wallet_provider"),
("wallet_relying_party", "wallet_relying_party"),
],
help_text="Profile id. It SHOULD be a URL but feel free to put whatever",
max_length=64,
),
),
]
@@ -0,0 +1,16 @@
# Generated by Django 4.2.1 on 2023-07-13 04:54
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("spid_cie_oidc_authority", "0011_federationdescendant_issue_x509_and_more"),
]
operations = [
migrations.RemoveField(
model_name="federationdescendant",
name="issue_x509",
),
]
@@ -0,0 +1,48 @@
# Generated by Django 4.2.7 on 2023-11-14 14:03
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("spid_cie_oidc_authority", "0012_remove_federationdescendant_issue_x509"),
]
operations = [
migrations.AlterField(
model_name="federationdescendant",
name="type",
field=models.CharField(
blank=True,
choices=[
("federation_entity", "federation_entity"),
("openid_relying_party", "openid_relying_party"),
("openid_provider", "openid_provider"),
("openid_credential_issuer", "openid_credential_issuer"),
("oauth_resource", "oauth_resource"),
("wallet_provider", "wallet_provider"),
("wallet_relying_party", "wallet_relying_party"),
],
default="openid_relying_party",
help_text="OpenID Connect Federation entity type",
max_length=33,
),
),
migrations.AlterField(
model_name="federationentityprofile",
name="profile_category",
field=models.CharField(
choices=[
("federation_entity", "federation_entity"),
("openid_relying_party", "openid_relying_party"),
("openid_provider", "openid_provider"),
("openid_credential_issuer", "openid_credential_issuer"),
("oauth_resource", "oauth_resource"),
("wallet_provider", "wallet_provider"),
("wallet_relying_party", "wallet_relying_party"),
],
help_text="Profile id. It SHOULD be a URL but feel free to put whatever",
max_length=64,
),
),
]
@@ -0,0 +1,23 @@
# Generated by Django 4.0.5 on 2026-03-23 15:42
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('spid_cie_oidc_authority', '0013_alter_federationdescendant_type_and_more'),
]
operations = [
migrations.AlterField(
model_name='federationdescendant',
name='type',
field=models.CharField(blank=True, choices=[('federation_entity', 'federation_entity'), ('openid_relying_party', 'openid_relying_party'), ('openid_provider', 'openid_provider'), ('openid_credential_issuer', 'openid_credential_issuer'), ('oauth_resource', 'oauth_resource'), ('wallet_provider', 'wallet_provider'), ('openid_credential_verifier', 'openid_credential_verifier')], default='openid_relying_party', help_text='OpenID Connect Federation entity type', max_length=33),
),
migrations.AlterField(
model_name='federationentityprofile',
name='profile_category',
field=models.CharField(choices=[('federation_entity', 'federation_entity'), ('openid_relying_party', 'openid_relying_party'), ('openid_provider', 'openid_provider'), ('openid_credential_issuer', 'openid_credential_issuer'), ('oauth_resource', 'oauth_resource'), ('wallet_provider', 'wallet_provider'), ('openid_credential_verifier', 'openid_credential_verifier')], help_text='Profile id. It SHOULD be a URL but feel free to put whatever', max_length=64),
),
]