2023-01-02 22:06:00 +00:00
|
|
|
from django.contrib.auth.models import User
|
|
|
|
|
|
|
|
from membership.models import Membership
|
|
|
|
from membership.models import SubscriptionPeriod
|
|
|
|
|
|
|
|
|
|
|
|
def get_subscription_periods() -> list[SubscriptionPeriod]:
|
|
|
|
subscription_periods = SubscriptionPeriod.objects.prefetch_related(
|
|
|
|
"membership_set",
|
|
|
|
"membership_set__user",
|
|
|
|
).all()
|
|
|
|
return list(subscription_periods)
|
|
|
|
|
|
|
|
|
|
|
|
def get_memberships(
|
|
|
|
*, user: User | None = None, period: SubscriptionPeriod | None = None
|
|
|
|
) -> Membership.QuerySet:
|
|
|
|
memberships = Membership.objects.select_related("membership_type").all()
|
|
|
|
|
|
|
|
if user:
|
|
|
|
memberships = memberships.for_user(user)
|
|
|
|
|
|
|
|
if period:
|
|
|
|
memberships = memberships.filter(period=period)
|
|
|
|
|
|
|
|
return memberships
|
2023-01-03 16:00:07 +00:00
|
|
|
|
|
|
|
|
|
|
|
def get_users():
|
|
|
|
return User.objects.all()
|