Update docker-entrypoint.sh

check if ${SUPERUSER_NAME} exists before updating password and api token
This commit is contained in:
MA Gang 2024-05-03 14:44:39 +02:00 committed by GitHub
parent 3da8d35fa5
commit 8364a9e387
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -86,17 +86,19 @@ fi
## Doc ## Doc
## https://docs.djangoproject.com/en/5.0/ref/models/querysets/#delete ## https://docs.djangoproject.com/en/5.0/ref/models/querysets/#delete
if [ "$SUPERUSER_PASSWORD_OVERWRITE" == "true" ]; then if [ "$SUPERUSER_PASSWORD_OVERWRITE" == "true" ]; then
echo "will overwrite superuser password for Superuser Username: ${SUPERUSER_NAME}" echo "will overwrite superuser password and api token for Superuser Username: ${SUPERUSER_NAME}"
./manage.py shell --interface python <<END ./manage.py shell --interface python <<END
from django.contrib.auth.models import User from django.contrib.auth.models import User
from users.models import Token from users.models import Token
u=User.objects.get(username='${SUPERUSER_NAME}') if User.objects.filter(username='${SUPERUSER_NAME}'):
u.set_password('${SUPERUSER_PASSWORD}') u=User.objects.get(username='${SUPERUSER_NAME}')
u.save() u.set_password('${SUPERUSER_PASSWORD}')
Token.objects.filter(user=u).delete() u.save()
Token.objects.create(user=u, key='${SUPERUSER_API_TOKEN}') Token.objects.filter(user=u).delete()
Token.objects.create(user=u, key='${SUPERUSER_API_TOKEN}')
END END
echo "💡 Superuser password and API token updated"
echo "💡 Superuser password and API Token updated"
fi fi