def put(self): inpt = self.parser_i.parse_args() username = get_jwt_identity() mycol = Tools.get_collection() try: member = mycol.update( { "_id": ObjectId(inpt["_id"]), "members.username": username }, {"$set": { "members.$.color": inpt["color"] }}) if member["nModified"]: return {"message": "Member has been updated."}, 202 else: admin = mycol.update( { "_id": ObjectId(inpt["_id"]), "administrator.username": username }, {"$set": { "administrator.$.color": inpt["color"] }}) if admin["nModified"]: return {"message": "Administrator has been updated."}, 202 return {"message": "Failed update member"}, 404 except: return {"message": "something wrong in server."}, 500
def put(self): inpt = Organization.parser_ind.parse_args() mycol = Tools.get_collection() mycol.update_one( {"_id": ObjectId(inpt["_id"])}, {"$set": {"name": inpt["name"], "desc": inpt["desc"]}} ) return {"message": "Organization has been updated."}, 202
def get(self): inpt = self.parser_i.parse_args() mycol = Tools.get_collection() row = mycol.find_one({"_id": ObjectId(inpt["_id"])}) row = Org(row) result = { "_id": row._id, "admin": row.admin, "name": row.name, "desc": row.desc } return {"organization": result}, 202
def post(self): inpt = self.parser_nd.parse_args() mycol = Tools.get_collection() mycol.insert_one({ "name": inpt["name"], "desc": inpt["desc"], "administrator": [ { "username": get_jwt_identity() }, ], }) return {"message": "Organization {} has been created.".format(inpt["name"])}, 202
def get(self): inpt = self.parser_i.parse_args() try: mycol = Tools.get_collection() result = mycol.find_one({"_id": ObjectId(inpt["_id"])}) if result is None: return { "message": "organization with id {} not found.".format(inpt["_id"]) }, 404 result = Org(result) return {"admin": result.admin, "members": result.members}, 202 except: return {"message": "something wrong in server."}, 500
def get(self): admin = get_jwt_identity() mycol = Tools.get_collection() result = list() for row in mycol.find({"administrator.username": admin}): row = Org(row) result.append({ "_id": row._id, "name": row.name, "admin": row.admin, "num_inv": row.num_inventory, "num_mem": row.num_members }) return {"organization": result}, 202
def delete(self): inpt = self.parser_i_n.parse_args() mycol = Tools.get_collection() try: x = mycol.update( {"_id": ObjectId(inpt["_id"])}, {"$pull": { "members": { "username": inpt["member"] } }}) if x["nModified"]: return {"message": "member has been delete."}, 202 else: return {"message": "Failed delete member"}, 404 except: return {"message": "something wrong in server."}, 500
def post(self): inpt = self.parser_i_n.parse_args() mycol = Tools.get_collection() try: user = UserModels.find_by_email(inpt["member"]) if user is None: user = UserModels.find_by_username(inpt["member"]) if user is None: return {"message": "username or email not found"}, 404 x = mycol.update({"_id": ObjectId(inpt["_id"])}, { "$push": { "members": { "username": user.username, "color": inpt["color"], } } }) if x["nModified"]: return {"message": "Member has been added."}, 202 else: return {"message": "Failed add member"}, 404 except: return {"message": "something wrong in server."}, 500
def delete(self): inpt = self.parser_i.parse_args() mycol = Tools.get_collection() mycol.delete_one({"_id": ObjectId(inpt["_id"])}) return {"message": "Organization has been deleted."}, 202