| 
									
										
										
										
											2022-04-11 18:38:26 +02:00
										 |  |  | #  Copyright 2021 Collate | 
					
						
							|  |  |  | #  Licensed under the Apache License, Version 2.0 (the "License"); | 
					
						
							|  |  |  | #  you may not use this file except in compliance with the License. | 
					
						
							|  |  |  | #  You may obtain a copy of the License at | 
					
						
							|  |  |  | #  http://www.apache.org/licenses/LICENSE-2.0 | 
					
						
							|  |  |  | #  Unless required by applicable law or agreed to in writing, software | 
					
						
							|  |  |  | #  distributed under the License is distributed on an "AS IS" BASIS, | 
					
						
							|  |  |  | #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
					
						
							|  |  |  | #  See the License for the specific language governing permissions and | 
					
						
							|  |  |  | #  limitations under the License. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from airflow.plugins_manager import AirflowPlugin | 
					
						
							|  |  |  | from flask import Blueprint | 
					
						
							| 
									
										
										
										
											2022-07-28 14:46:25 +02:00
										 |  |  | from openmetadata_managed_apis.api import app | 
					
						
							|  |  |  | from openmetadata_managed_apis.api.config import PLUGIN_NAME | 
					
						
							|  |  |  | from openmetadata_managed_apis.views.rest_api import RestApiView | 
					
						
							| 
									
										
										
										
											2022-04-11 18:38:26 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Creating View to be used by Plugin | 
					
						
							| 
									
										
										
										
											2022-07-28 14:46:25 +02:00
										 |  |  | rest_api_view = {"category": "Admin", "name": "REST API Plugin", "view": RestApiView()} | 
					
						
							| 
									
										
										
										
											2022-04-11 18:38:26 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-28 14:46:25 +02:00
										 |  |  | # Creating template Blueprint | 
					
						
							| 
									
										
										
										
											2022-04-11 18:38:26 +02:00
										 |  |  | template_blueprint = Blueprint( | 
					
						
							|  |  |  |     "template_blueprint", | 
					
						
							|  |  |  |     __name__, | 
					
						
							| 
									
										
										
										
											2022-07-28 14:46:25 +02:00
										 |  |  |     template_folder="views/templates", | 
					
						
							| 
									
										
										
										
											2022-04-11 18:38:26 +02:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-28 14:46:25 +02:00
										 |  |  | # Import REST API blueprint | 
					
						
							|  |  |  | api_blueprint = app.blueprint | 
					
						
							| 
									
										
										
										
											2022-04-11 18:38:26 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RestApiPlugin(AirflowPlugin): | 
					
						
							| 
									
										
										
										
											2022-07-28 14:46:25 +02:00
										 |  |  |     """
 | 
					
						
							|  |  |  |     Creating the RestApiPlugin which extends the AirflowPlugin to import it into Airflow | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-04-11 18:38:26 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-28 14:46:25 +02:00
										 |  |  |     name = PLUGIN_NAME | 
					
						
							| 
									
										
										
										
											2022-04-11 18:38:26 +02:00
										 |  |  |     operators = [] | 
					
						
							|  |  |  |     appbuilder_views = [rest_api_view] | 
					
						
							| 
									
										
										
										
											2022-07-28 14:46:25 +02:00
										 |  |  |     flask_blueprints = [template_blueprint, api_blueprint] | 
					
						
							| 
									
										
										
										
											2022-04-11 18:38:26 +02:00
										 |  |  |     hooks = [] | 
					
						
							|  |  |  |     executors = [] | 
					
						
							|  |  |  |     admin_views = [rest_api_view] | 
					
						
							|  |  |  |     menu_links = [] |