Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 0cf35f70

Přidáno uživatelem Stanislav Král před asi 4 roky(ů)

Re #8579 - Added FlaskInjector dependency and used it the REST API controller

Zobrazit rozdíly:

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