Commit 6bfe2a63 authored by Timothy J. Baek's avatar Timothy J. Baek
Browse files

feat: latest release check api

parent b82ac66c
...@@ -4,8 +4,9 @@ import markdown ...@@ -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 ...@@ -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(): ...@@ -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")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment