Moving stuff around to make it more easy to manage
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
44
app/models/membership_cfg_models.py
Normal file
44
app/models/membership_cfg_models.py
Normal 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()
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user