Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
 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   
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
 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
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
 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
Ejemplo n.º 7
0
 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
Ejemplo n.º 8
0
    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
Ejemplo n.º 9
0
 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