$GENERATED_PYTHON_COMMENT from db import dbGetMany, dbGetOne, dbInsert from loguru import logger #for $table in $tables def get_${table.name}s(user, token_info): return dbGetMany(user, token_info, { "statement": """ SELECT id #for $column in $table.columns ,$column.name #end for FROM ${table.name}_t #if $table.selectors ORDER BY #set $sep = "" #for $selector in $table.selectors $sep$selector #set $sep = "," #end for #end if """, "params": () } ) def insert_${table.name}(user, token_info, **args): try: body = args["body"] #for $column in $table.columns v_$column.name = body["$column.name"] #end for return dbInsert(user, token_info, { "statement": """ INSERT INTO ${table.name}_t ( #set $sep="" #for $column in $table.columns $sep$column.name #set $sep="," #end for ) VALUES ( #set $sep="" #for $column in $table.columns $sep%s #set $sep="," #end for ) RETURNING * """, "params": [ #set $sep="" #for $column in $table.columns ${sep}v_$column.name #set $sep="," #end for ] }) except KeyError as e: logger.warning("insert_${table.name}: parameter missing: {}".format(e)) raise werkzeug.exceptions.UnprocessableEntity("parameter missing: {}".format(e)) def get_${table.name}(user, token_info, ${table.name}Id=None): return dbGetOne(user, token_info, { "statement": """ SELECT id #for $column in $table.columns ,$column.name #end for FROM ${table.name}_t WHERE id = %s """, "params": (${table.name}Id, ) } ) #end for