from django.db import models from django.conf import settings from django.utils.crypto import get_random_string def generate_secret(): return get_random_string( 32, allowed_chars='abcdefghijklmnopqrstuvwxyz0123456789' ) class SSOUserWebhook(models.Model): url = models.URLField(blank=False, null=False) secret = models.CharField(max_length=64, default=generate_secret) active = models.BooleanField(default=True) description = models.CharField(max_length=255) created_by_user = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.DO_NOTHING ) created_at = models.DateTimeField(auto_now_add=True) oauth_application_id = models.IntegerField( blank=True, null=True ) class Meta: db_table = 'pingcap_sso_user_webhook'