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
3aacfcdf
Commit
3aacfcdf
authored
Nov 24, 2016
by
Willard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert back to using functions for routes
parent
1bc3b7fe
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
80 additions
and
88 deletions
+80
-88
api.py
canteeneo/api.py
+80
-88
No files found.
canteeneo/api.py
View file @
3aacfcdf
...
@@ -93,31 +93,22 @@ def get_auth_token():
...
@@ -93,31 +93,22 @@ def get_auth_token():
token
=
generate_token
(
g
.
user
)
token
=
generate_token
(
g
.
user
)
return
jsonify
({
'token'
:
token
.
decode
(
'ascii'
),
'duration'
:
600
})
return
jsonify
({
'token'
:
token
.
decode
(
'ascii'
),
'duration'
:
600
})
class
DishFavoriteResource
(
MethodView
):
@
app
.
route
(
'/api/dishes/<int:dish_id>/favorites'
,
methods
=
[
'GET'
,
'POST'
])
decorators
=
[
auth
.
login_required
]
@
auth
.
login_required
def
dish_favorite
(
dish_id
):
def
get
(
self
,
dish_id
):
return
str
(
Dish
.
query
.
get
(
dish_id
)
in
g
.
user
.
dish_favorites
)
def
post
(
self
,
dish_id
):
dish
=
Dish
.
query
.
get
(
dish_id
)
dish
=
Dish
.
query
.
get
(
dish_id
)
if
request
.
method
==
'POST'
:
favorited
=
request
.
form
[
'favorited'
]
==
u'1'
favorited
=
request
.
form
[
'favorited'
]
==
u'1'
if
dish
not
in
g
.
user
.
dish_
f
avorites
and
favorited
:
if
dish
not
in
g
.
user
.
dish_
F
avorites
and
favorited
:
g
.
user
.
dish_
f
avorites
.
append
(
dish
)
g
.
user
.
dish_
F
avorites
.
append
(
dish
)
elif
dish
in
g
.
user
.
dish_favorites
and
not
favorited
:
elif
dish
in
g
.
user
.
dish_favorites
and
not
favorited
:
g
.
user
.
dish_favorites
.
remove
(
dish
)
g
.
user
.
dish_favorites
.
remove
(
dish
)
db
.
session
.
commit
()
db
.
session
.
commit
()
return
str
(
dish
in
g
.
user
.
dish_favorites
)
return
str
(
dish
in
g
.
user
.
dish_favorites
)
class
DishReviewResource
(
MethodView
):
@
app
.
route
(
'/api/dishes/<int:dish_id>/reviews'
,
methods
=
[
'POST'
])
decorators
=
[
auth
.
login_required
]
@
auth
.
login_required
def
create_dish_review
(
dish_id
):
def
get
(
self
,
dish_id
):
review
=
DishReview
.
query
.
filter_by
(
user_id
=
g
.
user
.
id
,
dish_id
=
dish_id
)
.
first
()
print
(
g
.
user
.
id
,
dish_id
)
return
self
.
review_json
(
review
)
def
post
(
self
,
dish_id
):
user_id
=
g
.
user
.
id
user_id
=
g
.
user
.
id
title
=
request
.
form
[
'title'
]
title
=
request
.
form
[
'title'
]
body
=
request
.
form
[
'body'
]
body
=
request
.
form
[
'body'
]
...
@@ -125,44 +116,37 @@ class DishReviewResource(MethodView):
...
@@ -125,44 +116,37 @@ class DishReviewResource(MethodView):
review
=
DishReview
(
title
,
body
,
rating
,
user_id
,
dish_id
)
review
=
DishReview
(
title
,
body
,
rating
,
user_id
,
dish_id
)
db
.
session
.
add
(
review
)
db
.
session
.
add
(
review
)
db
.
session
.
commit
()
db
.
session
.
commit
()
return
self
.
review_json
(
review
)
return
jsonify
(
review_obj
(
review
))
def
review_json
(
self
,
review
):
if
review
is
None
:
return
''
review
=
{
'title'
:
review
.
title
,
'body'
:
review
.
body
,
'rating'
:
review
.
rating
,
'user_id'
:
review
.
user_id
,
'dish_id'
:
review
.
dish_id
}
return
jsonify
(
review
)
class
StallFavoriteResource
(
MethodView
):
@
app
.
route
(
'/api/dishes/<int:dish_id>/reviews'
,
methods
=
[
'GET'
])
decorators
=
[
auth
.
login_required
]
def
dish_reviews
(
dish_id
):
reviews
=
Dish
.
query
.
get
(
dish_id
)
.
reviews
.
all
()
data
=
[]
for
review
in
reviews
:
data
.
append
(
review_obj
(
review
))
return
jsonify
(
data
)
def
get
(
self
,
stall_id
):
@
app
.
route
(
'/api/dishes/<int:dish_id>/reviews/<int:review_id>'
,
methods
=
[
'GET'
])
return
str
(
Stall
.
query
.
get
(
stall_id
)
in
g
.
user
.
stall_favorites
)
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
))
def
post
(
self
,
stall_id
):
@
app
.
route
(
'/api/stalls/<int:stall_id>/favorites'
,
methods
=
[
'GET'
,
'POST'
])
@
auth
.
login_required
def
stall_favorite
(
stall_id
):
stall
=
Stall
.
query
.
get
(
stall_id
)
stall
=
Stall
.
query
.
get
(
stall_id
)
if
request
.
method
==
'POST'
:
favorited
=
request
.
form
[
'favorited'
]
==
u'1'
favorited
=
request
.
form
[
'favorited'
]
==
u'1'
if
stall
not
in
g
.
user
.
stall_favorites
and
favorited
:
if
stall
not
in
g
.
user
.
stall_favorites
and
favorited
:
g
.
user
.
stall_favorites
.
append
(
stall
)
g
.
user
.
stall_favorites
.
append
(
dish
)
elif
stall
in
g
.
user
.
stall
_favorites
and
not
favorited
:
elif
dish
in
g
.
user
.
dish
_favorites
and
not
favorited
:
g
.
user
.
stall_favorites
.
remove
(
stall
)
g
.
stall
.
stall_favorites
.
remove
(
dish
)
db
.
session
.
commit
()
db
.
session
.
commit
()
return
str
(
stall
in
g
.
user
.
stall_favorites
)
return
str
(
dish
in
g
.
user
.
stall_favorites
)
class
StallReviewResource
(
MethodView
):
decorators
=
[
auth
.
login_required
]
def
get
(
self
,
stall_id
):
@
app
.
route
(
'/api/stalls/<int:stall_id>/reviews'
,
methods
=
[
'POST'
])
review
=
StallReview
.
query
.
filter_by
(
user_id
=
g
.
user
.
id
,
stall_id
=
stall_id
)
.
first
()
@
auth
.
login_required
return
self
.
review_json
(
review
)
def
create_stall_review
(
stall_id
):
def
post
(
self
,
stall_id
):
user_id
=
g
.
user
.
id
user_id
=
g
.
user
.
id
title
=
request
.
form
[
'title'
]
title
=
request
.
form
[
'title'
]
body
=
request
.
form
[
'body'
]
body
=
request
.
form
[
'body'
]
...
@@ -170,9 +154,22 @@ class StallReviewResource(MethodView):
...
@@ -170,9 +154,22 @@ class StallReviewResource(MethodView):
review
=
StallReview
(
title
,
body
,
rating
,
user_id
,
stall_id
)
review
=
StallReview
(
title
,
body
,
rating
,
user_id
,
stall_id
)
db
.
session
.
add
(
review
)
db
.
session
.
add
(
review
)
db
.
session
.
commit
()
db
.
session
.
commit
()
return
self
.
review_json
(
review
)
return
jsonify
(
review_obj
(
review
))
def
review_json
(
self
,
review
):
@
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
))
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
))
def
review_obj
(
review
):
if
review
is
None
:
if
review
is
None
:
return
''
return
''
review
=
{
review
=
{
...
@@ -182,9 +179,4 @@ class StallReviewResource(MethodView):
...
@@ -182,9 +179,4 @@ class StallReviewResource(MethodView):
'user_id'
:
review
.
user_id
,
'user_id'
:
review
.
user_id
,
'dish_id'
:
review
.
dish_id
'dish_id'
:
review
.
dish_id
}
}
return
jsonify
(
review
)
return
review
\ No newline at end of file
app
.
add_url_rule
(
'/api/dishes/<int:dish_id>/favorites'
,
view_func
=
DishFavoriteResource
.
as_view
(
'dish_favorite'
))
app
.
add_url_rule
(
'/api/dishes/<int:dish_id>/reviews'
,
view_func
=
DishReviewResource
.
as_view
(
'dish_review'
))
app
.
add_url_rule
(
'/api/stalls/<int:stall_id>/favorites'
,
view_func
=
StallFavoriteResource
.
as_view
(
'stall_favorite'
))
app
.
add_url_rule
(
'/api/stalls/<int:stall_id>/reviews'
,
view_func
=
StallReviewResource
.
as_view
(
'stall_review'
))
\ 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