Issues (3)

byceps/services/ticketing/models/ticket.py (1 issue)

1
"""
2
byceps.services.ticketing.models.ticket
3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
5
:Copyright: 2014-2025 Jochen Kupperschmidt
6
:License: Revised BSD (see `LICENSE` file for details)
7
"""
8
9 1
from __future__ import annotations
10
11 1
from dataclasses import dataclass
12 1
from datetime import datetime
13 1
from typing import NewType, TYPE_CHECKING
14
from uuid import UUID
15 1
16
if TYPE_CHECKING:
17
    from byceps.services.seating.models import SeatGroupID
18 1
19
from byceps.services.party.models import PartyID
20
from byceps.services.user.models.user import User
21 1
22 1
23 1
TicketCategoryID = NewType('TicketCategoryID', UUID)
24 1
25 1
26
@dataclass(frozen=True, kw_only=True)
27
class TicketCategory:
28 1
    id: TicketCategoryID
29
    party_id: PartyID
30
    title: str
31 1
32
33
TicketCode = NewType('TicketCode', str)
34 1
35
36
TicketID = NewType('TicketID', UUID)
37 1
38 1
39 1
TicketBundleID = NewType('TicketBundleID', UUID)
40 1
41
42
@dataclass(frozen=True, kw_only=True)
43
class TicketBundle:
44
    id: TicketBundleID
45
    created_at: datetime
46
    party_id: PartyID
47
    ticket_category: TicketCategory
48
    ticket_quantity: int
49
    owned_by: User
50
    seats_managed_by: User | None
51
    users_managed_by: User | None
52
    label: str | None
53
    revoked: bool
54
    ticket_ids: set[TicketID]
55
    occupied_seat_group_id: SeatGroupID | None
0 ignored issues
show
The variable SeatGroupID does not seem to be defined in case TYPE_CHECKING on line 16 is False. Are you sure this can never be the case?
Loading history...
56
57
    @property
58
    def occupies_seat_group(self) -> bool:
59
        return self.occupied_seat_group_id is not None
60
61
62
@dataclass(frozen=True, kw_only=True)
63
class TicketSaleStats:
64
    tickets_max: int | None
65
    tickets_sold: int
66