feat(webhook): add support for server_name field in WebhookEventInfo

This commit is contained in:
InfinityPacer
2024-10-10 22:07:03 +08:00
parent d2a613a441
commit 828e9ab886
5 changed files with 15 additions and 5 deletions
+2 -2
View File
@@ -22,7 +22,7 @@ async def webhook_message(background_tasks: BackgroundTasks,
_: str = Depends(verify_apitoken) _: str = Depends(verify_apitoken)
) -> Any: ) -> Any:
""" """
Webhook响应,配置请求中需要添加参数:token=API_TOKEN&source=消息配置 Webhook响应,配置请求中需要添加参数:token=API_TOKEN&source=媒体服务器
""" """
body = await request.body() body = await request.body()
form = await request.form() form = await request.form()
@@ -35,7 +35,7 @@ async def webhook_message(background_tasks: BackgroundTasks,
def webhook_message(background_tasks: BackgroundTasks, def webhook_message(background_tasks: BackgroundTasks,
request: Request, _: str = Depends(verify_apitoken)) -> Any: request: Request, _: str = Depends(verify_apitoken)) -> Any:
""" """
Webhook响应,配置请求中需要添加参数:token=API_TOKEN&source=消息配置 Webhook响应,配置请求中需要添加参数:token=API_TOKEN&source=媒体服务器
""" """
args = request.query_params args = request.query_params
background_tasks.add_task(start_webhook_chain, None, None, args) background_tasks.add_task(start_webhook_chain, None, None, args)
+4 -1
View File
@@ -78,7 +78,10 @@ class EmbyModule(_ModuleBase, _MediaServerBase[Emby]):
server: Emby = self.get_instance(source) server: Emby = self.get_instance(source)
if not server: if not server:
return None return None
return server.get_webhook_message(form, args) result = server.get_webhook_message(form, args)
if result:
result.server_name = source
return result
for server in self.get_instances().values(): for server in self.get_instances().values():
if server: if server:
+4 -1
View File
@@ -78,7 +78,10 @@ class JellyfinModule(_ModuleBase, _MediaServerBase[Jellyfin]):
server: Jellyfin = self.get_instance(source) server: Jellyfin = self.get_instance(source)
if not server: if not server:
return None return None
return server.get_webhook_message(body) result = server.get_webhook_message(body)
if result:
result.server_name = source
return result
for server in self.get_instances().values(): for server in self.get_instances().values():
if server: if server:
+4 -1
View File
@@ -64,7 +64,10 @@ class PlexModule(_ModuleBase, _MediaServerBase[Plex]):
server: Plex = self.get_instance(source) server: Plex = self.get_instance(source)
if not server: if not server:
return None return None
return server.get_webhook_message(form) result = server.get_webhook_message(form)
if result:
result.server_name = source
return result
for server in self.get_instances().values(): for server in self.get_instances().values():
if server: if server:
+1
View File
@@ -139,6 +139,7 @@ class WebhookEventInfo(BaseModel):
""" """
event: Optional[str] = None event: Optional[str] = None
channel: Optional[str] = None channel: Optional[str] = None
server_name: Optional[str] = None
item_type: Optional[str] = None item_type: Optional[str] = None
item_name: Optional[str] = None item_name: Optional[str] = None
item_id: Optional[str] = None item_id: Optional[str] = None