def datasources(self) -> Response: """Get available datasources --- get: description: Get available datasources. responses: 200: description: Query result content: application/json: schema: $ref: "#/components/schemas/ChartGetDatasourceResponseSchema" 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 422: $ref: '#/components/responses/422' 500: $ref: '#/components/responses/500' """ datasources = ChartDAO.fetch_all_datasources() if not datasources: return self.response(200, count=0, result=[]) result = [ { "label": str(ds), "value": {"datasource_id": ds.id, "datasource_type": ds.type}, } for ds in datasources ] return self.response(200, count=len(result), result=result)
def datasources(self) -> Response: """Get available datasources --- get: description: Get available datasources. responses: 200: description: charts unique datasource data content: application/json: schema: type: object properties: count: type: integer result: type: object properties: label: type: string value: type: object properties: database_id: type: integer database_type: type: string 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 422: $ref: '#/components/responses/422' 500: $ref: '#/components/responses/500' """ datasources = ChartDAO.fetch_all_datasources() if not datasources: return self.response(200, count=0, result=[]) result = [{ "label": str(ds), "value": { "datasource_id": ds.id, "datasource_type": ds.type }, } for ds in datasources] return self.response(200, count=len(result), result=result)