АРХ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: Plane OIDC mapping для существующего пользователя

This commit is contained in:
DCCONSTRUCTIONS
2026-05-04 13:01:21 +03:00
parent 119d503d96
commit 561d1eeef5
10 changed files with 1244 additions and 1 deletions
@@ -0,0 +1,79 @@
import uuid
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
("db", "0136_workspace_member_ban"),
]
operations = [
migrations.CreateModel(
name="ExternalIdentityLink",
fields=[
(
"created_at",
models.DateTimeField(auto_now_add=True, verbose_name="Created At"),
),
(
"updated_at",
models.DateTimeField(auto_now=True, verbose_name="Last Modified At"),
),
("deleted_at", models.DateTimeField(blank=True, null=True)),
(
"id",
models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True, db_index=True),
),
("provider", models.CharField(max_length=64)),
("subject", models.CharField(max_length=255)),
("email", models.CharField(max_length=255)),
("groups", models.JSONField(default=list)),
(
"status",
models.CharField(
choices=[("active", "Active"), ("disabled", "Disabled")],
default="active",
max_length=32,
),
),
("last_login_at", models.DateTimeField(blank=True, null=True)),
(
"created_by",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="externalidentitylink_created_by",
to="db.user",
),
),
(
"updated_by",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="externalidentitylink_updated_by",
to="db.user",
),
),
(
"user",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="external_identity_links",
to="db.user",
),
),
],
options={
"verbose_name": "External Identity Link",
"verbose_name_plural": "External Identity Links",
"db_table": "external_identity_links",
"ordering": ("-created_at",),
"unique_together": {("provider", "subject")},
},
),
]
@@ -0,0 +1,14 @@
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("db", "0137_external_identity_link"),
]
operations = [
migrations.AlterUniqueTogether(
name="externalidentitylink",
unique_together={("provider", "subject"), ("provider", "user")},
),
]