Skip to content

Instantly share code, notes, and snippets.

@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():
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)
import repository
def create_app(name, description):
validate_app_name(name)
return repository.create_app(name, description)
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
@msf
msf / values.py
Last active January 13, 2020 18:27 — forked from marcelolebre/value_nesting.py
@dataclass
class User:
username: str
email: str
first_name: str
last_name: str
@classmethod
def from_db(cls, db_user):
return cls(