Esempio n. 1
0
    def update_ticket(self, req: UpdateTicket):
        resp = self.repo.get_ticket_by_id(id=req.id)
        if not resp.item:
            return resp
        ticket = resp.item

        resp = handle_validations(fields_validations=[
            validations.validate_title(req.title),
            validations.validate_description(req.description),
            validations.validate_priority(req.priority),
            validations.validate_labels(req.labels),
        ], )
        if not resp.is_ok:
            return resp

        updated_at = datetime.now()

        ticket = Ticket(
            id=req.id,
            board_column_id=ticket.board_column_id,
            title=req.title,
            description=req.description,
            priority=req.priority,
            labels=req.labels if req.labels is not None else [],
            created_at=ticket.created_at,
            updated_at=updated_at,
        )
        return self.repo.update_ticket(ticket)
Esempio n. 2
0
    def create_ticket(self, req: CreateTicket):
        resp = handle_validations(
            fields_validations=[
                validations.validate_board_column_id(req.board_column_id),
                validations.validate_title(req.title),
                validations.validate_description(req.description),
                validations.validate_priority(req.priority),
                validations.validate_labels(req.labels),
            ],
            bussiness_validations=[
                bussiness.validate_board_column_id(req.board_column_id,
                                                   self.board_columns_uc)
            ],
        )
        if not resp.is_ok:
            return resp

        created_at = datetime.now()

        ticket = Ticket(
            board_column_id=req.board_column_id,
            title=req.title,
            description=req.description,
            priority=req.priority,
            labels=req.labels if req.labels is not None else [],
            created_at=created_at,
            updated_at=created_at,
        )
        return self.repo.insert_ticket(ticket)
Esempio n. 3
0
    def create_board(self, req: CreateBoard):
        resp = handle_validations(
            fields_validations=[validations.validate_title(req.title)])
        if not resp.is_ok:
            return resp

        created_at = datetime.now()

        board = Board(
            title=req.title,
            created_at=created_at,
            updated_at=created_at,
        )
        return self.repo.insert_board(board)
Esempio n. 4
0
    def update_board(self, req: UpdateBoard):
        resp = self.repo.get_board_by_id(id=req.id)
        if not resp.item:
            return resp
        board = resp.item

        resp = handle_validations(
            fields_validations=[validations.validate_title(req.title)])
        if not resp.is_ok:
            return resp

        updated_at = datetime.now()

        board = Board(
            id=req.id,
            title=req.title,
            created_at=board.created_at,
            updated_at=updated_at,
        )
        return self.repo.update_board(board)
Esempio n. 5
0
    def create_board_column(self, req: CreateBoardColumn):
        resp = handle_validations(
            fields_validations=[
                validations.validate_board_id(req.board_id),
                validations.validate_name(req.name),
            ],
            bussiness_validations=[
                bussiness.validate_board_existence(req.board_id,
                                                   self.boards_uc)
            ],
        )
        if not resp.is_ok:
            return resp

        created_at = datetime.now()

        board_column = BoardColumn(
            board_id=req.board_id,
            name=req.name,
            created_at=created_at,
            updated_at=created_at,
        )
        return self.repo.insert_board_column(board_column)
Esempio n. 6
0
    def update_board_column(self, req: UpdateBoardColumn):
        if bussiness.validate_board_existence(req.board_id, self.boards_uc):
            return ItemResp(status=HttpStatus.NOT_FOUND)

        resp = self.repo.get_board_column_by_id(id=req.id)
        if not resp.item:
            return resp
        board_column = resp.item

        resp = handle_validations(
            fields_validations=[validations.validate_name(req.name)], )
        if not resp.is_ok:
            return resp

        updated_at = datetime.now()

        board_column = BoardColumn(
            id=req.id,
            board_id=board_column.board_id,
            name=req.name,
            created_at=board_column.created_at,
            updated_at=updated_at,
        )
        return self.repo.update_board_column(board_column)