add post method to api

This commit is contained in:
2021-08-31 17:24:54 +02:00
parent e238b1fb9f
commit 6bb1eec181
5 changed files with 749 additions and 4 deletions

View File

@ -1,6 +1,7 @@
$GENERATED_PYTHON_COMMENT
from db import dbGetMany, dbGetOne
from db import dbGetMany, dbGetOne, dbInsert
from loguru import logger
#for $table in $tables
def get_${table.name}s(user, token_info):
@ -25,6 +26,43 @@ SELECT
}
)
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": """