Working finally getting this to interact with the actual front end.

This commit is contained in:
Scott Idem
2021-03-11 18:19:25 -05:00
parent 143e099e13
commit 46c562871f
8 changed files with 276 additions and 5 deletions

41
app/models/api_model.py Normal file
View File

@@ -0,0 +1,41 @@
from __future__ import annotations
import datetime, hashlib, logging, os, pytz, redis, secrets
from typing import Dict, List, Optional, Set, Union
from pydantic import BaseModel, EmailStr, Field, Json, PrivateAttr, ValidationError, validator
from ..lib_general import *
from .common_field_schema import base_fields, default_num_bytes
class Api_Base(BaseModel):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
id: Optional[int]
name: Optional[str]
secret_key: Optional[str]
enable: Optional[bool]
enable_from: Optional[datetime.datetime] = Field(
default_factory=lambda:datetime.datetime.now,
)
enable_to: Optional[datetime.datetime]
temporary_token: str = Field(
default_factory=lambda:secrets.token_urlsafe(default_num_bytes),
)
expire_on: Optional[datetime.datetime] = Field(
default_factory=datetime.datetime.now,
)
created_on: Optional[datetime.datetime] = None
updated_on: Optional[datetime.datetime] = None
_processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now)
class Config:
underscore_attrs_are_private = True
#fields = base_fields
#Account_Base.update_forward_refs()