added join campus function
This commit is contained in:
parent
f9190f73d2
commit
9d323c4422
2 changed files with 53 additions and 2 deletions
|
@ -76,9 +76,10 @@ def create_campus(token):
|
||||||
print e
|
print e
|
||||||
|
|
||||||
user = get_user_by_token(token)
|
user = get_user_by_token(token)
|
||||||
|
arr = []
|
||||||
|
arr.append(str(user.key().id()))
|
||||||
try:
|
try:
|
||||||
campus = Campus(title=payload['title'], email_ending=payload['email_ending'], master_user_id=user.key().id(), avatar_url=payload['avatar_url'])
|
campus = Campus(title=payload['title'], email_ending=payload['email_ending'], master_user_id=user.key().id(), avatar_url=payload['avatar_url'], membersId=arr)
|
||||||
except Exception:
|
except Exception:
|
||||||
return bad_request()
|
return bad_request()
|
||||||
|
|
||||||
|
@ -94,6 +95,53 @@ def create_campus(token):
|
||||||
# PUT
|
# PUT
|
||||||
#----------------------------------------------------------
|
#----------------------------------------------------------
|
||||||
|
|
||||||
|
@campus_routes.route('/api/campuses/joinCampus/<string:token>/<string:campusId>', methods=["PUT"])
|
||||||
|
@auto.doc()
|
||||||
|
def joinCampus(token, campusId):
|
||||||
|
"""
|
||||||
|
<span class="card-title">This call will add the user (by token) to a specific campus</span>
|
||||||
|
<br>
|
||||||
|
<b>Route Parameters</b><br>
|
||||||
|
- seToken: 'seToken'<br>
|
||||||
|
- campusId: 123456789
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<b>Payload</b><br>
|
||||||
|
- None <br>
|
||||||
|
<br>
|
||||||
|
<b>Response</b>
|
||||||
|
<br>
|
||||||
|
202 - Accepted
|
||||||
|
<br>
|
||||||
|
400 - Bad Request
|
||||||
|
<br>
|
||||||
|
403 - Invalid token or not a lecturer
|
||||||
|
"""
|
||||||
|
|
||||||
|
user = get_user_by_token(token)
|
||||||
|
if user is None:
|
||||||
|
return bad_request("Wrong user Token")
|
||||||
|
|
||||||
|
campus = Campus.get_by_id(int(campusId))
|
||||||
|
if campus is None:
|
||||||
|
return bad_request("No such course")
|
||||||
|
|
||||||
|
if user.key().id() in campus.membersId:
|
||||||
|
return no_content("User is already member in Project")
|
||||||
|
|
||||||
|
campus.membersId.append(str(user.key().id()))
|
||||||
|
user.courses_id_list.append(str(campus.key().id()))
|
||||||
|
|
||||||
|
db.put(campus)
|
||||||
|
db.put(user)
|
||||||
|
db.save
|
||||||
|
|
||||||
|
return Response(response=campus.to_JSON(),
|
||||||
|
status=202,
|
||||||
|
mimetype="application/json")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------
|
#----------------------------------------------------------
|
||||||
# GET
|
# GET
|
||||||
#----------------------------------------------------------
|
#----------------------------------------------------------
|
||||||
|
|
|
@ -9,12 +9,15 @@ class Campus(db.Model):
|
||||||
avatar_url = db.StringProperty(required=True)
|
avatar_url = db.StringProperty(required=True)
|
||||||
email_ending = db.StringProperty(required=True)
|
email_ending = db.StringProperty(required=True)
|
||||||
master_user_id = db.IntegerProperty(required=True)
|
master_user_id = db.IntegerProperty(required=True)
|
||||||
|
membersId = db.StringListProperty(required=True, default=[])
|
||||||
|
|
||||||
|
|
||||||
def to_JSON(self):
|
def to_JSON(self):
|
||||||
data = {'title': self.title,
|
data = {'title': self.title,
|
||||||
'email_ending': self.email_ending,
|
'email_ending': self.email_ending,
|
||||||
'master_user_id': self.master_user_id,
|
'master_user_id': self.master_user_id,
|
||||||
'avatar_url': self.avatar_url,
|
'avatar_url': self.avatar_url,
|
||||||
|
'membersId': self.membersId,
|
||||||
'id' : self.key().id()
|
'id' : self.key().id()
|
||||||
}
|
}
|
||||||
return json.dumps(data)
|
return json.dumps(data)
|
||||||
|
|
Loading…
Reference in a new issue