示例#1
0
 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)
示例#2
0
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
示例#7
0
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)
示例#8
0
 def register(self, todo):
     service = TodoService()
     message = service.register(todo)
     message_display(message)
示例#9
0
 def getAllTodos(self):
     service = TodoService()
     todos = service.getAllTodos()
     list_display(todos)
示例#10
0
 def delete(self, todo):
     service = TodoService()
     message = service.delete(todo)
     message_display(message)
示例#11
0
 def clearAll(self):
     service = TodoService()
     message = service.clearAll()
     message_display(message)
示例#12
0
 def register(self, schedule):
     service = TodoService()
     message = service.register(schedule)
     message_display(message)
示例#13
0
 def update(self, todoNum):
     service = TodoService()
     message = service.update(todoNum)
     message_display(message)
示例#14
0
 def removeAll(self):
     service = TodoService()
     message = service.removeAll()
     message_display(message)
示例#15
0
 def getAllSchedule(self):
     service = TodoService()
     schedules = service.getAllSchedule()
     list_display(schedules)
 def delete_all(self):
     TodoService.delete_all()
     did_well()
示例#17
0
 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()
示例#19
0
 def register(self, todo):
     service = TodoService()
     message = service.register(todo)  #비즈니스 메서드 호출
     message_display(message)  #View select
示例#20
0
 def remove(self, num):
     if id == "":
         message_display("삭제할 num을 입력하세요.")
     service = TodoService()
     message = service.remove(num)
     message_display(message)
示例#21
0
 def update(self, id, title):
     if id == "" or title == "":
         message_display("id와 todo title을 입력해주세요")
     service = TodoService()
     message = service.update(id, title)
     message_display(message)
示例#22
0
 def file_write(self):
     service = TodoService()
     service.file_write()
示例#23
0
 def remove(self, id):
     if id == "":
         message_display("id를 입력해주세요")
     service = TodoService()
     message = service.remove(id)
     message_display(message)
示例#24
0
 def getAllTodo(self):
     service = TodoService()
     todos = service.getAllTodo()  #비즈니스 메서드 호출
     list_display(todos)  #데이터 저장해서 view select
示例#25
0
 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()
示例#28
0
 def allRemove(self, check):
     service = TodoService()
     message = service.allRemove(check)
     message_display(message)