Я использую React (спереди), Django (на стороне сервера), Simple JWT для модели аутентификации пользователя и БД Postgres.
Позвольте мне объяснить мою модель: компания владеет множеством свойств, и у каждой компании есть несколько пользователей. Когда пользователь входит в систему, я хочу, чтобы он видел список свойств, принадлежащих их собственной компании. Когда пользователь выбирает любое свойство из списка, мне нужно снова проверить, есть ли у пользователя разрешение, а затем выполнить запросы. В настоящее время я использую Simple JWT для аутентификации. Когда пользователь входит в систему, серверная часть генерирует токены доступа и обновления. С каждым запросом, отправленным со стороны пользователя, я отправляю токен доступа JWT. На стороне сервера я хочу декодировать токен, посмотреть, к какой компании принадлежит пользователь, соответствующим образом отфильтровать запросы и отправить JsonResponse.
Вот моя модель компании:
class Company(models.Model):
owner = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='company_user', on_delete=models.CASCADE, null=True)
company_name = models.CharField(max_length=200, null=True)
slug = models.SlugField(max_length=200, unique=True)
class Meta:
ordering = ['name']
def __str__(self):
return self.name
Вот модель свойства:
class Property(models.Model):
company = models.ForeignKey(Company, related_name='prop_company', null = True, on_delete=models.CASCADE)
property_name = models.CharField(max_length=200, null=True)
property_type = models.CharField(max_length=200, null=True)
def __str__(self):
return self.property_name
Вот данные о собственности
class PropertyData(models.Model):
data = models.ForeignKey(Property, related_name='property_data', null = True, on_delete=models.CASCADE)
lat = model.FloatField(null=True)
long = model.FloatField(null=True)
Как мне обработать токен JWT в бэкэнде и проверить, к какой компании принадлежит пользователь, выполнить соответствующие запросы, а затем отправить сообщение об успешном завершении вместе с отфильтрованными данными?