mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-02 12:05:54 +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()
|
||||
})
|
||||
|
||||
@self.route('/<pipeline_uuid>', methods=['GET', 'DELETE'])
|
||||
@self.route('/<pipeline_uuid>', methods=['GET', 'PUT', 'DELETE'])
|
||||
async def _(pipeline_uuid: str) -> str:
|
||||
if quart.request.method == 'GET':
|
||||
pipeline = await self.ap.pipeline_service.get_pipeline(pipeline_uuid)
|
||||
@@ -41,6 +41,12 @@ class PipelinesRouterGroup(group.RouterGroup):
|
||||
return self.success(data={
|
||||
'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':
|
||||
await self.ap.pipeline_service.delete_pipeline(pipeline_uuid)
|
||||
|
||||
|
||||
@@ -58,6 +58,15 @@ class PipelineService:
|
||||
)
|
||||
# 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:
|
||||
await self.ap.persistence_mgr.execute_async(
|
||||
sqlalchemy.delete(persistence_pipeline.LegacyPipeline).where(persistence_pipeline.LegacyPipeline.uuid == pipeline_uuid)
|
||||
|
||||
Reference in New Issue
Block a user