forked from Fediversity/Fediversity
reverse relationship
This commit is contained in:
parent
0f2c5390d6
commit
8fabd7f0f1
2 changed files with 42 additions and 43 deletions
panel/src/panel
|
@ -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')),
|
||||
],
|
||||
),
|
||||
]
|
|
@ -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')
|
||||
|
|
Loading…
Add table
Reference in a new issue