From 82add2189a0f749e421240889eeda91ad75b0d8e Mon Sep 17 00:00:00 2001 From: ben Date: Sat, 11 Feb 2023 08:53:24 +0000 Subject: [PATCH] Removes events --- lnbits/extensions/events/README.md | 33 -- lnbits/extensions/events/__init__.py | 35 -- lnbits/extensions/events/config.json | 6 - lnbits/extensions/events/crud.py | 144 ----- lnbits/extensions/events/migrations.py | 83 --- lnbits/extensions/events/models.py | 43 -- .../extensions/events/static/image/events.png | Bin 141835 -> 0 bytes lnbits/extensions/events/tasks.py | 36 -- .../events/templates/events/_api_docs.html | 25 - .../events/templates/events/display.html | 216 ------- .../events/templates/events/error.html | 35 -- .../events/templates/events/index.html | 538 ------------------ .../events/templates/events/register.html | 176 ------ .../events/templates/events/ticket.html | 44 -- lnbits/extensions/events/views.py | 106 ---- lnbits/extensions/events/views_api.py | 194 ------- tests/data/mock_data.zip | Bin 43437 -> 42642 bytes 17 files changed, 1714 deletions(-) delete mode 100644 lnbits/extensions/events/README.md delete mode 100644 lnbits/extensions/events/__init__.py delete mode 100644 lnbits/extensions/events/config.json delete mode 100644 lnbits/extensions/events/crud.py delete mode 100644 lnbits/extensions/events/migrations.py delete mode 100644 lnbits/extensions/events/models.py delete mode 100644 lnbits/extensions/events/static/image/events.png delete mode 100644 lnbits/extensions/events/tasks.py delete mode 100644 lnbits/extensions/events/templates/events/_api_docs.html delete mode 100644 lnbits/extensions/events/templates/events/display.html delete mode 100644 lnbits/extensions/events/templates/events/error.html delete mode 100644 lnbits/extensions/events/templates/events/index.html delete mode 100644 lnbits/extensions/events/templates/events/register.html delete mode 100644 lnbits/extensions/events/templates/events/ticket.html delete mode 100644 lnbits/extensions/events/views.py delete mode 100644 lnbits/extensions/events/views_api.py diff --git a/lnbits/extensions/events/README.md b/lnbits/extensions/events/README.md deleted file mode 100644 index 11b62fecb..000000000 --- a/lnbits/extensions/events/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# Events - -## Sell tickets for events and use the built-in scanner for registering attendants - -Events alows you to make tickets for an event. Each ticket is in the form of a uniqque QR code. After registering, and paying for ticket, the user gets a QR code to present at registration/entrance. - -Events includes a shareable ticket scanner, which can be used to register attendees. - -## Usage - -1. Create an event\ - ![create event](https://i.imgur.com/dadK1dp.jpg) -2. Fill out the event information: - - - event name - - wallet (normally there's only one) - - event information - - closing date for event registration - - begin and end date of the event - - ![event info](https://imgur.com/KAv68Yr.jpg) - -3. Share the event registration link\ - ![event ticket](https://imgur.com/AQWUOBY.jpg) - - - ticket example\ - ![ticket example](https://i.imgur.com/trAVSLd.jpg) - - - QR code ticket, presented after invoice paid, to present at registration\ - ![event ticket](https://i.imgur.com/M0ROM82.jpg) - -4. Use the built-in ticket scanner to validate registered, and paid, attendees\ - ![ticket scanner](https://i.imgur.com/zrm9202.jpg) diff --git a/lnbits/extensions/events/__init__.py b/lnbits/extensions/events/__init__.py deleted file mode 100644 index b9283368b..000000000 --- a/lnbits/extensions/events/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -import asyncio - -from fastapi import APIRouter -from fastapi.staticfiles import StaticFiles - -from lnbits.db import Database -from lnbits.helpers import template_renderer -from lnbits.tasks import catch_everything_and_restart - -db = Database("ext_events") - - -events_ext: APIRouter = APIRouter(prefix="/events", tags=["Events"]) - -events_static_files = [ - { - "path": "/events/static", - "app": StaticFiles(packages=[("lnbits", "extensions/events/static")]), - "name": "events_static", - } -] - - -def events_renderer(): - return template_renderer(["lnbits/extensions/events/templates"]) - - -from .tasks import wait_for_paid_invoices -from .views import * # noqa: F401,F403 -from .views_api import * # noqa: F401,F403 - - -def events_start(): - loop = asyncio.get_event_loop() - loop.create_task(catch_everything_and_restart(wait_for_paid_invoices)) diff --git a/lnbits/extensions/events/config.json b/lnbits/extensions/events/config.json deleted file mode 100644 index a62bcc47a..000000000 --- a/lnbits/extensions/events/config.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "Events", - "short_description": "Sell and register event tickets", - "tile": "/events/static/image/events.png", - "contributors": ["benarc"] -} diff --git a/lnbits/extensions/events/crud.py b/lnbits/extensions/events/crud.py deleted file mode 100644 index 12cc73275..000000000 --- a/lnbits/extensions/events/crud.py +++ /dev/null @@ -1,144 +0,0 @@ -from typing import List, Optional, Union - -from lnbits.helpers import urlsafe_short_hash - -from . import db -from .models import CreateEvent, Events, Tickets - -# TICKETS - - -async def create_ticket( - payment_hash: str, wallet: str, event: str, name: str, email: str -) -> Tickets: - await db.execute( - """ - INSERT INTO events.ticket (id, wallet, event, name, email, registered, paid) - VALUES (?, ?, ?, ?, ?, ?, ?) - """, - (payment_hash, wallet, event, name, email, False, True), - ) - - # UPDATE EVENT DATA ON SOLD TICKET - eventdata = await get_event(event) - assert eventdata, "Couldn't get event from ticket being paid" - sold = eventdata.sold + 1 - amount_tickets = eventdata.amount_tickets - 1 - await db.execute( - """ - UPDATE events.events - SET sold = ?, amount_tickets = ? - WHERE id = ? - """, - (sold, amount_tickets, event), - ) - - ticket = await get_ticket(payment_hash) - assert ticket, "Newly created ticket couldn't be retrieved" - return ticket - - -async def get_ticket(payment_hash: str) -> Optional[Tickets]: - row = await db.fetchone("SELECT * FROM events.ticket WHERE id = ?", (payment_hash,)) - return Tickets(**row) if row else None - - -async def get_tickets(wallet_ids: Union[str, List[str]]) -> List[Tickets]: - if isinstance(wallet_ids, str): - wallet_ids = [wallet_ids] - - q = ",".join(["?"] * len(wallet_ids)) - rows = await db.fetchall( - f"SELECT * FROM events.ticket WHERE wallet IN ({q})", (*wallet_ids,) - ) - return [Tickets(**row) for row in rows] - - -async def delete_ticket(payment_hash: str) -> None: - await db.execute("DELETE FROM events.ticket WHERE id = ?", (payment_hash,)) - - -async def delete_event_tickets(event_id: str) -> None: - await db.execute("DELETE FROM events.ticket WHERE event = ?", (event_id,)) - - -# EVENTS - - -async def create_event(data: CreateEvent) -> Events: - event_id = urlsafe_short_hash() - await db.execute( - """ - INSERT INTO events.events (id, wallet, name, info, closing_date, event_start_date, event_end_date, amount_tickets, price_per_ticket, sold) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - """, - ( - event_id, - data.wallet, - data.name, - data.info, - data.closing_date, - data.event_start_date, - data.event_end_date, - data.amount_tickets, - data.price_per_ticket, - 0, - ), - ) - - event = await get_event(event_id) - assert event, "Newly created event couldn't be retrieved" - return event - - -async def update_event(event_id: str, **kwargs) -> Events: - q = ", ".join([f"{field[0]} = ?" for field in kwargs.items()]) - await db.execute( - f"UPDATE events.events SET {q} WHERE id = ?", (*kwargs.values(), event_id) - ) - event = await get_event(event_id) - assert event, "Newly updated event couldn't be retrieved" - return event - - -async def get_event(event_id: str) -> Optional[Events]: - row = await db.fetchone("SELECT * FROM events.events WHERE id = ?", (event_id,)) - return Events(**row) if row else None - - -async def get_events(wallet_ids: Union[str, List[str]]) -> List[Events]: - if isinstance(wallet_ids, str): - wallet_ids = [wallet_ids] - - q = ",".join(["?"] * len(wallet_ids)) - rows = await db.fetchall( - f"SELECT * FROM events.events WHERE wallet IN ({q})", (*wallet_ids,) - ) - - return [Events(**row) for row in rows] - - -async def delete_event(event_id: str) -> None: - await db.execute("DELETE FROM events.events WHERE id = ?", (event_id,)) - - -# EVENTTICKETS - - -async def get_event_tickets(event_id: str, wallet_id: str) -> List[Tickets]: - rows = await db.fetchall( - "SELECT * FROM events.ticket WHERE wallet = ? AND event = ?", - (wallet_id, event_id), - ) - return [Tickets(**row) for row in rows] - - -async def reg_ticket(ticket_id: str) -> List[Tickets]: - await db.execute( - "UPDATE events.ticket SET registered = ? WHERE id = ?", (True, ticket_id) - ) - ticket = await db.fetchone("SELECT * FROM events.ticket WHERE id = ?", (ticket_id,)) - rows = await db.fetchall( - "SELECT * FROM events.ticket WHERE event = ?", (ticket[1],) - ) - return [Tickets(**row) for row in rows] diff --git a/lnbits/extensions/events/migrations.py b/lnbits/extensions/events/migrations.py deleted file mode 100644 index 5b9d53b05..000000000 --- a/lnbits/extensions/events/migrations.py +++ /dev/null @@ -1,83 +0,0 @@ -async def m001_initial(db): - - await db.execute( - """ - CREATE TABLE events.events ( - id TEXT PRIMARY KEY, - wallet TEXT NOT NULL, - name TEXT NOT NULL, - info TEXT NOT NULL, - closing_date TEXT NOT NULL, - event_start_date TEXT NOT NULL, - event_end_date TEXT NOT NULL, - amount_tickets INTEGER NOT NULL, - price_per_ticket INTEGER NOT NULL, - sold INTEGER NOT NULL, - time TIMESTAMP NOT NULL DEFAULT """ - + db.timestamp_now - + """ - ); - """ - ) - - await db.execute( - """ - CREATE TABLE events.tickets ( - id TEXT PRIMARY KEY, - wallet TEXT NOT NULL, - event TEXT NOT NULL, - name TEXT NOT NULL, - email TEXT NOT NULL, - registered BOOLEAN NOT NULL, - time TIMESTAMP NOT NULL DEFAULT """ - + db.timestamp_now - + """ - ); - """ - ) - - -async def m002_changed(db): - - await db.execute( - """ - CREATE TABLE events.ticket ( - id TEXT PRIMARY KEY, - wallet TEXT NOT NULL, - event TEXT NOT NULL, - name TEXT NOT NULL, - email TEXT NOT NULL, - registered BOOLEAN NOT NULL, - paid BOOLEAN NOT NULL, - time TIMESTAMP NOT NULL DEFAULT """ - + db.timestamp_now - + """ - ); - """ - ) - - for row in [list(row) for row in await db.fetchall("SELECT * FROM events.tickets")]: - usescsv = "" - - for i in range(row[5]): - if row[7]: - usescsv += "," + str(i + 1) - else: - usescsv += "," + str(1) - usescsv = usescsv[1:] - await db.execute( - """ - INSERT INTO events.ticket ( - id, - wallet, - event, - name, - email, - registered, - paid - ) - VALUES (?, ?, ?, ?, ?, ?, ?) - """, - (row[0], row[1], row[2], row[3], row[4], row[5], True), - ) - await db.execute("DROP TABLE events.tickets") diff --git a/lnbits/extensions/events/models.py b/lnbits/extensions/events/models.py deleted file mode 100644 index dd38e973a..000000000 --- a/lnbits/extensions/events/models.py +++ /dev/null @@ -1,43 +0,0 @@ -from fastapi.param_functions import Query -from pydantic import BaseModel - - -class CreateEvent(BaseModel): - wallet: str - name: str - info: str - closing_date: str - event_start_date: str - event_end_date: str - amount_tickets: int = Query(..., ge=0) - price_per_ticket: int = Query(..., ge=0) - - -class CreateTicket(BaseModel): - name: str - email: str - - -class Events(BaseModel): - id: str - wallet: str - name: str - info: str - closing_date: str - event_start_date: str - event_end_date: str - amount_tickets: int - price_per_ticket: int - sold: int - time: int - - -class Tickets(BaseModel): - id: str - wallet: str - event: str - name: str - email: str - registered: bool - paid: bool - time: int diff --git a/lnbits/extensions/events/static/image/events.png b/lnbits/extensions/events/static/image/events.png deleted file mode 100644 index 65c1bddb592232648cdb2f98ed4a79265c88f97c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141835 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�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
>$O`8giK;mL!>4 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 None: - # (avoid loops) - if ( - payment.extra - and "events" == payment.extra.get("tag") - and payment.extra.get("name") - and payment.extra.get("email") - ): - await api_ticket_send_ticket( - payment.memo, - payment.payment_hash, - CreateTicket( - name=str(payment.extra.get("name")), - email=str(payment.extra.get("email")), - ), - ) - return diff --git a/lnbits/extensions/events/templates/events/_api_docs.html b/lnbits/extensions/events/templates/events/_api_docs.html deleted file mode 100644 index 9a24d7079..000000000 --- a/lnbits/extensions/events/templates/events/_api_docs.html +++ /dev/null @@ -1,25 +0,0 @@ - - - -
- Events: Sell and register ticket waves for an event -
-

- Events alows you to make a wave of tickets for an event, each ticket is - in the form of a unqiue QRcode, which the user presents at registration. - Events comes with a shareable ticket scanner, which can be used to - register attendees.
- - Created by, - Ben Arc - -

-
-
- -
diff --git a/lnbits/extensions/events/templates/events/display.html b/lnbits/extensions/events/templates/events/display.html deleted file mode 100644 index 45c2aca26..000000000 --- a/lnbits/extensions/events/templates/events/display.html +++ /dev/null @@ -1,216 +0,0 @@ -{% extends "public.html" %} {% block page %} -
-
- - -

{{ event_name }}

-
-
{{ event_info }}
-
- - - - -
- Submit - Cancel -
-
-
-
- - -
- Link to your ticket! -

-

You'll be redirected in a few moments...

-
-
-
- - - - - - -
- Copy invoice - Close -
-
-
-
- -{% endblock %} {% block scripts %} - -{% endblock %} diff --git a/lnbits/extensions/events/templates/events/error.html b/lnbits/extensions/events/templates/events/error.html deleted file mode 100644 index f231177b4..000000000 --- a/lnbits/extensions/events/templates/events/error.html +++ /dev/null @@ -1,35 +0,0 @@ -{% extends "public.html" %} {% block page %} -
-
- - -
-

{{ event_name }} error

-
- - -
{{ event_error }}
-
-
-
-
-
- - {% endblock %} {% block scripts %} - - - - {% endblock %} -
diff --git a/lnbits/extensions/events/templates/events/index.html b/lnbits/extensions/events/templates/events/index.html deleted file mode 100644 index 212589301..000000000 --- a/lnbits/extensions/events/templates/events/index.html +++ /dev/null @@ -1,538 +0,0 @@ -{% extends "base.html" %} {% from "macros.jinja" import window_vars with context -%} {% block page %} -
-
- - - New Event - - - - - -
-
-
Events
-
-
- Export to CSV -
-
- - {% raw %} - - - {% endraw %} - -
-
- - - -
-
-
Tickets
-
-
- Export to CSV -
-
- - {% raw %} - - - {% endraw %} - -
-
-
-
- - -
- {{SITE_TITLE}} Events extension -
-
- - - {% include "events/_api_docs.html" %} - -
-
- - - - -
-
- -
-
- - -
-
- - -
-
Ticket closing date
-
- -
-
- -
-
Event begins
-
- -
-
- -
-
Event ends
-
- -
-
- -
-
- -
-
- -
-
- -
- Update Event - Create Event - Cancel -
-
-
-
-
-{% endblock %} {% block scripts %} {{ window_vars(user) }} - -{% endblock %} diff --git a/lnbits/extensions/events/templates/events/register.html b/lnbits/extensions/events/templates/events/register.html deleted file mode 100644 index 43d43070b..000000000 --- a/lnbits/extensions/events/templates/events/register.html +++ /dev/null @@ -1,176 +0,0 @@ -{% extends "public.html" %} {% block page %} - -
-
- - -
-

{{ event_name }} Registration

-
- -
- - Scan ticket -
-
-
- - - - - {% raw %} - - - {% endraw %} - - - -
- - - -
- -
-
- Cancel -
-
-
-
-{% endblock %} {% block scripts %} - -{% endblock %} diff --git a/lnbits/extensions/events/templates/events/ticket.html b/lnbits/extensions/events/templates/events/ticket.html deleted file mode 100644 index 21b7cfa82..000000000 --- a/lnbits/extensions/events/templates/events/ticket.html +++ /dev/null @@ -1,44 +0,0 @@ -{% extends "public.html" %} {% block page %} -
-
- - -
-

{{ ticket_name }} Ticket

-
-
- Bookmark, print or screenshot this page,
- and present it for registration! -
-
- - -
- - Print -
-
-
-
-
-{% endblock %} {% block scripts %} - -{% endblock %} diff --git a/lnbits/extensions/events/views.py b/lnbits/extensions/events/views.py deleted file mode 100644 index 4ed567956..000000000 --- a/lnbits/extensions/events/views.py +++ /dev/null @@ -1,106 +0,0 @@ -from datetime import date, datetime -from http import HTTPStatus - -from fastapi import Depends, Request -from fastapi.templating import Jinja2Templates -from starlette.exceptions import HTTPException -from starlette.responses import HTMLResponse - -from lnbits.core.models import User -from lnbits.decorators import check_user_exists - -from . import events_ext, events_renderer -from .crud import get_event, get_ticket - -templates = Jinja2Templates(directory="templates") - - -@events_ext.get("/", response_class=HTMLResponse) -async def index(request: Request, user: User = Depends(check_user_exists)): - return events_renderer().TemplateResponse( - "events/index.html", {"request": request, "user": user.dict()} - ) - - -@events_ext.get("/{event_id}", response_class=HTMLResponse) -async def display(request: Request, event_id): - event = await get_event(event_id) - if not event: - raise HTTPException( - status_code=HTTPStatus.NOT_FOUND, detail="Event does not exist." - ) - - if event.amount_tickets < 1: - return events_renderer().TemplateResponse( - "events/error.html", - { - "request": request, - "event_name": event.name, - "event_error": "Sorry, tickets are sold out :(", - }, - ) - datetime_object = datetime.strptime(event.closing_date, "%Y-%m-%d").date() - if date.today() > datetime_object: - return events_renderer().TemplateResponse( - "events/error.html", - { - "request": request, - "event_name": event.name, - "event_error": "Sorry, ticket closing date has passed :(", - }, - ) - - return events_renderer().TemplateResponse( - "events/display.html", - { - "request": request, - "event_id": event_id, - "event_name": event.name, - "event_info": event.info, - "event_price": event.price_per_ticket, - }, - ) - - -@events_ext.get("/ticket/{ticket_id}", response_class=HTMLResponse) -async def ticket(request: Request, ticket_id): - ticket = await get_ticket(ticket_id) - if not ticket: - raise HTTPException( - status_code=HTTPStatus.NOT_FOUND, detail="Ticket does not exist." - ) - - event = await get_event(ticket.event) - if not event: - raise HTTPException( - status_code=HTTPStatus.NOT_FOUND, detail="Event does not exist." - ) - - return events_renderer().TemplateResponse( - "events/ticket.html", - { - "request": request, - "ticket_id": ticket_id, - "ticket_name": event.name, - "ticket_info": event.info, - }, - ) - - -@events_ext.get("/register/{event_id}", response_class=HTMLResponse) -async def register(request: Request, event_id): - event = await get_event(event_id) - if not event: - raise HTTPException( - status_code=HTTPStatus.NOT_FOUND, detail="Event does not exist." - ) - - return events_renderer().TemplateResponse( - "events/register.html", - { - "request": request, - "event_id": event_id, - "event_name": event.name, - "wallet_id": event.wallet, - }, - ) diff --git a/lnbits/extensions/events/views_api.py b/lnbits/extensions/events/views_api.py deleted file mode 100644 index f27485d87..000000000 --- a/lnbits/extensions/events/views_api.py +++ /dev/null @@ -1,194 +0,0 @@ -from http import HTTPStatus - -from fastapi import Depends, Query -from starlette.exceptions import HTTPException - -from lnbits.core.crud import get_user -from lnbits.core.services import create_invoice -from lnbits.core.views.api import api_payment -from lnbits.decorators import WalletTypeInfo, get_key_type - -from . import events_ext -from .crud import ( - create_event, - create_ticket, - delete_event, - delete_event_tickets, - delete_ticket, - get_event, - get_event_tickets, - get_events, - get_ticket, - get_tickets, - reg_ticket, - update_event, -) -from .models import CreateEvent, CreateTicket - -# Events - - -@events_ext.get("/api/v1/events") -async def api_events( - all_wallets: bool = Query(False), wallet: WalletTypeInfo = Depends(get_key_type) -): - wallet_ids = [wallet.wallet.id] - - if all_wallets: - user = await get_user(wallet.wallet.user) - wallet_ids = user.wallet_ids if user else [] - - return [event.dict() for event in await get_events(wallet_ids)] - - -@events_ext.post("/api/v1/events") -@events_ext.put("/api/v1/events/{event_id}") -async def api_event_create( - data: CreateEvent, event_id=None, wallet: WalletTypeInfo = Depends(get_key_type) -): - if event_id: - event = await get_event(event_id) - if not event: - raise HTTPException( - status_code=HTTPStatus.NOT_FOUND, detail="Event does not exist." - ) - - if event.wallet != wallet.wallet.id: - raise HTTPException( - status_code=HTTPStatus.FORBIDDEN, detail="Not your event." - ) - event = await update_event(event_id, **data.dict()) - else: - event = await create_event(data=data) - - return event.dict() - - -@events_ext.delete("/api/v1/events/{event_id}") -async def api_form_delete(event_id, wallet: WalletTypeInfo = Depends(get_key_type)): - event = await get_event(event_id) - if not event: - raise HTTPException( - status_code=HTTPStatus.NOT_FOUND, detail="Event does not exist." - ) - - if event.wallet != wallet.wallet.id: - raise HTTPException(status_code=HTTPStatus.FORBIDDEN, detail="Not your event.") - - await delete_event(event_id) - await delete_event_tickets(event_id) - return "", HTTPStatus.NO_CONTENT - - -#########Tickets########## - - -@events_ext.get("/api/v1/tickets") -async def api_tickets( - all_wallets: bool = Query(False), wallet: WalletTypeInfo = Depends(get_key_type) -): - wallet_ids = [wallet.wallet.id] - - if all_wallets: - user = await get_user(wallet.wallet.user) - wallet_ids = user.wallet_ids if user else [] - - return [ticket.dict() for ticket in await get_tickets(wallet_ids)] - - -@events_ext.get("/api/v1/tickets/{event_id}/{name}/{email}") -async def api_ticket_make_ticket(event_id, name, email): - event = await get_event(event_id) - if not event: - raise HTTPException( - status_code=HTTPStatus.NOT_FOUND, detail="Event does not exist." - ) - try: - payment_hash, payment_request = await create_invoice( - wallet_id=event.wallet, - amount=event.price_per_ticket, - memo=f"{event_id}", - extra={"tag": "events", "name": name, "email": email}, - ) - except Exception as e: - raise HTTPException(status_code=HTTPStatus.INTERNAL_SERVER_ERROR, detail=str(e)) - return {"payment_hash": payment_hash, "payment_request": payment_request} - - -@events_ext.post("/api/v1/tickets/{event_id}/{payment_hash}") -async def api_ticket_send_ticket(event_id, payment_hash, data: CreateTicket): - event = await get_event(event_id) - if not event: - raise HTTPException( - status_code=HTTPStatus.NOT_FOUND, - detail="Event could not be fetched.", - ) - - status = await api_payment(payment_hash) - if status["paid"]: - - exists = await get_ticket(payment_hash) - if exists: - return {"paid": True, "ticket_id": exists.id} - - ticket = await create_ticket( - payment_hash=payment_hash, - wallet=event.wallet, - event=event_id, - name=data.name, - email=data.email, - ) - if not ticket: - raise HTTPException( - status_code=HTTPStatus.NOT_FOUND, - detail="Event could not be fetched.", - ) - return {"paid": True, "ticket_id": ticket.id} - return {"paid": False} - - -@events_ext.delete("/api/v1/tickets/{ticket_id}") -async def api_ticket_delete(ticket_id, wallet: WalletTypeInfo = Depends(get_key_type)): - ticket = await get_ticket(ticket_id) - if not ticket: - raise HTTPException( - status_code=HTTPStatus.NOT_FOUND, detail="Ticket does not exist." - ) - - if ticket.wallet != wallet.wallet.id: - raise HTTPException(status_code=HTTPStatus.FORBIDDEN, detail="Not your ticket.") - - await delete_ticket(ticket_id) - return "", HTTPStatus.NO_CONTENT - - -# Event Tickets - - -@events_ext.get("/api/v1/eventtickets/{wallet_id}/{event_id}") -async def api_event_tickets(wallet_id, event_id): - return [ - ticket.dict() - for ticket in await get_event_tickets(wallet_id=wallet_id, event_id=event_id) - ] - - -@events_ext.get("/api/v1/register/ticket/{ticket_id}") -async def api_event_register_ticket(ticket_id): - ticket = await get_ticket(ticket_id) - if not ticket: - raise HTTPException( - status_code=HTTPStatus.NOT_FOUND, detail="Ticket does not exist." - ) - - if not ticket.paid: - raise HTTPException( - status_code=HTTPStatus.FORBIDDEN, detail="Ticket not paid for." - ) - - if ticket.registered is True: - raise HTTPException( - status_code=HTTPStatus.FORBIDDEN, detail="Ticket already registered" - ) - - return [ticket.dict() for ticket in await reg_ticket(ticket_id)] diff --git a/tests/data/mock_data.zip b/tests/data/mock_data.zip index 7bc50d096a19ad31590ec113687fa29f336c6f32..811176a772d528002d44090115cd3fa40acda0d4 100644 GIT binary patch delta 349 zcmXBOT_{6w7zXfv?|&OfCs(9&Qslywm5<13lE_?8)56(t_CcXEDP~0^E>}E7YMZkU z+ghgixNy0`fVTMOXGjgGFc=kmebTCYgw&^Ztej8!9l3Gz4t3ihtpDgZ_%5VG=I!9Trd3R_X&|~i}*}TbM9w&2v||8mO+hFKnMvW`*CyNq^uuJ zNr|2U2qq`^`ZB}VYL9-eHzo3}6^81ycHP;ONI$D6rrdPA4s%-jZ4+B*7d->-X@$S; YFkJ3gD+g^x6Vs+a+gpLL%S!W@y=2<0e;fP}@kAeae^vz8VZY=viGm|^L+C@&-Z!qyy6E) z(>T(y<6~{ywC-nZGMU3d003M7^nn>*@{<_MWF{wxXT?ik$0RZB{Qb0n#u@2!_!(%E zbVM}ScR}H8qOll=OTbk*-gzYmDj2a0a(~|8-{h&DV z#)}uz-h}6FoEAPNpEIXsxe8i)i#Y{+(F@5*;l<4o=L_S{zr41v=NuHQ1sv-X4|$k+ zWvyJM74H~W$$#5UzUWUWjJ+QaBKz5)>w0Ccjdpz<*4r;7@hOQBccb->gRc{_IUkrz_{#)mx&0&G?`M-o5ViFPVFO=ZQtC{y&*uhQB_SM*ZIZ}bvI zjR|^R^^$-5snJ(^w6jMqkGGo?tT{JQIV+Qm_Q&td3p-qtb|NG$!nUEILEM3ldeAK% zv((W^X%cq&JTpDWnotZCrQQ8yP8vGc?dj7zXhbKisvC6%DMm!`hl2_Q_o{~k!9odn zE3WN0qdCrStaWCMJb6N&rc{~<(ftyaTrBMZGZyES23cFmh>dUab@$_d-n~Oxc%4mzD)_L zGnak9|LyW&D3xfz{t_bE><1v;*A`JbooAOYkFA~CX zIwEJm${FdrtlWcP9aw