def get(group_id):
try:
args = parser.parse_args()
except BadRequest:
return abort(400, message="Invalid arguments")
with db:
with db.cursor() as cursor:
user_id = id_from_token(args['token'])
if user_id is None:
return abort(403, message="Token is not allowed to view this group")
cursor.execute("SELECT day, COUNT(CASE WHEN invited THEN 1 END) AS invited, "
"COUNT(CASE WHEN accepted THEN 1 END) AS accepted, "
# Only if user is Group Member this will be 1
"COUNT(CASE WHEN user_id=%s THEN 1 END) = 1 AS allowed "
"FROM groups "
"JOIN groups_rel ON groups.id = groups_rel.group_id "
"WHERE groups.id=%s "
"GROUP BY groups.id ", [user_id, group_id])
group = cursor.fetchone()
if group is None:
return abort(404, message="Group not found")
if not group[3]:
return abort(403, message="Token is not allowed to view this group")
return {
'invited': group[1],
'accepted': group[2],
'day': str(group[0]),
}
评论列表
文章目录