add gunicorn.py

This commit is contained in:
yo3ef 2022-12-28 23:10:56 +03:30
parent 32f2539d72
commit 953bb9ab4b
8 changed files with 2279 additions and 1665 deletions

19
.env
View File

@ -1,6 +1,6 @@
AUTH_SECRET_KEY = "09d25e094faa6ca2556c818166b7a9563b93f7099f6f0f4caa6cf63b88e8d3e7"
AUTH_SECRET_KEY = ""
AUTH_ALGORITHM = "HS256"
AUTH_ACCESS_TOKEN_EXPIRE_MINUTES = 43201
AUTH_REFRESH_TOKEN_EXPIRE_MINUTES = 43200
@ -10,16 +10,15 @@ TEST_VAR = 10
# mongo
MONGO_URL = "mongodb://bridge_user:ky2io8XRCI43vO8j@192.168.15.76:27270/bridge"
MONGO_DB = 'bridge'
AUTH_DB = 'auth'
PROD_MONGO_URL = "mongodb://bridge_user:ky2io8XRCI43vO8j@192.168.15.76:27270/bridge"
PROD_MONGO_DB = 'bridge'
PROD_AUTH_DB = 'auth'
MONGO_DB = ''
AUTH_DB = ''
PROD_MONGO_URL = ""
PROD_MONGO_DB = ''
PROD_AUTH_DB = ''
MONGO_URL=''
IS_PROD = False
PREFIX_API_URL = '/api/v1'
FILE_SYSTEM_BASE_URL = 'https://testnet.hacoupian.net/api/scm/v1/file'
FILE_SYSTEM_BASE_URL = 'https://google.com'
LINKER_URL = 'http://hcpn.ir/l'
LINKER_URL = ''

View File

@ -5,29 +5,29 @@ from sqlalchemy.orm import relationship
from badmin.models.model import Base
class Admin(Base):
__tablename__ = 'account_admin'
id = Column(BigInteger, primary_key=True, server_default=sqlalchemy.text(
"nextval('account_admin_id_seq'::regclass)"))
first_name = Column(String(128))
last_name = Column(String(128))
full_name = Column(String(128), nullable=True)
email = Column(String(64), unique=True)
role_id = Column(Integer,ForeignKey('account_role.id',),nullable=True)
role = relationship('Role', remote_side=role_id)
gender = Column(SmallInteger, default=3)
is_active = Column(Boolean, default=True)
phone = Column(String(32), nullable=True)
address = Column(String(512), nullable=True)
password = Column(String(512))
class Role(Base):
__tablename__ = 'account_role'
id = Column(BigInteger, primary_key=True, server_default=sqlalchemy.text(
"nextval('account_role_id_seq'::regclass)"))
title = Column(String(128))
count = Column(Integer, default=0)
key = Column(String(128))
# class Admin(Base):
# __tablename__ = 'account_admin'
#
# id = Column(BigInteger, primary_key=True, server_default=sqlalchemy.text(
# "nextval('account_admin_id_seq'::regclass)"))
# first_name = Column(String(128))
# last_name = Column(String(128))
# full_name = Column(String(128), nullable=True)
# email = Column(String(64), unique=True)
# role_id = Column(Integer,ForeignKey('account_role.id',),nullable=True)
# role = relationship('Role', remote_side=role_id)
# gender = Column(SmallInteger, default=3)
# is_active = Column(Boolean, default=True)
# phone = Column(String(32), nullable=True)
# address = Column(String(512), nullable=True)
# password = Column(String(512))
#
#
# class Role(Base):
# __tablename__ = 'account_role'
#
# id = Column(BigInteger, primary_key=True, server_default=sqlalchemy.text(
# "nextval('account_role_id_seq'::regclass)"))
# title = Column(String(128))
# count = Column(Integer, default=0)
# key = Column(String(128))

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,7 @@ from config import conf
from database import get_db
from map import routes
from utils import generateRouter, current_user, get_current_active_user, getUser
from badmin.models.main import Admin
from badmin.models.model import AccountAdmin
from core.auth.auth import PasswordMaker
from fastapi import Request
@ -29,7 +29,7 @@ def login(body: dict = Body(...), db=Depends(get_db)):
expire = datetime.utcnow() + timedelta(days=10)
username = body.get('email')
password = body.get('password')
user = db.query(Admin).filter(Admin.email == username).first()
user = db.query(AccountAdmin).filter(AccountAdmin.email == username).first()
if not user:
raise HTTPException(status_code=422, detail='user not found!!')
if not PasswordMaker.verify_password(plain_password=password, hashed_password=user.password):

View File

@ -6,7 +6,7 @@ from fastapi.middleware.cors import CORSMiddleware
from config import conf
import badmin.urls
from database import get_db
from badmin.models.main import Admin
from badmin.models.model import AccountAdmin
from core.auth.auth import PasswordMaker
@ -17,7 +17,7 @@ def ping():
@app.get('/create')
def create_user(db=Depends(get_db)):
new_admin = Admin(
new_admin = AccountAdmin(
first_name='Admin',
last_name='Supper',
email='admin@irelex.com',

21
map.py
View File

@ -14,7 +14,28 @@ routes = {
'auth-group': 'AuthGroup',
'const': 'ConstConst',
'contact': 'ContactContact',
'contact-address': 'ContactAddres',
'contact-email': 'ContactEmail',
'contact-person': 'ContactPerson',
'contact-phone': 'ContactPhone',
'contact-website': 'ContactWebsite',
'time-entry': 'BillingBillTimeEntry',
'expense-category': 'ActivityExpensecategory',
'expense': 'ActivityExpenseentry',
'matter': 'MatterMatter',
'note': 'NoteNote',
'country': 'DictionaryCountry',
'currency': 'DictionaryCurrency',
'subscription-plan': 'SubscriptionPlan',
'subscription-contract': 'SubscriptionContract',
'subscription-rule': 'SubscriptionPlanpricerule',
'subscription': 'SubscriptionSubscription',
'subscription-transaction': 'SubscriptionTransaction',
'subscription-payment': 'SubscriptionPayment',
'subscription-contract-user': 'SubscriptionContractUser',
'task': 'TaskTasklist',
'task-type': 'TaskTasktype',
'bank-account': 'BankAccountBankaccount',
'practice-area': 'DictionaryPracticearea',
}

1448
r.py Normal file

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,7 @@ from starlette.routing import BaseRoute
import app
import schema
from badmin.models.main import Admin
from badmin.models.model import AccountAdmin
from config import conf
from database import get_db
@ -40,7 +40,7 @@ async def current_user(token: str = Depends(schema.oauth2)):
if username is None:
raise credentials_exception
user = next(get_db()).query(Admin).filter(Admin.id == username).first()
user = next(get_db()).query(AccountAdmin).filter(AccountAdmin.id == username).first()
app.app.state.user = user
except (JWTError, ValidationError):
raise credentials_exception