Passed
Push — master ( 20d9f2...79f6f1 )
by Mingyu
01:11
created

app.views.route()   A

Complexity

Conditions 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nop 1
dl 0
loc 9
rs 10
c 0
b 0
f 0
1
import json
2
from typing import Union, List, Dict
3
4
from flask import Flask, Response
5
from flask_restful import Api, Resource
6
7
from app.blueprints import api_v1_blueprint
8
9
10
class BaseResource(Resource):
11
    @classmethod
12
    def unicode_safe_json_dumps(cls, data: Union[List, Dict], status_code: int=200, **kwargs) -> Response:
13
        return Response(
14
            json.dumps(data, ensure_ascii=False),
15
            status_code,
16
            content_type='application/json; charset=utf8',
17
            **kwargs
18
        )
19
20
21
def route(flask_app: Flask):
22
    from app.views.sample import sample
23
    # circular import 방어
24
25
    api_v1 = Api(api_v1_blueprint)
26
27
    api_v1.add_resource(sample.Sample, '/sample')
28
29
    flask_app.register_blueprint(api_v1_blueprint)
30