From 572a248721fc5cd2aef0d458d358754ebf145a16 Mon Sep 17 00:00:00 2001 From: Antero Asafe Date: Tue, 29 Apr 2025 20:53:18 -0400 Subject: [PATCH] primeiro commit --- __init__.py | 1 + app.py | 11 ++++++ app/__init__.py | 16 -------- app/__pycache__/__init__.cpython-311.pyc | Bin 990 -> 0 bytes app/__pycache__/database.cpython-311.pyc | Bin 251 -> 0 bytes app/database.py | 29 +++++++++++++- .../__pycache__/__init__.cpython-311.pyc | Bin 160 -> 0 bytes .../__pycache__/invoice.cpython-311.pyc | Bin 822 -> 0 bytes app/models/__pycache__/user.cpython-311.pyc | Bin 942 -> 0 bytes app/models/documentos.py | 19 +++++++++ app/models/invoice.py | 6 --- app/models/organizacao.py | 14 +++++++ app/models/user.py | 24 +++++++++--- .../__pycache__/__init__.cpython-311.pyc | Bin 160 -> 0 bytes .../invoice_routes.cpython-311.pyc | Bin 1090 -> 0 bytes .../__pycache__/user_routes.cpython-311.pyc | Bin 2071 -> 0 bytes app/routes/documentos_routes.py | 31 +++++++++++++++ app/routes/invoice_routes.py | 10 ----- app/routes/organizacao_routes.py | 25 ++++++++++++ app/routes/user_routes.py | 37 +++++++++--------- instance/database.db | Bin 16384 -> 16384 bytes run.py | 10 ----- 22 files changed, 164 insertions(+), 69 deletions(-) create mode 100644 __init__.py create mode 100644 app.py delete mode 100644 app/__init__.py delete mode 100644 app/__pycache__/__init__.cpython-311.pyc delete mode 100644 app/__pycache__/database.cpython-311.pyc delete mode 100644 app/models/__pycache__/__init__.cpython-311.pyc delete mode 100644 app/models/__pycache__/invoice.cpython-311.pyc delete mode 100644 app/models/__pycache__/user.cpython-311.pyc create mode 100644 app/models/documentos.py delete mode 100644 app/models/invoice.py create mode 100644 app/models/organizacao.py delete mode 100644 app/routes/__pycache__/__init__.cpython-311.pyc delete mode 100644 app/routes/__pycache__/invoice_routes.cpython-311.pyc delete mode 100644 app/routes/__pycache__/user_routes.cpython-311.pyc create mode 100644 app/routes/documentos_routes.py delete mode 100644 app/routes/invoice_routes.py create mode 100644 app/routes/organizacao_routes.py delete mode 100644 run.py diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..6891451 --- /dev/null +++ b/__init__.py @@ -0,0 +1 @@ +__init__.py diff --git a/app.py b/app.py new file mode 100644 index 0000000..fa8e98a --- /dev/null +++ b/app.py @@ -0,0 +1,11 @@ +from fastapi import FastAPI + +app = FastAPI() + +@app.get("/") +def read_root(): + return {"mensagem": "API está funcionando"} + +if __name__ == "__main__": + import uvicorn + uvicorn.run("app:app", host="127.0.0.1", port=5000, reload=True) diff --git a/app/__init__.py b/app/__init__.py deleted file mode 100644 index 224b491..0000000 --- a/app/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -from flask import Flask -from app.database import db -from app.routes.user_routes import user_bp -from app.routes.invoice_routes import invoice_bp - -def create_app(): - app = Flask(__name__) - app.config.from_object("config") - - db.init_app(app) - - # Registrar blueprints - app.register_blueprint(user_bp, url_prefix="/users") - app.register_blueprint(invoice_bp, url_prefix="/invoices") - - return app diff --git a/app/__pycache__/__init__.cpython-311.pyc b/app/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index caa0f70f1de5858d5b71a6d71c5eab56fe5ee026..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 990 zcmaJe1B}oQ zVWcaw0Mk7HC&)x5c94r37z>!Y2SSW)pO_8&ak>1Auwkd+OUQ3RY`zZ?X~45`5Dcs1wAY$#n6wK{z;t^RuPz zIXXt2rFS6mFDw(U=U~Kh=RqAg#m9fu#!!2pq~6t?Z=G9a=A(299h@z@_)p&Dl|1sV zJfKiMh?SP_S$6wK(FARwAg#+BJz&(b507%%g2AwoV`Ac1)pgHssjf3sm>U-JUEObX zXp1vJYpmLy&2=LP;;W3d?U0L~;dE)hY>zX+02714MG^#sg5I06JKAI4rJCVEv~Prl zMR#^JmwMc1wxL0srt3*vy&61=^DRaVPQ@imj4A4c4yYdbmM^?kUuZA2-u*Gj_V>S% z(ic*CQyY@W%_vO14?yZinyBBddzjYusbH7Kxf-2Hqz zanwho9+CR@jji7P6z)R@m0T=a;`z8Ev@T<` Q6RpdHz`fZa*#n diff --git a/app/database.py b/app/database.py index f0b13d6..2fc4acd 100644 --- a/app/database.py +++ b/app/database.py @@ -1,3 +1,28 @@ -from flask_sqlalchemy import SQLAlchemy +from sqlalchemy import create_engine +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import sessionmaker +from sqlalchemy.orm import Session +from .database import SessionLocal -db = SQLAlchemy() + +# URL do banco - aqui usando SQLite local +SQLALCHEMY_DATABASE_URL = "sqlite:///./meubanco.db" + +# Para SQLite, o argumento check_same_thread é necessário +engine = create_engine( + SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False} +) + +# Sessão de conexão com o banco +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) + +# Base para os modelos +Base = declarative_base() + +# Dependência para obter uma sessão do banco de dados +def get_db(): + db = SessionLocal() + try: + yield db + finally: + db.close() diff --git a/app/models/__pycache__/__init__.cpython-311.pyc b/app/models/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 49245a332d59064aebe3fe87975ee42823befd32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmZ3^%ge<81p4cqq=V?kAOZ#$p^VRLK*n^26oz01O-8?!3`I;p{%4TnFJt|T{M=Oi z#JrN!qWr|-#I#fcbN$@ZypsH)%tZaff&%^A{FKz3V*U8|%)HE!_;|g7%3mBdK*7?S dRJ$Tppcx=riur-W2WCb_#t#fIqKFwN1_1IrB|iWF diff --git a/app/models/__pycache__/invoice.cpython-311.pyc b/app/models/__pycache__/invoice.cpython-311.pyc deleted file mode 100644 index 5d415310e9f12777ca7dcff974ac8d42ae957da4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 822 zcmZ`$J8u&~5Z=A>J2@8)B0{vGaN|2gNFZcU1j!LX=K_!rZjNAL_JgJs5XiGn-&;T6 z{wAG7(hFmL8;m1F5ycL2aRXzdplw8zH;AeX?~htx$P3(wO+7p4g8!JIu2<%>~%H_ z7_Zp0US1J7%kqfJEK3wD%k^pKNPE??UWUYpBU}zqWbXM+=z0>O!&;0B#ik-%b9~Yf z8RGh(*Aa!9&zarw97hbTjgEh*gW2PZ+#73>ep~oG{;4AQZ#$pa`CkUwq8z& zRiIX(q(hnnrWTDNZAzvwyOPX}3a)^4o~y<)yvx_Ym0uP-0X0)G##3~CbaBs8Dz4)h S`nLwUyT78?@Bd^(z<&U^+rpdx diff --git a/app/models/__pycache__/user.cpython-311.pyc b/app/models/__pycache__/user.cpython-311.pyc deleted file mode 100644 index 7bb0fb003c9dc700125ef63b56eed35eca2d5330..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 942 zcmb7Czfaph6uz^a#KA_9P&-g0q%M`R;0Q%3R8@yGv}Gtmp{mG$d*Kc+_(wR$mC~gd zI%LQYq)0G!N>f3lj{F&klp(scENoPCV(L4GAc5MUcfRNM{J!_z_ul#I}0Ob%-M6ruJT*4SB=p~}cXGB$oca?EKM@8ru&S;fXs;#1I;#`_p zEEHPaymrN}oAhU39wLTHn4*%RAg1nWV<6~b9F#v%I#BHRreG;~8y#DzaV%9k(9$uS z(W2T(;!eE&U-1|+B=0ntjx)qVlvQYo>cBI72W8L+7=VRD|w~IE3HOCFDU@mbDXj%p#D62P7n0Ece**m|qRJLo8CMSU`ihp(Q!b zRcc&bWGp0)unwYrvxn)a##D2H&G*u|emXZu=jw%_aj!AoTx_kk-n7?`!h?Ve<(yKARQJ+sg^3j?!IUm9j+8@&1HsP^O0 zX|%qzPma6B6~{4bxjszS-?oAilhL^LsPzy?O7q`!StPB9J$q zf0kZignkGolt>4(HUaD)f(SN|g$vk{3KAB+WXe{g5b?2WDps@*#YjRFlL(FNO9&mp z3ZxLH@p>ZkF78Aj(Goto5>MhAXdl83yP<_7NxVS0Mq*EDRxT(5W~u_S`{!m$ORk95)cze zy*o~LBKFH|t|K@0@0Q>Vw1ysCiP?vWhux|$lr&xJx{w@&)eoyR0cHo4pv3Hrb-ad` zzz+m)Hv@3DF@pBw57O2k6vYQJmkh$Ax@A`dOI3$5%^)ldC4fLFKgO})h}3Mh{Xku` zEvo8emoi&-^aVP0U$to2wV9!-dZnT=yXsO$?J%kZZoab8PEMMJ;}&hJGPRm5QCAB| z&rh0mQ8%3_0AYmq-<%OJHRScr2KsGzcYN>Or}3kSFZgT1yY^gYc-ewjl#4J0Hm)pJ zDO=&PZkkMdvK(fDZAWmCWr8!_bFl+92uFUzT>v%oD>JaQev-)^XR?jVP%|@Bd-^@q z*LiE^HGoF{Y!hs1u9=$iB6I9ICxTyR2vFfz4OjtM!RSdbF7yttHQJ>IC;5_%DP11)2Z= diff --git a/app/routes/__pycache__/user_routes.cpython-311.pyc b/app/routes/__pycache__/user_routes.cpython-311.pyc deleted file mode 100644 index 2256179a9e2c22ce5a825b874ca5dd40c46bdcb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2071 zcmaJ>Uq~ZI7@yhQWRq-c?k;LtE^-m>v?(;PP}&2n99HqphqU!im6Su)?CQntW^*$e zszo6j!W~7Z?TdNv!BVhZPq@;)9JCLD_t3tSO`IE4OUlNt%f!r|{AtRe*|SVKC_Vx7x!I-lh+({Y-h z`?5Y)<~6@AW<`uRq+&%-0~-+Y5p<8TK{dGU?pM>)M#ZQ2XYiKTXs-m8&<2=1s+pmz z^gj`TFNqL(AwpP@Mo=>RoW)G?POwiasYQ}6n2tD0jY58U-Vup@ti5+2#ssu(( znR0w3km(UlJN)3lC@4i;HSZV-&DH-81eP@(`e6~+Dl&oBXcpI`^?FWf8a6hbbrG53 z$*O{v&;sf|W3vGfAJwD6xwuTOJ_Tn#^eFVh>%dmg41~BHTf_@^7Umv-T=xLE{$mPS zBRI!=<_$T%yb^kvMuMeaFz%v|KP%V#rjU zR=eI!>uSL?NM26M#bTNmB~ztomdZ&_P8H{mLOoiZnmI!+_I}y!3hI<4kD)@qA~V2hFhVX1I@aIa+E;bl!D z?4pvG1Yn>n0}0a1OoH|8$!joYS3tXfmC>{Ch2^0yGhbw?;kX@+mk0KwOWroW4!~HA z4%@(`5nCFugb~upq6r^ zTuZLel13X4#w$YpOf1DW&5a;42>*Oc3s41EUOa*scQV`ZH@@FRY@T}Uv+M?3T0e#B znhv3bGkarnjyJop7pO5~;CpHhMFe2i&!7a>&g4M}vQs8Q8FB&Ql8e9q<%AfdbOq!L zKso^*gMEVTd}}0(DUzR&&7Ge}-k|vvxWXiN;#-P?(-7Z1eQAq@BpZ^9d86pfCPJrQ$RU(H6$wjG)UBV9Jh!p(tY*AJe#}85Uyy*sk zpn@WsvJ)t%pLy@cdz2omr5sUZQ*{?e2ZRbkr#}M&U`v;5>2g(Sv!%9j|GpGCK-f2g zSIpJ9ujkhN)mWz;>-2P+=Ht2V=bnhw^bI?G!_)0WS}UT}-e<+$uSWXqNdI=uirlgS zx1L3!mFCLyT6}Z#ht93rR;0Tc>9!-?<(qqge`)A`=3ZvydR2(qLfjJKuI^8vWPziVqOu|MG~tcA^U)E_m$lapfj+fW>PETnJBq1LMr0 LJi+~uGATwWH)f5*W84#