#!/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')