# -*- coding: utf-8 -*- # # @author: vincent.benoit@benserv.fr # @brief: Flask Config classes import os import datetime class BaseConfig(object): PROJECT = "configurateur" # Get app root path, also can use flask.root_path. PROJECT_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) DEBUG = False TESTING = False FLASK_ENV = 'production' ADMINS = ['vincent.benoit@benserv.fr'] LOG_FOLDER = os.path.join(os.getcwd(), 'log') APP_NAME = "KineIntercom" PROCESS_LOGNAME = "Intercom.log" CONF_LOGNAME = "configurateur.log" SECRET_KEY = "d]omg;<*|uHfs}ogN=dk_$YW" # Setup the Flask-JWT-Extended extension JWT_SECRET_KEY = "xbNNvwHCY*cN,)Yq;A,e(]|P" JWT_COOKIE_SECURE = False JWT_TOKEN_LOCATION = ["cookies"] JWT_ACCESS_TOKEN_EXPIRES = datetime.timedelta(minutes=30) DELTA = datetime.timedelta(minutes=20) # in minutes # Controls if Cross Site Request Forgery (CSRF) protection is enabled when using cookies # This should always be True in production JWT_COOKIE_CSRF_PROTECT = True JWT_CSRF_IN_COOKIES = True JWT_COOKIE_SAMESITE = "None" STATIC_FOLDER = os.path.join(os.getcwd(), 'static') UPLOAD_FOLDER = STATIC_FOLDER + '/upload' DOWNLOAD_FOLDER = STATIC_FOLDER + '/download' ALLOWED_EXTENSIONS = {'json', 'tar', 'txt'} MAX_CONTENT_LENGTH = 200 * 1024 * 1024 # 100 megabytes # Database path DB_PATH = os.path.join(os.getcwd(), 'db.json') UNIX_ADDR = "/tmp/uds_socket" class DefaultConfig(BaseConfig): DEBUG = True TESTING = True FLASK_ENV = 'development' SECRET_KEY = "secretkey10" # Setup the Flask-JWT-Extended extension JWT_SECRET_KEY = "secretkeyjwt10" JWT_ACCESS_TOKEN_EXPIRES = datetime.timedelta(minutes=10) DELTA = datetime.timedelta(minutes=5) # in minutes class ProdConfig(BaseConfig): DEBUG = False TESTING = False FLASK_ENV = 'production' JWT_COOKIE_SAMESITE = "Strict" ROOT_BASE_FOLDER = "/opt" # Log Folder path LOG_FOLDER = "/var/log/kineintercom" # Database path DB_PATH = os.path.join('/etc/kineintercom', 'db.json')