This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@dataclass | |
class User: | |
username: str | |
email: str | |
first_name: str | |
last_name: str | |
@classmethod | |
def from_db(cls, db_user): | |
return cls( |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from values.app import App | |
from repository.sqlalchemy.entities import DBApp | |
from repository.sqlalchemy.sessions import Session | |
def find_app_by_id(app_id): | |
db_app = DBApp.query.get(id=app_id) | |
if not db_app: | |
return None |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import repository | |
def create_app(name, description): | |
validate_app_name(name) | |
return repository.create_app(name, description) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from services.app.create import create_app | |
from services.update import update_app | |
from services.delete import delete_app | |
from repositories.app import delete_app, find_app_by_id, idempotent_save_app | |
class AppHandler(object): | |
def create(self, name: str, description: str) -> Entity: | |
if not validate_create_input(name, description): | |
... | |
app = create_app(name, description) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@bp.route('/create/', methods=['POST'], endpoint='create') | |
def create(): | |
input = createInputFromForm(request.form) | |
handler = get_app_handler() | |
app = handler.create(input.name, input.description) | |
return redirect(url_for('app.show', app_id=app.id), code=301) | |
def get_app_handler(): |