From 7953190b37144925dcf3168a591bfcc046a6ef37 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 11 Oct 2025 05:43:29 -0300 Subject: [PATCH] work --- app/sbin/api | 19 ++++++++++++++----- app/sbin/gitPull | 4 ++++ app/sbin/start/ODOO_17 | 1 + app/vault/host_vars.img | Bin 26214400 -> 26214400 bytes 4 files changed, 19 insertions(+), 5 deletions(-) create mode 100755 app/sbin/gitPull 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 8aae806a88d2e119896868d88774fcd403ca059a..461abb43737d0f52a9ec556118b702f0a5fdeb8c 100644 GIT binary patch delta 3691 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 C_IXwS delta 3691 zcmWmFX*AVa7{_tP5M@>oB||AgBI!yQ{-jbeXUcRCA{jG<96TrqsZ7QHM1}^X)TM(= zT}h}!B8tpZR7l2qo)`P`YOmk=zSwJR8m)$hh6gCX3T(g*9Iy&FfeTi{8sG*V-~~S5 z2LTWSAy^CRU_A(f2y6gR5QB}d3B+MDNPr|rfi!G^tsn#2U^~cy9LR$L>;OgB2}+<0 zyFdkYgDUKSe?SfPf;#Mj{h$Gwpat4MfDY)w0nmeka0m{AJ{*CgU;xL!5RAYWOu!V( zz#NW)1z3U=Sc46m09&vFdvE|ppn?-PgA1GlS8xM&I0YWy38%pe&VV=gfG_xgKLo&8 z2!tRAh7bsaa}WmM5CP{Q5@-+w(GUXwu@DFGZ~-nt0$hSbxC}{<3@LC0QsF9GgX@q6 z>5u`LkOep3CS*enkU)o9kPCTm8}gw53ZV$@z+Jcp_n{abz(Xj3NAMU*;R!s2f1wP@ z;TbTX0xF>joLzQO6BH6wqU(P$gA|>pUlG%Y?L2bQA5$ z&)==ydfi9R=+g_sKjQ`_QOU28Q<&G7up#US2eJy`M7WUE$Qpzj;X!y2K7=0;Km-vX zWG%7|S&s-KBFF|r6cIx7dfBT?Q{7a zWAVm% zel1+$lKeSx<5j~sdFPZ)#dRx}b8$sloz0{AEW5MGNfn2_vF=Q8&M) zy;{;U@O${KDUrLr^zT;L=d+DnJp#U)Y+jCc>!=p`YZ`R0$Xuw&!nyB3-h_bQ;p&RN z%VJ3(Ap<0xIYT85bGPhz&gfH57h#{TfrzuT%^^MqCO!}RX?dB<_0p(QCcZwj=PR#E z;9ai54FxBo;v7<2-gpG`X5@C!M|jw)NWu(jY6C3_Mc!VzxmBXQ`Eg3+yj`|t`g2yJ zWIl}@Lzgn-10QyJQ*Bz>o8KFy9dPuuXF%EH9hnWwW3M|mtX@{$e43;)XQ;$~f3n$R z%BDh`x`JsF#h3I=?$)h6`f-){df|h9^vq4Z?3s6*Pi)s$lVjUhIRDsn;mO44J=YbB zv+KIvCrk]lyGta)xg^8ESq{eZTu;<#znx8<-bHLfszt(9o{1k0(%q7$S+|SR>%5 ztC-rY;jA@Pcq(}JK(h2{5xd-IKaucek2mxP?H7l)eKuQi6m~Q!RWzMUys|bXw9Po$ zEm~kqu!_}XKck7HGiRv8wte+B))L(;+YGPrd8l-jq;Lx5mhjR3?a@tt(Mf++X3sUF zrDM@Hqn2y%P05fqIZ`+2-Lpc$XUzc;EA92HPe{T7YewIk9*h^gxpZS63r&|T_=uiG zw}xnZ?Z?4VmZ#&{9)I3L2D|Y|=TU#t^r{|P-j9*SJ{sS$&D>|2ruHYrrLK^4<_wh} z#fx3HzT@M&AMyA4tZ46GbS(6@D7aOxQ|l-fTDaf{$BrLIJ=Cn=zq0#xgr9+j)?>?n(SWvJujWqP44~1#ZdP_!MiBTE< zq$kU8%2yC5D0Dm4;nzS5JK?_gb}om(A2H|gm83IgsD!zEn$pF;_w3&0v9_N)tD{tG z#!=#!`L%DbR`6g3Ey(%qg!8$EbD_-F99#U&%v>R%=GPZ|y+>nZFdxA|V3->n~OVh}sv*BWu9 zn!iu?sef>St-0U$K9bIyVb;9Ys*F?rYhU)@Y5${n`<=h{8LNb*j=0YY*bgsCe8`k2 zrddR+8H}CYv9ihk4uhx--HP+;|uJ+fdh}f(!UUhYKZ(X@= zU0-f?uV|^gz|S`Gk%LpiT#xIzyxco!j7iau6g6JCR9Af&%V$?JX{&@zrIo0Xbmk0| z$o)_5^R$DZwWVpA&}ET#Q|iJWjXCN#3qPptw(MSz>&al#?Dp(%IODy|y|dtQU0U|h z^Py%nFD|$|_{(VByk(vwY_R4U{Z)(%{}YquI4iGm!-AZWR$p~K7LM3_sipy!01-dG zH243eN-y}mZZzB7G+QPZ$+&;c=#pHj54YvwTjq&jJS?$X16yWx@Df!lLZF*~;@;tNV z1lDx$>HPTTW+0_PQtnaOv!cl&AH~{%l51MMk|X@3t;u`WhMpO!zt&JgnXvO+UHWs} zG}5H6>ar{2Nsg4hLex?jNoUSb3C60x*jU*DtHrb{7e?~`QYsRE?5?oS+*Kc5q>#fH zv^|^Gu~59%rbcw|%(J|VC4raW5&pId=3#T|RX8RSeHuu@7HillR^6!zx#PDKz*fW~ zR%=QIItMnqt2{Hsqc0h}n52JIRw%ahaAs2cc^9`I_In>SjdsWdr1*YRZJb`cF;R^9 zGcaeU#Gy!+$CdV-PmfOz9jtmIu^=QA5|!|R^}!NFBP_Y()|zpM8xT35UR12|k)IJF-QwAqk^9oCHhu)h&**=un6jJd?UWFe*Q+8{dXsV43u?IX@v zj!}=4$(3YcXQs90np@q&w`(d}^?nG~J{-8Vea>>wUqQZzq%&uzgf0Ee*cSJU7vZyK z_S|0jxGFMGPXEt8o-=R4zRUe#7e3aI8^@n$ZK^aeVKtL3E@vr|bc*ky4foY6H`Ogo z+INJIggw@{|MK>+od2~-eZWAF^SC_EkelqRcl+!aYUGc5I&swfN%4vcAtC-Hjll*7 zmh0U?gnLpu;LOSInHD5;Q0CA191!gE*r_)+G#2OZkwWsjI{+HB@=$ z%*t=v3(lK47-QDICZXM!F~Am;J&>X16K@$CWktW=V4z?x1IO~y+N2HpJ2 zlSAF@^1cE6R<`WJ3gj&(+rZE)bc=<;KoN7=aebe`=jnGz98Bc`fC(_F^v zrS6k-<_whxmfYInB+uGwSXR~;7o~oDtnNfcr8IlzwSR+5I=1mPndEM7P+oqY)sTOq zc~^R~NA04zymn=3sfy`n#ZOVX07*Dv4Nt+!aNQN7G383nJ2s13#y2^pp5(0SSEJVD z1vk=v|L%Hjf5hcw+p!h5J=Tkj~qdcA_mAY#1Jt;j1d#W6fr~0k>iL3Vu@HG z)`$&q0