def index(): try: current_user = get_jwt_identity() if current_user: if not request.args.get('filter'): notes = Notes.query.filter_by(user_id=current_user['user_id']) if not notes: return response.NOT_FOUND([],"No notes found") data = transform(notes) return response.OK({ "notes" : data }, "All note") else: filters = request.args.get('filter').split(",") notes = Notes.query.filter(or_(Notes.notes.like("%"+_+"%") for _ in filters)).all() data = transform(notes) return response.OK({ "filter" : filters, "notes" : data }, "filter notes") else: return response.UNAUTHORIZED([], "Your credential is invalid") except Exception as e: print(e) return response.INTERNAL_SERVER_ERROR([], "Failed to load note")
def delete(id): try: current_user = get_jwt_identity() if current_user: note = Notes.query.filter_by(id=id).first() if not note: return response.NO_CONTENT([], "No data deleted") db.session.delete(note) db.session.commit() return response.OK([], "Successfully delete data") else: return response.UNAUTHORIZED([], "Your credential is invalid") except Exception as e: return response.INTERNAL_SERVER_ERROR([], "Failed to delete")
def show(id): try: current_user = get_jwt_identity() if current_user: note = Notes.query.filter_by(user_id=current_user['user_id'],id=id).first() if not note: return response.NOT_FOUND([],"No notes found") data = singleTransform(note) return response.OK({ "notes" : data }, "notes by id") else: return response.UNAUTHORIZED([], "Your credential is invalid") except Exception as e: return response.INTERNAL_SERVER_ERROR([], "Failed to load note")
def edit(id): try: current_user = get_jwt_identity() if current_user and current_user['user_id'] == id: user = Users.query.filter_by(id=current_user['user_id']).first() if not user: return response.NOT_FOUND([], 'No user found') data = singleTransform(user) return response.OK({ "users" : data }, "User data loaded") else: return response.UNAUTHORIZED([], "Your credential is invalid") except Exception as e: return response.INTERNAL_SERVER_ERROR([], "Failed to login")
def login(): try: user_name = request.json['userName'].strip() password = request.json['password'] user = Users.query.filter_by(user_name=user_name).first() if not user: return response.NOT_FOUND([], 'No user found') if not user.checkPassword(password): return response.UNAUTHORIZED([], 'Your credentials is invalid') access_token, refresh_token = getToken(user.id) return response.OK({ "users" : singleTransform(user), "access_token": access_token, "refresh_token": refresh_token, }, "Login Succes") except Exception as e: return response.INTERNAL_SERVER_ERROR('', "Failed to login")
def add(): try: current_user = get_jwt_identity() if current_user: title = request.json['title'].strip() notes = request.json['notes'].strip() note = Notes(user_id=current_user['user_id'], title=title, notes=notes) db.session.add(note) db.session.commit() data = singleTransform(note) return response.CREATED({ "notes" : data }, "success add note") else: return response.UNAUTHORIZED([], "Your credential is invalid") except Exception as e: print(e) return response.INTERNAL_SERVER_ERROR([], "Failed to load note")
def edit(id): try: current_user = get_jwt_identity() if current_user: note = Notes.query.filter_by(user_id=current_user['user_id'],id=id).first() if not note: return response.NOT_FOUND([],"No notes found") note.title = request.json['title'] note.notes = request.json['notes'] db.session.add(note) db.session.commit() data = singleTransform(note) return response.CREATED({ "notes" : data }, "Success edit note") else: return response.UNAUTHORIZED([], "Your credential is invalid") except Exception as e: return response.INTERNAL_SERVER_ERROR([], "Failed to edit note")
def signup(): try: name = request.json['name'].strip() email = request.json['email'].strip() user_name = request.json['userName'].strip() password = request.json['password'] user = Users(name=name, email=email, user_name=user_name) user.setPassword(password) db.session.add(user) db.session.commit() access_token, refresh_token = getToken(user.id) return response.CREATED({ "users" : singleTransform(user), "access_token": access_token, "refresh_token": refresh_token, }, 'Successfully Add Users') except exc.IntegrityError: return response.BAD_REQUEST([], "Integrity error, check email and user_name") except Exception as e: return response.INTERNAL_SERVER_ERROR([], "Internal server error")