diff --git a/app/sbin/api b/app/sbin/api index 2b541b9..2ecca73 100755 --- a/app/sbin/api +++ b/app/sbin/api @@ -111,6 +111,10 @@ class ContainerModel(BaseModel): class UUIDRequest(BaseModel): UUID: str +class CommandRequest(BaseModel): + uuid: str + method: int + # ---------------------- Routes ---------------------- @app.get("/", include_in_schema=False) @@ -315,12 +319,17 @@ def pull_all_images(): return {"message": run_command([f"{BIN_PATH}/pullAllContainers"])} +@app.post("/client/git", dependencies=[Depends(verify_api_key)]) +def git_tool(request: CommandRequest): + if request.method == 1: + command = [f"{BIN_PATH}/gitPull", request.uuid] + elif request.method == 2: + command = [f"{BIN_PATH}/gitRevert", request.uuid] + else: + raise HTTPException(status_code=400, detail="Invalid method") - -@app.post("/client/revert/{uuid}", dependencies=[Depends(verify_api_key)]) -def revert_changes(uuid: str): - return {"message": run_command([f"{BIN_PATH}/gitRevert", uuid ])} - + output = run_command(command) + return {"message": output} @app.get("/client/logs/{uuid}", dependencies=[Depends(verify_api_key)]) async def get_odoo_log_summary(uuid: str): diff --git a/app/sbin/gitPull b/app/sbin/gitPull new file mode 100755 index 0000000..ba2d78c --- /dev/null +++ b/app/sbin/gitPull @@ -0,0 +1,4 @@ +#!/bin/bash + +docker exec $1 /gitPull + diff --git a/app/sbin/start/ODOO_17 b/app/sbin/start/ODOO_17 index 642a37e..1c27e9a 100755 --- a/app/sbin/start/ODOO_17 +++ b/app/sbin/start/ODOO_17 @@ -107,6 +107,7 @@ doas docker run -d --name "$UUID" \ --label "traefik.http.routers.$UUID.service=$UUID" \ docker.odoo4projects.com/4projects/odoo_17:$BRANCH +doas docker exec "$UUID" ln -s /home/odoo/.local/share/Odoo/filestore /var/lib/odoo/.local/share/Odoo/filestore doas docker exec $UUID chown -R odoo:odoo /home/odoo/.local doas docker exec $UUID chown -R odoo:odoo /mnt/* diff --git a/app/vault/host_vars.img b/app/vault/host_vars.img index 8aae806..461abb4 100644 Binary files a/app/vault/host_vars.img and b/app/vault/host_vars.img differ