1
0
Fork 0

reverse relationship

This commit is contained in:
kiara Grouwstra 2025-03-03 15:51:19 +01:00
parent 0f2c5390d6
commit 8fabd7f0f1
Signed by: kiara
SSH key fingerprint: SHA256:COspvLoLJ5WC5rFb9ZDe5urVCkK4LJZOsjfF4duRJFU
2 changed files with 42 additions and 43 deletions
panel/src/panel

View file

@ -1,4 +1,4 @@
# Generated by Django 4.2.16 on 2025-03-03 14:23
# Generated by Django 4.2.16 on 2025-03-03 14:48
from django.conf import settings
from django.db import migrations, models
@ -15,19 +15,9 @@ class Migration(migrations.Migration):
operations = [
migrations.CreateModel(
name='Configuration',
name='MastodonConfig',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('enable', models.BooleanField(default=False, help_text='Enable the configuration')),
('domain', models.CharField(choices=[('fediversity_eu', 'fediversity.eu'), ('fediversity_net', 'fediversity.net')], max_length=255)),
('operator', models.ForeignKey(help_text='Operator who owns the configuration', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='configurations', to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='PixelfedConfig',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('deploy_form', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='panel.configuration')),
('enable', models.BooleanField(default=False)),
],
),
@ -35,16 +25,26 @@ class Migration(migrations.Migration):
name='PeertubeConfig',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('deploy_form', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='panel.configuration')),
('enable', models.BooleanField(default=False)),
],
),
migrations.CreateModel(
name='MastodonConfig',
name='PixelfedConfig',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('deploy_form', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='panel.configuration')),
('enable', models.BooleanField(default=False)),
],
),
migrations.CreateModel(
name='Configuration',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('enable', models.BooleanField(default=False, help_text='Enable the configuration')),
('domain', models.CharField(choices=[('fediversity_eu', 'fediversity.eu'), ('fediversity_net', 'fediversity.net')], max_length=255)),
('mastodon', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='config', to='panel.mastodonconfig')),
('operator', models.ForeignKey(help_text='Operator who owns the configuration', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='configurations', to=settings.AUTH_USER_MODEL)),
('peertube', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='config', to='panel.peertubeconfig')),
('pixelfed', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='config', to='panel.pixelfedconfig')),
],
),
]

View file

@ -2,6 +2,30 @@ from django.db import models
from django.contrib.auth.models import User
class MastodonConfig(models.Model):
# config = models.OneToOneField(Configuration, on_delete=models.CASCADE, related_name='mastodon')
enable = models.BooleanField(default=False)
def __str__(self):
return f"Mastodon: {self.enable}"
class PixelfedConfig(models.Model):
# config = models.OneToOneField(Configuration, on_delete=models.CASCADE, related_name='pixelfed')
enable = models.BooleanField(default=False)
def __str__(self):
return f"Pixelfed: {self.enable}"
class PeertubeConfig(models.Model):
# config = models.OneToOneField(Configuration, on_delete=models.CASCADE, related_name='peertube')
enable = models.BooleanField(default=False)
def __str__(self):
return f"Peertube: {self.enable}"
class Configuration(models.Model):
operator = models.ForeignKey(
User,
@ -24,31 +48,6 @@ class Configuration(models.Model):
],
max_length=255,
)
# TODO: map to configuration model per service
class MastodonConfig(models.Model):
deploy_form = models.OneToOneField(
Configuration, on_delete=models.CASCADE)
enable = models.BooleanField(default=False)
def __str__(self):
return f"Mastodon: {self.enable}"
class PixelfedConfig(models.Model):
deploy_form = models.OneToOneField(
Configuration, on_delete=models.CASCADE)
enable = models.BooleanField(default=False)
def __str__(self):
return f"Pixelfed: {self.enable}"
class PeertubeConfig(models.Model):
deploy_form = models.OneToOneField(
Configuration, on_delete=models.CASCADE)
enable = models.BooleanField(default=False)
def __str__(self):
return f"Peertube: {self.enable}"
mastodon = models.OneToOneField(MastodonConfig, on_delete=models.CASCADE, related_name='config')
pixelfed = models.OneToOneField(PixelfedConfig, on_delete=models.CASCADE, related_name='config')
peertube = models.OneToOneField(PeertubeConfig, on_delete=models.CASCADE, related_name='config')