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
|
Re #8579 - Added FlaskInjector dependency and used it the REST API controller