forked from Fediversity/Fediversity
reverse relationship
This commit is contained in:
parent
0f2c5390d6
commit
8fabd7f0f1
2 changed files with 42 additions and 43 deletions
|
@ -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.conf import settings
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
@ -15,19 +15,9 @@ class Migration(migrations.Migration):
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='Configuration',
|
name='MastodonConfig',
|
||||||
fields=[
|
fields=[
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('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)),
|
('enable', models.BooleanField(default=False)),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -35,16 +25,26 @@ class Migration(migrations.Migration):
|
||||||
name='PeertubeConfig',
|
name='PeertubeConfig',
|
||||||
fields=[
|
fields=[
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('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)),
|
('enable', models.BooleanField(default=False)),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='MastodonConfig',
|
name='PixelfedConfig',
|
||||||
fields=[
|
fields=[
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('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)),
|
('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
|
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):
|
class Configuration(models.Model):
|
||||||
operator = models.ForeignKey(
|
operator = models.ForeignKey(
|
||||||
User,
|
User,
|
||||||
|
@ -24,31 +48,6 @@ class Configuration(models.Model):
|
||||||
],
|
],
|
||||||
max_length=255,
|
max_length=255,
|
||||||
)
|
)
|
||||||
# TODO: map to configuration model per service
|
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')
|
||||||
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}"
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue