def update(self, num, title, content): #num, content valid check if title == "" or content == "": message_display("제목과 내용을 입력하세요.") service = TodoService() message = service.update(num, title, content) message_display(message)
def get_all(): if request.method == 'GET': # get all todos return jsonify([i.serialize for i in Todo.query.all()]) # create todo if request.method == 'POST': req = request.get_json() todo_service = TodoService() todo_service.add_todo(req) return make_response(f"no")
def start_app(): # 1. 앱의 시작을 알립니다. system_view.display_start_app() # 2. 파일을 연결합니다. TodoService.read_file() # 3. todo 컨트롤러를 불러옵니다. controller = todo_controller.TodoController() # 4. 메인 컨트롤러의 무한 루프를 들고 옵니다. while True: menu_view.display_menu() menu = menu_view.select_menu() # 1. Create if menu == CREATE: todo_obj = menu_view.display_register() controller.register(todo_obj) # 2. Read elif menu == READ: controller.display_all_todos() # 3. Update elif menu == UPDATE: check_id = menu_view.check_id_for_update() # check_id index = controller.check_id_for_update(check_id) # if valid_id then get what to do if index != -1: what = menu_view.get_what_for_update() controller.update(index, what) # 4. Delete elif menu == DELETE: check_id = menu_view.check_id_for_delete() # check_id index = controller.check_id_for_delete(check_id) # if valid_id then delete if index != -1: controller.delete(index) # 5. Delete All elif menu == DELETE_ALL: if menu_view.delete_all() in ['y', 'Y']: controller.display_all_todos() controller.delete_all() # Exit elif menu in EXIT: # ask save if system_view.ask_save() in ['y', 'Y']: TodoService.save_file() # ask exit if system_view.ask_exit_app() in ['y', 'Y']: break # Typo Error else: # get input again menu_view.display_reinput()
def display_all_todos(self): todos = TodoService.get_todos() if not todos: is_empty_todos() return for todo in todos: display_msg(todo)
def register(self, todo_obj): # 서버단에서 Type 에러 체크 if not is_valid_id(todo_obj.get_id()): return # 서버단에서 Type 에러 체크 if not is_vaild_what(todo_obj.get_what()): return # 서버단에서 unique 체크 todos = TodoService.get_todos() check_id = todo_obj.get_id() if todos: for todo in todos: if todo.get_id() == check_id: is_not_unique() return TodoService.register(todo_obj) did_well()
def check_id_for_update(self, check_id): # 서버단에서 Type 에러 체크 if not is_valid_id(check_id): return False todos = TodoService.get_todos() if todos: for i, todo in enumerate(todos): if todo.get_id() == check_id: return i else: is_not_match() return -1 else: is_empty_todos() return -1
def get_todo(todo_id): # get specific todo if request.method == "GET": todo_service = TodoService data = todo_service.get_todo(todo_service, todo_id) if not data['todo'].serialize: return make_response(jsonify(None)) else: return jsonify({ "user": data["user"].serialize, "todos": [data["todo"].serialize] }) if request.method == "PUT": return f'todo id {todo_id}' # delete todo if request.method == 'DELETE': req = request.get_json() todo = TodoService.remove_todo(req) return make_response(f'DELETED TODO: {todo.task}:', 200)
def register(self, todo): service = TodoService() message = service.register(todo) message_display(message)
def getAllTodos(self): service = TodoService() todos = service.getAllTodos() list_display(todos)
def delete(self, todo): service = TodoService() message = service.delete(todo) message_display(message)
def clearAll(self): service = TodoService() message = service.clearAll() message_display(message)
def register(self, schedule): service = TodoService() message = service.register(schedule) message_display(message)
def update(self, todoNum): service = TodoService() message = service.update(todoNum) message_display(message)
def removeAll(self): service = TodoService() message = service.removeAll() message_display(message)
def getAllSchedule(self): service = TodoService() schedules = service.getAllSchedule() list_display(schedules)
def delete_all(self): TodoService.delete_all() did_well()
def remove(self, todoNum): if todoNum == "": message_display("일정 번호가 필요합니다.") service = TodoService() message = service.remove(todoNum) message_display(message)
def delete(self, index): TodoService.delete(index) did_well()
def register(self, todo): service = TodoService() message = service.register(todo) #비즈니스 메서드 호출 message_display(message) #View select
def remove(self, num): if id == "": message_display("삭제할 num을 입력하세요.") service = TodoService() message = service.remove(num) message_display(message)
def update(self, id, title): if id == "" or title == "": message_display("id와 todo title을 입력해주세요") service = TodoService() message = service.update(id, title) message_display(message)
def file_write(self): service = TodoService() service.file_write()
def remove(self, id): if id == "": message_display("id를 입력해주세요") service = TodoService() message = service.remove(id) message_display(message)
def getAllTodo(self): service = TodoService() todos = service.getAllTodo() #비즈니스 메서드 호출 list_display(todos) #데이터 저장해서 view select
def file_read(self): service = TodoService() service.file_read()
def update(self, index, what): TodoService.update(index, what) did_well()
import logging from flask import abort, Flask, request, jsonify from service.todo_service import TodoService from repository.todo_repository import TodoRepository app = Flask(__name__) repository = TodoRepository(db='./todo.db') service = TodoService(repository=repository) @app.route('/todo', methods=['POST']) def add_todo(): '''Adding items to a list''' description, status = None, None try: todo_item = request.get_json() description, status = todo_item['description'], todo_item['status'] except Exception as e: logging.info(f'Failed to parse request body {e}') abort(400) response = service.add_todo(description, status) return jsonify(response) @app.route('/todo', methods=['GET']) def get_todos(): '''Get all items from the list''' response = service.list_todo()
def allRemove(self, check): service = TodoService() message = service.allRemove(check) message_display(message)