def create_app() -> Sanic: _app = Sanic("ostiarius") log_path = os.path.dirname(__file__).replace("/ostiarius", "") set_logger(_app, log_path) _app.config['JWT_SECRET_KEY'] = settings.jwt_secret_key _app.config['RBAC_ENABLE'] = True JWTManager(_app) CORS(_app, automatic_options=True) @_app.get('/api/v1/ping') async def ping(request): return text("pong") @_app.middleware('request') async def add_tracking_id(request): request.headers.update({"X-Tracking-ID": uuid.uuid4().hex}) _app.error_handler.add(ServiceUnavailable, lambda r, e: json(body={"msg": "Service unavailable"}, status=503)) _app.error_handler.add(SanicException, lambda r, e: json(body={"msg": e.args[0]}, status=e.status_code)) _app.blueprint(bp) return _app
def create_app(): _app = Sanic(__name__) _app.config.from_object(DevConfig) JWTManager(_app) CORS(_app, automatic_options=True) _app.blueprint(swagger_blueprint) from motor.motor_asyncio import AsyncIOMotorClient @_app.listener('before_server_start') def init(app, loop): _app.db = AsyncIOMotorClient(_app.config.MONGO_URI)['inu'] from server.api import api _app.blueprint(api) return _app
import jwt import uuid from sanic_jwt_extended.tokens import Token # QUery from query.product import bp as product app = Sanic("Project_Tees") app.blueprint(swagger_blueprint) @app.route("/") async def test(request): return json({"hello": "Monggo Cek Swaggernya"}) CORS(app,automatic_options=True) app.config['JWT_SECRET_KEY'] = 'super-secret' # Change this! app.config['JWT_ACCESS_TOKEN_EXPIRES'] = datetime.timedelta(minutes=720) JWTManager(app) class Login : email = str password = str @app.route('/login', methods=['POST']) @doc.consumes(Login, location="body") async def login(request): body = request.json email = body.get('email') password = body.get('password') core = await db_conf.koneksi() async with core.cursor() as cur: await cur.execute('SELECT user_id, role_id, email, username from user WHERE email= %s and password= %s',(email,password)) rest = await cur.fetchall() if len(rest)>0: data = []