Revize 0cf35f70
Přidáno uživatelem Stanislav Král před asi 4 roky(ů)
app.py | ||
---|---|---|
2 | 2 |
|
3 | 3 |
from flask import Flask, redirect |
4 | 4 |
from injector import Injector |
5 |
from flask_injector import FlaskInjector |
|
5 | 6 |
|
6 | 7 |
from src.config import configuration |
7 | 8 |
from src.config.connection_provider import ConnectionProvider |
... | ... | |
19 | 20 |
|
20 | 21 |
|
21 | 22 |
app = X509ManagementApp(__name__) |
22 |
certificate_controller: CertController = None |
|
23 | 23 |
|
24 | 24 |
|
25 | 25 |
@app.route('/') |
... | ... | |
28 | 28 |
|
29 | 29 |
|
30 | 30 |
@app.route('/api/certificates', methods=["POST"]) |
31 |
def create_certificate(): |
|
31 |
def create_certificate(certificate_controller: CertController):
|
|
32 | 32 |
return certificate_controller.create_certificate() |
33 | 33 |
|
34 | 34 |
|
35 | 35 |
@app.route('/api/certificates', methods=["GET"]) |
36 |
def get_cert_list(): |
|
36 |
def get_cert_list(certificate_controller: CertController):
|
|
37 | 37 |
return certificate_controller.get_certificate_list() |
38 | 38 |
|
39 | 39 |
|
40 | 40 |
@app.route('/api/certificates/<id>', methods=["GET"]) |
41 |
def get_cert(id): |
|
41 |
def get_cert(id, certificate_controller: CertController):
|
|
42 | 42 |
return certificate_controller.get_certificate_by_id(id) |
43 | 43 |
|
44 | 44 |
|
45 | 45 |
@app.route('/api/certificates/<id>/details', methods=["GET"]) |
46 |
def get_cert_details(id): |
|
46 |
def get_cert_details(id, certificate_controller: CertController):
|
|
47 | 47 |
return certificate_controller.get_certificate_details_by_id(id) |
48 | 48 |
|
49 | 49 |
|
50 | 50 |
@app.route('/api/certificates/<id>/root', methods=["GET"]) |
51 |
def get_cert_root(id): |
|
51 |
def get_cert_root(id, certificate_controller: CertController):
|
|
52 | 52 |
return certificate_controller.get_certificate_root_by_id(id) |
53 | 53 |
|
54 | 54 |
|
55 | 55 |
@app.route('/api/certificates/<id>/chain', methods=["GET"]) |
56 |
def get_cert_chain(id): |
|
56 |
def get_cert_chain(id, certificate_controller: CertController): |
|
57 |
print("Get cert chain via flask injector") |
|
57 | 58 |
return certificate_controller.get_certificate_trust_chain_by_id(id) |
58 | 59 |
|
59 | 60 |
|
... | ... | |
64 | 65 |
- check whether OpenSSL is on the system |
65 | 66 |
:return: boolean flag indicating whether initialization was successfull or not |
66 | 67 |
""" |
67 |
global certificate_controller |
|
68 | 68 |
|
69 |
injector = Injector([configuration.configure_env_variable, ConnectionProvider]) |
|
70 |
certificate_controller = injector.get(CertController) |
|
69 |
modules = [configuration.configure_env_variable, ConnectionProvider] |
|
70 |
injector = Injector(modules) |
|
71 |
FlaskInjector(app=app, modules=modules) |
|
71 | 72 |
|
72 | 73 |
# There's a little dependency on the CryptoService, which is not a pretty thing from |
73 | 74 |
# architectural point of view. However it is only a minimal piece of code and |
Také k dispozici: Unified diff
Re #8579 - Added FlaskInjector dependency and used it the REST API controller