def find_by_email(cls, email): db = Database() result = db.execute( "SELECT name, username, mode, email, password, avatar FROM user WHERE email=%s", (email, )).fetchone() if result: return cls(*result) else: return None
def find_by_username(cls, username): db = Database() result = db.execute( "SELECT name, username, email, avatar FROM user WHERE username=%s", (username, )).fetchone() if result: return cls(*result) else: return None
def update_user(self, **kwargs): username = self.__username name = kwargs.get("name") email = kwargs.get("email") db = Database() db.execute("UPDATE user SET name=%s, email=%s WHERE username=%s", (name, email, username)) db.commit()
def get(self): inpt = self.parser.parse_args() try: org = Org.find_by_id(inpt["id_org"]) db = Database() result = db.execute( "SELECT id, username, start, finish, notes FROM timeline WHERE id_organization=%s AND id_inventory=%s", (inpt["id_org"], inpt["id_inv"])) data = list() for i in result: user = UserModels.find_by_username(i[1]) row = { "id_task": i[0], "username": i[1], "name": user.name, "color": org.get_color_from_username(i[1]), "start": i[2], "finish": i[3], "note": i[4] } data.append(row) return {"tasks": data}, 202 except: return {"message": "Something wrong in server."}, 500
def post(self): try: inpt = self.parser.parse_args() if (inpt["start"] > inpt["finish"]): return { "message": "finish time must be greater than start time" }, 403 # Kasih Exception kalau tasknya gaboleh nabrak antar satu sama yang lain username = get_jwt_identity() db = Database() db.execute( "INSERT INTO timeline (id_organization, id_inventory, username, start, finish, notes) VALUES (%s, %s, %s, %s, %s, %s)", (inpt["id_org"], inpt["id_inv"], username, inpt["start"], inpt["finish"], inpt["note"])) db.commit() return {"message": "task has been created."}, 202 except: return {"message": "something wrong in server"}, 500
def delete_avatar_field(self): db = Database() db.execute("UPDATE user SET avatar = NULL WHERE username=%s", (self.__username, )) db.commit()
def update_avatar_field(self, link_avatar): db = Database() db.execute("UPDATE user SET avatar=%s WHERE username=%s", (link_avatar, self.__username)) db.commit()
def create_user(self): db = Database() db.execute( "INSERT INTO user (name, username, mode, email, password) VALUES (%s, %s, %s, %s, %s)", (self.name, self.username, 0, self.email, self.password)) db.commit()
def create_user(self): db = Database() db.execute( "INSERT INTO user (name, username, mode, email, avatar) VALUES (%s, %s, %s, %s, %s)", (self.name, self.username, self.mode, self.email, self.avatar)) db.commit()
def delete(self): inpt = self.parser_del.parse_args() db = Database() db.execute("DELETE FROM timeline WHERE id=%s", (inpt["id_task"], )) db.commit() return {"message": "task has been deleted"}, 202