Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
CS123-Canteeneo
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Willard Torres
CS123-Canteeneo
Commits
34768301
Commit
34768301
authored
Dec 04, 2016
by
Willard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add stall edit and delete reviews
parent
bc2b90de
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
45 additions
and
8 deletions
+45
-8
api.py
canteeneo/api.py
+45
-8
No files found.
canteeneo/api.py
View file @
34768301
...
...
@@ -129,7 +129,7 @@ def create_dish_review(dish_id):
review
=
DishReview
(
title
,
body
,
rating
,
user_id
,
dish_id
)
db
.
session
.
add
(
review
)
db
.
session
.
commit
()
return
jsonify
(
review_obj
(
review
))
return
jsonify
(
dish_
review_obj
(
review
))
@
app
.
route
(
'/api/dishes/<int:dish_id>/reviews/<int:dish_review_id>'
,
methods
=
[
'PUT'
])
@
auth
.
login_required
...
...
@@ -141,7 +141,7 @@ def edit_dish_review(dish_id, dish_review_id):
review
.
body
=
request
.
json
[
'body'
]
review
.
rating
=
float
(
request
.
json
[
'rating'
])
db
.
session
.
commit
()
return
jsonify
(
review_obj
(
review
))
return
jsonify
(
dish_
review_obj
(
review
))
@
app
.
route
(
'/api/dishes/<int:dish_id>/reviews/<int:dish_review_id>'
,
methods
=
[
'DELETE'
])
@
auth
.
login_required
...
...
@@ -163,7 +163,7 @@ def dish_reviews(dish_id):
reviews
=
dish
.
reviews
.
all
()
data
=
[]
for
review
in
reviews
:
data
.
append
(
review_obj
(
review
))
data
.
append
(
dish_
review_obj
(
review
))
return
jsonify
(
data
)
@
app
.
route
(
'/api/stalls'
,
methods
=
[
'GET'
])
...
...
@@ -182,7 +182,7 @@ def get_dishes_by_stall(stall_id):
@
app
.
route
(
'/api/dishes/<int:dish_id>/reviews/<int:review_id>'
,
methods
=
[
'GET'
])
def
dish_review
(
dish_id
,
review_id
):
review
=
Dish
.
query
.
get
(
dish_id
)
.
reviews
.
filter_by
(
id
=
review_id
)
.
first
()
return
jsonify
(
review_obj
(
review
))
return
jsonify
(
dish_
review_obj
(
review
))
@
app
.
route
(
'/api/stalls/<int:stall_id>/favorites'
,
methods
=
[
'GET'
,
'POST'
])
@
auth
.
login_required
...
...
@@ -210,20 +210,44 @@ def create_stall_review(stall_id):
review
=
StallReview
(
title
,
body
,
rating
,
user_id
,
stall_id
)
db
.
session
.
add
(
review
)
db
.
session
.
commit
()
return
jsonify
(
review_obj
(
review
))
return
jsonify
(
stall_review_obj
(
review
))
@
app
.
route
(
'/api/stalls/<int:stall_id>/reviews/<int:stall_review_id>'
,
methods
=
[
'PUT'
])
@
auth
.
login_required
def
edit_stall_review
(
stall_id
,
stall_review_id
):
review
=
StallReview
.
query
.
get
(
stall_review_id
)
if
review
is
None
or
g
.
user
.
id
!=
review
.
user_id
:
return
abort
(
401
)
review
.
title
=
request
.
json
[
'title'
]
review
.
body
=
request
.
json
[
'body'
]
review
.
rating
=
float
(
request
.
json
[
'rating'
])
db
.
session
.
commit
()
return
jsonify
(
stall_review_obj
(
review
))
@
app
.
route
(
'/api/stalls/<int:stall_id>/reviews/<int:stall_review_id>'
,
methods
=
[
'DELETE'
])
@
auth
.
login_required
def
delete_stall_review
(
stall_id
,
stall_review_id
):
review
=
StallReview
.
query
.
get
(
stall_review_id
)
if
review
is
None
or
g
.
user
.
id
!=
review
.
user_id
:
return
abort
(
401
)
db
.
session
.
delete
(
review
)
db
.
session
.
commit
()
return
{
'message'
:
'Review deleted successfully'
},
200
@
app
.
route
(
'/api/stalls/<int:stall_id>/reviews'
,
methods
=
[
'GET'
])
def
stall_reviews
(
stall_id
):
reviews
=
Stall
.
query
.
get
(
stall_id
)
.
reviews
.
all
()
data
=
[]
for
review
in
reviews
:
data
.
append
(
review_obj
(
review
))
data
.
append
(
stall_
review_obj
(
review
))
return
jsonify
(
data
)
@
app
.
route
(
'/api/stalls/<int:stall_id>/reviews/<int:review_id>'
,
methods
=
[
'GET'
])
def
stall_review
(
stall_id
,
review_id
):
review
=
Stall
.
query
.
get
(
stall_id
)
.
reviews
.
filter_by
(
id
=
review_id
)
.
first
()
return
jsonify
(
review_obj
(
review
))
return
jsonify
(
stall_
review_obj
(
review
))
def
dish_obj
(
dish
):
if
dish
is
None
:
...
...
@@ -246,7 +270,7 @@ def stall_obj(stall):
'location'
:
Location
.
query
.
get
(
stall
.
location_id
)
.
name
}
def
review_obj
(
review
):
def
dish_
review_obj
(
review
):
if
review
is
None
:
return
None
return
{
...
...
@@ -257,4 +281,17 @@ def review_obj(review):
'user'
:
User
.
query
.
get
(
review
.
user_id
)
.
username
,
'user_id'
:
review
.
user_id
,
'dish_id'
:
review
.
dish_id
}
def
stall_review_obj
(
review
):
if
review
is
None
:
return
None
return
{
'id'
:
review
.
id
,
'title'
:
review
.
title
,
'body'
:
review
.
body
,
'rating'
:
review
.
rating
,
'user'
:
User
.
query
.
get
(
review
.
user_id
)
.
username
,
'user_id'
:
review
.
user_id
,
'stall_id'
:
review
.
stall_id
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment