2024-03-26 00:53:21 -07:00
|
|
|
from pyramid.httpexceptions import exception_response
|
2024-02-18 19:30:41 -08:00
|
|
|
|
|
|
|
|
from ttfrog.db import schema
|
|
|
|
|
from ttfrog.db.manager import db
|
|
|
|
|
|
2024-03-26 00:53:21 -07:00
|
|
|
from .base import BaseController
|
2024-02-18 19:30:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class JsonData(BaseController):
|
|
|
|
|
model = None
|
|
|
|
|
model_form = None
|
|
|
|
|
|
|
|
|
|
def configure_for_model(self):
|
|
|
|
|
try:
|
2024-03-26 00:53:21 -07:00
|
|
|
self.model = getattr(schema, self.request.matchdict.get("table_name"))
|
2024-02-18 19:30:41 -08:00
|
|
|
except AttributeError:
|
|
|
|
|
raise exception_response(404)
|
|
|
|
|
|
|
|
|
|
def response(self):
|
|
|
|
|
query = db.query(self.model).filter_by(**self.request.params)
|
2024-03-26 00:53:21 -07:00
|
|
|
return {"table_name": self.model.__tablename__, "records": query.all()}
|