HEX
HEX
Server: Apache/2.4.29 (Ubuntu)
System: Linux 2amigos-php74 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
User: squarehillcompany.com (1002)
PHP: 7.4.25
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhosts/dial-copper-dev.2amigos.us/dialpad-copper-crm/api/main.py
"""Main module for api startup
"""

import os
import sys
from os.path import dirname
from pathlib import Path

import uvicorn
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles

# Updating path relative to file to ensure local imports (only for debugging)
path_args = Path(dirname(__file__))
sys.path.append(str(path_args.parent))

from api.conf.config import ConfigWrapper, ConfigScope, set_app_scope

# Configure scope before loading modules
set_app_scope(ConfigScope.SERVER)

from api.common.iofiles import STATIC_DIR
from api.resources import contacts, auth, home, calls, deals


# Setting GDS credentials on env variable
_CONFIG = ConfigWrapper.read_config()
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = _CONFIG.gds_credentials_path

app = FastAPI()
app.include_router(home.router)
app.include_router(auth.router)
app.include_router(calls.router)
app.include_router(deals.router)
app.include_router(contacts.router)

app.mount("/", StaticFiles(directory=STATIC_DIR), name="static")

if __name__ == '__main__':
    # Running locally for debug
    origins = ["http://localhost", "http://localhost:8080"]

    app.add_middleware(
        CORSMiddleware, allow_origins=origins,
        allow_credentials=True, allow_methods=["*"],
        allow_headers=["*"]
    )

    uvicorn.run(app, host="0.0.0.0", port=5000)