Work on event management related and created generic SQL select endpoint

This commit is contained in:
Scott Idem
2022-05-23 18:55:21 -04:00
parent 803c2118b6
commit 14b03ff340
8 changed files with 130 additions and 3 deletions

View File

@@ -0,0 +1,69 @@
import datetime
from typing import Dict, List, Optional, Set, Union
from pydantic import BaseModel, EmailStr, Field, Json, PrivateAttr, ValidationError, validator
from app.db_sql import redis_lookup_id_random
from app.lib_general import log, logging
from app.models.common_field_schema import base_fields, default_num_bytes
# ### BEGIN ### API SQL Request Models ### SQL_Request_Base() ###
class SQL_Request_Base(BaseModel):
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
account_id_random: Optional[str]
account_id: Optional[int]
sql_qry: Optional[str]
sql_data: Optional[dict]
# enable: Optional[bool]
# hide: Optional[bool]
# priority: Optional[bool]
# sort: Optional[int]
# group: Optional[str]
# Including convenience data
# This is only for convenience. Probably going to keep unless it causes a problem.
# Including JSON data
# other_json: Optional[Json]
# meta_json: Optional[Json]
# Including other related objects
_processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now)
class Config:
underscore_attrs_are_private = True
allow_population_by_field_name = True
fields = base_fields
# ### END ### API SQL Request Models ### SQL_Request_Base() ###
# ### BEGIN ### API SQL Result Models ### SQL_Result_Base() ###
class SQL_Result_Base(BaseModel):
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
result: Optional[dict|list]
# Including convenience data
# This is only for convenience. Probably going to keep unless it causes a problem.
# Including JSON data
# other_json: Optional[Json]
# meta_json: Optional[Json]
# Including other related objects
_processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now)
class Config:
underscore_attrs_are_private = True
allow_population_by_field_name = True
fields = base_fields
# ### END ### API SQL Result Models ### SQL_Result_Base() ###