Moving stuff around to make it more easy to manage

This commit is contained in:
Scott Idem
2021-06-11 10:55:08 -04:00
parent 60928b0521
commit 9c679765e5
7 changed files with 228 additions and 149 deletions

View File

@@ -13,6 +13,7 @@ from app.models.account_cfg_models import Account_Cfg_Base
# from app.models.contact_models import Contact_Base
# from app.models.event_models import Event_Base
from app.models.fundraising_cfg_models import Fundraising_Cfg_Base
from app.models.membership_models import Membership_Cfg_Base
# from app.models.person_models import Person_Base
# from app.models.user_models import User_Base
@@ -44,21 +45,23 @@ class Account_Base(BaseModel):
updated_on: Optional[datetime.datetime] = None
# Including other related objects
account_cfg: Optional[Account_Cfg_Base]
address_list: Optional[list] # Address_Base()
archive_list: Optional[list] # Archive_Base()
contact_list: Optional[list] # Contact_Base()
event_list: Optional[list] # Event_Base()
fundraising_cfg: Optional[Fundraising_Cfg_Base]
journal_list: Optional[list] # Journal_Base()
order_list: Optional[list] # Order_Base()
organization_list: Optional[list] # Organization_Base()
page_list: Optional[list] # Page_Base()
person_list: Optional[list] # Person_Base()
post_list: Optional[list] # Post_Base()
product_list: Optional[list] # Product_Base()
site_list: Optional[list] # Site_Base()
user_list: Optional[list] # User_Base()
account_cfg: Optional[Account_Cfg_Base] # Priority l1
address_list: Optional[list] # Address_Base() # Priority l3
archive_list: Optional[list] # Archive_Base() # Priority l1
contact_list: Optional[list] # Contact_Base() # Priority l3
event_list: Optional[list] # Event_Base() # Priority l1
fundraising_cfg: Optional[Fundraising_Cfg_Base] # Priority l2
hosted_file_list: Optional[list] # Hosted_File_Base() # Priority l2
journal_list: Optional[list] # Journal_Base() # Priority l3
membership_cfg: Optional[Membership_Cfg_Base] # Priority l2
order_list: Optional[list] # Order_Base() # Priority l2
organization_list: Optional[list] # Organization_Base() # Priority l3
page_list: Optional[list] # Page_Base() # Priority l3
person_list: Optional[list] # Person_Base() # Priority l2
post_list: Optional[list] # Post_Base() # Priority l1
product_list: Optional[list] # Product_Base() # Priority l3
site_list: Optional[list] # Site_Base() # Priority l3
user_list: Optional[list] # User_Base() # Priority l2
_processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now)

View File

@@ -0,0 +1,44 @@
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 app.db_sql import redis_lookup_id_random
from app.lib_general import log, logging
from .common_field_schema import base_fields, default_num_bytes
class Membership_Cfg_Base(BaseModel):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
account_name: Optional[str]
cycle_type: Optional[str]
membership_length: Optional[int] = Field(0, ge=0, lt=150)
prorate: Optional[bool] = False
calendar_year_start_buffer_days: Optional[int] = Field(0, ge=0, lt=150)
calendar_year_start_buffer_on: Optional[datetime.datetime] = None
calendar_year_start_on: Optional[datetime.datetime] = None
calendar_year_end_on: Optional[datetime.datetime] = None
calendar_year_end_buffer_days: Optional[int] = Field(0, ge=0, lt=150)
calendar_year_end_buffer_on: Optional[datetime.datetime] = None
enable_privacy_view: Optional[bool] = False
renew_warning_hours: Optional[int]
accept_message: Optional[str]
reject_message: Optional[str]
renew_message: Optional[str]
#extended_membership_profile: Optional[str] # list of dicts outlining extended (custom) membership profile fields for client
extended_membership_profile: Optional[Json] = '[]' # list of dicts outlining extended (custom) membership profile fields for client
default_no_reply_email: Optional[str]
default_no_reply_name: Optional[str]
confirm_email: Optional[str]
confirm_name: Optional[str]
Membership_Cfg_Base.update_forward_refs()

View File

@@ -10,45 +10,12 @@ from app.lib_general import log, logging
from .common_field_schema import base_fields, default_num_bytes
from .address_models import Address_Base
from .contact_models import Contact_Base
from .membership_cfg_models import Membership_Cfg_Base
from .organization_models import Organization_Base
from .person_models import Person_Base
from .user_models import User_Base
class Membership_Cfg_Base(BaseModel):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
account_name: Optional[str]
cycle_type: Optional[str]
membership_length: Optional[int] = Field(0, ge=0, lt=150)
prorate: Optional[bool] = False
calendar_year_start_buffer_days: Optional[int] = Field(0, ge=0, lt=150)
calendar_year_start_buffer_on: Optional[datetime.datetime] = None
calendar_year_start_on: Optional[datetime.datetime] = None
calendar_year_end_on: Optional[datetime.datetime] = None
calendar_year_end_buffer_days: Optional[int] = Field(0, ge=0, lt=150)
calendar_year_end_buffer_on: Optional[datetime.datetime] = None
enable_privacy_view: Optional[bool] = False
renew_warning_hours: Optional[int]
accept_message: Optional[str]
reject_message: Optional[str]
renew_message: Optional[str]
#extended_membership_profile: Optional[str] # list of dicts outlining extended (custom) membership profile fields for client
extended_membership_profile: Optional[Json] = '[]' # list of dicts outlining extended (custom) membership profile fields for client
default_no_reply_email: Optional[str]
default_no_reply_name: Optional[str]
confirm_email: Optional[str]
confirm_name: Optional[str]
Membership_Cfg_Base.update_forward_refs()
class Membership_Profile_Base(BaseModel):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())