mirror of
https://github.com/open-webui/open-webui
synced 2024-11-22 16:22:44 +00:00
feat: latest release check api
This commit is contained in:
parent
b82ac66c70
commit
6bfe2a6306
@ -4,8 +4,9 @@ import markdown
|
|||||||
import time
|
import time
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
import requests
|
||||||
|
|
||||||
from fastapi import FastAPI, Request, Depends
|
from fastapi import FastAPI, Request, Depends, status
|
||||||
from fastapi.staticfiles import StaticFiles
|
from fastapi.staticfiles import StaticFiles
|
||||||
from fastapi import HTTPException
|
from fastapi import HTTPException
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
@ -26,6 +27,8 @@ from apps.web.main import app as webui_app
|
|||||||
|
|
||||||
|
|
||||||
from config import WEBUI_NAME, ENV, VERSION, CHANGELOG, FRONTEND_BUILD_DIR
|
from config import WEBUI_NAME, ENV, VERSION, CHANGELOG, FRONTEND_BUILD_DIR
|
||||||
|
from constants import ERROR_MESSAGES
|
||||||
|
|
||||||
from utils.utils import get_http_authorization_cred, get_current_user
|
from utils.utils import get_http_authorization_cred, get_current_user
|
||||||
|
|
||||||
|
|
||||||
@ -127,6 +130,27 @@ async def get_app_changelog():
|
|||||||
return CHANGELOG
|
return CHANGELOG
|
||||||
|
|
||||||
|
|
||||||
|
@app.get("/api/version/updates")
|
||||||
|
async def get_app_latest_release_version():
|
||||||
|
try:
|
||||||
|
response = requests.get(
|
||||||
|
f"https://api.github.com/repos/open-webui/open-webui/releases/latest"
|
||||||
|
)
|
||||||
|
response.raise_for_status()
|
||||||
|
latest_version = response.json()["tag_name"]
|
||||||
|
|
||||||
|
# Compare versions
|
||||||
|
return {
|
||||||
|
"current": VERSION,
|
||||||
|
"latest": latest_version[1:],
|
||||||
|
}
|
||||||
|
except Exception as e:
|
||||||
|
raise HTTPException(
|
||||||
|
status_code=status.HTTP_503_SERVICE_UNAVAILABLE,
|
||||||
|
detail=ERROR_MESSAGES.NOT_FOUND,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
app.mount("/static", StaticFiles(directory="static"), name="static")
|
app.mount("/static", StaticFiles(directory="static"), name="static")
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user