From 3c30adcd499532310ce5c6065bc59b15fd718c89 Mon Sep 17 00:00:00 2001 From: Jadowyne Ulve Date: Mon, 28 Apr 2025 07:12:40 -0500 Subject: [PATCH] items_API.getItemLink updated to new schema --- .../database_items.cpython-312.pyc | Bin 24420 -> 25449 bytes .../__pycache__/items_API.cpython-312.pyc | Bin 37666 -> 37820 bytes application/items/database_items.py | 19 ++++++++++++++++- application/items/items_API.py | 20 ++++++++++++++---- 4 files changed, 34 insertions(+), 5 deletions(-) diff --git a/application/items/__pycache__/database_items.cpython-312.pyc b/application/items/__pycache__/database_items.cpython-312.pyc index 192f4896abf132076c9d42389afff262ea42a8d0..50c6a0e55b55a9d3684bcfacb6c731ababa59b60 100644 GIT binary patch delta 1784 zcmZXUUrbY19LIZl?`?Z~`-jq&mIC(TN}*JQimouLA{C*ERMD*y1Z3PYi30An(}5U^ zL0`5R$!|_GWz&~sMzd+|%a$cfA=$EQ56mSK8#mpuWV-A@qYKG=+3%EpbKK;9@9%uh z_ndpq@BHrleVjb}nwY*b8uco?9`u{{)zpugoTOp2xb&D!V&a^{#x)Wb*LG_p%?Q_` zlm1V&NckmHhg83W@<@dxRFBlKgbJfm+>#|2&}v#@H6k@H(r#8VA<0@Ka~m)twJcKf zWg*F4By&CsQY+oOh`YC;EqjD*vCn0LwyoIC8BqJ|N;_%Rk;`zMe~);T&H5cIDS}HO zD_k*^>MJm%Wq2pFu-$D}o|+yq_7ZH%J}NZhaw(OSaMhFxg4Iqcl|rkHumPm-t1Cx| z+PWCc>=5|eAqjqJUqPh|ik*8%IgB`4NVRg$`6)+yaB5l2bCx^HYDpDbcjiNt+eAW2 zy}N^(pYE#Xh3C9!Pb*G$A+#I@0uJaeGLj9-(V`~=-W7QDeFB%rO5rFgsfSeORT47> ze`!60fJIlwa6<$lTgn-=TnK?(ZunqJ39nA5hjd5TAr^WIUW9uEL8#yjuxzV`AwwLb zT3ls5wrMs6I^52nqoXGo?>*4dw?84q8tR(s#2#r~QDUv^!Cs#phC?{wy9>iEKIo2D)Hvw5R=Q1D2lH5S6gbz;k1(RW*{`9Z9?Vg1H^(>>Mv%8z1f zG;+tDd#QL@^qh`NJH#0?x-&y&7@X&^3S~w;&;D8LnV~(I?q^T4VSSk=me`4l{LmiO zsT50Xh`GsbG}n5$2`i6{iF_XUgqN!==O_GHN-A}fgt#!Log@s#lUzo1e7KC6v^c^g z%w!1{E`$3nhcZ?fV_>Ru?fh9={2R%7NCjQc>o?#jUkPr2FZ?!cGcMs1<(8l2G@CFS zTnV3L=fd9=IST^=A`Y|^*`YpQUMP=MTm;?Y%C$h<+`!d1Fb7unb&wl$2n#hnSiQh^ z2fdjklxAMv$~EE)w-ll3eZtmbn5p(Jt9=X?#nuDmVd#jU))A$5IX=hl9$-mxxR0YxEKW&2gIT=!+kgcfrMN0nILI-3hn1-O$K1 zJOpD+eliH(HdT`fV50S!Hi{+K9?f&4FibQ1;{$09rDK(xPx}&ZJR0QQ#_*Xk9-Y(* z&6K`Og`qM+g+uY_Wp+N6XOlyl4wQ6OQts?CB|5v3J^g(h z$)4UgCiHQuopj+2op=~F?hN{ND^+_|5e;32&jAP93djjK)s`3b(uwF#a`wH|GzwAK zK!twIGObXVR+~%B(4g^!DC UGLLJXC$#l=Ii%Z9vggtHFQ4YVkN^Mx delta 1383 zcmZXTUu;uV9LIO)z5RFFyN$MM1uR2a@osaKW(}~~v7iJ9%eswe!dkfNcJExXu3b*= zKq@-_kom%c^_PI*Wt#9}qVeIrm;fq5d{CplncR>Vi4S5l&X7p-LH+&iHVXD8{pNQ* z=X=iYcYf#e&KK;bPni6b-|ua~@6vqh?9#J!Il_|lU0q87&7q5$pgT2Dcg;98=Q(l0 zt^J?6kb0V^8>zR6dXP#@)Qi;DM5X$7Vp9n|w8{hlJ*8! z_q8G2ynf68y4ueP6T!yVt8GRQIjuo{a%S$-7$_2gOH%zH-#7K7_b z1pYbN0k`B~LSPm0pQu}1-1>G3o`b_afy~+nnh~H)K0rQw@_uCHX{%LBv zF;ij-k@xWwMrS6ZAHX;p`P9kD~X_Z0EZXNj}wB(2H{#?-$oJl`Z`$# zBB_|2dR#n+z7Nd{se|OZ)!)D2+m=4^Ko(d^x8s6(Iwu~+1=r0#(ifQU42H16I?VSn zibFh#qwmdc2Vasl-D@$2hEk63{nFo;_=ByTlzZT2b|>!mb9N5TIX?0@^JQ_pC8%Zn zG#`QG(cR7w1Uw7ZMn7|wDdh0RST{QbAC2u}3Ai(MXzy{tlPFf3!3*VTVcIBG%Bof{ z3Or16XKBtcr=PJz6gA1W5v{=Nu|49O82(~jK6b+uA0|pS%*Rox5=v*|<2z{PIGoQV zSQf74ZnFtDfFk}X_5gFdas-w zBc}((=`mS?R-86C-4n+$;%jHTi^CTCO8#~~JzvolOZotR2N^cIr8*3M6~2Zarj~_^ GIQ$Pw2U4E^ diff --git a/application/items/__pycache__/items_API.cpython-312.pyc b/application/items/__pycache__/items_API.cpython-312.pyc index 9c4adcb1638a88f79a3a1080a70ba765be4eee5b..a8f3b9f61e5e04cea05ef786b40c6a4d0b3d229e 100644 GIT binary patch delta 1470 zcmZ8hZA=?=81MCZEwn&yU^`(1JAzwkEY|oz=;rGjQ@5D0HM4Aq-L-c}U3*uayTTyD z0XmrBB^gg7V`G@?!^kqt&{Kzsy7(U7R>ZiZaf|vz{h%RPOpM0F|8p2A>xW;T|L=K! z{?Gr;p0h8^+AF>&FL&G6?~Sat<9O$*6)*3@iuO{Bd!2mB)`z08iHl)>RV)7BE#n;c zoA)7?AUkE(G(WM&?~qI6Qe0=$g-+XK_Zgn(3mk>B+4kCk9;uZb0z0-x11Uqvq*Lml zKs#s|9Jr$j-xT}s-JM%R(gZA(p#`2+3`{)SQvDc_yU3oL^;|Nk=z4oD-H3C(YHW|) z<&Q#$CFv~-sG1Rw(rK+*k%Of;u&H6Uhee?P2s4&yj|FuP%r>CW3%s_tYm3=#l?UYv|IT766ZaxU6V1XajQqu%Nc=1~FOuyX9_@(NoFTD{ zz(sJ1;55Mu{@HP_c#cFGpcNBl@qyH4;dOSt$2^q!m0yW;0{3T<&J|buFw7JrAc&u-i_$Ad*+~$vc4eljI4%^wL{*4<4>&(!zKHm2Y8Cup>>1}kJ!Y2pd&Z3Y+ zens##gMt&3jK=mdPYe|fi}=Stz3?3qPnxxZ*LeR36MJ0=kW@JmDF~JT7tuRZQ;DQ< zgVr54da_C+0w;0HP%Sr#F@{r^8|p7^W@7l3`>rsLg5w!2rLLw7mcUbtE^d*I50a@n zD}j_z3xZX-%3ZNGS^caBl8E6NA zb_(cnf$j=uqCmw1MTe~f5d!)S{Z+Cxqsh6nazFfT=EvvlejlfEH+Y*}BxqiC(0RGh JoH_A4_b3<=>GR%97kLiG&ZTV~$L>!eo z8%zMU-Qh^YO}HdOCdCdum;{$1S@3Bj33j-$VJ>2LnIB{%;V9S6dRfVM+B7P}HZUEG z6#I>Gah+v?>2Zl++8N0#StRR+{3tyf*NZE?MkxWkFzJ5y@q!k* z+wSlf`)g9#P}{^y(F$ogUA~^=jhekP3CTlGPNYPi4^KNf7Z@h7jGJQ^p^Up@!X0xA z;$0Q1GFgyQUc_H163QPlg&doFLG4J*enB9wQ6Hq%_Ok$=)NV*WLRH<^BrB4i=q9-( z;3Kk12Hj(s)ivpYyb5lq+s&69fLO6tu+v3No-$tz&p$DND zA%M_J0nU1g*`x5Mr$iW|>Wo%Y_nTlGN4ExtcOTA z#gQmVQh9@@?0t?FoqR?&7idEL?|hv61NghK&KPHdJxWQ|S!6$luvptA=3W?AHVT)h z?^8k=4ZKhV605o_GB0iwYu0V zaG^Et|HOZ_X0ubUDwLkEoY@sxCwxcuDq2nG8J-=6;SM!nSyGS_-fq8ke?D#DJnN6t z*oOK10~ZcvYg6G=KJ^C-j77)tsYZ1e<`0mfWt3=)B1}`zjYMwr)8V|17JNQ(BVJUA z4q;HOxE)*hV4CVk=X##q0M=ZlB`ylR063jbf4#bWwEe&z``J@8v!xSL7t7G@d+vpZ- zym&v9W8C)?bVI%0rz~Bo&>ZiIWsi@cPh+SxAQG{W-j=B3OZcP9CETLsK`poYCeIGQ zy|X{Y(Ko3o!9CQPjG1#wv1cg8P1MS SGG{=2E)B%~RPBX+Kl?8}(bBj8 diff --git a/application/items/database_items.py b/application/items/database_items.py index ec25403..ac8974c 100644 --- a/application/items/database_items.py +++ b/application/items/database_items.py @@ -147,7 +147,24 @@ def getPrefixes(site:str, payload:tuple, convert:bool=True): return recordset, count except (Exception, psycopg2.DatabaseError) as error: raise postsqldb.DatabaseError(error, payload, sql) - + +def getItemLink(site: str, payload:tuple, convert:bool=True): + database_config = config.config() + item_link = () + sql = f"SELECT * FROM {site}_itemlinks WHERE id=%s;" + try: + with psycopg2.connect(**database_config) as conn: + with conn.cursor() as cur: + cur.execute(sql, payload) + rows = cur.fetchone() + if rows and convert: + item_link = postsqldb.tupleDictionaryFactory(cur.description, rows) + elif rows and not convert: + item_link = rows + return item_link + except Exception as error: + raise postsqldb.DatabaseError(error, payload, sql) + def paginateZonesBySku(site: str, payload: tuple, convert=True): database_config = config.config() zones, count = (), 0 diff --git a/application/items/items_API.py b/application/items/items_API.py index 737851b..3c329be 100644 --- a/application/items/items_API.py +++ b/application/items/items_API.py @@ -463,15 +463,27 @@ def getPossibleLocations(): @items_api.route('/item/getLinkedItem', methods=["GET"]) @login_required def getLinkedItem(): + """ GET itemlink from system by passing an ID + --- + parameters: + - in: query + name: id + schema: + type: integer + default: 1 + required: true + description: item link to get from the system + responses: + 200: + description: Item Link GET successful. + """ linked_item = {} if request.method == "GET": id = int(request.args.get('id', 1)) - database_config = config() site_name = session['selected_site'] - with psycopg2.connect(**database_config) as conn: - linked_item = database.__selectTuple(conn, site_name, f"{site_name}_itemlinks", (id, ), convert=True) + linked_item = database_items.getItemLink(site_name, (id, )) return jsonify({'linked_item': linked_item, 'error': False, 'message': 'Linked Item added!!'}) - return jsonify({'linked_item': linked_item, 'error': True, 'message': 'These was an error with adding to the linked list!'}) + return jsonify({'linked_item': linked_item, 'error': True, 'message': f'method {request.method} not allowed'}) @items_api.route('/item/addLinkedItem', methods=["POST"]) def addLinkedItem():