def create_app(): """Application factory function""" app = Flask(__name__) app.config.from_object('backend.config.DevelopmentConfig') app.cli.add_command(populate_database) CORS(app) initialize_extensions(app) return app def initialize_extensions(app): """Helper functions""" api.init_app(app) db.init_app(app) mail.init_app(app) migrate.init_app(app, db, directory='migrations') jwt.init_app(app) api.add_resource(HacknightList, "/hacknights/") api.add_resource(HacknightDetails, "/hacknights/<int:id>/") api.add_resource(ParticipantDetails, "/participants/<int:id>/") api.add_resource(ParticipantsList, "/participants/") api.add_resource(RefreshAccessToken, "/auth/refresh/") api.add_resource(RevokeRefreshToken, "/auth/revoke-refresh-token/") api.add_resource(SendMessage, "/send-email/") api.add_resource(UserLogin, "/auth/login/") api.add_resource(UserLogout, "/auth/logout/")
def initialize_extensions(app): """Helper functions""" api.init_app(app) db.init_app(app) jwt.init_app(app) mail.init_app(app) migrate.init_app(app, db, directory="migrations") @jwt.token_in_blacklist_loader def check_if_token_in_blacklist(decrypted_token): """Checking if token is blacklisted""" jti = decrypted_token["jti"] return JWTToken.is_jti_blacklisted(jti) api.add_resource(HacknightList, "/api/hacknights/") api.add_resource(HacknightDetails, "/api/hacknights/<int:id>/") api.add_resource(HacknightParticipants, "/api/hacknights/<int:id>/participants/") api.add_resource(ParticipantDetails, "/api/participants/<int:id>/") api.add_resource(ParticipantsList, "/api/participants/") api.add_resource(RefreshAccessToken, "/api/auth/refresh/") api.add_resource(RefreshToken, "/api/auth/refresh-token/") api.add_resource(SendMessage, "/api/send-email/") api.add_resource(UserLogin, "/api/auth/login/") api.add_resource(UserLogout, "/api/auth/logout/") api.add_resource(TeamList, "/api/teams/") api.add_resource(TeamDetails, "/api/teams/<int:id>/") api.add_resource(TeamMembers, "/api/teams/<int:id>/members/")
def create_app(): """Application factory function""" app = Flask(__name__) app.config.from_object('backend.config.DevelopmentConfig') app.cli.add_command(populate_database) CORS(app) initialize_extensions(app) @jwt.token_in_blacklist_loader def check_if_token_revoked(decoded_token): return auth.is_token_revoked(decoded_token) return app def initialize_extensions(app): """Helper functions""" api.init_app(app) db.init_app(app) mail.init_app(app) migrate.init_app(app, db, directory='migrations') jwt.init_app(app) api.add_resource(UserLogin, "/auth/login") api.add_resource(UserLogout, "/auth/logout") api.add_resource(SendMessage, "/send-email/") api.add_resource(ParticipantsList, "/participants/") api.add_resource(HacknightList, "/hacknights/")