websoft9/appmanage/api/v1/routers/apps.py
2023-03-09 10:29:11 +08:00

48 lines
1.4 KiB
Python

from typing import Optional, List
from fastapi import APIRouter, status, Depends
from pydantic import BaseModel
from starlette.responses import JSONResponse
import os, io, sys, platform, shutil, time, subprocess, json, datetime
from api.model.app import App
from api.service import manage
from api.utils import shell_execute
router = APIRouter()
@router.get("")
def list_my_apps():
list = manage.get_my_app()
return JSONResponse(content=list)
@router.get("/install")
def install_app(app_name: Optional[str] = None, app_version: Optional[str] = None):
ret = manage.install_app(app_name)
return JSONResponse(content=ret)
@router.get("/process")
def install_app_process(app_name: Optional[str] = None):
ret = manage.install_app_process(app_name)
return JSONResponse(content=ret)
@router.get("/start")
def start_app(app_name: Optional[str] = None):
ret = manage.start_app(app_name)
return JSONResponse(content=ret)
@router.get("/stop")
def stop_app(app_name: Optional[str] = None):
ret = manage.stop_app(app_name)
return JSONResponse(content=ret)
@router.get("/restart")
def restart_app(app_name: Optional[str] = None):
ret = manage.restart(app_name)
return JSONResponse(content=ret)
@router.get("/delete")
def delete_app(app_name: Optional[str] = None):
ret = manage.delete_app(app_name)
return JSONResponse(content=ret)