from django.core.management.base import BaseCommand from allauth.socialaccount.models import SocialApp from django.contrib.sites.models import Site import os class Command(BaseCommand): help = "Fix social app configurations" def handle(self, *args, **options): # Delete all existing social apps SocialApp.objects.all().delete() self.stdout.write("Deleted all existing social apps") # Get the default site site = Site.objects.get(id=1) # Create Google provider google_app = SocialApp.objects.create( provider="google", name="Google", client_id=os.getenv("GOOGLE_CLIENT_ID"), secret=os.getenv("GOOGLE_CLIENT_SECRET"), ) google_app.sites.add(site) self.stdout.write( f"Created Google app with client_id: { google_app.client_id}" ) # Create Discord provider discord_app = SocialApp.objects.create( provider="discord", name="Discord", client_id=os.getenv("DISCORD_CLIENT_ID"), secret=os.getenv("DISCORD_CLIENT_SECRET"), ) discord_app.sites.add(site) self.stdout.write( f"Created Discord app with client_id: {discord_app.client_id}" )