Skip to content

Commit 04fe4f7

Browse files
naokichaumariobehlingmarcoagcweitat
authored
remove attendees creation api (#8906)
* remove attendees api * Update attendees.py * Update test_attendee_access_api.py * Update test_attendee_access_api.py --------- Co-authored-by: Mario Behling <[email protected]> Co-authored-by: Marco A. Gutierrez <[email protected]> Co-authored-by: cweitat <[email protected]>
1 parent 5f9e8e7 commit 04fe4f7

File tree

4 files changed

+4
-70
lines changed

4 files changed

+4
-70
lines changed

app/api/attendees.py

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
from app.api.helpers.permission_manager import has_access
1212
from app.api.helpers.permissions import jwt_required
1313
from app.api.helpers.query import event_query
14-
from app.api.helpers.utilities import require_relationship
1514
from app.api.schema.attendees import AttendeeSchema
1615
from app.models import db
1716
from app.models.order import Order
@@ -51,67 +50,6 @@ def get_sold_and_reserved_tickets_count(ticket_id):
5150
)
5251

5352

54-
class AttendeeListPost(ResourceList):
55-
"""
56-
List and create Attendees through direct URL
57-
"""
58-
59-
def before_post(self, args, kwargs, data):
60-
"""
61-
Before post method to check for required relationship and proper permissions
62-
:param args:
63-
:param kwargs:
64-
:param data:
65-
:return:
66-
"""
67-
require_relationship(['ticket', 'event'], data)
68-
69-
ticket = (
70-
db.session.query(Ticket)
71-
.filter_by(id=int(data['ticket']), deleted_at=None)
72-
.first()
73-
)
74-
if ticket is None:
75-
raise UnprocessableEntityError(
76-
{'pointer': '/data/relationships/ticket'}, "Invalid Ticket"
77-
)
78-
if ticket.event_id != int(data['event']):
79-
raise UnprocessableEntityError(
80-
{'pointer': '/data/relationships/ticket'},
81-
"Ticket belongs to a different Event",
82-
)
83-
# Check if the ticket is already sold out or not.
84-
ticket.raise_if_unavailable()
85-
86-
if 'device_name_checkin' in data and data['device_name_checkin'] is not None:
87-
if 'is_checked_in' not in data or not data['is_checked_in']:
88-
raise UnprocessableEntityError(
89-
{'pointer': '/data/attributes/device_name_checkin'},
90-
"Attendee needs to be checked in first",
91-
)
92-
if 'checkin_times' not in data or data['checkin_times'] is None:
93-
raise UnprocessableEntityError(
94-
{'pointer': '/data/attributes/device_name_checkin'},
95-
"Check in Times missing",
96-
)
97-
if len(data['checkin_times'].split(",")) != len(
98-
data['device_name_checkin'].split(",")
99-
):
100-
raise UnprocessableEntityError(
101-
{'pointer': '/data/attributes/device_name_checkin'},
102-
"Check in Times missing for the corresponding device name",
103-
)
104-
105-
if 'checkin_times' in data:
106-
if 'device_name_checkin' not in data or data['device_name_checkin'] is None:
107-
data['device_name_checkin'] = '-'
108-
109-
decorators = (jwt_required,)
110-
methods = ['POST']
111-
schema = AttendeeSchema
112-
data_layer = {'session': db.session, 'model': TicketHolder}
113-
114-
11553
class AttendeeList(ResourceList):
11654
"""
11755
List Attendees

app/api/routes.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
from app.api.attendees import (
2222
AttendeeDetail,
2323
AttendeeList,
24-
AttendeeListPost,
2524
AttendeeRelationshipOptional,
2625
AttendeeRelationshipRequired,
2726
)
@@ -1501,7 +1500,6 @@
15011500
)
15021501

15031502
# attendees
1504-
api.route(AttendeeListPost, 'attendee_list_post', '/attendees')
15051503
api.route(
15061504
AttendeeList,
15071505
'attendee_list',

app/api/schema/tickets.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,6 @@ class Meta:
179179
attendees = Relationship(
180180
self_view='v1.ticket_attendees',
181181
self_view_kwargs={'id': '<id>'},
182-
related_view='v1.attendee_list_post',
183-
related_view_kwargs={'ticket_id': '<id>'},
184182
schema='AttendeeSchema',
185183
many=True,
186184
type_='attendee',

tests/all/integration/api/attendee/test_attendee_access_api.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ def test_get_attendees_error(db, client, user, jwt, admin_user, admin_jwt):
2323

2424
response = client.get('/v1/attendees', content_type='application/vnd.api+json')
2525

26-
assert response.status_code == 405
26+
assert response.status_code == 404
2727

2828
response = client.get(
2929
'/v1/attendees',
3030
content_type='application/vnd.api+json',
3131
headers=jwt,
3232
)
3333

34-
assert response.status_code == 405
34+
assert response.status_code == 404
3535

3636
get_minimal_attendee(db, user, owner=True)
3737

@@ -41,7 +41,7 @@ def test_get_attendees_error(db, client, user, jwt, admin_user, admin_jwt):
4141
headers=jwt,
4242
)
4343

44-
assert response.status_code == 405
44+
assert response.status_code == 404
4545

4646
get_minimal_attendee(db, admin_user, owner=True)
4747

@@ -51,7 +51,7 @@ def test_get_attendees_error(db, client, user, jwt, admin_user, admin_jwt):
5151
headers=admin_jwt,
5252
)
5353

54-
assert response.status_code == 405
54+
assert response.status_code == 404
5555

5656

5757
def test_get_event_attendees_owner(db, client, user, jwt):

0 commit comments

Comments
 (0)