1from __future__ import annotations
 2
 3from datetime import datetime
 4
 5from plain import models
 6from plain.models import types
 7from plain.runtime import SettingsReference
 8
 9__all__ = ["SupportFormEntry"]
10
11
12@models.register_model
13class SupportFormEntry(models.Model):
14    user = types.ForeignKeyField(
15        SettingsReference("AUTH_USER_MODEL"),
16        on_delete=models.SET_NULL,
17        allow_null=True,
18        required=False,
19    )
20    name: str = types.CharField(max_length=255)
21    email: str = types.EmailField()
22    message: str = types.TextField()
23    created_at: datetime = types.DateTimeField(auto_now_add=True)
24    form_slug: str = types.CharField(max_length=255)
25    # referrer? source? session?
26    # extra_data
27
28    query: models.QuerySet[SupportFormEntry] = models.QuerySet()
29
30    model_options = models.Options(
31        ordering=["-created_at"],
32        indexes=[
33            models.Index(fields=["created_at"]),
34        ],
35    )