Announcement_Service/gen/openapi_server/__main__.py

40 lines
1.1 KiB
Python

#!/usr/bin/env python3
import logging
import connexion
from connexion.middleware import MiddlewarePosition
from flask import Flask
from openapi_server import encoder
from pymongo import MongoClient, ASCENDING
from starlette.middleware.cors import CORSMiddleware
import re
client = MongoClient(host='mongodb://admin:admin@announcement-service-database-svc:27017/?authSource=admin')
db = client["MainDB"]
collection = db['patch_notes']
last_login_collection = db["user_last_login"]
last_login_collection.create_index(
[("user_id", ASCENDING)], unique=True, name="user_id_unique"
)
app = connexion.FlaskApp(__name__, specification_dir='./openapi/')
app.add_middleware(
CORSMiddleware,
position=MiddlewarePosition.BEFORE_EXCEPTION,
allow_origin_regex=r"^https?://(.*\.kanzleiapp\.io|.*\.masasana\.ai|localhost:4200)$",
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
app.add_api('openapi.yaml',
base_path='/api',
arguments={'title': 'announcementService'},
pythonic_params=True)
if __name__ == '__main__':
app.run(port=8080, host='0.0.0.0')