mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-08-13 06:00:58 +00:00
feat(pipeline): api for updating pipeline
This commit is contained in:
@@ -30,7 +30,7 @@ class PipelinesRouterGroup(group.RouterGroup):
|
|||||||
'configs': await self.ap.pipeline_service.get_pipeline_metadata()
|
'configs': await self.ap.pipeline_service.get_pipeline_metadata()
|
||||||
})
|
})
|
||||||
|
|
||||||
@self.route('/<pipeline_uuid>', methods=['GET', 'DELETE'])
|
@self.route('/<pipeline_uuid>', methods=['GET', 'PUT', 'DELETE'])
|
||||||
async def _(pipeline_uuid: str) -> str:
|
async def _(pipeline_uuid: str) -> str:
|
||||||
if quart.request.method == 'GET':
|
if quart.request.method == 'GET':
|
||||||
pipeline = await self.ap.pipeline_service.get_pipeline(pipeline_uuid)
|
pipeline = await self.ap.pipeline_service.get_pipeline(pipeline_uuid)
|
||||||
@@ -41,6 +41,12 @@ class PipelinesRouterGroup(group.RouterGroup):
|
|||||||
return self.success(data={
|
return self.success(data={
|
||||||
'pipeline': pipeline
|
'pipeline': pipeline
|
||||||
})
|
})
|
||||||
|
elif quart.request.method == 'PUT':
|
||||||
|
json_data = await quart.request.json
|
||||||
|
|
||||||
|
await self.ap.pipeline_service.update_pipeline(pipeline_uuid, json_data)
|
||||||
|
|
||||||
|
return self.success()
|
||||||
elif quart.request.method == 'DELETE':
|
elif quart.request.method == 'DELETE':
|
||||||
await self.ap.pipeline_service.delete_pipeline(pipeline_uuid)
|
await self.ap.pipeline_service.delete_pipeline(pipeline_uuid)
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,15 @@ class PipelineService:
|
|||||||
)
|
)
|
||||||
# TODO: 更新到pipeline manager
|
# TODO: 更新到pipeline manager
|
||||||
|
|
||||||
|
async def update_pipeline(self, pipeline_uuid: str, pipeline_data: dict) -> None:
|
||||||
|
del pipeline_data['uuid']
|
||||||
|
del pipeline_data['for_version']
|
||||||
|
del pipeline_data['stages']
|
||||||
|
await self.ap.persistence_mgr.execute_async(
|
||||||
|
sqlalchemy.update(persistence_pipeline.LegacyPipeline).where(persistence_pipeline.LegacyPipeline.uuid == pipeline_uuid).values(**pipeline_data)
|
||||||
|
)
|
||||||
|
# TODO: 更新到pipeline manager
|
||||||
|
|
||||||
async def delete_pipeline(self, pipeline_uuid: str) -> None:
|
async def delete_pipeline(self, pipeline_uuid: str) -> None:
|
||||||
await self.ap.persistence_mgr.execute_async(
|
await self.ap.persistence_mgr.execute_async(
|
||||||
sqlalchemy.delete(persistence_pipeline.LegacyPipeline).where(persistence_pipeline.LegacyPipeline.uuid == pipeline_uuid)
|
sqlalchemy.delete(persistence_pipeline.LegacyPipeline).where(persistence_pipeline.LegacyPipeline.uuid == pipeline_uuid)
|
||||||
|
|||||||
Reference in New Issue
Block a user