From a1a1b524fd02a57bd514ed95580fea8b67e1cede Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 6 Oct 2021 18:36:16 +0200 Subject: Syndication - docs, api permissions Permissions by token, IP and by model. --- ishtar_common/models_rest.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 ishtar_common/models_rest.py (limited to 'ishtar_common/models_rest.py') diff --git a/ishtar_common/models_rest.py b/ishtar_common/models_rest.py new file mode 100644 index 000000000..7d321ca92 --- /dev/null +++ b/ishtar_common/models_rest.py @@ -0,0 +1,32 @@ +from django.contrib.auth.models import User +from django.contrib.contenttypes.models import ContentType +from django.contrib.gis.db import models + +from ishtar_common.utils import ugettext_lazy as _ + + +class ApiUser(models.Model): + user_ptr = models.OneToOneField( + User, primary_key=True, related_name="apiuser", on_delete=models.CASCADE + ) + ip = models.GenericIPAddressField(verbose_name=_("IP")) + + class Meta: + verbose_name = _("Api - User") + verbose_name_plural = _("Api - Users") + + def __str__(self): + return self.user_ptr.username + + +class ApiSearchModel(models.Model): + user = models.ForeignKey(ApiUser, on_delete=models.CASCADE) + content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE) + limit_query = models.TextField( + verbose_name=_("Limit query"), blank=True, null=True, + help_text=_("Search query add to each request") + ) + + class Meta: + verbose_name = _("Api - Search model") + verbose_name_plural = _("Api - Search models") -- cgit v1.2.3