From 9e40389cdbb5c816cbff54b7f6f6430fbde25e59 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Fri, 24 Nov 2023 18:54:20 +0700 Subject: [PATCH 01/85] test --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1da8bb0..a5e37e8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Capstone-3: Aplikasi Backend Pemesanan Tiket -By : Ravitas +By : Ravitas1 Dalam proyek capstone ini, tujuan utamanya adalah untuk memberikan pengalaman baru kepada peserta, serta mengimplementasikan Metode Scrum dalam pengembangan produk digital. Proyek ini akan dilakukan dalam bentuk kelompok dan fokus pada pengembangan bagian Back End. From 7357497dbd3700810a21d074e8ccdb4949e9627f Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Fri, 24 Nov 2023 18:58:10 +0700 Subject: [PATCH 02/85] test --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1da8bb0..8332cea 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Capstone-3: Aplikasi Backend Pemesanan Tiket -By : Ravitas +By : Ravitas update test Dalam proyek capstone ini, tujuan utamanya adalah untuk memberikan pengalaman baru kepada peserta, serta mengimplementasikan Metode Scrum dalam pengembangan produk digital. Proyek ini akan dilakukan dalam bentuk kelompok dan fokus pada pengembangan bagian Back End. From 2769815a6443ccce513f8534f7f163083fa1e21c Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Fri, 24 Nov 2023 18:59:23 +0700 Subject: [PATCH 03/85] test --- Materi/flow 1 copy.png | Bin 0 -> 870231 bytes internal/config copy/config.go | 59 +++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 Materi/flow 1 copy.png create mode 100644 internal/config copy/config.go diff --git a/Materi/flow 1 copy.png b/Materi/flow 1 copy.png new file mode 100644 index 0000000000000000000000000000000000000000..11e3ca206b7908e58ff43ed8c55cc277a1d40883 GIT binary patch literal 870231 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%0AvBbuA-O?=h+UBk{&;Hpzz7@!xmMQ7^$8xrk^ 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 M7-gmX-gFWI>!rfJY8?3 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

XH-{DB1AOMayx2E=yb9*!Y_IckOQdMeKE8 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≫q*w(iH7i##FjE8xE-;}KA^MNr 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

G++56U`ssh% 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%0AHr* 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

Romz)PR}?71JPs@4kI>09&PP;WPOXbKfmX@9L2 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�kIwnvFP!I0 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≫3PI3F+=pn)d8XA$KvL zf#GK{owJvF^S^P_kJu|7IzMboo>+EB56fcyV#hPuuXSx8C+^pazSQ@capl`&TH+lf zVXW-@ipOK?3gw#|-Ez>644aqtFHPiH%OI~r&~#?ts*gXI7p#_KMr+@PApK1FDZ#?ig=@YBtf%d-=5Pv^n#;sOUdZ@^n0ReMIqM8da+?AnDD z4j(i>(y97cG1zJ3WZW0|9%97wXX!7^oev>t3f$F0_fVlp7mn&&i)oCD&CQ%JKli0? zPj63fYd&)*=Xf^R6&osx>>I^0I2P4Ci6w4T&HIe#yoi5K$b;=n!Vt`@cKBqZhj zxV4zxbsl5JM%P-~oT#a<*X;Xmv(5ayc8UpRVYlui{jB!v3|Si%+#naTqff;-p2mlc zKQqUd&K5A?|9e;enI|RxHGcO0zuo_km-Q%&2lq7Z$3vGNvlKi~8}>Ub7=#G1C47Ge zjfaxfA}@=O^5BoG()0?KS4!JoIhjnR`DZ5^XbNb~t+O>ZClRJlQ+f?W!T6f#kpxg4 z>Qyd^ySY@!FEis+RC*xs#t;1z3Weu#PXyoxm*)Hr=2hNZxw*ihak`K1SUq)9492&R z%ICJ3SK2RLs@`A8wHD<3w&$IT6%9}(8F!aq2AsoX=a@Kx*^CJI5zK*cw^Wkb%*8VA zbxd0?m1y4|;Hu^D#m{Q;WWH09GFb;)ggVMh!3SQFhb-Nzqg^?@|Gszoqvt~Q2+-`~ zl`B`i52oA*Bwxv|x6g=6`_4su;c}od5KDcDHH3hj`+`wATg}^sE>;6WNb5-S zqPs*?33`zBc_ty zA`QJg@SDiRrG0XE$C2L!SFipj(s$q~ZSaX!N7dI~I;nN(_nZ7-N7jor-*#T7=<#&C zIl*^c>|T;Y!*`FANo06&wCLjWxCSd9)YQ2Pch)LW zl!JwaRYJdr90Z4+TIC{SS!X@MjR;NHR;QJ`<@c}~Rr=t1= z3D@42NMr>g4=JBe^%taQmhPZ{X*pNu}z?HcrZXo_( zE0C+>J=^~T{mpk5wD;xuVV$>*pn!lQg@6vBZb(HPf(noM_}lwiO^2-UoUw^aRBL zRoH>o?yJ4`#cAH3S3DpGdJMC_$_CLkUbJMS?7Vz!T;MyBgo?A>v_ud5LT4G)2g}ps z0Upkh4(gUf;3ky)W9E+ngdhn4inOl!L-uLT>PAJ)Wv^-_+!D0j%8er(!CY72*qVe; z|4E0xO||&u*M$f>U4nnwAU~vP{e0Z9crVl{qgmoAy3E3(LvDHPPvl7z{_rhxFLQs_ zJ8f*QwpMv!G0Fqe-C4ILLQzL;bK&ow4YBpi8z~_;xW3NM|VY+nv?lz9dE|*0>^NOS<)Y%sWTW6obtiHgiD&MYi%UKkc`ds z+@J+p=zG`EPM;7P!uN8SRg3Q4&;B9#=kT+-yIf?`Dy-kw1Un%5SkrW&jy+)<@1j}yT{n|@lG5iAKE65xQv z_Eqp8LC{xGk?mVcM7P?KIkRv4{6}2CPgK}WJ#h0m7Z_1u)OX?6zoz`y0R+xx^EcfJ z7GppPd&x5X@g`gMMR9PA$cCIN0zPv_EgviaL2&h9t2;|bJ>k90OePkwE$Hv@k|B#( zlG&umtHLmm5Y$@Wi<{G^tmId29|l2#2PX%vOYU}CoNiK2-o*`YYv`Sp+~?;wNm&f?+`#HTa9h;Q|;K&XE8T=C&#!V z#pj^BwOJj#klqW2mPfN|V?^=TX4IEB(Z!i! zSmBqIAFwWN1H$rfgCVICEoXEA5dm}MNK+3xd0qk&d>t~X^e9gjTV?#I%hZlT+~gWs zTvRyTCuIYc<-bZVjBUdOETrm4zX1eJzB1jK5s>fxc2u);hqHUk%xHxw1Ur2Z?9QQ& z#}2$9rQhXt|0wXJGZdiTi+K8B&+lt})OQy=<>vBiOJMAbMPMH-5Sdi1N z549n`J%a#~{)s{P3gB9MLn@e)p)vs@CkQaIjcKlNx>;wjn`EQP^dc2&;9B6jVD*OG zfe%Hy5{X#1Sn1dwP6}IUhJ@|xk}Y-e!cXTgC}IF-dtV9x)lqPqM9h%>WYxc!6p*%=!`!2+5i0S? zE9?JSIhK9riHM#pY^$j`ohYu&w}b74bB(J#x;JueVp@@_oCJn1NCF+w;eqP6!Kt-- zGK`}<{7kATV@hvDI*%TqLs^7#hvY^Rglof>|; zQKS&u5q|uq>##B8bQ(T4G5>qZwi8`}84bH!fV9tfw73;$EOtOfs*g=9{C5*pkm-Gd zVkUw|8w(+XwiCb2u5f=l+4|_jk^c0++h%eu4+M<%L9-6X4!Xs2X%YtB@PKNGQqHj$F>cizls7VLZW>Z|_s@eDft8O8>plC_7PVu>0N0G>!gT?f(UQ+SqFl40lz|9fWZ51U9&$=u0;wHRh)u}yM z#r?M1kMhvCHLNS|3;QGcnX`Ky^n>9g?81g95x2GH6&#t6AG*%M1RhfL_*|e1eI=iP zVnc(9!@R2Xn$nv*cgqKE$!qTAu+Y}F7~I&Sf-Ntr-LJFVCv@m%fy^d_Kg1PxyHiHj zOc=xDT*ckAi+*a~uuFghL!|Pilh9oQ%+7rK3BwG=Rg66=pSF>L3J; zG_Q^WH$3Mx_~=jX;iF^@xTwzC+Iu-SU8CdN%{zt|0|5{F=?ysyF!vmKa;jd*MGB-8 zbjVTM5|=(SbrK+nJs33eWMQd}JBBNRC$L)9^hVRzfuP~+_{sJ&!vPD|p$d3_rl)+M zT{%skF7^}$xRJeI{bp3623AX+7x$c@jRsSxJ|Fk_F&^fSD0WcJ0hW=^JqRvN(pi zUluiN=zg|AjagGi&*~~`j4%Ow_&y>k=UU^+w)-Td-oAtz!u1e}M;Mw8!K|@369J2D z>_h;q{+fDz`f=@=cn=hR*yjOhmj9*O(e9%{o}bsX;kiw-P453V*y#tJ?UAo};paWh zonuT;tiq;e>GpU?&}w~MUT@sD&s-%UC~KSiZ{@pVvDEA80d+xP9l!tC?r;kL4tp!u!w*UL_aAnU^F6Fn%bz^%oW;Pm!yy6GUZ|G=``{wC2$$Cq zo{#5Lac$dnoBPRw`9-~>K(Jt_r-gMP+$OY zL;-3?MQ>*@RkxAcw>aP>W}fZOv^6i`yQ$vokPi?+Sow<_H1Y~VH)F>Inb z$TjR#yNh3|jvzk8a+etmGbR*7&)C&~R2TfG8WD}JOY^1gNx_#S-1x`+X6(Mkpk^Gu#-BuY=SU-mcQzIDz=63iaYYZWv{QEOzS1OE*S`e|+JG&L=Szf$E=dkhZgVVg)GIh{{#BX>m74n24oU z#>#Af9X&pEmy1DB9vo?po8xNA{K|n;(t~yyJrA`}d#SZ78X3@oKSalN@T*t!AQm^g zD9U zye-_ILTM<|71u;(T5TLj)a{Wa*Get=M^(rwCU7pXSW>0Ql#nt~dQ>8mdilLHa`(i2=kaZ9!cQ30J}%ZNr2 z;v>{B{@&MQ%yxTWCbFqdLoB5rsFCH3AGmg8w~_|e4_Pp}0z~bCu>&u^oAf*+;>rmU zO_T~|*#=Ls!LJ=^H^CbrJmQ%HBWhN=*G^PKFAp!figlS?bewgDI13;4Id%3*OcMe! zDdPNOU)aDlEMctjlI&;er_W{I0#|D9gcA%kySkH1CemQXj&F|L}y)|Xil}zW*-{aWM_SxyG zKft}iU=3+H;rC}iWPljdxMTl)nkS-$LiZf1gZdll&gm3b?2E}Xl5*4;G6K85$O&N3 zsfT2lYoFw@?K+5e_dA%xIFl0Ai}Yp2v=S{*Ux>@6Sy8>qNg^;FF?% z!2+0gDgV1l;Wy>c#|c-d>^oxyeFx2JT{Y9aV1QcyFZD3V?J4$tuIfYyL<=_j4{5{vHv2o9W8du3t{V z45L>^orXUcJbPKyZ}Hl8+OQNj7@_8_OFnFEs!#cF=!efKM8~V=T6^R?*67~IT+7f@ zS-?@T+;6XuDi8>n#0siOeTo-(q|r?Q-cG4x)d<`c#NNm1U@*N5RW(21!r?VZjogd; z=>yX?@(9HQa8!kMu#q`{*WDY+49`G^D! zECO-XM@a_)_APo7by1Bt6Q>G7Fo`jsV&<@TBg9`Ii3t-m&eN;|catYzKjSo?)agTf z=Va5!hf8IJEjB67@YBDG(w%$RF`efd;m0I=4AW>?Nby`kof~%fWht$ypM5%Y+oW4Z+AKD_pOTJJwW<^xhCu7+<$!b*oHp(>QJD9IrOKoTKe@1 z?i8X3=mPpn4ho;GvwCE(-tE0`$D86qvMB1g8|kcpU?PqWg!J zez0HUsu}s`o#ap?Vul9G~jwSup)hG|}H71~z5=%b|7 zk&ue8@IY<>u7%SbUEhiL@Uy>`_)}5#^FMC*i%YVv>BS-$l#`x=$Fx^p9*+Y1GnEzO zVj)RxEZc1(FoA$(VO|n z=ZU-w58I}?Je*S|JKJoeK=*Uq*at_Hx0{$Sg~D0a)9mrmD60;Gea};e>Dy1qk?+LY zk&&&ZN}LX!67idNm)G_WRNKG-zlWh)2e;*0c8odKM1Jo%UEW$7R-Q%;)J%WPE&l{n z0WxwkzU?@#T6P*@P@PFY=6x%7SeOf%rZ=6gE$|6r`BELo1`%`P2Oq`^Db*mJx~&1G z8fzTmUPESP6m|PN!)^3g2#SN#k%j21i%IcBun_=K7pSf`U@;u&hNyuB8-J2=W&@f9 z_jxEdOrr&MWBfuu0e&4v-lW`^hXXansHMs~&5~}7{7<)IMLi9ZVmNRUg&x=%&Aj}P z?Bh5nw+FyI*nks@DnFSa1VnDXq+Y&j1c)|(iiR@&gDbNM8XtJ|)s1M`njkdDADuah zo(dHnws6Of-SV(}x2D*OaT2OUMhYA2a2ZCFULWdxOGQWAABa#pUlVf6^N>F?lS@r4 z7SSBhL)I{NM?^uhf0|Xfquf11Fcfi9H}5!sYoPGVaFA!a9mo6-Js-eLsvWm|1o-CY zn|+ALR*j) z-I<+!I#I+Kp<#_hIrM~&I6#@}+Vhf4R%eKuZ~`abN88`4lM@uTLUJ8m31=Fd+_bLJ zhmWcxXBtD%!Ye0L$_w6C6ae5+Ho$N&R(--|gl4+Lqm4Ce{CWzFa%NmUn?^S-01$27 zS(JR}{zLbWH&$cOVS6zFi;Si5Zk%bofADo~qy>yVJ$8lYj3&v~Z*?Uh2=htH>!)2` z_z01Zi_O|j(uwlLaOcJ9tIJ(9pJ__b+F^n-#+I+mcg6+omalaan#xfHJ0e`Hw{A!s zsQf^Ip?rJTijg^mdjxE|H0t8-Pvz59OZ??3+OuO*?1iDQdW6zoyI)a5M83mTQUFEBxe`D_aI{}aYUDpTQj{ospv2)%jEpV z@oN_ktL!L9=WJ;-Q%V2~2n09r2I>f!78OcpoVcB97VxG^C|!>BF4$G|js2YlIRB1A zNV?GnJ*w9Cv5BZy6vak#{kw+j7yft77e!pxf~nBw)i7!EvGzZ<|bkWs$LEE z5}os!%l-}XwQGP%w+)147AL$7M$=@I3p2TA!j_MlY$H!{EyXJuo+b1h67t&dI1}Ca zlgAyd3dC#JGKyQ49BqHG0cdlR!a^yqX%N+f*;n;pi&n?1s)2wBVRnr~0wmyB`=`-YYB>JZ^ea;_Ijo!$m#mi*mdssis!Ai?g{eE`%K z5Xq`dcQjhwyCliCaaDbRVt1k7dK$+_Gx z-&q}gRo}V$x3(yhxUEduR1P~?kk(7V^!?MWy2v7mx<&Us9>A4^DMzAE0V*^)qz0sG z;SnL>;%>|3z#<<$kn~0Q^bfWuZ0E4PIxgp{8$%-aJ$qvgL9ZJ7EEK-`lQ8mrtmbIv2(5gd(%#RQBBd z^O72k$RppWtaYUd!bs~|lu8Fm4*3^z2_Gqwa6iwea2G_eVlKf$nP_4YG(M;&Gt`+^ zD^mg>)dRpy@FsJ-q2ZWQvF?^-gw+7yvBAblo`ws~$4C5PFM>PAb7R@{@%_ z&wWS#Y)MAT^SW${-`IgYdN5gbG^}g-%7%9j2Xh)lo3-$fk?I`yuYV!!rn%AQb|BQ> zv-ySx@LSl7%y4Vz)UOZ-5*%RWydq`KuDj`Xx*xIu&bENO-WX*d`Btru486o0BE;SC zM=V5ygrBQkOu<8qnpJu}O1gyH_tWc&Y~<#o(+i^iruVZ4w2*d5f|~LBw$D(^4Ln(D z__a!g>Al83fLPO&@i_E9E|^tANa*sxv(^*M<0ar38h?H+dNE%Veh3FDoG*FSg;!8* z*D-^Z%9V*T+KYY|HY96(O1myw|AmgMLNKRi)X%O|izkTbrU{ZkbSGe4Qe7PFch9YW6fR_~n!-OVZ_nywM{-B7`%&jr&JF2Eu z{14^9Ogws{MQh{HqHi82_%>*c$H$C{^jo+(4+v9L2rl`5U2E!}L7Pk#>Nwspz+ijX z84nTKdRPbYRwHWacv=SWqUb2%)G;>=Qp?o!x4f+rcHoSN_amE*69PjXz43$0a!@XmMeX#n z^=e+ZH%@k?gGo02I;}Bg!$UMB*LvfHpvMaCay1=-Iz67d+=X|Z&W|1`UpNNN;Qge> zZlo#2UQc^zY||0AI}`beCKRo-eTr8O-|xa+_VII~)c#|P_SkO{K>(W` z+f@)Gj6T?-i3gZ9BOWGQtn?a~Ogl8%%_#jZMUsO6er*0PClb&Sm^c%^+$`Z%{RDW>YAnlR)^^mjyA(eQjWDmC_8)#1qJNgDZsY-% zd<2j7)tsb68$PlOdY_0C39-oP>S_UHIxn^Ta^|}efLV$Ib{+}s+K0o~>#B97!gDqH zqbdGbOWRs@-i_CA+BXAY1+k;2V1b{Lo0!Q7|CQLJVwmQ1scJ`igc{??ISsd~QutCZ zwvhnG1*kXqcqjO2dgc*=H&-UeWj3cJ#;;x@@{WIOq;m}L@NQ7{0fHFw017ov%% zx*qxR9VbaC>>ayknog2(IN7uDJU#q)*Ykn^_d7nm@_81UH&5c+kBbs z8FuUpBpr}E!}oUGww1hTj#L8bKxN*=wBBREvSr+{lDg2>#j#A@Hu*BGu6B${qS#}M zp-I8F_jf>@+z|1N?J%sWU^!9sPtb<#p0;S7gDe z-GR(uuVn__Q2d`#(aW>x7`*zTK_071xU7sVEc|TxK;OR@!YKotQ4Fu^tI)X=?Y!v0 zpRXui4wI90Oy_Zbr{X2S7jw9fi;`u{Bg1?vixB0rgY%Tm{jENH;NAr(M%o6_u9}LV zk;epsl=M>Q{Yz|q@F(rkcw;g`BJ{D3mbJ84-hNhBY*dw!4$qf z|Esdewmw@wwozNK2()@fv#Wo?LDwDE_K)V}>o&JEmb8kx%aldWOHBR6ZusR!O87}N zP}zm;Y+AbW@`7bM?09vqB_M@nfo8$tR){|pm@GWl_Xy=%=kC5#BWDJ-C0poY^7rL@ zzeYv@{(bGh5~z0yVhb7nAY%=^nJ?+OE9D3;j%vu$C*<&Kr{zI)bLg#}`jpPjwPY$t z;L6Tl6*SwK$9AZohiDxw=)I&$Db0w~M^s7Xe*{f$A29yE>$rc5>wJx65*bTYCgk^e zzNc9*YTB0an}LXY^$gigEaU<6}L$rK)W5sn?CILVtJcFIWYqgnEq? znc$=U^SPhz;jhyCPsAN|2M4t~cBb7EK_H?IoC%XaRH0F-n{6qk(QO8o((YE-^h9&e zv48gLmfhVVp6_n~oE*#kUA0;Ae??b+GE2D@)beHgxpWKYXez?b zOl(5zfk1Kg{mz#*rL_LK#s&1d-lS3XP(8C`D)Ps;HeC5{DAxvfyw1;j`M98%IIVVU zT&%DBT8J!hp+nMR``*~sgWz_TZHws>Lz%n9A>L4Epx08_gke(})4wYrOA&Yez5c5P z6RAr$a!%OVU4zilR&a4K2Ujc$oe}u z(ebx#a&`kNe)bOAy*FeulA=r$@9Ugle{s`0??6+B3w&ZkX*7|M#=xyTF@-WHhbcQM zJLDN>(U>9}bka)(bQ^OD{alUM>KVkqjD}CS zynzWLFuz}n1>=p+VFLgY8UkQ9<}{t>T#gpZUyx@vlR7|OyG`jmw=|03 z8#C;sKgtx?@f$K|BJu|%7`RMO3FUpO8E!c@8aOU_`CP<>3WgLVTpz?uzBCB9zFX>% z>!hDYFX)vR1ez?BF`qm{*j06zwKN}mt*uLfNTxm{q1{ovx=reR+9RaZ3FF4s##sOo zrpz3E7^*(GuByItUqs%lQDW-U@RO))edBIm<$8&)p&k-^ep6YKA}-^`Hc~MIke6UL zG9?a%x|>HLnqI@+&{s^!Ic6KN`_>qlPxcz*Sm+DO9X0yaZq8&OJU8~5pE~7j7@e;# z_FIt3GPM{1-u8{tz(Jge9!2Mam2x9J?4cyx2Fb=4OWagUh6k~-Xmsy=s>>2}_N;E{ zr(U03aa&)>CqKa|>Ut?XeTkH`#`&T_gZU*bg=gM=87%C6Yf6@+(9!amlw8F zbY!)Od!obWKV4Idhrh^r2ma$R+K~Li#K#*#A2Qs`Wk@0kcGeM74;@yYPWe7F?uq*a zfB8I1dd_^(^_s3};&^hV_hgZ%`E7!ix4+?=Y0jC*g?Lc=c~>uD>-2J+SNC<-WRasi zwjxq0V0>UB49!3E;d*AKfM5`|XNZU}7{|fb22LuoFRcC26smtpnQK4m^Y@ow3CUOq zW3-%c*O$IJ{^!BLH`U6O)cuLB@$PE#xRfOOS>7lwC=^O&&E~FR8?_UO%gep87zB8j zL+Sh<|AHz6n1yd&in`xB_H%`H#FigO!hZ-5hV?pv;*ZY5I*Yb$^jM9@{;q1>G<)_o zi9fN^NgFQp#mjm5;a2Daa6@|X)v`7UU6rxpZ+iyrw;idjO8xBe^K-uq_9AI!P3LMm z@oSR7fD+F4wMISy{SvnJ=5E+YUJm)mH9u`y6PxRzqp-~nnYp3<));>>dOe6Jx*Mjz z2JWvQs=ap9H9gvs@Fk^bCxkcpwl+RzQAUKGhyOIwzZtAEC$|9=DYX zgzVO*)ONdmDQELf&0W-r^x~ybwOu0o)_aU_i>$V|8d1Tr;lJar zqV5w(Na3Wl*`7C0d<)oe@@%aEgTd_jB}dbnE=&kLDu)Z*&g}xFVRnhCJt7UoD{BdiciC z{U7Apx&1H83DOYLFMu_Grc!&AD`O4H4cH8C+vfpCfV?oLSBU|^61LW!8+PAO2^I15 z>||q*rGNtKCE~^(r0+s^UuR`(Y8up#;i&InGyf~S(&kJgj*Vo7@LFf~m zC%UB~Zsx`{vaV#q(MY>NTTw%)mYQzz()~HksQRv33T6n7t8EuXlBULGmc|ua7vU6C{MY2%e^Rb zj#}br9->0RN)p_1gG;+kBT;G_@&0ak>vDiJ3!s^z@p<{6+DM9pYmJ>s4_9u%mon{U z#7~{w)pE=w36-+qghjy3)AtiTIo|yQeqJimJq@zdefoEN8FPo*-Fq4o;y6iJea`25HUwPTs5>x+#)n$F_*hf2!$a%@7nnxPf$*#sc9Bx@~IS|~$eDAp;S-};v zu%n1@nGSxPan79ADznwu+A7O>58mETV8wjpZn9}_w-N^n(@5`qCI;hXP%il?SbBO_ z&@gzR-n;UN$ag)pLjUiehU$vE9s%b)gxBWNP&s#ty+rGgsc&K|=YG}@1vcanTKk$g zmtpxj&8NoH;#sza{g^~4`1Pr-0rwv;#TmOwhK$B$!zM)Vi6F=v@6xbFGiVEwyvljw6?$OlM)r~RRv^vVvzVBOJAkW4+ z*fOkx#+f2c!mV=35SvFvm_F)JX^e;-#A-N#6ESWEY3154}x8^GdgIxP+TVKAQBkXd;->e!4Xr4 zqdcav{5d`S`nH^W^Z`=ju8ZYd6}))62hzmM{0| zk=IyW9hEPF?+)!>6Vh&W;{sRCRFI(**MtSB$u)x{-*~@)(l3j{Xtv-m*?ybA+(PFv zTx*BNmH-<-%kgW);B@0_JLW7@9(Q`3Sno~y{*5&NdRlwP-n`npJRVtlcVVPQdD@{w;!Gy|r?|)ULz1KGNHm{vEO_}w?XERs(aM<$61m|K$MyPv(v1W-<=>>7P07RTT zZZa)OMHK8599}+^x<>!Nohu`M-FUs-(WAStEiO*>ZEoSz z8}DOp3{yX$*Zh^aZ%He9qsvM3<6uw>ON<=6a=?iPrr;)co4Zh=$^us;4v20sukNU( z_}WLNKT>m-xD%TY`p$xZS@VX(~Jvtb=2GUULmq4lr_-ugcAE6PMRf z7G=)P?yq)PJfa!X#@VTlv&KgC-Eb8x4! zU~E2bz9Uu8aNs-5I#DW|+4~3Q9Qi6z+S)P32XuxQD*IZJ@T09nD(|k+)Sr|BKR}vP zT6UU|la8J=q&MES-YBc9&*DRui=mF7<-5~#M=m$eD|pvjst*$&4YA{l&I)M!x+a2l z%6sp>nBD~sYp7XY937}d%^|u7uCwtqj@dxCyOZ~1{x2UTwy*3Qah1IY5o1D`?%I(q=!2{joUGt!$leYE&LgaSKE&3HTt56MG!u1tTW%}P$ z-Wmcidy`pUGSM3PDY=7HqhR7?vh#%C%8bh-gqTNo?$y?Y*#c5_E>fOV}bAP-E^t{r@bqGXLIY?rKj{1ZBzNt+%#bE#zh!CGPn|VqROnbx%@5(7cJg$=t z)plccj3Q^W&sdWwtn-PCgx8Kn?>lU5&L$4M+^~D*sCXV5h0rQ!G)_7mv~Gf+FW;`g zzKIgJJC%8cRl@xZ431l~y#`RZL@w)`PG-vqvh1|g>e`Qal=0$U$+SH1M$r37d>16u zdfXWa-pKdv}%SIRB8k>CBx@7RrUFMSWV6#Mdd;aG>Q?lgAkfras}V@ zY(%7q3pyqTDvt8#(O4dA_m-M+CbiK<*i6_pwbL-&r3=vK)%2{d=fAkUX z%x=3i2=?j;nC*<2!Q_uyp@FvO>^t2ENfQfP6mvwBANagarO0a)r^?C)uL6;x0f665#PlD;kRSG?BTV!8-7ddteMo zJkUD5HS*WQtkGP@+{#Vr$~+;;SIG2clwI$zqF42(=fy8T6lgLl5IVZaS+8XeebE^D zO$ywy5YoBoG%{CNgOa$@oT#~2e+7!QyhqVk%xm0g=o-q=7rJqelCE&9nph3ofegeE zM2&MvT^Uzz(qpHCrG_bkr{i`tvgA|YuO>sSXUw{Wld0v#F_?5>o2!K?z+%eYnoDZA zC1l)f5jewcQwi&|9kQ6Nbsnmd^PMj$+9A4CL@E?q#b|z?o5Vnv!IJXa7?Knbv>o3i1USE>iWQGr*QQoqDs=5$J6u>6|Kd*&*6c)F-xcG zmbM!C=3kqqz<%5IhL8-TX3Qv}FPVv7UE;;mI?TS)XHXW~Ht_{r7%K;b@R?+le192Z$heyT}Ju$rZ%L-wiPl7tcUu1mDyET-`#gB&9%G!bQ%;B`TQaMD8oWQM&DrBY#3L&*N{krd!?t4}ZkXijyZg^Qq zuj|wVMNF=P%NpR9806{O#6)ReV?=XysjO&%-%`IMBp9AXNt4UELDhUtXGERsj1`A5lcbGXLdiX zMU07QUQ0XHAn*s?wOh-LLe$2JR$kDV}nEHD@9QXs8rN zj&CFU&ef&|=9uot1{3@!rD@U=YBIrISNqb+ntiW=k5m1wWnD1l^?egkyLx^wV7yBC zJUlJhc5_EIWH*vW_~$)lpkM+{{JWFA$(5E_L(zd@_LUJ|wn4LJ#LpWI zSw#Zr=@9!KwtN+7zMnc6oJz=MVDtQ*cb<}zq=smyal({+%oSqmA5hnsMGQ27_Du zR}j7_J?mg9Y%Mlv^p?@ADEt$nU)Qs}%} zf_Ag8ylg)#JkV+eT}il&G8qE%X2bF&d6s%vH}^gnISY7^j{C3{SjhVdg~8OMVHRC< zFz;|{>8+@ZrMH2KQNwXt4aP>|U;NrLHm)(^T!<4q>M-_4KOr+~vGJ@>YE~hpyuuq1)9#+}LUM4E5y& zRQoAy{u-aQ$>i7q#c<@O?CjKU?#Ir=l%c;G+*Q;ZBv1KD%Enya)m6_GDMU}xUFEwG zybNWG;%6QLICJJ1b$&ufl08hNyt44I^P%&yV?Q-8q-x1EUX7~ zcYilDz&;iDR*(ArYB*}kra1wgqF3C~CWuPi_@$o9f}by^>HP;fxQ3E!>mmVE##edYhpNZNp0R#G53#lvxxXRi~YOW@zVhsdesS5Pbmsk^Tl$ ztkvsgO(U~y7j=$^&3oY`xo!3%n1S2wRz+WWSMfwqY)k&BN3VrZL!IvetjfVcbPzK9)#|5hF0oZw<~Bm|;!L~?yy_*v z80_)kr+|W^v+2ru@so z^4Ye&O7xLZ`GM6+n~?x{lxrHVdtwx;l;Bx+*&D8z6^2Ay25a;L>_*^`-j-n;id9xF zm?{+=f^xGVs?IH2Cr&SP3JIb0Et`1hM}F7&m+P-`=J&VmdKI7p7G*G2mEsR$3OsM) zQK{F2+iYl1A1WgO zP*Ei$pa#}fRuA&N#~GirNU{^}TFC0Y@vn;#P%EsSj@}|QVlHbWnxlcY_@k5h%Q6|v zO`_jJ8BBfi;RMp+)cl`TK$IwS@kv35W123O?ulqjIE&KxonTq4H550pU8!SFE=I1i z-PZuhUS>b*&)Mr{cy^i_`vUaa*7fM=ku^`PhH*E;?nbx9wW-3U6ZnTpn!U&q`NF_% z&Qn3Wj?hkgu2OayNCfGxGex#9!!`PU`vz5;s;TG*!6UeeLv^4crd^OQ0$k43>@D&u zT+>_8Gc^;TJh=KqR(N`0PAi%DImr~+d$fWzU=vjM(6E8hd^7rd#G02Q4c7D==kJf7 zUU$W}_DLa_Nh_A_nsE$H>kzN@WL3xb05`pIkLgQEPAV=XC+wjs6&D#nlx$xoR*GxO z823Y@TJ{(@hy)63(6oe`C#{*nMn8tHIQ}7fhqI-8r-<{8(n08o2 zrQDnJYcz8dw-Ts3KJ`0L1wz^TurS|GR_WT|-16=@Lf(ul47I17p)&>U80yov@daCO zyF*w}qnijGnR#-W(FY0R$j@F5u|TZPVqgRDs$Aq|_1WCdwUtqc%56rl?g;7m?fIgr zwAv}_k{$Gbver{$G0NCEXIF|Y7V_m1dZ+fb#R5vxM%;!o>Q*E!;|+baIAs@I0ZFyvY3&FV_4wV<#poZiz3(S@$}Q; zcQCY)nq_lFYFFNANm$9*0~bAc(#oT<&!ZOTy_f?6QR=b;>JC@wB^ChrdXU6-*{vRG zK1D+b*mwwVdsGf1#;Nzd!O&Pl<1l-RWIoQ7^;((C?;Mqdokh7fnv2iBV?%u`FN^B$ zXw1(O%)xJnW{w@h`R?O9$vA(B_i)4+Y&|di;SCoWjQ};yhWuwgN2Ek zB?KGAZQwX+)!LX-M1F)LI|NodbCePjmF!3ksT+w7nQDrC*jNJm9ccF5en$=vHS39c z_+{%BU`B)lL#FKK);_zd?wy)jBH}NN{=8@W0_a# zAHAcWb=@6_Yoi>$F?V95)^}JTW+)i>n>G<>#+(;?#0BLM6U}H9nCG&`H4Sa3xGe>Q zxM_q2@I7CaagmF049aN{Qxt15ZzIeah>lc{yco34?*9H5uMtb@)1T1C=*d?)J=r>z1EE*1MLsW&u=;ER? zg&ye)1bNvMfm7i@SOfLx7?{S&>INweIIZHl{`%*M($oY8%%|WZ5_vNoRo-RWBq{Ir z%{CtFWKBzVkD`LX8+JyBDS%jLDFQB*jXw!Akr@jf{o-E+LCggLXOfg8PXOpUgXDmKJD>tU%bWCEdMR8pSmYxnY(UMS~X$nP^Cw_(y44ZO6+ zTO&9H*YnW3Kt~Q#&dtXV4#FT&YbBVsFv4C0R7f5JPfOsIm{fe-D5X2fyg7XtM;2a3 z$tDYaFFJ~onDZ5Ld%=bup{P;IFGH89)(8LA& z2ZQ=Y8}hqMF&WSlz!N;(4u>{69R79tJU5{IScKRPjQXO~&rL$gVZ28NA^M66*GejXllnN3tfI>B~zvQ2`}@9+DThG~_7cFE1i@ET*M$|1?(O?=tD!_Qi=4&N!Z} zRGL$+JQpW&4r@hwT%dh}3uRmLj+~CzkqFD6kWZInKXSKFVAtL6+>a|<*`9cks+PF+ zJB^R2So2cm)%c?;L`f7(;HPsQ2+`uQU5{&6oUrppPT_vd+>O-qF~h$zMqf@!&hjl-D@xwNPz9E2tf@&LZ^a22vay9d#l%mU`da00fI*25u{@ zHH~9RuyuTIy;}ScAX8hMnUN-`f_1Z;GGdn_%WchU&y6RT88f|x46yJeoN(?^L0#Ea z1Bh!rtTG>cn;(SvBMf9-TbbRvpFON2kw~?*;Va!&+1ntXj?o}Ku*jc8C*OLWa%YCD z5pmKf8J0y{4fy6LC!ESIP2~W5%sL)W6ghKxh1<)Gshk;~U7^|g>4Yv_gZjPAH;=E6 z#Is@d;_9__=M3wgSSENc1Z2KHX**gCE_;=_#5Hw8*|lS!!4Z}K2GKH zb=gEG6^{DIAyRve#zc@t(FY0s0jmN`CE6$E%cVHX1VTCQ{_Mn)KUzAHec&k#tAJt#p7-IDh{qd4dyNzh)SHoq1c#X0Z@v`t@ zi&WQoaDaRQT_yjQgYnmE%!H6$>o5N`Vfs%Mnf=K!j=#w*e=VT{6psH|i;Vr7UGmo? z_#cYRUqex6j(?YS*&oL8{lg*IAAaPri`{3I{QGh~d~n;pu{Z$vZzK*KIxwk!usC>t z{(<7qfxGw*76 Date: Fri, 24 Nov 2023 19:05:30 +0700 Subject: [PATCH 04/85] test --- Materi/flow 1 copy.png | Bin 870231 -> 0 bytes internal/config copy/config.go | 59 --------------------------------- 2 files changed, 59 deletions(-) delete mode 100644 Materi/flow 1 copy.png delete mode 100644 internal/config copy/config.go diff --git a/Materi/flow 1 copy.png b/Materi/flow 1 copy.png deleted file mode 100644 index 11e3ca206b7908e58ff43ed8c55cc277a1d40883..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 870231 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

XH-{DB1AOMayx2E=yb9*!Y_IckOQdMeKE8 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≫q*w(iH7i##FjE8xE-;}KA^MNr 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

G++56U`ssh% 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%0AHr* zm%w0(FWID1c**hc@$l7P9}D3~iZ2`k56%~AjK4*K$)8KbL`3L{Qy6G|A#ReCgtk(# zSn5ma=za+adAYmTaSPg^I28R|>%_IfXtQ@@c^r0J@YQ=bJ#@kQ@Y}Mi+onD(EyIZO78gn$%%8@=YVH;A(*`!zdt`w z@5`n}ILaQhL2Lh3QVx&1Nk}Px<=ys38Z-RM@I|$_uDzXd)4ZAxDsgL0OG`tTud!<{ znEqlC=#*Q0j-aEvCuht-3O~rKKizw}0&f#|xWIRo?u=8H^CetgQ8?my*{cwy5iQVh zW^{$Z;Hx5u{lVTK4G=y6``x+U^eQ!cCI)c)ndi1nH01nITieHLZ=uN3I zRJJq6-drL98N7dk2u~MQ<}KTdOsW@uG-)%y_5Ib&@ZSdo8b5@doSk zSTb}cX|J_Dz^Y6IcH0kP5*@-~fm<->j&VzzC4z0OQ69gv>#@CG@8mtN-H{rx@s zx>nVJb3X9!;UW^u=|&NjhwDLF0>_;2&SW0#UFDZf-&7N>-E7V}GMhmzKJ<=`j$U1P zNuGRJ`cS`MmT6<~Oa=TwR7I*ZAb5l`s(BX$rN7+#gLH<6JUwM3Jd-DU5cGL}k?d2> zG~UnAQ58wyS%x9}a>R4bUvP~e!CQg%r18Vg|3(#}2Y3J<-YYr``df6|nm#3*dR;z~ zJ-#jnHvJxT-BITz5{5j(R^mDIzLmD7S&q&OyWk8t1#&F&LBER?_f5Xgh!!7IyvF!v z#bn3&zipw}A2{_%=%cbyY2+|uA6Hv#Ss6C!hIp-4?29TmHWH*MzCf$8Nouq(a6 zUU*@uwBPSXk#TW3UDIX^sV44MR*aaf)R#9x`!Oq-A2AtBA_XWWP=1bf&O#6RqORD09%&?GmJmdl)zv&G&9gb2K&}OC z?z+UeZ3L7px;?m-&Mft5%5q|72G)rR^} zGI{xogbwPhubi=}0{c33r`97)l;anU*I1#w{BBz)i7ind_S1PX%PL^g;U^Bffms3L z_8lJsfWOd&zpEsFZ$PSFx__&fAYTHOqEE7NK?}$h=G0fYY|b20z36iJBrynCft)*y zT!3H+)aKhKxEKvpE8fQhx8brb1T}qI@&Jy5nV)U2kuiG+u2h(Pz~6s!MONEW0S8Nd z#yfw2wXjRjVE+xGVgNXj7A>Y(7Whqv&k<~quw(G}1DsFuuLOsDy7vtTXE|4Z>Ij*z zOK;8FhwuTLoPVql?xQHIL{IHe)}2tB}+A=|qn+L^N>#N@Sgb<7+&YQGz+^;*=? zwUm{VSt{6=Fz_3NmGlpWs8V)i)AKu7(d0zIL%VPC)Z(1 ze93kBA`^OKVW#>DxOqdE4e5vsU{Kr7GV-0z%F@aWEbSex4&C=jzPTu2SzfBzuO>c~ zV#h!)>-@_E2Zkx zFw=(yx|tf3J$5(W8*FPn`+Qp=xa5m(@=3Z&d4(GE6=l~sAMedLs3*A32m0WI59WCr;qwt|-)-F8S!}jFtobwqraA zFkqrHP8$3rIExmpeMlG)%;p>AD^lM6kfqvypZU>O)vVWlLf%>*&42C?ItlBo zQ~ua`{)P=32N$B|IksQal@7~&`M@aIvA2ZKC9;XI`+5^}arK&Sty)ZkjFE zf20OcOpC@d6oY;R6L~15M)rdQvsp+2-c@@SK=!E+MPqo%x?G@XoEBnM&Qc-HN-9UC zdx%e|Nh$o-(=c^o1Li3KYcVUAaeaM#F{-fIAx2Z2tkc}C`5Q84f^CdueJ6~0MV@mX zA$M%0Um%p#Bwa{1M$FB<#- zr+1ol0`@om-nGoSwFTIfdcl=1Bh8&segmRA&M%W`-VQ}q(aw_nb`d6DCxgtdIObhq zHATtG$74N!UW47}QXSw>q9tdHKr2Oe^C$#HV?3t)@H_St2Xo2F`nJZRP9HUIGMS54 zkB3r`%+0Ao^0`jrUH==n6}GOV6>J|Dl@Mfq#p9HB7~9JGR=S^jCn0?Xb5OAxuA_p4 zihS#1W#2VZh2Dk8baf8sv#-uvqniMhP$Q!!q#Og`;tO%%vK(4aowVB_{f*9$3uc;5 z56%rLD*=<82v*C8*jNH2WbO7d^e`meT>=XoEo3rw+}J{V1cNapUO7hr6KN$&y$J29 zDyNKcWyAiSGE04R%?;R=18|#@)9QnMt(@6aSH*) zXqYRnjyjwCc1}4oAPT*}D5&tpwu7yq9j#S+t%UQfm_lFW#NR*hve8k{cZZIed26zq zBFlKr>ZxMC#zy}^XR9a=@Nx*${1zQs>OzRWYwT+MdUZmN zyK)|ic?(9x5iXJ&F3)bANC^3@nd3YzghFNiuZPvR93Sp+SASc9>}ju@9pHVQfIv_Y z{S(#kG2+e|RaEx99XN~pjj);fi(dQ7Cz>%EZ8lDnFRfS$e&pj0S|p#~f-nvDzVz8r z(_{28I0m_Xd<;(UsPV8rs+h0iCe4{>D{Y8QtI+!HAK$EMs&3>-8)sN-`B0!)7_o?S8zmlV`)n-vT|Er9_Xl^5?OLqO#_g|lC)!m#%?USQ$+hvw! z>okwGqVIF%^HKiH_#0RB*2K)FxM}5fx@=bAajpyYGaWiWFfejtomg!i-*wbTxgG1+ zqfUT+aoVUEfkw_+_+84HTu9XZtW5LIeEGXa?0s28R~(MU*n73V-|Aq%AI2H^1;2gI z!pmY|8V%{2yBij1%DKeAR(PZdQjB5BK6^n?3rP6n#aC{fCudGG4}F<$}M% znp_6U|72*Cmqq$vt%WTt^H_>Yzw)+fY0#s?%2UE($&`~&hI!I`FGq$R7ftVX*Unxp z?Syt)$%-iDbjL0$=~>C8dJTHXS($$6l+q8Tu_Tc-YBwm?*c=WX$rJv@3ENKHr26tSnez}jMuR1*YZYt>x{eOl!-O1Q!ncGiTDMU$Eb(8nZpSTt}VM?#&!7=1oO>XGwv zDO>%-LEIK%?_FPOf&rcVh}Rg9@eA|5PEG?fy_-f!JX+`99}ix~vHbQ!V%a_n!zbM5 z9+0pgR5o7Q3U-ac-JnsM*F#wec`50halIK^@3xk&+Z#Ws^n5abVdm2WHZzSLh zD=CY*h!9mmb)R8tS5RLEm}jd#0JWJ!=7VF)PL(N-ybCfJVz6UD!^OA-S$XiuIc`=j zF7QeY%VLI(kLrmYNV{{cJafBB*I{0#);jfs!f=pu7zw_C=uSTYSHJ>NuOA$e+47l@ z7$SRyL`M!&`sQ|!nSm=W<~^=81L)48^;ghYuD&Qoa$pa_O^t_2R4_F6um!yGC2M(? zpNf9vD>C7&oSTzcmzPT*1YEMOPbR}jqbP#f4% z2(>mGAOB>eWY9`85+w*9P-?O;l@cpoMzU8(HIgkYtQ>i1h(B)MzfrF(K$QZ7P@Fz( zL-kEV&(!|zH8@iVE5n`Vp?M~frn@M++nWogdhOA%4mrHmd#*2Mp$8k?PZOhcs{wlk zpzqSMjoWbwsc$-nm~4<^6Gl9kWV36M0EJ`+PV6OGqV%j)7v6j(&q8MR`3+fMU+D8q z%}tseO}qEa<(^Z)u8b_lwpOoI5@npFvJ{{PJtdZaFkZ*17-A>8EIO`clDU;vGO)nb@*9L!zL@P8U2!4{J4xN2Dgkkfrr?Z*;3}LW>U0 zJ3#-VVH6ZRZ9l0BvvD&J{l{Iu>iYIWsMNN;kn1bhlI&qr-DxgaRWyP_ejqnLezCigx4lf2H8{ONzx`X? z*voW=Jv2bP*yw;UU_R%sTDOs0wT-gsnmC^*Kw&o_9Hc2G^P&CCs!0KLy*1lBrTlQE z=5((8RF=L>4!!saoC{v_t}J*9P6@DslH;)(VI^}3Je zJ7CGAydC9U^Vjl}9hwFUv(Q5O5HHQe`EUXmEWCaHS$i(5Ree#Yi$h3AK9PRb&lZU~ zD;cqj4gW!dR0O*AHM*E<&?Zji;Q{`R!|}a2tp#e8e(1`|KMEx~aF_rNblO?yC(Qe+ zIhH1SzJD8|EPpxQ+k9+@93nJVPiFn#%1`h$1oiix9LIMLWqR2>*~_shBc$ht45?geul`p*E_Ug`pB}nMVf_A}E#S%^`bYIHPXQ z9>O#>f^YWXyE~hGt>9uv=0%monh~s089WnyV+7Ozj+igJ6iC&YMDC>2nhP2)R5GdER;WgR;e<;aSp%!*Q<5qM-}5aoM_d1z^8OysaJwJwDdo2<3R zaBcmyjMF%dlvzz7#SO;vmO1a%6&LL0aLdn)BLTX2|N*`%DEs zhN!DaizS9VKZwtn=5d>2xHoNZ2s~s{VH|QP(XJ>=aXlqrS?ObmtQgk=yXqc9INyG> ztFlp%K8P|gCV^sFcqCyhtP6NL`=N!%b}h))GM^qQMaaqbH9ma2UO-(EX|)z%{vXx)5t$tZc} zQ_Z*|aVWlv>59B?;q!`SETKG$}HLgCT?uB5!zLF10DE7 z^f$Z|^j>5#a&EO(imL`R%@#SL3(>nT(UHTX3PKn%iYb59_W_v2OJ-3pVDSF1R zEPD9WJl7fDP4*ne%H=tns0OCgT?7m01+K{Q(lzaKON1)c&6RQ|d3ir@uL_Bj93p2! z=lHo!<6Gpo{y}ZT|NJF^p%8{U$B1uYr%)O6($V)k3R^>ox+@MzX|=@cke>6O4OCo! zHqT86NKCu}cfZPSY)VW6*5{CrIysv@=+GEU{nSIHrTX~`#*CIn?nUNSRly`jaq0*u zI25z49m3|22t7IV3ztbMnN~!nJ0^4t&)!paIZ3Y_Srl462qeRk0uTc}^*}ve`=IP~ zX8yN{>}MOpzJuRc=>KZzRBD%|NcWN_(@Qb3{=zQ=2s5K*qz)VQ8}#pFStV#idn7pX zEX8T%02M2)x?ENC`vWrUlRg z)TNNg4^nl$Pm(p*_hXeF&r64NjjUUX_4gP(7N7+lB??~TLSLCX>zacj07G{zj6 zym-8-06L9k!O<0?TP{xLvw_r8N{Xc{UpoQK<&~8gJ6VY0_JoJNkaX`71Rbg z^i%^Nu4it*@cb?}AqWG{j*FkE=HUzfi`A?u=7fsA&TN;31jb2E8lE&+=b&pjd)ddB zX(-Abg=sZ6V(jaqc|@z|kA`x6JP=>tr+QKx8If)FMdv(4r^c7In8fLw(5{+Hn55%B zxvNlXy`v&o-+D;{>Q!Yv5eU5-ICogr;r0@7rx#1U4}eTqq_t2j@TpN}9%*xi8|nlW zFW-I)i_Dkh4u$bPYW_C2-5h&H7)_iIlY%{)b}kD+*H3jLWT~}-oC!e4EPf7zohD7H7md5RtkuQHYn+ICl|y;_wNk9TghHgJqe>J7E1LV=hm1tKsviRqfmSAhDOJ&l(Nuv;wT;CAM zdY5HlAoj&`&wzL+HC>0PAr^sqkbJAN5v1iKKLiGu{49~AbDI-U?`K^%g?UkfxDNl| zM=ZZXlq!^5;O>E}$X9s13BjSb8iKb^LfGLgQX^veoLSk8`n6V!?#jLxsL!fJ+%*be z!rEhPoM~8HrK4c3uI|m$N4&#Ht7Eg9!vsO*B&0?HPvL5TFGt#t)bg;X1dO|AkcdOs;XJTZmt}&Tn+Ul*97fC`=o*T&`OC)YrxoxYOhcI zyPUR96!v|=I1oC6v_BM1lt(TW9=S{S{pUp}J~sG&gyS!yG} z#xviZXeYH`g`06sM3bg{rn4{1?<-?z=&IhTf79r_TlvNBB@Jf9nL$Cj&0uRLwBp}{ z1n5YGEkLDjkDa@hD-uEPZ&F9yrVk-0C1(~M#6~g%uUkGaN}Oi)(y*^n&~JuVohu`# zf1|MlXCwuRf*!X>*UbqaQ87Z+oN;*g<8|X8vV5brwOWGbI2@*8>oz|HfA!*R#=H#+k<(-F$uCK8)DGNLY~V$ zuG}Dqm*`M{af!yqr29U)2>GO1HS~o?G7NCLIcW$TwCk~a9=jHp4<&Ou7ROlle9V-y zra3DN<6WsA4o$N=w1H7ki@KCZ&gMTr-v%t3#T#w5$KV>GKZU z&=N~%xe1SSI1WL;*jPameK)i}*Sv01O72cC2Ov051OOazeu{>~c?tfcO0e4*2O^Ih z(248}-$?(E^}da=uQo|z3cJUAv%dG$d_D2%#mP#Q0%yw2Jy$!kt{Zax6k7g@hg?n` z3-!GGnj8wd9B8RMSzFQQk8Ft0M=s4GE)*5&YdO5lT?~HxpqxpP)H`76rL>qF*Zni@Z_y`p;3*4LMlDycf3%*%w zi!cK}lOhc;bzN;4FV<}s7#os*V#LXY!9rixUWpW*8n}WTtXxdgM!#er{?*|T;8fIOMA3=k zd1q(yP3N!j_pwGYbcAn!;eRNIgzktL`c)pCz;-QS8-eU|mc$mljN*8-#{%`+vYphk zkvhrCG5w!@rzd)p2)nuiR%OBrf&YeI`4Oa=4Eeg>dLKwqqJJ^>_=}ANDZ*8ZEU|oL z?xeAJw3GE}LqA)SKA6bECoK~-3SG?)zZx<+QgC-X9QWiV_->c0dHi0q@%kEMUXh2B ziHML|qOM*NUevI)>~({SvO39dQ)78ObvOI$%Y_4t~ zSNW;zqjT(Q*z!0jA*f~XtX$K~rdFb62LNND z%ng=K({H$X53sJWAx?c&WggdOXzKjppO;SWl*x`HDmE&9lO0s zMleWF=T4B~@hfkD{2Ia_itC=8*u<)y0k5jw?CWrSMUJ`16qzO5{{FHIi^8eJ7*ms@ z4gNm{cC*0NKMLW&CTDBAWdk2Kej;N54nxu0*3jKVcby7fq$oCd!&*#f7I@{b)iJr| zm%}ShiKf4b!9(%;6s6$sg^4L6EDSHc8I_>(-WqV`LNdS1enodphmvvL1C*}?(njyr z6^VGM44{qV9-Z8pWlYIiCZ^_fsJtNnemtB7I8hojeUdd3ri^Ab3z`;1doRl`Hr$-3 zy1DMvhk*^xV2(>)d@-F^pRC4WEE;5VLw$HKnh zA@0_!jcW+bRt@P$q%ol#uQF?3SIE{~tds&xao(WsoxM+(WoT_!20X%;%H~Fc^vB%RFD2D@)%_;F{xko#a;n z03xq^Fr?OkDFVZ5eCPoP$N);s76lpFov>KUFh*|1XhJ1K9a>mXz%eZ2^{l1<{N-R~ z{uzR%sZFZDzFeI{OmC-n>{O+xql{h_h8{*6cgOP0YC>7w=I6&=hKawOv7UeLj*eDX zzDaqI^?8RHnLh8b?TC-e5ZS4VKVN?;W}B4%jk25kQz8_0tNzF z5~H%S5)+|^jJHVEP@N~vgJFkZl|sMH^mTI(HqL$ztCP5|`ziitpJ_{&4Ui&a)ae(& z?-uHrP^9XGL{C~CJbmlY22e@$N_CXU(_x$TS}x&AOvc^mGDz$+_zPCuBXuk1<8Qm; z5rO))8;(FL*jS0sGQ4Dp#533@DI~xDqH>Xu*km{!L{SO7p`#=4c%f#*+H-#_d)nTb z+FkU|5Fck&P1J}*G&{bcF!rrL1{gO6?d{eLg{bNh^^&Fe(&=O&{&%X+Z*f6t9%OGp zVq-0_wlU6K&cu}2EfVeZ!GIJp{PAbDXej3f?u#S8FqxFH5)zJ1$5x zxE5}3d{u4~<&KGp?%r=S1-yLC$@HwM7>1B($WL8-<|_S_+1Yj_{%(_u6wj@Jr`_xK z4=is-^z`A7b;?8%mYlVKG>Y0_;S@)Onm6m%}Z5-;W= za*jj~Tjhucx$Z7doRf3XQtI9?B9SGQsbrQDlJEHW-k2+S*O(Az;w5&e#-_jtRX58) z^!21(H3|7<1ipbcbp1igplPrndsGQ59Mk}+LJ~0a72vm5?~ql~sY={bdeckI@i1;W zwSmW$puPOo22a!cs5Bn}MuC=;#XFT-dHU-z$WrA z>o)uwf2dsM+Rt36A6egp_(P;ztQSUVk%*UE3EmP=KJ3Nt9HNUec@-W+UyEFtAKRz%8O&f;Ugd* zd`Ggz6eI~e-SyXt6%+IQ+my^rJA#qI$buS+E{jP#v$j~Ig}{dD30{#0VACR+`?YM} z_lnaWX-PHdY{+6002ot{HOn^w5Gok;`@@Qm8Bt2Z7zb1l&F)SGRU+?n5%YstIb(d6Z1Os_iXsSQtjp}8nZ;qIDagEm?b5yGjl zX_b@*O~P?(zmQo6mlqxu;@_BddbkJMx&8iIWkoR*Ssh8NUu$x|t^p1_xqI0EyRw59 zdZ^QW@dEGKj(uCm043 ztVD~E-?M6Gu*@>ra-x^0TZ1(ow#|xx_$U60p2mC-P0J>XFK_W;1Dg3o{ZN9j0#&Wlw*c zT+2{R;MMv)LR;XEncr4alig&JJOdJms=JBt72r-G-tADBY~<0$H699IrAo^LFEX-H^0@kD*;-MiiNQoh=-n}h*An8=L6w1jwCSUy6EHh zAn;|}B0+jGA=d%7hEZVN1)d1wENx5sH@7BHzt3Nz=o*}8zS%;Z; z8eI&%??k-@X)GIW20F+P#UMTOlhb0ZpY9u5)yw~#IHVk8#pYWK`Tj8g@@|iOVe6|2 zh|d&BRB$y!#-wM%v>#?4j8jrF2+lvz{RTF_O0I(>HU3)5babKQU4ld~@7v)rJ~>zl z5%Ye^`PpWSw{)4qeuYO1C_cs1QKs)Bz9Wqff%c|#2i?}-)qNKC--k=Jr4486D37q& z@T@<(H(I;}oW1X=x;I`d-O%%G#iHRrq+{YuM<)c3eFSLBBA3TDp??cYH?_}X!Hks9 z3gTV%e|~u6G7EWx8vm#rc{ZfCLB-y*lrz1 zSXtP*A+{coO=^$j8;^49c2>1DvwD8O^=gU!Mr*+Hexg=p@L|JHtW_SsS6ulog*M5!3DtmuKy4PxHQ8-IFED)OOrs>nViQJ_uH<{p4+vy;gY z6x07IO~253w@R#pl0aO=mS9PnIt&P7MUg5bR#b|OW3J{4{w1`z=2@lWw9EqpKFkVRu4($?ly~>gbi~I zgRx3(k;w5vuJ*?ZUY`zT53gH7j$1$=(6+GPO;*hjCwJ=`bnn&nwz7pq9y9>Pqq?ws z<2{1P5h=@3s=K{IF_&l!4g@JaCK8&o8E!p#nH>pL(^%m{Imq61Z#5pZ<|q2|A z({bDNipo#5;06yriT#keh3DKDX_b7JDDOb5G|qwN0#P|KK=4T-Z}7pP`Ralb{WZ#k zAoq<}n^&3e%C`AJN|~|Gp&-g+I3nm+wUEGG85<|dUhqEmV*JYifiY)BjQ4lkL`Q`q zZrYB4J3Q{SKKUBC`&>V%V-@!B6<0H|?|5*7+R&R^*S6VZJuE6z#U4vM^GUa%2Utz; zHQG{3nPgx_7uVc&E1uz`9TwxsSUi}IOz|3cm9KlFOXmFYkU9nkrqKkJ$5=CTGUwQ@NK%8hr>qH-R@f% zp%2S9xk4I=>NWYMlX6Vyh!d=POeGCD81Mbx@)QZn_JnP^78o!`2(jS3|9nJ6f~ka` zp_(Y)z+n+6IN=t=7~dJ-EMxaGZecQCX_1jfJF-7zNQQN;^(TU?-*cLA+K8V`x@oKX zhoqfimdZ*vS6qp((LO~q$l~zSdMkkrNxQhxk|Z3Fe#Y1?J++XrzC^i|&N5Y2Sw>gc z(1Y5FNiK3&#EO6mg#{siH8{95&NJs-P;-00l}{V)^us$1{j{#GE*AAtWV$f)g@qJ3 z?p&>(`U#_CUepc3O6aWnVc0i$996t=^n*9KHwvkx?}{5azQuasmseIQi|lZ;ceOMH z2L^5R-gAt$zUDtNJ+q~StYyc-XJ#bd{W?450xM{hrl)EXYW+NTz1DcWemJf(Yjxks z-FULCW5_AOOX2>|E+Oj@f&UeW>Gyt$@{?pPeXLYqh^&QJq(yhx*C^cOUuvDf(Fw#S z1^=H5V9}9?noIZ%kJlMZqnXQk2{#xQ@#zf($oJhC8uCQU)=-j2iRwa^+Fzek@PT(Jo|_bVL1jPiDXqP@$VxN2@H$Y1$ahao~q zZCku%=GoXDtUFzlvR#ITS`GBp#tPgTLA0Agj2RPLgHblrgqt)yhbWo3VM%24%PRDB zx?rW)KNK&0MIiLSK_XTvi74|-~)a&eK^a==CMbJU%#>;BOq(Mdq|`6)$; z{@i+?tTF&+8Ib2-@MWSKh&J6ow=e2md{1Ux-*R*8Oi!~A0>>Q`tm7;eBVp>JoV}|zLnFA_%N6+jL%Sk_d@{@HzBtZfH+l@3BspS z`(&+J5UmzR_OYv-ON1p1ksX0HY#iVt4Y#Z6gG*Syk$gPA@nl-Bx$I;~%Rt{}4+N?N z0cQ<_wBq2@=5UWlex(`yM0os%m&DX!4L5TEy=3eeo!-Z3zLF2;v(Vg)$HQdPyUR4Y ziJ!rzt0O??2FQJH$v)%4->bJSLOQ4i8Zl%Vv-3+4{?UZk@X88FkR%y_@*u zljtQuvH??hc`A!aEQ6HcNdDTz>r3cULE6`@(C5Ve+;etb{r`ie>1$%Nm7mvUVae66 zql^;f4~(d?iZjGai@s6iWb##24va)1A~Mve!mLpVdY*JI(@02E3e0BYew#jUAF-otd^-xpaOqw(@SvYNo~^q!CzY>F5=6V7>d!hs%p3 zRU5_=Yxyn`8TSD_njtlwPGy!D!5Sq@d|W%s(e7+wSn-MH9r|K0RPS`@uy)hnAyvo8MTn!tB+Skv(qX+P@S}D?2&do5l?(VlIZWMU7~U%@z+I?USe9F z&BKmBs4-cmnHNy(@{_EE_cm41pDtGFHol}*JRx9b*F?M{FJYc3%e}=^6x+G9RC0fK?e9~4tC5sAB|+bYiko!pu3)& zsgC9`yuN6J`uXfIroN>)S!-*eqA?EL+41#aI!(AW?{ym;f&E$6NtYQBRxi~?_P)(s z_koguCO=&45*cPLV|X8kd3+Rp+$PKp#lZhYy!QMa5eZOU$yTu2V9i>pu-LBC z&j4yi{jIT+-E_X6>uiU{s5FRA&!%fg9F<~|E*qyqM^d;;Q0Am6^P$EzL4j-_Dr=(B zA*bQsr=i(K57fou-ttejY6)354=E2y+C>7bvLCTrUTh?-?11SZ2lVk>k+ zo1X_wmalcM4|T6wG$G<|ZMyGsxm;Xb-;-R%%ksbWwm%El0H!)ZuT{>q{}!`s3r}1< z?fo!&f%_1}FFV5myKe){ULO{reFsj5vAsT7eWj$d7xx$tDohNVJYT`QoMe7yv@@^p z&8?BLh>-V)NATj34v)h*MsMGV;ZxsyeLYn)z4335&C-i`uTL1=7IZoa>cfSyu)nxD zJilK2QQ-|pGHe7~%0zDTzK81&eZ;qipSix;4rJdXy>)+h0A!wxH`pDpS;gzx`I-gpGP}_Nm)>ZuV0RIHAn|Di}EXg}JYyz;j{zl^)fUKm4xE2aX}1U>$jrirlZHBNb@~TlvJ)~Ml3k{@_*$- z6ss$_V4X=pS1{~1utgI7obhk`1EvFoWCTdAY5qBnHaLL4Va?&cHk@lUP5PXAD^1yH z7{tyVRu_#tp(eGOOdg;q-c4RNA_0Bo1-<{(e2o^`5?>vKEI67#(FL`jEn`#^xF!|Z zKCm2F3aKt^zga&Z(l>D2v{RC>8n#!fPu;`pPy_RX5+@y1tXJipNMuVN0Aqv3fmiY8 zTQI_M%M}_iWkMCfcdyz-uC*>7g7#Nyf?juSCH;>3e6L1MRvTuAgoMaO z$--m?v^=`x)x#bb&aE?v5b)7GCh{y&5nqt$nKCw!0obuA0Ad7uZbT*&1_W=~%h6fL zf34manwKjDv_;(3a(UreHflMgF-5`__EW|yM#n=XI-LXnu?I&6<=I(!Q&0vI0o})H z;tWL+#CIHaM}ODV+5*4UCD_7q&Qv*$#8kZ65Dp~-+Jn#B7ZZDU^wbxzKPtz5HzBey zW?9@!WZ+4&MGyN$66AiT9h9of|JvmwCPXh|n5oO8x1h(h4%Um{NKaw%5MV83ktWcF zE1V(#8b3NO&~3{muxwL)^U%!TV6!G6@&`(`1z#i$``$8}b)4@K4N+5HL?W>dHsP&5 zZazvrP2Yx`KmYz2@*o7hr_lItW1Y&VtNZ7($T!8IPT(=Q3L=1s1fd@N3@T?aXp2a> zEVd1h0yL(IhiB;eJkYhCGu_=0t}Sb6vrV*FW@r+b`#1JBY046VYm^4LH+Vqq6^Ev)wkgu~EZBjbkE6kmnw;li^h_$r^Han_;tg+aD7rucJ$X zfDobWcxHZf*8SK5$KB2br;pBFUs`?!998fuCDq?E1(WU?kWqNryUf0twtF8!TQ*)U zl0$0qHyXOu^cDrUsOUQ)oi3*WA0Ql|4s5m;Q0;$e1;QA0S<)G zghj?q(8)vL{9)8@oE*zGP8VM0;+|PrO|NruIX+rF;xlK~BXyrYaZR6SeI0ng;BacW z5y68X1!)$=(k7}aLVBL>^W+kZO1es! zs0jX-GdJ%VtLB`!3E)YsRa(S;ts4Mug^jq5f@!on7c>@&B^2;!rUiA^BY!_?Z|EdB ztf3L9z3}2YJy;uITm-2L!Js%DoCnOt{0F=9=lj?ovIRUrzF@hg+3g7fVSDN>9XH_? zd!{-xTJFlnRdsV5=&Ty+UV;%98Fa2J{+49ijb|$8e((=<$4acFl(+PAi$89rqOo6B z>#>we-fyiSB0K8Slc$w$3;HY_)!mF|O%|(qH8>YFzh>})Kg&YCu& zR4n1rmZ(XdlrXuzrG8Zv!`}`N$b;kl-8T5buC)cny7lbJI=>Y?{^|A-6v7S*x>pU0 zv@#B&C5U)7Z=hMp#w&U!y!cY@g;u@13t@W9&is2;(n5vGn6qEfR<}m_f5>{vpf;m+ zYZxeP(E`DXyHnf?6nAT(I0T2F#a)ZL6qf=iMFK$*+`TxI;7*~G0>z!YdA{eIA7{Qj znaO1GBbj^eed)T^GBm#E3B#Oh%;-9BsO$C72%ub-nj*ALd~Z{MNS5(_Ivq_aJS;Yq zTwGt0zMsy1BNf27W=NN$q#E&E42>-oZPE0S5KT6;=QSxKLr<9KCMoudusg577kFW^ z9I7SEIK3(ut9h%pw}T&%$Ct&XJU(_z01qLEnwp`aT$WQ*hbLN1t%c!krkaW(fKq={Xf&ozO;M+4L=?DW(*ucmI-mgAi*XsIb@aHKRV=Us=zuM!=B zDhhpO_PQ{^c=T8zd09DG1s$hNNhdtCtaufd+8VXWZ~pv+n(V5jx(4*ggExCH0$%e@ zz3)N7nhSblW53Ua$wU8jhTc38ghK0EPu-9=8zGN_3Dr0j7871c9C970kVD&y@M?9*e5 z&Bf(@CbXL+wMd#}N$-(4WUAzzxq?elS;bDGr;m!{J4H7_&t;JNGTM!QQ;;_+8@H3b z<;)mXHTU@&>Ua7KRNog*6P~sMbxHh-rtBIIyzZ_;k=HV)3!hMWgJ|x$tO&iUprWEe z^<1$YG=?7WS3qwHpq<3%(woq=7v6aV;EQGG+LvE^z(7Ad006!a9SAoSq0;;-o+OP5 zn*WgW7rfn3{uUgWy$mfRBM5Z@j`Lb=Amvb4Z9LH|?>y-?=vw8zAofb{Jz^2Mh;SP` zPMs2Q_I>@y>rkvY>@cWD_4~TP*aihtOuC2-P^sdPELpPAU0bm+E(#v3UKmbhLi+3buTx z=4ArwG*eg9r7zXG6<=H<@#W;N8WDFp@ell#PYFqB#ZANAQv)|QdoZn9WnXs^2adpns7-o#XP*KsDXVr;A9FiVJOe4GVvG z;&vj-wsOH3W1`XweokqB*mmpZv_BJT2|>%96#WAXaeCt_RWg^P$*byVsIN~w9KLR_ zV7JUzN;rcTv;1R8{#%81V0#QYpls&*`$}hvZ!#j4D>yF!(eiKK0&B64G!LZ*ZYA-P z9V`cvER*s)B2@n!TJ(27cook{ZK+heCIxm}W&*6Abxu()EB1A|WH`XIpkH1Dn!L5} zlD}FRvKt9{1}baOdgbz*6{Ih`YDjs=kEb%=vHB^b()wA_#?Mc%Cfg}5>zAeMe^@^9 zq+(sbm$B|;`?{ygS8&h)Lk9gF@+B#pd3tT<_y`;#O%CBgE!c+8`=Jugp|tST%~M>H zl(+ZoNJ}$ z$0%K)!c5twKIJ7f<78YirXeE6Fice(N`c8#6}5NeIz)ue@Ng(!$EskbgBkVcZ50Gw zq(xxr-~me1PDOdUd`*Wcik_6}Eglz;cOQ`#Wps6}E{`$Di(=Z4o2{HJFA*bEfw!XI z%;ofc)Bfxa>K;LLp79+6@z3}e6!pKdW1_Jr-vXo(7@ymk>zYR>=+K8hlYgZW_N)Fq z*VL2o)qM8snFwFh<6FP$VDDcDp*0nYo21LS5SQvzMTX{5inr6?JJKZKSH<$^}R1E&zJQutFH;RI_^ICA9J8E$PzzRLg;+%uAJAQ`)*sp>@eXkzr z9)Bb6&XGyV|LjAr?7JULx{GZo8M%pfETjN(6eKQTIw%DF{XHsKJLyI~O@&-Fo`fRr zGe&op?28{!)qsqXpnb{4CGPmro`GfEs3Vc;F0t?&gq?i0oC1w`a8dtN>gH)GP!bJ= z0(wS1RbW2*dREj~R5zti;}yY*3syxXws*f2UR>$-40##ng}y7bbV*=4?IRQZ3Z2G( z)blitpC2nPx-LrEEV|lx)j>Ob=IIBb7fa{&kcIVvF1l+@Dv}ul0>}*#xcoUfE$baz zI8;@=&7$dN1**%huMg(W;LqH%*g(%0HUodqC7C;DqM1L4(JUg`BQsc_#&~)8nHT(# z=kl1%T%l{f3oxMebdhLW~AO+$g@87tiF5OZ50bHCL{ zk*{)*RmT2bIH6p7^VM^|P64N(F)_U8#b z(yRO}c=mQsXG2|npOz#E{}0P4a=|#`#kp65IW%*+ZRhfRW`Z+b`bxZI^IeZ@Zs#%b zc2#+b3TBO+^<{6#E%T<&71=n1KHB{>j>lza+RHyua1OzG=Q2`W2V36v?`ms%ee6P{ z>)YkZ&ivdmv#N@7O_B8++&0NKzb=BQlByWcl`~(7dLU4zXV{P!1`af{$ogl|qp2$9 zE22j(-tShp!bwM08XKxO@x7Os{HatZU@?Oujf%X`J~P9Doq!^^HN}pL=Cld!gT`lg z^U?TkVRUTGqqJ7aQ=qIIR@%P55StADR_1&MB|*+N$99qB(xp*y9F^Qk@zL8W9jI0p zHafu8=$oTc_wFC|a{f1Ma`7pKNS%kriO zd6t_rVbZ=L>U+`=da!f&26@5e*8M7x1M{=2%0LqZ4q+GtTP*25r}MMQeu^*~dNDN} zc9Lovg;a)=RIqAC7tG`DICkzSs8Moh$f0|2=Q|?Zk3`;^PjgIw1~TBGM@EXC>aw*~ z`>f+0a`apd8;$9LwKm}D?0IhY?EI!>0%XMx7li1N4#D`mDqT=PCt#l<~>5 z`BmNq3kLaGr!YV6q=ej*6+hgRrAUt>43G=R8@dc#k@zwa3cxRa*MA!6%&18R6YtIh zTY7s7g;@y>k}Q3eDk~26Kt*0X6Cc2;_ECAHRPIN_IVq#c`{=M>gX6oj?*mWkUEH*H zGgBe|ES~o2>P%ZBG#+k?k+-3@)!pKY|4I84&a+cAf0vX0JCoYj*eKSj zi1j;OZIyZGmkGLBvKJK_83;{IEXSUx69`SLaA5=7q%^1$g?a zUznkYGrVxnR}TJue?LXOmK)GwyMXbqFOEEkI^wf{ixNWwbp*_aXyJ!7uZUnw>?r$9 zeTBbLXi2vR3`{U>I|p_-S;CbicWlcA=Zq}8TwglktQ>^zBJCS<4LD_-eOdE>Q+!Lg zNQ?jABlU{Ectw>r2T3SxOg>v)9J#S`xqBumE)nwB1*Op=C=T_RSu(Yg;+=;CIq;Jw1scS#TX%O5c+=Y5MX7pY^b2)lSy;b0vfOjeC(FtX&kUE!2bala~r7 zhWl@>goj5`Yh#JoGyfBm5VoB*rDju$jTIyNd0k=kk#nhP)IZAo@%L~)Y5%}?RBOut z4l$p7xa@4ddlvuL;)zbec)VRVLSWw{C9-3TyTtligK(uAGd?Q0Wt))T5EFVTJ6|uwoN~A16r}-UG{X%L zv=Sb7Lr;@?cc+Eho3g)loLDKaUf`(mW1z_@V#&thlAC#XtbvOGispafUsugu<#VJ*za4?~4L}Lo35HGYkul zD?KO^O}5fTU!OmPg=w=#EJ7~5M_f6qlzmnRh!?A(%A%r(g`>i$DBD9Aixw+rz!6We z(=*S25X449!P(=j6{}=9(6PZbvUoZGwKSdaC_=@rnL)o-`$yTICsXC;r^r0z=m;>X zP$p0mPuSW0z+&)n61GX$?G_Ti{ijEylO+JlEnHkQ9y1U_W3SBAQw~v)KxbrRvP|cn z25swcsIu%>Jqis_%`10zcpq%@+Jg?+%1{WITDNa0Qo@|Lr(5}wbY{zRkPj&`#VlMM zde+aGiWH&-YZfbFuU_r46>F7!m-6|0(;8z`pkk9*KI+VE2=JI(4d%ao&#kA1Q6ZKj zzHe((Bn4~j>gsB375-tEmmJ2ttsC+=M3vx+vu_Q#kuYKw$~SdBY9o+80dHud23X2G~#QDg#B5Ql3Wr7xu%M*@%B7zB4UfvupGctsa?@J*qR;U;*p|`EBJivCd zuW_gH7-aSlId}I%@Q}*X*BVbUQqCu~8_ssL?oS)2y!6MxeDdqYt}M!;A(SD&_@8|A zQM$H1%Wi(c9E{N3-hL(Us1dlVF5~!x+Tn?l_Jwn3qf?r1N-J3YWWqCuFJ(} z5~tIjC4{qX4(}oxoAqZ5cuwot(9~~fEP2|n*`?n62@-7q_fz^V8h5Uhc!yeA?!)Pq)!;mu=y?cq;$NnF`; zUz=z9xW+b4xb?SrO}3t^ZKE4Y+7jVS29T>C!M&QrG3C_fWoUMyp{#+S`fQ$ik zU2H%qE5#rSdnV~HR&46UABovjq4oR#KVN*>qv*>W1uRUw)Ms<(uQ{R%C;;J%S>(?# z_!;#L^mS{B#rS#7BbPoH3?dNGBe={X4PK$4#bH=jl&nS)xmxJQd51!pU_wQ6P6n|Q zKNJldvuZr!}!@o-8Y^dp#X!&_bR8P#1)2_<& z(LG`c8sD8*6*)+Muy1)p7BD&`=Z=DN%_<7h+jRZow!3&@(?MX5(K$@2+uCtvb`tq?c?E-;>5>ZW4_$-BNHop8BZ*yWvj z=0xP2X^ClK{fxth`wU`-`E>%ezY-N~aRG6NQf8lWn~|CG`|lqMKS+um-JT&EukBE> zdkd|bzR7_KwXhPL&omBRWxnZarV3`NLXNz`0!t3ZzokbsL$&}P^=Tv*3R5E0QMXfyy3c(%<>jYnqokyykN*2xsKE;xrRetJ zosb9aE`$3?HMN$^tESy5;0!pAAfZ8`k>?{|GM?O)B{dbe#+$?PCK0O!#R*0I_atR_$Gk$B(aO0`&70UtPa)%U zad&XpGDj0<6rYGiCy!!CmYa+A>P~qljnGS(%`rgibsUVoL1e*FfDyr$7N*f|q#1!8 zF4nk*#j3sf09N7+h}ep1j<+$n;QHtqba{8azc9t3g1iYuZWtc?r<`?p^0epn|Dm)H zjZ>^n0S_D)OIPGIO^kI@i?mb%Hs~3k32EB@YZVimqQT*J1+`Rj9=DcOi_@+1G66g%v1Lh81V5QT0|i zon3=!W=$AY6gvIXdC;eyN43q3UndwCnNv-R0*~)PpQgHHR))BGN9MfWgqzC>~H*y8&g4|v@SzmC>qQM$QBZ_)hmG64XOvCX2Wj3YdB zW4Lhpq6ho_fB@c;dpvZjj@BP_aA?po39!k&RIqhQAp09A~Tn(q^u#KQtxbYoOpEe{eW1JQMOu~;#LWErd zLtv2QM-)t+Dto`~hrly#XIAml%?Gs>kZxwKBXQfnlH1PyZP_3)L<)S()OoAN`8H-N6 z5OpgG-TI9GdHWuD6kPf=`FS07_$=Q|Dim}+G*N5yH@Nn0ElFMS;CP=v`oZDaq}%%_ zvUut7{x@>~sJgvT^IE#Gy_oCEs|+8BU%PTdJ|-=Z)GFNjl&@GDu9G%er#CdbmEDRg zR>VV(A-?NR|N6B7Yu%_(R|8$vP}ru=@YVg}(a}+1Vd1FFS##)pb4*MO`5W`q)ztzG z)({z6EKFifT}#IQt|F3c%%J~!RI;%!eH%ImjbyRNnCYK2(1&3{-7BVuW$77NtzI

Romz)PR}?71JPs@4kI>09&PP;WPOXbKfmX@9L2 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�kIwnvFP!I0 z*7%f2oH^#AfPnDXCK#A~cM@vk@JA5A2-QGaz$J$G@hkBiMVJ~LPA-Wtws{NIJGaD% z#8_%NKtL%T))A1woVBf$`F#f)343CZyxDV0-t*&piKUAhY}C6=ehhf>CGgxTpv#L6 zZQb*362AOG*XFd5_-tM7#siu#)|juEWy5@);C8A0qfg5MkAgmlGi6GvF2Y)RaWvD_ zk81F55`YZ-qM<;JM!Zm!5=TW|e1eg^Tu+%BvaGgoE$Cw%GLYXBXP+n72qZIvwL_;$)LZo!qAEYO5JUC=!8NfOich z0@J8Z#-pbS33al>z(tVz%sC^I30AS=z3BH8rTulhp>fd-n-bFaNDkKEobriBT(|d-tsmgZR&YVM)0Amaw9F&u>ldRHs2_!@bJZvzy zli9L{4|-kNErmjI=zC2}c z!D@|kAv6F3%kvmz+kmk5N>=6_)1l%{b=<_vv(#-Kz=DqoCm3T@9}3z@L7j;3A_f(4`fNo)W?xFN}R7a*OKOi!4?4z-4H@R z-N4yvy|y4H>CA?Yu;UHkdU{z*h~xz22#hgWu%$3pYatA$mJce~@d)ngZ``@)NSXUl z&fj7{5KH!02bITp<^n`QM@NSx+0=JyJRDV-0aMGjG}~D<>t5t20L&cmJc6n&N4RvC zdk>f4aB88emyS%3PdW|_GTgJHbO4$V)OJCv{B^WIR@O?3t|rUSHj`YC)xIhh6JYI# zbqh~SR6tHCAnvd+=$I8V4NLu@Z^A{c)&W5f+|8P%a9G#$hOhe#?O$j(BCO-6m%GT6 z$G?3O)U?`#NA}2s1bk>*D9Vs8pq)fiWCGw@Z&=xj)O1t*N~}1FbhMmjty*md#>3y| z4LD6U7wN0so_EwK4kv!WnVnk+vzPv@F5PM1#37^HOju1xspT~fOKt{*M-2K!BVB)Xe?93(1{3&#@pd{I z%|Oy%un>sAONvlT5z>*>VG5`j(~rpTntZozu0V2oZZ$~|V6+d1LUvXJhcf;d(mNMo z{&y;U>=2;mjvDnW&@9(!%%PWb0i4h2X+BMZjBVoMJ!KLz`Wrn_WSH%$y1E($7I?8} zeh{00O1o4u`Wx7GTI@48b~Yn6aQ+HM!u3$~xl6reu(t=1Twm>1FY?h4T=1qr1niMJ3Ur5uGU-7O`Vods2UfXNp+0IC4>)$ zh7(Q%%eI{6McUQpJn>v@Vj_Gq{>OEAGW`MM2eNsx2eW#(vxcn)$m5iKs7+t<4Ol+e z!<%wukn24DEsTqR!f&SocEt(-_d{BZY_sF)aZ_!WV(GRlMLw&uQIgb)RV+`< zqdt$RL?g|lKr=pG_{^B}wVTW>+ zy=mk&gUu!Jjvr8(70aov9~b2*FR${NB@{Pw=kq`-I4TqiOpfL zTR>oLi$fGBPm!R0d@|5`-$U%+Dw3yGDPN6bViJxjD{qz5_0v$ab8x^XqxvL~2%YBpl*-x%97w%QhhPhG zj(cOfyHX!|U@mq(3qxs|fE+>o7-pDnMW^Zs%@_1{K9LB{B zDhh*eYD%O2m4sK>aL?Fh4`IwX3WkTKsH<4AelTjssP`78qbvl)^ob^b9!9Xe7pA@z z@%^UKXRqKKiS{iIk3_&|`2`d=932>2iQfrO0;fAccmvs_3`5sk-4}ah7tOh{OW>vN z!~bxH1Vx|iFt&>8JPYx5ST(S4ZSC^Rb^E8Gp~3nKz0?ey6{Qy*0pLjcq=Cg3kAHbp z$Jht5mP6-$UwI~dJY%!nM+};&WK;^?mB7}JXde?9XYL$3Xrb3=Jv(HlrolGpf^?PM4Li#aZJvj zgOgU+Mc)i~1sfDqGq`lE+EMCv74}D;?9(Z$uW#lCp@u;v`Mhxz%aeYI@Nx_DA!qY@ zi@GTRsV;I&Esx%|Jex~Rmlw*=h{a4EcoeZ9!*IoYIiOx$UpH-S_|&fcU`A8nhwOox zy<9A`^<1eXQb1JmZri(18S5HOYbOVd@Bvz0g+#V;CYfP-HpWwO+z5T6FhjD!Q*LC+ z>;PckPLKAyN}fsCa2E&_hvO>=J}OPTqXbRSWfH|Ff^VtTaE0T9GT00P$CUKMJ~xKS zICS-j0s?;R3w3=7fk8AT?6nsO`6=`GuEPME2%}n%FWSH*=RtRMj4-#v7;b6*bYYq= zm6;zcSp&&>k`=2h63ayBk-rLI>crCradH+>hN>k>`Yb0hxAyRtB)S&v;bo$Klo}V2 zNu`1Kb%WoXy8NKbATo>>Y-7u*{N6+%%(tD?sge;Rc=WHcQ8z_4=S)Q zgA87#7!}=9$Mq?Prk3RE2vKS>;^i|Mj3HB)X~P)5j(>=_#5*z&7d9 zaCTSkW@F8aYlZMbYV6in?RsIsECukHoBp;Pjg<{o8*cs(G`B_$|1ZrVG@CfUMn{l- zM!jXZSq!-;s4l{d2dMX+H?D4kt)JnZl<&CA;BpuAVfgct_0g(pY5C6X5d)57qpkOp z{=r8(F`mpuz@U@X*P*=cDf7FZ<`7NORm~Ar*t^%_sliq2Jai;zw%9zR|VIg$SHy{tnRCHuMSNcs=HABeCo#Q(6U}Ou=mY zAvM!55cpe?i?c=;G=>Y9W zIhEgP(5XA)DH_oxTilOkXc0uIv8_TJFunzqn~_)3s&YcUkBTW#G>2T3)X+~;pQ<>% zDTEGMay(JiI(g*T2l~Wk|K_6gGMsOW5q=qBU5{FDLrI_+8AMNl3bh;j?R=X;sk~3K zLR|S83FxlwR~L);@%Y%|<6?BpfQf+m^UHQOI5eBT{YN*zx~;0;5t)4AFi)S~+HVHAv0$a<2TQqsPcul+UhHJnAe1nPBt9 zqwgF>mO=VcoU9jIOCfejl_&1Vi59IIYn-q=N`JemJL|bJ!l?LC;>mIv`rSD=FSm({ zc0^&cPJ_9c2KUe(>|evFW?1GmsWx9KR&a3Ru;hUTtkq`ib>Ji0cz6p5+9CaXXuEMB zNe%X(V@*tHs{P=~Cu@HG-9`(v@&~Nj+@3vLy_RIy(3pQj9D2?@Uy7qoDs3CS=ydzb zrU?!cr-VLW+`UzEwn;kPp!vL=FOMK759;PEy?k6cAMR#jzC6vn0ikdIW$8f!70WF& z)7J$pq4qY3TXKks+Cp_UC5yQwiFw|w`c4OR2*Tti%-Zzd%7ZW5H`UV1_n}zmB!+q<6(2z^6b8nQp zwn+&XP9)6G+(*h~UMUCU&=BnCaIiCbE;vGxiZehR2ANa}`J5!`rTGPoO4w$~Txe-J z+3I(H(CKR$xncov;JzJo$CY@9G$ouL+z%?w#_+|&sbEFQc>(^O_-|jc_3aJR+=A9j z$r*cSI2}?ij5E!KEo085K8jiL9kT!Wc`-2iNSr&Z1lG#53t-`8P4#!i&-6) zEG?Jl?WMjIe~04YG+##9YQ>M!5!(I?1@fujPaDJK_A|Wq&-Ld$MwxUYUi1$a(G#MX zRdrRpg|iz7#4sN}b;EtNjv+`WBT8J3&!iCLFdcU>44MnSm$+lOJ3ff|oyO<*^wBXA z7s@h4R8{;S3s(vg1`~?dIoozxSLLB*E9WFJI94H;(l#op^9611{i2|kn%v+fj>rR@ zx6J-(|NGHd92W(*I`+qK8YxqQdPENc;eOLj5C)KJ2)?%VNa1dcemUhhaBL`}#sV$y zcr!3+jnhx$?u^3UOm$=9nKCRY@>fq{gx+@nt*J$M_c$jjAjwFz+BD_T`h{wpYNIJM z9!ofso#$AmX1_pw$hCYywBLx;3Nk{yrId$jJyVS8z2IKos*|`1dat?EB{A>VBJPmS zn_oR*>O&=twv+)Y&cfa1)&V|LrgXfot3Y!gE4XUt8Az$f^tvzldSk4b+E$(JV30w+ zq|XCGpLW!egd6Sppyk}sI^>Gsnv#fsrPAZXGyzPE_?|}Mg^Yro6}KSbZocS3Tor*G zR#koWuC)&~=r(}-MgN{5PZ9VKpcwWJU_!QS7m^Yk5hC+Tro4s_UC~k2+K~rcD}ZIs zo<|h7b_=HOwYi7iQ};6H>eb+6eV)DbK%YgG6@iN<{AaiGm;I-*WMd8V&*Z8WB9SV> z^T$JixZ(L%e_EGmJHC^N&VP=y2-t9lD!kaas0Gp}hLgq=-L<3>hh8>p9JFX;4EHSC zG7kGCIZG}dzqDoX zn?rv(o=0E{GTD{>JL{Gw)DjoJB7o`nC%z$J>H9b3czGk216>o}^r+;BD)=7F@W`%N zEg!3NP!Ohd?e9kHth>!wn|v&dcp%Rj+u4Dy@sK-gTG?;vDE_7%*#2_QMTUT!X#U{> zFHdyU!qW$Y;a5O=9oi!QNb5!a&q5_p$MLDIb*UK(;4E(($8d`MEfDTLc!Vc`4@+~S zM~Xc0W6#=!!e`7G!I5duD^Cqu_pDr6gla(4PVwlX5d+DEEwaV>tMfgN8|`V50eM&T z#bu}@-L{w4)h+pHc7wRXy_$$i8f}^9vPENMG%>!Dl^wtM5?3NsRaZ{yu-w2$O4nu) zUMa5v6vfb5pR*P@$Fme+JiB8B^iHnc$&~9q!tcdIo#n9b@qZ9+coDnig}4B66QZ37 zw34osM;3#F5(oJ&i;WyAR6SdJ7~IK<3T}fuSuP@j>ZY>ZuPhit8hUB-+9QO*R8dM{ zrfSdxeh|Y%)OHuwHBTHCkVW9|N@o(MCkni2lfH7 zCYReUr>%SBjaZsn_V>wEO+L(f4+Ha26F!7FJyptGHKNrtjV)pk6H5K4=%sUd?3bHX zxpQsdi?{UgVfuaOJj>sVZ!bpD))UzkToPFNZ0&N_c=336OUWY;Rwd`leo)vzwld@H zW#?5vGi#sO)$?q+7D+9`DT?JvB0{)Q0qit&@H|UM3k)z7Haz)Z?+EoqmO(c1GREkZ z(B4R-J48}l(3T)m+?_*DK+ij+t8IcXj|}I$@Zo^*3>{fq(|(1zUdlwyblaLm=^jYMmN}Y2ALlEDLK1OXNNmSC2YsMtPG^fH50s^mwZ%YkJOHsfUFP68jY#PoubL!p7o9Bl$04L+ZC~`>#xu=`~`tk+6rorS=|Y1OQ+o z6M!9KDW$=mzFV#S26F>fA?Iasrpc=kgt+|oH0r{f-^vu~s=??>4yfY1Pgjyo&_BR>4|w?p#Giv_0Q3Kdc0G3fNg$7ZnGa zOMmhBydp0ia)zgY_PO?Zwn`9nM}4rqeRFq$M?-A~<_#hfZ+(qO7r^6b>T@v2;ssg$ z|FHEIP;EtBwh!Vaz@V1*=y~!=3H}Cnmc!b!Kn)Ud&&}IkUzItbfY~i=kQ+Z z@bFe-=(d>fmcVF}ZymU)mrvfr&1UA^HgRqUYqfm~T-N#5bQ5U1-_c}1o|lPDLKc&M2!tW0^1EG4dv{Dh|P$_%V%fPSWHLcvbp!y=9D$R3Y-i}1O3#qcL z7ag-y@a?)lwrhA7gc8*jP1{A?EI;(db2bo;RmCU?)t}H)xNK|4qY>xRR<|JH5^C;& zeCQd@pbq4qDVCCAe4dr{(=&*_&w=Js&vnfmx&at-EB-PRn6AL+zdl;Ino+l;e>yB& zZ<^WXhB?u&DliL&nk_qK;ezwZ~oZF3=4UK_9MFz0#sjT8#PU12ipDglb>h<-mK|NFbuFRCDK|$p+aAXNlHwWWZY zs4i%nqeQBL%38Yi>rVnvDTzbEV_=KzrfAh-|X6KPJaS`sG)xNP+HBE?TMt!a^Q3HaDdY zPnUO7BZ4^VH(!Apoz8Zf8_kE{bO}!kP`!E;qw80R(feJ2L{~d%%-MQoOR?l5b*&-u z_g>rqQPm!uR11dnh~ADbrQdJEOr+?%s@rt?n_RUOWL^gnV_*UX75n9tOc1wPkUz(C z3GrxI4ea0%F*#sUHviVgOaSb#dyjV-cl(Xeuu<-gGq~{mr~cSUFrV7z%C{H*Rk8=T zL6eVBE=G0sE_jl05TY~L9fdBM(wxbIUG=JMNS)fjb<}3;JBUFig)C-IR#IjdLlaCA z<6VrWyghM&#;D4-oXjVi8YYP%R$~j^Dtk^w&t{%G493A^| zkVs|XtHX+zntAW4jJQpMH_(&b0QL0GO@2c2z=m1l>v-CVOdaTrx`^m!39BnX+S}bE zktx$2GP!6CLFTKm8exUNIdAta{`|WESJN(m!;-L)c^?O8$%3of#d|?! zU1MOCc;lJiSdjVB)Xw7mE5C9xr;C#?0i@%|Fna^>P@VYFNAj44&l+GPGcmf0)<@M` zyOZnvsm+&kKQH@kTpZHvX5NNXK{ZYK#r&rV8=y7WDL=IxX1wDwlsF80mo+?ij$~Qr z8O^&t^*0IH8^IdBYhaGORT?hLP$G_3X(AijO}-NBSwXm>XL(T&jD^H;TTT`fp52GI zwsA+0S^{r-^%}OO2we+no0+$oy-6}crhNeR9Y)u-9#6k|gEPk5m51Q`1|0CV{kN_T zoj!@Cj2A=pcZ2K=2i|b?qKM-F!Zt`VvlVM?U2`O%HfC-MdToNHjAb|uk&A|YfN2q! zhMNtjH>v2xTCaQ0Hz7;5BUed zMiot-ezk~~pxf3}Q#cJ_jFL|`4AOPv4CbeFPiMAzjVk3lVQOJ}`ZW<3)11*wV&vVc z6O~4N4#Z6hwb>p3OuA5%3iXq#Y!I_w>HSV_GMh7dGpD+Z z2o@cF!%W|}HXF;x4=I*U3@U6D_dZI%^_pzD+nGai(f7S=%)ve1q`w8xrh6w0(^Vn}?|KtUF(fzis{ zBN?k9Ypven_!MaDc3bE8oL%p?tgK@6OE=!AC$b9b$Fvsx7f7nTjvLopiZ>%P^9)YT zw`R0Zf zmCyxOki6s-I+hVW4n(?J*G$+h0{OTswi`kH*)^a1?q5Gi`n5)gNU@@!f%GZ_jx{$m z9uGso$K0;NSJ0HJZrVK+1qH(Y4sQ}G$IngK>{h2F?+q>V_FBZKc%2f*3N33_a-?2Wv?kwv<}W9lUc*pMm0gz$zW8c!s%+CN3E^?9-47Nf)ChZgbOsF zbo!{6^WC5CFlX6}Ck$4aiCqH4kkvFjlkJ?EAN|ZGhERH_m$Vb7<_2;?&bcjto%2&A zPHmfNr|rw=72qYH`O(e1w=MB5M4MdrS>cR5BY7o_>&XVzrv7BD{Y<3;o&^SFQcM94 z9Y?)uuw$`JZ!t|>|fCq&y# zlLv3DEjhoA!1j~2uNj|3$u#^@T0L=P#P)VF${mBl$6@ zP08c=0w&uf#l-l?uWIeL*6^5bI@TNgcBWRaYR?tH4wYTydn$%fB>O7)L>#PUtM-{2 z(ka^xyY?+$uz;MwXK&qxF62|Lqm52|46ADy>MqLgHaogkMmj0XgVRohIO1fR=`kph z2I{6OcaDS0jA_sMO%0hqn#E^1ZRDnQURd&24QFO78w3bO;o*^$fw{Bv>fX@RH6sd< zS-A1@=z`%{cHc-DhAs-`D@AP$)~wAOwcc8`dR=HQ=DT>Xto{UNSW#;~-~GHJ2n=I& z(OT*>_~PW?HkfM_lnH?JxGOWc=QR-_3>x&b$)g&Z8gMmC7!d>;I{IdD{-q5onJ?uS zNcl7P#g>-q?Pk32k17Mo!Iv%<<*ia18N4tU1Hh&0!la^-{gIA;q0!nqq+SNtYsk4M zSfas-g|=A*tV;=+Uwg@)JY(SH7;UfDp%4{|U~d!UCVtILkCdudNlr}e7D_xS)kI2F z6(j5DEld%GU*8W62QNvCU@QvGoNu`LsV{j8Pho3LGU+A$(yH*T$i|dcv0~$E@I{VX zx8o@9qLSC#I4xX%lk`qda7rnR@N4-_t^3USt~?B$4DL*vuwZ_D#v*{H%2be3;EdgD zZ1Dx_-H2SPvQ3>lPP#+zwx$t^A&RR>XzrdavTsg=WI(XB6^ z$k=!C0~_bqITiDXpw?k^w2-;I^RreuJ(|o07Vt@=D-rXM@3w<+8N}7S%k*(|c3l{C z7~O&#oDj+Cm=ad7B(&(a>P7j`{z=|O_A_l2j(VUTkBUKF6Z>eJ{!}djmfLXt9%szv z$bXXn(R2kN))`NXj%Wx)y9{Ps)?fJ3z-S3FQc`(Rbi>v?JezvWpPHg~QyaW1fwav5 z!a(zW{dx73HGMh4Ru&~SC;hjk1aOlmDb?*0hz%};e)WqW(6+Y670yXi={v%nE`gfp zQTJywbABJQxckI9kL|Ad-ZG8v(%4VLkEujHlo6dF<&N3jHikiy5HnAd-UreNWz~0~ zi2HF6+)9S9dCwm$Q9Ke7lCZ#{+4jcL=Vx-VCPfFJVO<^|J;BitJDzDYxG~|`i5Ai> zh1eslADUf$@G2*y+plJ^=#ur~8M$Jb5aPT!+HV-JU~eW=)rF|Bb`BC+=ZHaS2bqS4w@8Vm*`(vnXok@Jy+S zWbwJHL6Iw=wrFms)>IEodsVkKrnA>`QQ^F{HQlFV8;vrcs6no`2jZiU2}OP zZcC-eR-C3tlqm}Wu+Vy09gS${DeuD&A?vRY~ z5ZSI#r)xL%wXoGFf_;nRes|1O6Xx3xm5DLUb&>m&<4}n>sK8m*V{4KqXV!1^yZp$a zf|T>Q8dn25@?V@t)l6x1`rzfO1Slcmyba9Gl|^dZRGFEb%Xq>@s*lwQ?sg>c0j?$%6fqz#>Rv#4l-9a z|C+!g0>)TzGNlPzakA34f!wlwMxr_n4slb)ZcDu^c!+ym>4>A-wyGFd7K)!h5h?+!pHMz!r6k{Yw)rf^9fO00xH>$*N`#>2KTOX zKmDoBnysT!z+3g!6UJGcuESmf zhN&`jaGEsf8@KS_moKeH9BMH!$qu=GsUKJkU)QYBGgAL*fc)WvpZDFz%?K5{s~RtYOT5`((WJdH#S1GdL7q@wAlR zO#@}sJ4GkP5gj$;J6DCbfN=jwwcu?Ck#Kq5#i>7PbWBQ(-jYN&KzoyDSu9Kas2Vp~ z>52w&cit*|u@cbdmmeFv+cmo$=Az(tzLGPVoAbs(C@Duqtv((L_e;}F=g zJ1!`Iv?3|q%*FS5)kn1~z$lCO#h6@_&uH-Uk{&(1Of+c4hpxU-;I9&0HG)nR1XR6y z3R3=TBnT@r{d2chP++K3Q7mRoe(*G?X&N~9uK6U@z+3g*xcecoj=PG$^t0e=7q(UE z3rdkdQ-f8^k3o@>EIQFUPt7nTlN4to{oRPJj9pfjeTHc)=e$6KW2W1yz5fzxwS7B8 z`ze<}v%WFP4!9Zsi#Jtmj0m;(SAjmzMfD<-Bi*Q!EX_!v)RJ_(km!_iL}O1*baFSB zs{qMXrK4pmr)~e@12B-;wzm8Enq9Um+Y_T>%QM&q65gLn2f9~C!0EG`1>K|K>t|MI z3#lTfKsuY=r69BDaC2 z_3hE2>aMtU)*8XzVWPm&iRQ5N*s&>ES_8{|Hu)!?IQsNx^Wg4$wKIw}GNb!OCS5_a z2>w=mw%}UJk8apBgP_KyY_z-v?7Sp}$jF&?m8jQfd&cZz1Pn4ugV~uIfqVf&B;K!@ zEudWGTy`xRm-rngrcah=04ZqPAYorU7!IGt1+orxEZ1dI#J1#FE#2e!0SJNIM3+ME z@`P5$V@(jCSNI4erG8m*U$g#q))n&uO<(}}8 z0%Ym7W~HSAu0Ls|zW#%)s`Kn~on~MDAUJQ@Eps_%Mo*33;9ZX4ckemk(az0h)*ElS z%(9#h52c&%6{ZLk84F^v<x)l>j=~Y8+45#AdvW(qYDBtUo3$ z=mi#>FdqaBj&~1Y#6C2SpSiJhz9x(+3M;kmCn}OFHxYE1^RgRWePNtfJfe1Zp`%Uz zZbSV|SM%uvId(b&8AgQ4IDmx=qs4$3gA7y2m~abB*+ktdp@uB$lSUReV%3}zBb>ZQ zKS#-37s=!yY}9mVLm<9@Tca1VTne25<_$$cq^&eZF!>c?{~)A+h!yvfAyp-KnH^h_8*<>d4U(b31;s?C_EU^TQy`y1aoHdVsI_+qAX_B4m2 zE5Uq~K(p$o`7usIa9JOKNr8tp?k2AtHwd@bqh*wtn5?m5k+&42|L6EE7AYp?LUxA9 zKve&S3M1TF@%g63zop0Xvd5ockMPI8(#U^TuiNsI$go>=jh&yCFfhi?a_T9J7=11E z^3$dZb1;6Cw_Hq)TwT}FH*BUKxSTufztk^f{qlJFKv#VD0c#Yr;qV=hNS_va{jG?c<=+L%{dF6$J)TaVMP*wDrwZ$GLHJ;7rJ<{i7_${LIs7 z+0lVOQ~^aZq{h)VwXX=8KRQ+xifN8T@~P*q7Di!bty~fXYm(&MzR7oqzYk%LYJo(Y z;n?XYuBX_Tf>!tSY&d+?FS(!5z~ldWoGVH`dHsJ*1Nzl(vG6QW@~bKt;UbHk(Br2i z1f(y#%Di}^m2_qoO>1u=W?#sb;NoJD&6tsO=#@ezncY5$2+^0><-6P-pcFL(QvZp- zT!AQffcpRmhS!)NmgY+WqxUh!ZZBJVDU9(@{Xy@T{%idFNrK+z{a>R@DE)fy)tMbH zDJi!6`7Nb;#L=IfhOFcSbgPCrk?ELIOOh9|BqLXG71AAK@(*Pjd6k>flVP6Mh55cU zJti^5Ek89O|9#dn3Uta$;r}~E9Eez{lpm;2Zuks1MYfy?2e!E^Wk_9T1qT0fJ=Fb~ zLghXG-}0XhX|*_*n|H~FPYGx9PJ%X%Mfy|5#9sXOsrhiw>E{3IxBm{nSh{UGWAM5c z#-d3l!DeK{1H5yhVV)%-Qxlod4Gq zuaW)#PV3FrTktxo8{7NG%F9Q^;D@iMu(4EE#6a?v@?39%yVsVxbQjByn+pQ^P%%k^ zxF4X=Proj!&kOLW`@$Ii`)*?zVq*QlJWG0FXFwl6e!p_Rboa{eOGx|gDMwt4;0a~s-9xg8kJ9CwV5e|Jr}e2 zo5+Q!RfUHrf`6Nmu-HPr=qxc>qw{t=wgXmsBJM2O@bFr?)EjfmnPF22a&5r4z!PofPa-S3ty(`q7Mw7@D)1O_wT`&eVWdWQ3{2Kr(lsSmg2a-C%;H1#o=}o14X6o2ja94v_ z%Zq`tF798V-HCrL zm0<$g89c3DBK{?`jv79KDUM$XY z{VT&!uIzGYiM-*Y~*L&KFHYZ@g8)C zU~hKbDG{5@rqr+Kgn?mR?~lr#L$}7BCYP2t@%ZpDohVbvu52z*>kSD*TF~E~$n3=i z*bbj5?-4bTb?du!HMS+!ztDjDPwkuuf=02m{8aZDMqdtoT+< znwM-f(Ih@<**f|qu}elW+$0qU5xfRHo%02A*pAGNWVAl*r6_55B2Is9`P61V`qGegCePqg#kUT~nxLxu zr}JDGB^F%*!~sf&zp4{$*~xXz-c~5tH|p*@)vmx|ymzRwER~BUNYMGZOR1Bp?BM|= z$eG6+(+LGDS6Li6c6?QA);3uY=or8t{T-22kO(m15;1o<8RzMM!Y9qC8Xm5ED=2`C z&z7SjH+c{&Tr^|QP?N1%y7&CGRNwET6hTdm$oFJTe{#tG{QC7PrR@F))?|W~qbi-- zyToq>KitfPJ^UDq`hM5{eX2cK!#d3f&&pd4$?bjqaDb2KZ*RVH7#|3yNC+&sY^Bpo z#g06*_|yoFWq6Ufk8xukCxm0jsssGhkVAq_<@~{v3m3}9A;o@z%_jTR^C{z3!Y0uo zl5i#mnbTtyruu~@)u}eV@;zCyf!(8yqfo$;er(K&vnifnt8sn%ZOA9pfG?tW^fPxKa!Qp8|Hik$GN4E+gU=z#*pK(OY-ovH6 zWE^Q_iT#7nL@eiqz$8Ovr?XrOVd+)tt+AEbN|%Z=(AwJH_FQu<6au5H($8$_2w}C7 z2y=!#HVr7Ywye-WXvc=Bp3taza$FC*cGk!IBv1PU#8n!wwrMg^AVEe)5RTs6#>cz= z7lbslVssT{R-wcNk3e=zxR9+evd=XD<~@VNS8KjOKSVUH7=>>~v}Gl=KMQeuXs0*v zl{^Y@HzMHkOvwOsm3Z~u|1+dDt8V+jz+;>4wR;m;#YPzC?jJvBiHn=KeNecF+$`$JEwa9HrXV1fRKvu-P^15!nofZoSA3;4NXHD#(N zf3lI^_x=`A_rx=$kn4n$Hx=yK`{Jhxb(=@c!b&r9e$%SWI}@KaDd4mv%$3-NFkrW7 zih|~wBgxSD6XfkT1sFQ!!~bpUr##aEkz{xIhE9>ZTR8escF>CCvQxdRKXmMWn}}{H z^(O7LROsKct*E#(`}6hLlan0|gVLafo|cefR6=&r&QGM@_n`AVw|@(-9~O3^rc^T> zo6_=<0GcY3+uPeB--FK=s+27rZ~r4%sPfa|5L^s~jw-bB@v@+FaG6lekCnrp$FZoFUcnnRloeyO<8x45{ zR()7agVT1O6J!+B1O#m5GBKXubRJ`i?-V_0Du~DX^k%o9LW9Y~*GIC$9zs8A+y+Qs zz!dO!vx^t~09!`qt0tIC5D#);$v{+@_EZf4wO zPeL;o3rn}0g;*87q;x<;QRsQy4-H^VjYb*9p2bj3JU=Lgv_Zl`BdvN7FudT@VP6w@ zWWDDSy!LJnFHMT6lJ-9gg4A;7b>f^Aj~V)vt1oFl%pw@_j);bQQaPP4-YKf1$9e-9f`Df1T*3Q#7&W|4VYeZ)VrE{>rPS-*Y0;N`Kl zU8$o4YvdmNFHB)!zPjwamvIIwzpKp+f5Ljza1r6NFdGeo<=6pZ6*Za&xj_!;y1 zE}hk^Z9`hYkEU6+1Kt51HbbPWpWi2!EHew{9H*z}7u+^BO%)orrw@W{UA9%C^E`WJ zeNrUx8zlhS7ia^XR9nE0=VP|uKRW9O1Sa`szK#dIN^n)%IOUm!Lv52C^PEqLO`e0$ zNqq(4ih?ecUY(ii;q(L8!hV4$nX5drTEzq_j<7-4;u7`cI$tW76b5M?Fl|~?5i4Bw z-yXgUJmi0=vbW!%W@fpYSWSAlYD7)y95bicMJ~)TLPuV2Mkk0#&$r#!Bm(o{ST_WW zWYiI?Fz^gn)`5?k>(8~*Wio5l0a8ZAeb<}42F<1gv$fXuwSMmcZ!Z?Mwzj{ebuRK2 z)d>(Ph(`~B_u1c`O_XNpIiZL0krT2Qnm8yy!L375@1+358u)!ss_?k|eiy87)oT)f^u@IEh}5p&hjWXzksMop2Qx-{l+BC928!$nau#TY7?s!9AbtCTHXEm} ziH(XPpV>B{c`mO_139-NN_L%|o0yb`R$Y}4_3u`#!WZA{srX}V>kBQzt(Ukwn9WiA zD_v>cOS=zZLvZLh+__!`lg5uA015OdHvx_N2Ym1L?dZbs3m-Ew@hi==c_Ae~Uw0ok zVY4?I3wd~MH4{wT$*|uBLxT;qhbuTfT~?jodtEUy?!$VC>TJXcwQE%yTjC}kvu7}V zTKxhV<<5X`Ezgdu;?JWr#t(u$q*%Jx)uVt&%!C89=$gWi6ulTtb3*mZ%CPxh9nYUw z6BCoxhhR4%G}HEtu7e#2VeAs^@Bpu7Di(6aM;vQ)r?=AO_zSkfzEL?CT^+lH(ayW| z{oZwX*Xx6VHMI2my1ReHb_~5c?s_d9S`0Wa`0^)b>JAsfsU}{9VkhWy;PLP8?I1sC z@ptd|9M;bz!_Ynq)$(QF%a<=59Relqzue5YL7RC*IB;k@**l(j=xb4IK>Qynxay zl|-GI3GvltAr%=s#~Ga=Qw>*fd0>7}ZBk@Gitn+LI8P!VLjg0~{;3KXb}Wo@#Hp|c zXDa_dKD`GVm!lC)64*BVW<9$g@$m3Tf!wq3a&itc=NY*VnJPGjSfBK90Pz~HuP*3~ z8up>=(~aaDH9;*}-)T@Glq*HJ(RIR{otMzdm!=aNXp+z!dPR|5lHL0An60G0gryNzb}K}A+)#eO^2^4(DdwQsc&9H zY5`oHTQ#|YhJ&zH;)8Bydas9=hqLO=AWTeh{~gFQf$!k?N?$&aPWKr%wR6&5EdFfg zoZ;BOx#?D8yBphaCu+!UHzAksH1lDaNkT0O5`9W9Sv8Ks^@r$Y0=9zrytK*3EQ3G+ zyAbpFzDl$`{0eEEF#e11BdoiE&u&5*x9QEFr4EaaV-(T;!@1G0AINvKBFRvqk%+E0 zFQQPif1hbPuh5}DTvA#)UamcLZi=@cWzly64kpSZSz=_?ji3_>;Bzd8bFWH3Ck7gVgP@qb>WKn^joA+PT)cY^Ke;u;MW5`QfZqiNiv@07G6fH?ht1ndp5>!=t9L!`nGiq~{lIE_WD#Ip}&SwDY4&sJJ~GdWBykO@Djnih>dIJ52W( zawdOx$%NuqsB81JIt>>A74#I;9+Xq_{!(?znHS|!_yt)>B83URIx(a^5Q6#EF>f97 zJ#&-#S80rZDaIbFu}M^6sapY+trgaqvuUUhGh>tZ7J_zZVUMSeT}(VV?C9lq(O}VkKFQI7 z$B6DUT=M$iEY8ko04)Z7efm95C-ircg<#x|6q1K+w7##!!;Xc$(bc!Gf8Wk;Oo3+P zif(gj{x62jBE5V7l3HWz|IT)mB*@VJICeLmOBaqotkKt{YH!C~WHvvXHA5#qJ0LS2 zKpN0Inc1O{>zre+%Jei!T@N!o-HCOPQ;#N~qJVMSTsIXUYb2*OkvxeHQp{z+$e9ez zg#<+}PtR*)22$^Vf7&ss;AN4os_n?Vf6|J{LBz{|k!8rE()#jQO5~F!RbVTnC1wVB zI_9!S--$}%;a@jx42+KTRiA+mYCyfnBtcEba@@?lfNjqYRa!uMZ#0cUf(8l+*G40F zFFQJgYAsX1ER|>!gPXv@cI^a;Vk`vMKAjluZbd?|qZ*GLtnbmB0VLkpCtjB>dIB8c zmqX^<^J|r6fi${@L$Jq`s?1uaZ4B^lU=b}1L|Ng2Y4YQU*pR<8MzZ!VXJy7h;YVX4 z^IW^qJ@mdIEbNOsn@P*)gAk^pkt8%Lm0jcL;If1)yXzC;q8RI+t zFS3*#t&497AIz5dw6hX!b+to>L)B8JM1Dy};U`;CO7)F3@k;#jV^kKd^*ss?f-; z;aXkV-)@TDmf`f|z z3056)Vf>ud~k)-8~!!mmc2&BxQz`i7tX$jBs5 z*ha8PPc73{xCpGbxvye)BRF$uY$9RN7)sy=aG6~40k|YJr+OB7y;wnZ8X2s&#yVFA zQn57-b%~b=r&(Nxld%?|?;eEt+f_JRm2UsbODx+EIQm}n0!VuM&04o%@D^w^Mj5Xr zHmlNXsZbkgcc%KCTIV{AQwk<`t9>>RFu~_DZ!?*%S2GAQ>2>;h*xZM93TRp#H3((i z7|oTM)BSP!k6o461?ZKxQ3reTqAt3r_g%pt28qVal7K^H@ijBck6QlXd!$o|9^jfTRdJ`JkEUoH-lCNZ)h2ChV~ou7-@Ij&eSit0};n6 z-SoXEmA5sEg2(OvjeFQdk#+~SY&_TpO;KZB0D+P!4LK=UUAmme<}%!+^Ibb{LJ6lW zT*Eh}`_Ap2HVJj;s{vG<$&$%l%&8 z_+zFDS>*>yd)RypgKB0uwQ)s_0rdz&sivY)ZUcXw4nS2WThZt(WAwB_0ni?Q(>Az6 znCycZZA`jdf`*FIjB!-! zOYExn-)nrmK(ZMo7K) zt_X25q^~A01iehe-4)ijYXpNX;f{B4 z+NDghq%h6^*tnd5NT*?ufrZ{n_(u6ty1PE1#}sd0@*~%_6DlZC%-2hUp`PBu0*^TO&Z=t>xxK4zNaVi}aQ)oE&%EYP`b^W+LrR0*2U*BDpOIG?jKGwH zl&!H%2QYg&6#Eh=7o{tGA3-+v<|fp$<%r4nh~c+V^M7j`Ky9OzJu9h}pjQ@jigous zl3Q|iLT}u5w}zZ(*}u|DMjYi#pXr-c@y^1n8<`jCFr2*XdfJ9a5XJ&7{G*?(@O4t5DnJ_=%R_vq4-535hpv-hBJ^&F^F* z;P)t13`yE+>4%0dw+-kn4FgwjV9UU5y{bzb!Fjxq6M=B(OESpw_M)ib#Xyd#%OZy~ zDACD!-O@WLWd@vl#+ncHw)Si>i}vRv4Ec4-(>2@_4T2@l$Z8giJM48#)6)Ui_-486 z>NT)pDsk1C^tbA~9i~B;o7@;UPB;P;%K@L&$TAaz^l6>}UKGgi>T*pD0V`LlTRx=; zzYJmQ=Ao1wgNs62k6`kXmf+V8fv zHl-L`u0*5M&4DJ&R`Dz#8aC5cXz#NdAJYgBNX-MX=|o8Cf_ zuI39yKcpf5n%ExECt8WgLRasY`pp}Q87rv(d19as>3YHTzQs{}umE3x50-Lp5_PB%6`;tjPrr_XG`Mr3li%j)qN-F|Xo9 z`l-4vsf%9B9KE}O@)d&vkKhvjA*ZN0&Cyts}*C+FaW;CZMt)hYG<( zSCTUyfD%I)`R_mJ_HwLzVJc;B_{v5+>k|M6Kx6CMI5Hd_GzviHbEY; z-)s0?5O+?Wa%QV<(tL}e(wB9&HfjZU38I?TCVEN%L}BCDmaC18CCAgrXRb|tpT|U2qXes#yJ#O&2YbG z>5MzB8*13J*+-Zlpws9b5x`NnEMdj?%Z$AM8w=3vZ3&=&Tt}^7(l*mR5@R}z*N%lfG)tzHd8@wNebmtiF_yu*`i~ljG9qcAX!tzt1Gqg+e)1%8ygDf+ zT#TH~GZpbxmJtuNU6iPx)9jr~iZ`{Qb5O%An_2r=gDf}mBWq0$ry3)efw9^?yr;YK zjXp={9|aZ?1(L{_W0zQ^^c$ClPqH+PRO*T!vR<|mMyjb%YXGQCWiU8Rgh|p@dNE$S zw5!2@8Eby}^TTp)YkOOcLW7Wr(zpsB!^)(N9YLVi9tp5!rx0*@x~Q-Vx)`wsVpLV( zCNw@`*k{))ydjifn~~&P5yVpf07&CmNV7<60o4X1O^U)mQlCGE17*M|68ESsj$vw) zO1J(*6Hy8Lt7*ypI-5y-o0#8!cxopwlIC+HElEm%C;rkbFkvHhI%x$$h`8e-Ak}-9 zLxiAB@uw?$xC~=HN4sTFDNt8$YB~qvl6Ss?92srZh|bD;fc59{F3sf6BYP)>>vWlkcB3>a z0(?@-)5kUi?1Pg?pCSqc`tt7#4^RHav{CM>3R1donp|_4I!F}{L5Bq+he&HMs-57X zu*>Ws#quhnPwvx3T%sy2rl>+fNhPxec@)`3mc z0LEzhCS6%<#x``{=HQn%JYBlxY`~I0FSjX=3>>a&LhesrX$QSJS5a+Pg86>M3 z-LcBD6Ypy{nufJ<@P-;90@*334us{_8`KiB{8@4X@%Z0AN)GwH>%XwB!sX_7aeMVS zed|t>0HKY%3DZydMM@g+A5x50G%(R+cMPdzn|H2ZoF`&o{1Vfo2l@FIC<(|>SA1>Q z+luXn!13G^dsE-V9CX*)PtUuL+_Rf-+{ju{FG6fx-UD-ohzAa_yXBQA`o8s@;R(mTsASwIDGa|(qX4CUdbiTK5aY9nGmMksU5I)Y>%flHS^r-&y~w&I4Np=;vmDoqyQ z@-tTjoFQ~)Yxb_o8?XT%6C-PG2ZN3H_J2$FxHBJ6$@ zH-cz^j5L{Z;~8~+N$LUpy>hkrA`WKwZIQ@9V`N5MnjG%NJMRg~S&tWUa5(X)-TXTz zAmnxO)1v{o&mP^#fkQhYuK&cgeJ`mhmBcli(N!TEJ(`Hsl2|u8)IQN1AYihis9x!H z+VCs?Vic-OnLeyphA*%h!4JRFLNE3Qt1KS=AejupE~8!#oDC6(xFY** z{>@CSazFl%zW*c=_HbTRRfW!{O|^vGH)KuN`uQ2Kp+Ec2GA!(|#BcLvhbJsxdyMFu z*phAM7}53kOY7km&%;li(7(g4HwQuxk}kS_%4LG$Wb#d1WuKU>qlR*N<;JBf|=Tb;WroFZ5YuEs?i6M{g>8(-U`pl=6`3fuaN0v&C@)?IEZFgHO|5i zjy^=*PjFahg`sGpvAg*fywX73f;k z)cp3au_x6PH_Cww5>#4*==44zYFB?1b>#$d0-=gr1N_%Qn^UpPT-MATaD@WA@>G%H z%5led=8tetOa?UmCP zh9D2I+&K}6czV1i(}C2N?;qmQ^ELUM?o10B!waNI>dx`n)69&jS3F}s6b=@eRIRe% ztISDtko#LN4Vg(_PxZ75>eTR68S4JIZP*c-xwkERh3ICaWuF7d3+r-9!JrLNZcdF| z`$GNw{7! zj~s4Rb!G)ZLBB?+_4~x?E*`509_Cg=$NXFVy@ogN0fiv`<`(pn%zVOVCP{_{rw#Ux zmox)IHi~-Q5?`}W)hV12gZl}lX3mC{no&+8rJTJnaP%!BwMv@@@_gUPU!Qg2fjnQm znHDz2qil#!f-8-am4KPIJo#po4_hG-b_iB=12p@Q6kAZ*>$t$J?+RWsb?2FzGg1wn zJYV-NoZFoX+v-t8bASAP*=Ekx2A$uBoqxYaY`@Vm%A%_gyKBurR)u2jvH!T(E-7C= zG{Q0hgEjTzMrh^`GJb8$msLP@0rO8+F*`S1tLFNh1b2#r`MT}#XS@?Lk_x=YcPwP-4KP=0v^U5)`g1hPGj$#M`}b@xu4KTO zM~~>%g!hn~Og*~!^m4<_p-N76O^^}4lo&fzgXuxc?(q6$)P$`*C6kfujSgqx%Ki4w z)#snIE~^lE*Uzu^zKQV=q<3RS%4N>-B8QcqpCEf5by>4$4N5~!b~;H$tG4CJ^EGx{ zO7Yopzug=v{E7j@3syNa&j==c($XrWe{JVf>CIM?KeyN0YYkr1BF<~*oA3B}s~)uE zm5REuSj}OBpCv2ED=}h|N3ZvhF$ixyBDV|u7#H3S{y=fcZx%CZ=e)wai>V2cyWh9Ah^2| z0_5bs_r34uIp^HxO_EPuB{RR7S+mx4eOHf3lB=nW5pcP$*`l&Gg~#!LM~1zDTD!(H zrj%(hlB50nivn^I9zs&#Ibnu;p&vYOWfppFR_fp{JtttbX4pKbgK9R#pv!2Rh9kY2 zu*lYD81;tQmSoJ~JL)R(RQ{Zilb7LVHMt!&|!-d&njt`(ax=M!a* z8w=*=g{3upY<9p&-g2snm41>p1=V?$ORwt1%a;P~8P+HVsY(hw;Bg<7Ry`l$QvC@~3A*tPzS-UV zFT85&GLJ3eNpmdY--Ef*3P|RR@hMT%S}~4y{Ny#omzI zcg&ZSqL>SOEO2gx+`XO$9WTH04l0HPI9}b}o*j1yX0}Br>jm5o4fAQTs-%!IBX_*> z@+JT~-4q2`Cog@Y)$nRk~k`g7*vzWL6Iv@fA(0=uql# zx!zztoI$n(GPT&n3vgPp*v0ierxt5YsS&qx&erwDbQ^WHBB%40vo&uzZorPsc^WtQ zX=z(x`D$J_sSDgBI=qxyI49%-N?T4Du=Z>jcWDbAdTC1fWh3cdNOSMtoow6dDpT;` zA!|9y3WSSZ#<+N4eeqf5HSgQwwKYb~JodSV%)g1WAj3F<7TQj%KhDhzpY2lTl*R@Z zpU@=x9V}lox0N09^;{vZE3nT+x&a~?cOHh&akIZ)cp{xVfLAzSkm!VU#&M#umW@Hw zEeJ>e1UWD>DKens%>N~A{;#*79*YdS7C#{Y%`CUtdHc-A{ zm1i2Rg9ik;xX8()vO(>*LToC6V9gji32+WHylusr_$(VuZ^1C^iJanz09G`%aCp(@ z-%PS9b=ECkPe$1I9_F@I9t#(O;lpev?LR+azvomaF}>Rk=#cD0bges9Pt9@-3hpEx zuXRoDIj%r1&u|Q~GtJ=pV{vA03NGFHro|!G(9VZV^e=?3-$>nbYsT2F+z+JoC=D1e zvAJ`oC36_JXwEy2ej(KJ?Mh1Z$O*h?^LdQ8++#%Eed=&^1U1!n8lJCVLOR(1tjHDF zX!?ghc*05$e47f_++?aN=zKVz86E)(&Im@X0KDm4@Jz|sQ6ZTQe>lab>_V#|_eE)9 z1Exeu_UC}BV$4U-Bb0VeosZI(Q{q=ULJWC!2JsI-MC^6mR@4ZGiYvL4rG{Zvf;SYdofPM<#I-+rVe?wRUC@7;b4N&QSc@lR!^GUkI z5R=pz?~i;mIXmx>>DV<}a~>)Z0kf%TbDx(+DGg}Vw25t|yoxvB1*Jnzv46MeDJ3aOUAA5pt+irp$Ca-L(0#5vc zT@csBDj$yzqZLf=&5-aNHa0j6HWpxez2rU~a73H^t?vMp0l1(7!CGB6j8<9#_YBX7 zWP=V`c97*dgJzug|z>+g`5rkV>tLfR_NPWO*sKH+^|SA>LOIanE{RU z4_0b?37Ik;qa0Q-BOn?VKrD1hLiG%z%+c_tpJ$k;zY;3iHxFYFH6u1Zzmo4&52=8# zbuaOZj~F`o&$h$g<1!Xo+1PwkO=y#Qwf-L6O(Y%d_cew)I^#Qb{^YrLs5%(yNJXRZ z3$+55gKV|Le2Nn~o{WLGaNi88pOL0KA31ln1oG%IwCH#>zhoG?<^WQ$%H(Rh*9x~D z+6MHlMW}C1@=;p5^TkGWiua6lgHE;`sjNTcB$C?(Yk6V8JGZyHMN(bs9CUPLVPB|m z;G|k~7i;0`gUp%$x+R`tm~X2T47oo)1t9tP$7UMLXFS?FtTzS7wIRl^$4EwdUP6}5 z`Ua!dFns`CXSE9_WEm{}V4lN@dhcw9MYu$Jy z*99OUJyADT>$^j!eWU8*{^q-YfaZy^EaPW1Ue_j{Sx3 zY*Rbv{_@oZM9Z$|zotfp;{UeYtbEA&baG%6rt;12CvSH1?$eOu5)XUtoBdfU36tPz z;UX2EI$WPwXZhZR&?O-AfpL4=Gx-W+SyhJ(#xwrfNE^!(oxkKkMzn8mD;o#fazP{c zw&NPT*kSER40AhHf+CDJm|@g)ADGP8(=U1u!@-Y(XS3mli&qOr(7~R>-X0}3Je{r> zG!~}WSS$u~_L>xS#^fTMq)2nQWZoZt@WNt^t2KX(;Kd7%)}=*E_$E94)IT3A3%IE) zr4RI|{!^f;P41VTnWM&}OuS6gdQ`a$a)>%IGI?rgwGrxHVm=bQD_sl23hSaqW8-IXir`>r%%EXPXWK8V4; z7e(j7|1jE4rxNd({uGJz-EsPLnI~|k>hZ}U*5fXg)fmuOYnqC&`nc74`z#-}okjVs zDD~N1C+rHM#P3k$3Bl%RQZlNrWEZ_2cOZtUVxb=dNCIxUZJ?qhA+U zvdQ9t7E3WHUh;$rXXzU}-Yg2X&!3ZGKAZx~1fGpe?QyG>8gP;hky_3T3>S0iVau9; zUnHSwOzS#AZvn*ZBU-{~#L9B)LIv`wS)~idmqXlb0MGAw5{wVU)y2Vxa3UBSUN~rV zExFR_cJve=%rz>WFD1@Fi9ODstUmQK#ZXybl$B%c6kW#W<}_TAKKOp}+zd%%*6!-a zC(D_?WX3C#gShe7w9{&#>D zggLx_Wu?u1=g~uuv1{1cloCLGGFsc2sy>aE7R?uu_^(6gR^y+_)c<}4Ihn@R{6`BQ zk2dRT8NzUAMjE5ed$jymspoZbqt%IphI`HH^(Fcje~pYZ7Dx`w!&I>Tt4*m{OST@G zZ$avnC(*TWTZ<8FxOyIxn}~Ni{%nMhd40c72kkdjv{lN{@t8tRv^8%*U7=EWerHwZ zJ!i+mL(F}mm~7B#Ifm+YsQ{m}(W=ZF*Za>G6ke)bv0ia*_LXM)VY%Z6W18!-ZNX5UL{2iMC>V33#hj!V$x>DlBl)pqbHU&r}%ZsJG3D}UtOg4zAbcK5_0`!g1_k@yX$1!#L_h~;b8lC}*^pb+$1BKpO94;DmtXmu z4;{-Qi|*y4Uj6$NStt9y=jOgY9Nl!~H4#&!Ie&PJ99D8M$}AuQ*43L(LjybpU&AU4 zQeH@sAqZEGYnNDVDk>V=%Bil0vh77grrwc938lfTJ_%2^zvG(;4@xhh|5lou4YMI> zbos+L+hbANR$gvkqGoIT(PqoSeO zyU*=|j>bATN!J$!!#$GUxw5VxxHi?eHC3ocEzfV?x}LrYzGe^hv37Hd-m+JfFrcH% z5Bja7rQ7l+F>l}O-t(@Hs=RP#*s_2>Sw#Y|?wmuyV(;dcf{V`aEyK?@CGb)xng848 z-pfhMAu6Bi7jTT0&2gFa_6gJh`FMp4Iz0ldq-3RWJ?_4h9^UPO2-;pvYT2I|%aG~6 z-0iXT@RHwBC7nDIlDfy|u9aHUxZ>fgGrJc#I+{3t<$KM5xIkk1*E{7I5B~~4t_-(z z8cO-M|MKG*?DYh*3HGqb$|5dd+ODnsH}kd}F_PXkZ3aW)5Brd5|9pGMV%yE&0xW)e znw*6MTCS@YPc2~C8%+{SFW~$;@!y}B|MMlYVnwqmwK>z1?3cb6WYqGh5NUU9vE&eA z(1)kpcaXmuGQ-ispBK2I%nS1gKNI8I*%XgHTyX0ba%YU^gQaBOr7b;P-~5r%tMkQ% zEXT~Fe1JzhmrrbNmfO;TdNYYX7;x8(6WT{|GLkBzKe1;yk9ge7e5T0ZJ7!!l*1MCR zrj+<`IGsIi^CIyXhRPxAA^KZf-%~uBuvD#}TKzoMVIfzfbDs6S$LsGSV}ut(kK6FG zE@6uTz1!LGFBfkPzLr=HadmM9dT4>^z(ewmJO<3k-#-9m(%a}$HfQ(K*apX@m9{R} z%4f^|^v0*PBV2zr@KO%icFIf-_W(vIZJEp%N%rb@MkeTyhnI)^fpwgTn{K{28F2uT zn2)cdd&ArCe`;z9aaIwRy1dm-=Q{ zh^CI`T|6L!^H0FM!)?KOFJx6dD<|gvDjOcYQ3w1peNaY8>02KDc$ zjQbf+dl#a7#E)52!%PW=VNviL`|_6Kr;U4>eieN-$lzbcr}@L&l6(Z!pK9!YPoEpS z1=pmCI$a$6?e`#3{O#AA@F`10Yosa1zg8@(tbV6iI16%Fkf3szElBlJ`PUT)wC*SJ z^2gB85%5i6)7>ZIsf?VZxrV6W%O(K|!rZb1YEj81e7B~84Bj0r=1=k#OyNw z(?zmrdQ=p5o%?>H@0C-yXfy3wJBZ?F;Kbdbq|jd{<>V(EtWU_W^h2}Jo?wM%=@aW2 z<@K7oJLeflvc>R}Z-)~z>9h{dmk+B$4@R%bx=4c}rmxv2apm6-W7T4i3I9eTdFDPV zB_!~TS|(sL&D~vt zJWWzLsaGcGZYhU6n%Y%QN0~IdSu(YLpJbtUBuT`7;O4rq4Icb;(u#*cH}JRrVg2_Z!(@s>&Nx#__Xz0Zi*b zJmr+3G0MJu`BD{8lJi{#zK`pB%mkbtei~?0jd*9D<(gH0{_VjT!d)0xpfj}(FI-=B z704}Cs1mk)V_Q;BAM~-rUOZcQ_n4!er{ZH3MfS4LO@iu7$)E*}hv{n@fFBRH6Ipjb z;uT@9GF7d4T|ywj0f)3&bMbh+eafp>qnXcs@yo6+P1Wg(>FW-PFVvG%8&B?|ha=lg z3)0FuKRMCbRccpy8w=|iNsAhYnDuY|p!y6n&M|rm&4k|ky?#aY91>!Vp!45bwp``O z!DSqas6`jdn|_-uQ?*;R#RF|*C%>()P<(c?bQdVZI%>i_0-Jn zdiSi%siVT%&Wt5`{fx@hUUk~Pa)PyRgVhdvL@;99KbU)=tp+GSpHQsDJnSApZwNeoO}iy2h`S$5%)MfIA~df~Rt=Ayt2;&Ip8NMC)Mu?s1U z_b7XCslCJcpl6a(*$0~eHQ#hk{8@+v#bo50765?+Dyf3uQ4$U59+uZ z=TZlIdF99^9U4<~P?Si$5fq}l{c@i|9m>a)QnsT@r(TR#N8bafxnf({jc=&s@dV)un9j^%@G$1I!_XhJzx z8mo)WQm<8U@#g+KyP)wwvrIV*Q5}1({DGrOg_UehJxgr}t;@PZjVVvr?uQOXktN31 zH`18T4AFWzrDWonF+;uTcG*;heA*6H?{ULSnZUaAJQzM~gut4~Zeqo+~ph zQ$Kz~#sx_6vQ5?PQddbivNKUG>U)FsH+v-XYEw1I1znEy4;uM1wC4+WxPU#ZkfA7| z4N-GvnD+{|J0tuA-o4Q!GQZQYOT!0xrAR~RVNe}-Y>yBP?QO|g(Bn*cbz{xj+@1OB z_GBG3tY+As!bZ2|?yC8~5E3(BJnbnnFEPsctU!PgDa|~5A3a_Y!6^Pon)m9a#Pn$BWiR9fdB9HLAj+}UyWxXf~YCHSK3zjh=m938P zqV*tTq#{jl*={lR?4UI)#*-WK1EZWic?5^~4{i&iB1=PU)#oZb2ddj5ZY8473pA&l zsI9uumgJ9{-)nS+qFFgV)7IJ7?5S{A=ahtYHwCMM^wYn@_c+nhaAKB2*J#eA#A+*a z`49~p~#fBw4 zpRC~Q|7_O3P0cw^=)t??SeZFoyhr?LYpJ91CPvKcGch{Q!^rhW&Z_BCPL0g~#i*B) zeuLCF%1qwKXp#E~D)<2%*Z`=)m}bTJ+{B3K?H8Fzho7ogh|y;pwE81Tw{Hxauvz>= zm)G359~!L?%YzxS;528y z;uO(?fhRdxq4wr;v$f51luO10a#4D$(A{@XXEuW1o6D|_EcL&E!!fHfCbri+~n~Ajd_*;!DMK&lc z-a06a>MD3dH2(0L-OXF8*BJ}bSEdY$>Gcybwb!kSOhVJi&an1vH5_3jd#%G&{EUSS z4=cTFCbph?@IvQc>h=L;;n*;ZAok76WhCUE+XVu@J}0|1ptZc~#m}~Hn1=Rak=mU% zss5BgHBnOuV6fm$cMa>Ay0!?#@+>}b2KHy#SC&rO`>^Jqzu^HUdWYpTU%d%Kvq;WF z^LUekm95B#ZGQ7HW_5{w%p7~}4cAYK1}0HiC*d_iM%pBNWhg;GF3fKl9)KCsW#8u2 z1YveJ0{vNnPd!&ASJ2KVzOvqQV)Aq4A>IX zW+}moX5qq6v9T}nbB**jX%iSui5{V)KznVRt}Vobo#nL^$EL&1XlIG8oHaO_UZakt z{5HjkLxq^jGU5%{g&)&iiV9iiT*Ul?qh#xP)m=$}5zw6qJ#y|{*-RN4m34CC%xVLOEfXH8IeNz3V7 zu(TXaQd8TSgt)zAYh8@gIDv|^oP$#|qUgxT&*)VQsb~+8cV%G$|M*2y!*ZCYyPRWn zQ5yIf*c)w1eP!Q^-K~+L!E4n48sX(uXZU5z+cSJu1uCD@Fg;wyHz(EDekEu96(X?P z-a-eI_4%G{rNbeTt=|3JH<)G|_`Q`H$0=Lbc@Y1#)jP{+6XuspdF%~suONh8zv9TF zsYQmvn?>w8X2!w^f$As>E>qT>a!ci}X98syAuhl7x1q+BO>qu|!itUYI(;|;Rd&94 zwg%h#Pv)E4mWx^VF5~U{60n)|Mob73Frc_oMw<@dF&>a#^}yCHJn0t0l0=I{u&4X} z#i~P~$zX0fdiSgY#UFtE#d56Zlt|fMj?7sLG1ubVVs|H+e!rb41)-9VuS&t)Tb0H( zGnRih7BRV!BPVHI^kj*+HW_Nk%@g(l0KAn2f*Fi50p5Ynztit}&BDO9upLEEn_;E= zJo8H+tSR$lO-59?zXl@K1{06(L}3(^lm4*fCZ4U%B(_>q6n0##oUQ#MDi(j_u z@J%ja#PC-d=$#+B*fOj+mtCzB&$j9md1OpDe6kAZ9XW1Id6@FVa^5-JUNmO=WXce# zO17TwA%HnL;>D9I+MKi0eaP*=f@n8 zZ*K{lV)qnE*UqaFo9x?W*Ty{E$@==RNUID9)u7sapG*Oik&^*mOh47~U-U^CAJ1+7 zET+Y3wf9&3{OwcSe*BePxJdQQ*r3yod2mU6czf*@0l$DUKM7}e4eXQ^Z50d9h1MHa zmNiEdm_=kR7xI4Y`-}wH2RTw^k`%it#*gCZ;@j?1>V{;>{8&)Yxs#vGVtZr^XsG<) zj~q;WG!AxyObc82KkZ*aqtT{xPbT8P{>0H%-63-f#oyGFRqWryzxk>2l-O~RcsgP} zpQ>S+F3cbXGxH7gG%(zX;TPHX?6$z72E>ukL^nQ)ilGljuWZqjVwQv>GyhJ?lPq?O zRchQWL3gt%_lRYlU$NERE92?G;~xf6uTwRR_fx?>IPN=Z@ov3QAEoJ(^0K zXcK%YalIReH#7=1)TC)E2f0K(VjhwB1^07VnT;k2OCJAN07WKzGwP_ms#*CgX%!Oc zHtBfx4Aob|hw#8*?n(3FT@=3sB*nC(aTMCGU(_|{A0k1(@SIrra_ahM>kTlrufh4q zNDfG|6}vfr=wEK!H&SWmeDe1c;2@lLrh#uW_`T{wvQS@c!J5RuCU{r!fi{=gMzaS1 ztgp~}dq!52Dz;DdD3W3X4ruxASx3XWsgq^FXVo<-s6|S3uoEN20

*8oAZ@N$pKDG#CtdGa~?2cmnCZd10*6!WvWcsi|(d+cfr~3t-z~ z&In=vp1cYZULE%^Dpqo+YpML4O%KesOuwCj(Q4V4`&V)^XvO{tOR-6jgQg5&;Rm{>DOu6(c8AJ}Z!_oEvv_clh z+3dg?*yQLFH0oim4app%_rZ7?`+sJiw8K@h#MqoNDzesM*Re$^xgt?@fzW7uw6LQ= zKTF1jDHdh4-Vg>37B^i7Q)`ue)zC#&Rj|>ocI>hKd@4=?*UQhjiY3@!gBmd$X3Ur) z647NKmre5f65yTEU0u_8a$udtB3*bt-7l;tS~@|*=&%VgO6cxv$O)|1o(Qw~;-f{| zo8)7BMbmg!;R*plnmWD=9_@4pguD)PkQbZ~)xW}zcv88UNKKOHiW!7D2BmJt$4r*4 zRZN?+93@8GO${^RHJC$hr$M;LpzKjfXTDZ$=wfg`Lsr95G9Gy0@ zm|QATe|z1Up4FIp2fz9gD9QNQSAs7fWrSinFLgI<_##@KcB#!q|J6bw`j@6qFn*D>M5eRvWuJ1-J zvND!VZN}cU-h0d?SwGiRI%t0f8+#=t>N(!8Aj9kM!-*xK*}199s||wJGq)r@P&)n7 z|3{jr7KbbLMJd=i`K`@?@b|NAwHJ~G;0i&RbJv302|9QT=F2rFCpLl0gx*RMK2S{|Yn(rG zpXhPuzI}*<_~dqKFoafVyI*xt@W4FYdy0JZyg4J5A=&&M5K)MR7EHp8lsC1W*@KYZGaj-}u+dEt+aRKX? z05uWrq#6k)tcLHNb8_;mNvGYKM&I&M^i5*-#MJD@;tIW9YNM4fzWp=%oNwIjVtY=; z(Aed-sGm(jxsXb-bams{MLYXbcavCg!s6KTp~uJLG0lvkr1P$D97`F<-69YFc%2F> zsSUw;IZFHTF!~Th)M36FB^H!o^K;5LO|^&*preYiNXxeQUTmXGgtcvL{ysiFJ7eI} zH6gcdQ7)RY83sk(^3XXA<(;x7exN!-sJkk(86WW1w_YdS&OT?+{ll%R$XCC zKJ=3hoaM@MgNq{q{VW8^&<)I()>j{SaEgusG4WFMeNSGTwUdfg(u+3}zrXP`-mZ~+ z9R?`Ein&@oN_e^jnt0#$`_48s^W(U;6FL)Vj5&I;TXLbkKyk6UwFF5DyWVfV6I%Q_ zC=#FbhXW=o{>ySmwQ1ADCo!c^H{vX^-NOjwqURAh;;6zFi%PO;NII|Zj-ZCxNB#fw}Di_}H0pJ4M=Mx{J%NdKft~I6Ggw=#^`=)1V@5<0kEGFzK#wJt>Hd(i@b6}PpMzbq*sjj~Xz40~;>q{x-`xd{x`G4W*?I6idY(6?WVN&5TyqYhBiD<(!v z*I9^XFy#9$3s@6q(OEn|0Ryi&{-#s~8U@cp@2Jp&m+@e{#w>&2LxV?fY|t|*JY8-e z$vqb6Q>&*NQy4M8sq2o@CK$mw1b7%SdDq^QmK0`51TteMl{>wtkNEi9QRVwr7F$(0 zoA(^0@Tc-Ni2PB-wyRIuXC$^aIc3Pm*SZk)Wv;E~6~7p8IT+sKb(j57Ga*iouUkay zWEk!Kyi4C_TdnQ7kC4M91%y)B47|wNoq6Zr+uRyq3-`wka^?!3_5wji%IDm6bCyii zB1{+QkXd!Z{UHHJwdAIGZ!0sfT=%nfv*ZTI7@qh^M(n^UBW?R*aJIdF_4$*`uT4as z+l{nqQ&1f^>bqH(#>*%=@3%w|JI0pxLqdNdo3Fs{CvBMv zfYo7bUpM-%ad7SUN%Q0!q>VP$tK$NC@VS43&>4N0j%lgj=Du*A_WHpE-3{^dd8QV^ z%Gv7JVW>G~TNU`McOdLzvB~wXgVFV4wYNN=V_LDEsRflyuLu?={9BqGn-DQ4uMdIj zm?AThyauPY-xWj->X_BIc?$w6$gv_`koznorO=<>XqoA#npWFg4u9G z-TSID)6Q$glGHG90{kxF{+FA=Vv>aT_eOy_@#c^RF;?$7zW&s)!AENS^zw1&GpSkxI?Y+3-HUOj=+n>(OjLOwA6JE6{bPYv(4R> zxx2LooB^DuB>B&M4h0Q{Jg7Puij8wIHx{7uwAPq6a~RcxNpOC7$G1bD8|7|y5`7le zQrvvy@%uU*Av&ixu~l*ek$+Zn1ZMuC@t%zL$v~5mpV1-{aKI*S>)br}=_OC-hy^M+ zjXrz!d*ABxiBDjBmVq4)s>Ab-x!h7`kVnbUkK_A`_874qd6vE0Cs z&_bLSr1Kvwz>|DVQa2cPbr(&Ta=ncmsg-FExWqo?oi=%|JfN(3asG89Q6_ez4RLfd z79JXYVLz5~AvXFnfRB&M%bMfP@ z<==WnH9oNkc5?4Zj9<0dP%YD%1ME16rE6w;su-41S$&+8^)vSa%IKN?e!2se9IADE zH4uixhUi+~^Rsq>KQ8+O3lE7thLY2eFJ*e`UjBTn8`8bEeY5M97_5Pn!qJN zhl)7L1qGnrK}1V}$N+7qpCXmeQl9hQ^Br0Xv7DT&k2Is8Wxb}!CSRzW@BT#zmlpau zL7GvJ+T=d02}szV>+CePWct=-@Bjdjm@BSSBcC?5+B*B;?{HF@xdntu6lD^)UaeFX zfzZgDYpd-{fma-4iHdKjRQ@*MQn;uHRQ@sv9E8mQ@5;%Q8{jlE7+0cYU7_+tfd`VE zPZ*{WeT*p-1hUnuj9cnDJCS3OCjpm}N<{QBU)5P<;e%S|0mW&4*N1}-{x^jAQh})Y zD6En;M)@;_W1!3F<%JTFY%4OCdpPg@?)WU#R?K-tHDwc4h%gH{>znLaTiD~^Xh$S? zcV3UpkG#t9zeQ1N?qU8X5ES+S)B(5Ic_Oulm8AQ4@AgNfJhx8J9E7+QRk=ix;M zR$Dv{#iebV{e4FSyB%)8w5$>>#>1-OEwV*Bkan(8mEg17+26wP(RO}#Xr)fo@#sH4 zZEUVC(#d+b+=_Mmo|s74CkP&?uX~q+&RVc+5{v=R`IUc13+v*1Ep~CSt|An7( zzV}VU77@=6*^gG(0dW=aw z=4%2O1k|e}RN6zYZk?v3#Wr_Y48hIH*WC>QFwy>G2sy~n<=Ece=m0a#p*LFj--lKe zrn3>ujo>T7<^AS4nfQ1IK~p*mZ-)9@6S*m{F+{q@|Ks6SJL~C}4bZ(vylBh5fUz_a zk(fmg>6n6!X~-1b$!N44QDAp8c_r1az0t6C-#O0TT7j!hH~oArGl(V>meTI(Dx!Zf zag8|r6(kSV2so^G_bsq!DT&u6!=UU>k3)i+@AoUFhGzj5Efen>cq|&{hi3bAnJeMu z=|w_+jwK`bXcEM=teT-6OiVX1S7VeWzy=3m*+~o-Wg}e`G&XC{GIWt$sk<>Yx(Q@K zuT2D4+NeyHmgP?RQ5tsEknlro|G5^zdZZZludpk`=K>c0_oFUbH%xSj#OD-u8D|a0 z$7p=EU(&eYX0S%?JB+pmzi{^Zt-+i!#V01FBRLcQT5xkE=sV8p6Vi;?i>H7kvkiid z`3xi4tHk6bN=e&0{%L7yQ*IJ-hHppCDn@ufI-;QP2@oN3BHJ$6K?9^583_;7cVG zh#_Y4)VQ7J>yD(qFI05vti95@PH!>jI8?s$XFLf?$uTwM<#9&8B80^x7s5>zvhc;} zuPs%GIqTdbQP*6hZan#fbJAa#3Q%@0!wcn^XT9H?GmRnp6%!P_aZe>Gn@fNH@ci@f ztO(+mCqixhQ$&A&FxwiPK=S(fmsGg$928n7K{@_+La3}`W|rhyXZkrS&I;n}<*rks zoc7d$<&ad%O>Q5Rx0YvXspn5r=C5Vmc62nD_y7oMPTv>Wixo#NdnKZQ$$$}eRefO3 zSks|m>e2_XsiB;9YUOO0Vz4RR9ZKI!5aSr$-P<7lnj?8B=EpkmGqcmN$J~Zgp5b+` z<*Lo*R_~Lunv3Eywizb4i^oo=DA|;S_7eZ4n~JA93G<>aHt9@oveXNcd^LvJz{Rn# z+H(tsm0f}Zy!)bZU=e{qI3ty>`q2xn;fj3F^ zuWbH5*AoW62v>pUYA^c{i?W}p1YCU`%Y`DPw!hFE%tPAdEqgE9Kd?asc9Z+(Rp(Bu zF8Uqiwnm&lPH{^u!ms0>?^=Lt?a4I@xJQRDwIANoz8q)u@BGBE+YS9EBC z>Utl*JX6z5wm?w8zm8d#byTkTOYFdJn?1fCi!VU;L%ZG1_n!XqziQzdrADt%yp)%XM!s z$|T{s*J(U27p*$GeA-*H#vAO7veDR%-|eEG$jg6j269hR<=F|OruoD855Lo0|MjV! zH&meoffKyGKfbfaN5x@2fic;mGuXU?MI@{TNGza z3HFGL<8x#AdYh$F_d$Ef#=|b9(T|I_$kC(MrJTeJXn2Mv6FQfa1?k^Gi@arGxt9d8 zG)B$0oW)1HnB8>b-_ICDH=m2EzH^#*kbb8#K^`j=+%=PK(qfbRHwa-+con@iD<*7~30oYPFItt4hxoWWqcudB(t5$*x@*@oY3C-CX7y0_@(7Op z!TDfq;=Wz}+064F7Q@=lgeCsUdD6hpH?PcS;|QSkU-DUv96tSp`q4KvKof%MQ|GGK zu0`a*(@2&lq_05MioidMC2Ju#1X0hETDkU|Bw)~f{%M0wF)M-TuaU59a{I8Rd~29k za?WAZ;>{N0VG0dGG>A99usOlLN)tLq3oKYP2OT_})oVZ(>h5TqDd*=G4p(qQ{7h}? zScNtj%!+qb0B`m^JY^!qm{g}{OqQDtT2cVQq>QC)LejR`8Yr22>HER3r#1 zD7T_$i!0c>q`WUh|Ht&b?BkUdy;Q($g7?b9`WlMbEVT$-7OHGVk^9E;Wjp<@_9ai+ z>)YCB>oXh_sJDTWm)vj6K!0x^;C@Dz#s>Wn*rb2IQtenmNTdsymsQC|9#-+QU?f;c z;&*BzI(j$SWUrMe<-@R3N0QiuGOp!ar2H|byo9Cc#43zVbyc8!+tS1{5sM631Lb{2i3k{oqi-b0QvG2{WM!r7~nsrU1p#$WTm8a7+O zkl>5OS$L(`=EguAC?GKCs!W+pzj9_A);8=Xt5$V9QVN1-q~d{Ju#M-Po}I1V-fmva z-@pRgy+xI@Pi^zTJe0z@8mXVZe4+G3LEYCK&7knzjqvH|0B>8joks8u&K*j6g+L6> zcepCBN?Lbmy$1_jS?!&fcJFS}TG;{}*fp|}{ z8ZFbKjX88Vb%?`$zr$xuRxgRG(^nyn;YKIFE4)D-4~8qDeDR{W*7m3rcS}Jis>Z*v za{)(1^UZB-l3-0{crT@pA8m0g(mi*(Lq4=OB(jNU?Yjjbf>fXqgeBJOO6J%_ql$(R zrk|B*Tc5BAqXoo_7|PYSQpk9>wX3t(5@p97dvh&u-mz- zl{;6jBG%#YF`Id~5t0E8=NofAnmmG@Cp2#@{QP=ijwEF9rlJqNJgfwnL086AS@hIi zEKB+#{Lk+i2ZhxL^Q)_lqaUF9U&|=+ON2Gp;|}gJLsVmyU_kk`=F>{7b@fbhG^$jlA=f$S>Ep%Ok^U(#kdU^-T zEUVO4Na@_11n05c_tg(5*_OU1&fKboA-C>_j)UP^!N@raXdbzG)Dk=K;8<5lH z7m2s$1=hm_O{HW?yFr5^hV>ZkDL>$Zqh8z1pd)qf>C(hlo%Ci?GL@$L`^gKPHAM5u z?ErFiUQ_GQIVCRu*?h8uz$c>Tu3ph;6LVupT=6{^ZC(M}kI6n<4bp-%ysH2#v0ukK z5UGyA53nw)j+-mc$zkUhYB##sJ@h##^V<*6GzTRnWYS7KL{^QeZK z$jgq_pw#N+-x~v41NmQHeti*)WSeJQ*bMJ9kqYv-mqfy^mZg3Dx?^=M>1?S_0CfM- zTQe)-cmL1hpXVrWGOV7mxjmYTvZ)^kofY5R!yY<)kvpZvG6A932Q7=1fh&(=dJXT8&`scwgee&x=-*e4V$cb^_ zMn47Gd{ru1o|Mn|UTNY9Y+9v`)ZnZ?*MDRlZyIhq#_DE^BL-SOhV*G6dzQm{Y}-%} z6-kgWM3c=H-qn>Fl}LH9aJaksYi0m>pZ@?es$O1P$u))cDIxL1s)j&;7k)W{ziru~ z^iI_EhS&KX4=3GP?xCH7$U#}i#VE+Ev(=yMYrvVf%fcQdKxa2>!Q*egB`jz<;US|NBulb0to0anFk`N^1tKJi=}|GOe?T z-=r54TiOOAujb8UC;Nhtd`Ro3tuo7yrh2yG+hd}Re3O+2I9sPFMc>K8@d@lNwA1~l z1Vw^)hzmYj8|VzWy*wLxgyr84<^$fCLfjN^&k&tRR4N?t57G>d6MTw;%7nBBBCdxs z{x!V3FY!4x14K*HVn6vks?-1DpNreU8K)0)ZD^K+Z#O%4KJYwgkP`%3u|<{rfu9bZ z^C8#Gy}gmpmG-;kl{_i&SNG+zfwysH_vcP$cTmvEEo8-?3p!8#uzxvi#x-|7xzixo z>1C}|kr9_D8*siszY=sb*T8;utKITSdbTx5Pz|tCUN5XcS`wd{D|U^i!-Y$l%ANdq z4{Ic@u!qe)2Mo^3dr|b$s?vSXPwG+TKift8KQ-C^ednM)(~Z2@|H!e`=r})e+(!JJ zn}Y1<=p^`ocIDM1yg4;ql}AlPjnyDyY-(Y?-a7@nV1UAd9PKwk9+o{g_1mxJjHZ|2 z2T|klIj~=T6!@=&b4NQ+xNlXC;xzfoD-=fswRvo(pZ+t2XE#r=(qgGfxioJFQ|sIE zxi!DUEl7#W$e>UO#%%%*k3`-?Uo<;>PUEvz;CEmyJt6i+sh+j>9f-l@dDCIo!|@}u z+0_3wGT`nKJ~@5fA(1yaTpf6EeIPcy_4@I&AjrdPr9IuGO?6;gD_<&r_42A*j8#c# zzh3KEIv2N3P7D{~@*X}oHumVDm*(c_M$GCMr# zXldh9Eykvl6E~In@9p;gF@7z!u;s{nRFjOs-T=xsHFML00H`leiK;h^-&#HeOSP|P zr+#l9=J)9YWc1n`Ye6?ApA0m>KGgA$NMTb?z(rYDx7)8l$c3yUazWisW>Ett? zV%d5&x@wy^P6w0Zjdc@OLp8LfWQgGMzdf9u?eUL_`2d2ow8-YFCK%)_wTMVd{PI2p zNIqIh_ydDHclx=r)qchXz;_q+8Xt1!t469uY`wJ-Ws#$M(39iiktwB4Z6&R7N~ODP z9$a4f0IxE4iNG+p2E4I(r|fTwtGlV)6nMba5xvk$iMiz+UT)Npy0)_qr@&!IoYYz9y?$tKRV| zY8o@hg-Xx+_OiyuySuxG;1n&iXmKbmrMN>&a41f3ic8Sq5?qQDZqB*idH-dPk?gV8 z&RUPoIiDBz4Y(@z-jlgS3_4LAsy)i5YFqp&!}ZCX^engeGGb3 zhpNnKbM`d$jJQZ;^4|!EwSFdn$yV&Tit6$Lj=UsR=en;u(s`l^cP7GWDFqbi~ zWda{R>lgYJ*)OF4slu}}^>lun4snqw{6eytxuXm=qnAHcS@OTCl{dQneG2{>dyqW# zLtVJ1zh)HtQZF6?`FmruGMV@Og6_kWeW3S`iEFXf%S{$l4lS(!uoYZ{tof-gcn>To z-sxq>qIP+6q>5~+bw9hA=883vwI1`om&C>PA5zW#uKxGIi26S|7GHE7Ojh-dOx=8l zEiq=pXFIH!RCwLWG9~~T;dIW-lb9+Dx~lICm{t1Gie#(QG0=!o+dmfOOg3NdhhFcH z+`#Yp_X&eE@?FNC>txk;%v*79Z(WCo+F9twqu5DkNxnGNLX6p+ShNIe(3xl?9sSDF zQ4}H!3NcbiQEA`QRM-mSr7jAK>6uof`*w(v4pq_7XScs?6DF!auN7#^X9=nn;KKXy zgdG-=oTb)otUkt@qd9og#5nDjdY(d%GWw_1n8wy`#9_3yY_U`Tv-CGg!ea3MtTn-Z z7#P@*x?}841gQl5o&MAHGRx`c^7J5~#&;i@crWj!C)cI1LHG3?~8^?4LI zg?;93qFu%{A)+yynd3|d1N4M}El7E*vE@_vZk-^DcY7-l3^6mJhWx|{|%AsxM zv`w-1#a`ZSf7BkZ=szA#rJNl{u>;~DVHL9$V->eAfa6qCp)tc4=$f$|NdslBc{7Ou z*%5;JDrtkk&>!q|p?n;R9MMZ8^#e4d%7ej7cD3%OOKd44*XHjs%Bu?UHg0a1X3cQqX@=}(#wqP^xZCtCQ-Nz=+$IMqvH@(#l>bf)e<-0+K1Lm|50KwK# z5Z)JXO&RNd)^Yx>TMC&qji6whi!}KZi-?9{Z%N`#gv(bBr(qaN^k%b&wU(l7Q#Kxf z>iW+4k>FrQKB1U07(9=LBij{)wnc#MRDcL_ zqg#D0BX`bp*z4i`E=t08=?Ww>m5M_)1wi66MTslE@Uzu6VZtOcZ4+ zb@#?~)rnAT(R3JOs_15I1ILu6xeLZ3iQc6UwuNi!IxjMvpy)awT>b4(6m|J+~QO=a@UCHfAF5$=D&|BE(-Gg2rTzVK@3aq;!-R|_H7ZGF*= zANm7VjfN*TsqI7vb+_K_=5>ZDX^|4GMsYT?5Rc5Jb@>k5z(V-(>rZ7L@9IWLR%w-+ znwq*2@9{e^%w`iV&?6plZPrzVPhWyVy7>a-9CqPlvyN-ek+NnPDqXI3WjvZu|%Lx2Q7Ssg2M3ta5OJA}k`pBWuE%%!4dsDo_L8R+?qr ze1S&Sz~&k4y+99An}h52^&uV>KO_izLc@3C3CE@*Usu&!kv+68h0YGBW%E;0n!*9R zIOMEND_|? zde1Q^_gckKK;EsOyeemg=QP6s-ax+=hev;Bl2+@)^LdiO!rAZ(>AbJzta|`Ri$~h)BUJ|EHlT*yF8$7c& zRpknZb+rSwf4Ke}y%wLo=GTB*9wzqjS?7{3-hz1ww4r&{vN=E%4V9rRV6KoSfjY-taUk zDSs+@3)rNCDp1uxWuW!V@8}Pn%tkvGBqRw=_BRt_<5~G$L76!eHkN{ z*Vp}!8TDH}vK5&=@LmtqX8Ca%c9ejtCQ^nf8N!R-W{$(jUrj3$1$jJ#Pct*Am{PR@ zjoALT2AU<-f{YkaAxBuwjuZ&=k(2wj7#ego`{gi#fDv(+F3G9qe2(w0aSgeI3IbU; z<*bpW(Je}me)3ac7@Z6OBd_;#E(&5v^oWb3_6BVUixry z$DEl^-Cx7U+Zn3YZ`;Mj4Qn#uG+_y6kw*k>3I?RwYZP-eC>&ifGc$90 zva~aI2SUOuNrb~Ub?{5>1T#Dm?#+XBGxt_jR&2kw!Oz(NTG#k?IAooXxKg%Y1X7SQ zP3nZBy30@KlB@r*Hehf0jDi>J4%gd%i@=q_{el`!wu^3kz)VOnK%UdWR@R~d6)V67 zm%|jV6A|O)6~%-!e!9@8I?;VMt<%)fa%#%K#avTv(BTJu@oE$F!TFT&5vj?zu1Fv| zr#Y$V4H**BcV=hxJ!%Ag#&{D}ZKQBIX+i`;6bw2I#4o=Qc*+>9gUce(baTrwix3mz z@{xaw@bd8WU@>01<99GrIp-K7%wa~zSTlSXdaU3_l&+4XyIvzHCz>8d9;POqX7g3xTlzgw{tz$Yn|>?p>@e;87&QlHE?VlTr6!w9y6&G z)jG3KbcN4T4k@oCfK#nQa@82@_Dj4S4Ne&1-c~9+$ZC4&G3V4UcQRT!aS>zfIVy)S zkMwx$C>D7KAa9@nOi$i}$Ki<5PUWQfUo!nCuZa&uM{?J~$_I}U6t{C|*aWC=DxJnHdQLvG&vN3f0aqf(J}u;Ma1&!E(c zV^xBW?e%KUVb|ckU$JN^fr`R{pm8?aeG>`Gm2{!f9{i#IP(BwGd%3fRWMw>ui_Gg+A{6?>Y>ecb$e zqJu*1xC&mK&M&jISjAmvE7v9aT+v8_q!7}qXH5c%MS*AJxXXdr#db*GGI2Ds*Qy!lJ{F@FLsD{3crCu*T9u`lG`d$#v$Bucev!ZK|0q6FT#EaT7FX@p2HPhMv8Kl0Img!DPD zw?Wp|zvU{*uH>8k#J266qdAT=R(&Q!n)MY$meFR83QRg30w>hJ<^EVh#$m8X6^ew( z$E1NCJ^i|nC+HGfM0MiQxk5>i*#foul1k0I(8*$6Jp!@dm$29!i<*?~M|nt%kRQT? z^KKOQcuOV;--ta9NmaS<}6l*bie8o&3^i%sI>FBf*-GmnDIRK@;e#mVCVS+VY9 z1Vz2^Pi<)myVuG?hM&uIX$Hw!0Va4j!|Zb^-m?4MMyw~RRlssId+smw@0)GZy4T>w zs=jcD#f{agkmM@mLr{=e!Wg_^|!C037cQ0%rY5l^uL4a z8S`&HWK}mgO+5A-B@Xv*^y*CCz7hf-ZU5WptmJwP#McefdN9FuPJ5X0&8j)^+R7f! z9uhYDG|p%s9a(ZUyVK#EC_w&U^T^%#Iw96V=#(ip(K={!&v9vc|8zCSqT{o9nBOZz z|FXDUmFbU1;EyPf@7KzB{gACC-9n zUf58uyMaG?e8+~vmf=}0vDP(u?Ecl=yBq8>lqnmVkYgswVFNsKG z%z&-aEKk{wPNSGldF7|Qeg`R%lf>y5)!Uqh3R!g%>+(E0x zPSe2`UEr@!{9#}8Rc{+mN$8(RRs;2uA06wfx=|dgx0sAwv?Z)5hYNg#L6JL%Wc96e z17;My3zEZm=|nl^KU$-j?Dto7y`Oa~_ydUHpgkH}bWvUYYK8u8B+THpb{)|M`kF+Z z3_Ct0DpKWTzkzVez9S!KgkKBjK{3PMEH19LKLUl?8?pADN5zd>=49{3-{+NXe95lc zZm>n*6D}Ppe6T<`g)PaEqIJ;EC6%V6Gog;*sV-JGaNyH$C47O z4&BCqfH-+mE_6RlAq-Qd9Fkxn(9!qOeI($<_e!VJwV92N8fX;+KYD6937vJg9po+l z?x4AIVHH!U+|zOo0~^=|({du9Ae9n-1R%w&CSKcwevgQ(#2XhZhn-C{%Y<=(<4qUm z+L>H1x-SMM5!Vfu1224^Afd)|HcmHD<*;p|;w|&;Iat zID9osTQ|`{_GGy&dV`Nr1y-vbZ}4IpWZZu;(|LFOPJ4?g+SJfW!&A)lUsaR%j+JUL z@QKlB6h}e)KIuSZV@`jdjI_Et;W_viQQO}2puW!}Z7O97H&>#XJoZ_JnU9s z?i&IQEnx-4bjy8{uL6FO-HmN{;H@>=Pz5=TK%W?1bGbHYi_T-_;_rX}-DS-d6YWTQ zn&Kh-Sz*pw-ulf_xSWrnQ6d?YxP4*?sbbgZCuB@96LC8dk8U0QX>tE6^M<nC_Qp~1gIn9wc`K^DIRUr)4E zSfwV&SD~qMoQG%;q$YOWbW>W%N3k<0L1b~?0!MDUZjM7ciUYv}gZtb=%hTb$l~vur zU+u#)UAKcm=(ayQ4qZkEQ?;|l3Ed1J#a(pMT>6xz5SNCt=9XZ7Uvgq@6;HGEoeA4{RDZsB)n;@D8fwOyWD7@yHmdn>BZxz>(g=uxW8@UpXW1R7Qxd#M7A zpjH2}y`^o?8rnLnhSecKh~P(|VebOO!e7YAE>FzxdWM8Ftd`#LKT)z=bLi^X?C^zo z!z7zFJ|kKw%tQIYKm*EgP#|XremlEuD(mgP3DbfGL;uh4J421D!JVu4UG2xjJ2Fr} zBX=N`N@pultjkq?LzFSZA#dHGX(0^{xQbZ-(+|u7J12 z-f8dbu&r9sm?Y4L{%3m240{Z6oHE!9WHcSI6 zK4DM4ZRcCM4uF0h?hU&CTtfp~v_>RFcn60Ydsz}IGom2kI0|yD33h&y?>9N!DQpK> zU;_7C=Q>7oIwv5Z*-`FI8wH+Dq=GCz^WK>3c)}F`9$t{<{OiwhgdUAR+JH~eNFSHG zMEf#6O~`*<(XG8VvyU;m>VOY~qL+4)j9lQgc0sQss-D?o1|{P&Mwh{C`dH<5NzqN% zhEBkitmLKASSjHs$iL}ud6795{mJ%&Q7?ui{~5-v3*J$LMG0+LaC|$)?tG#RcdPBH zGX3go`C{Bqkv`h{)rR%Nd5yGN5&EP5{l;GsP3X3JUzp0=T~IvSu4pkd6!sAYvly81 zPz9R}%inrO_^3n0M4qq8VFkNqb1W^aS))_su!9bmH;0)WF0yV0ArR^RXHBW&*-82= zQRdWI+PH0E1Lh*z_3$)|82x4ibI;$)E(Jn#+8r(4DG+8+wr4DnWjq##ZTqmOs9VFr zT(mZBszZW5Ecz?g)U8j6@pWIFeNEN3;t6^xHQNF->s@^F^1lf3ihOG z=Ssz#Tfu148EU!Jw$~+UcL}FT4gqZ3+}Roqu5DtEy{&6vJfaGygK(Bb?VRnp>LRF= zeLwG)pMVzWq9vZ%jlLEM4kAYRCWhy{D|ld4VnF)zUBRVDg!O9Amlu#n9%WUEhLn%iVzll4AXXQQ!t0*f804EGm-Q_hqyZcUf&Rb? zH}b>?`H9M*X$>LPSR6+4emJX3EUyKJF{l};1`!0SEqsuSlos7~KpZk4L_?S?a{W5u zG7{an9HOL4r5;Gd0+hu?x^?H>fPuL9KvKV?i_;f#*^OQY@Uo_Xpf^Q#pJx4wR>P$> zyJe}A^VRg9;RvErarf_u36^v-a6@p@k`Db@>=ln!d%r(0n1zT&tnCq|XGk{1G9}oK zrhh9V8Wj_f|Di|sHE$9ssG(RbR+HR!+c-v zw7Al^T>?wd{krux*_Zad(JuR$nsr*9*C)pwYb>;|o>;ph5TBz`k+JOr)&OTO-*<0c zA+UtkaD@!sd=PF+V7ZTmR?B2}!QQrG{-sRrRm97r>RyltaMGU5Hf@{n#|bQvgy&P7 zySKRf-G_@*Czf7u1;l4xd2rh7w(ByCLB4K8dFKS6PnF%S#BvHvB)Ryh6je^7Yuo-# zCkQkBL?C1SmG>eB-K|lPw7$4 z?fNUcI~}G^p}Pp(=HL?(+G!|YMlb?Ju-P_vhVs=N2)-_?za1`b_Y6F%?U4ilog7N4 zgBOL@d`p~9PZd&;8>Gq4J_B6C_@cWs6}&b`IU*uWEc--I0k@j5LLTOQl#$_+wdrO@ z?(vG8t8fNi&n;lmuK99_{N}1<`3r_7-S)AF04kus;=sT2mtq6@RV`hp9piS_w>j1A z;bTkiQu>c@XXtw<_X2`NfB!J;bFTC|NwY5%P956X2>f3ZS(UNqr6+t_hSS~_7cpf5gpcpPKTRQgvcdsI zP*`g0(}lEoyOSwHM4FYOx*{Rnsjb=Fkuc;q#nAc+SY;e(_c(-e%)Mm;{oL#;8+kbQ zo!7q#!f{FqpXt~mS(ASd5qUYN|MVh$f0h&1@Pr2xwCy<_I$LSk>tk6jXemp#Z80=& znEZ?Tg9;on{TO39>wj+vA>Wu9huZqo0%H=~TsrB+e?dY$6CfINGvu}u#&tgHhPzCn z9yx+ws7ly3m(DCb6l!N+7lbDC&+IU7YEy5^hVlduH1IG;z=jYtBaM?4lmPT*7F?225@k;Re)OGZtH`Su9~Unqb{(1Aq%W*(ASD!Jsrz27tq?}1xm zvo#-9eXDS7kQas3ft$tEy~QSyZF2z(->#Ev~!BT?N}DkHro-7HUpRbIR*(A>c!rxwiGHlB+aX6eSVK` zKsLEERs-ry0TC(prcRkEP!$c6e-1a_XrR9AFBhEYnua_S+L(gvS6-zV_g5I{ZCrUe z%}`R-)mPo?B?k-OngY?=JYGCwWvsMzbZ@>H*>tJ6kBjll4^#X0r zkZ#T8@!on8()Zs2^+BDK-R@w1N4yw?_;0rtaO;QstkWiE>9K05^qM#n-?#b^fY69A zPIi8e5WyrJj(~m8{RS|B(9nYty+Lo)%$WS;wwWXyv=Rt zwiSf^AJN5UGF`-et=nw8&Ao5W3cX%~WVJwP;cHJ+FYak=W;BDlO%mmKyKpr%C^Xl3 z0yN{4``&z^1~#;;Pztl0<(IB+iMFlAqN+rUK;fK#!nN+={)3TW`ZhPy(XN#6<~9@6 zV)MwuHfr>V_bB70UxrK;qf9@viU$qyApP~=xWBkPzYT9W)$=`3%CDQ0eon}Kw$c^3yDcoX#v6IoCZbG-erGD2Ws#47j3SJM<8aW&k zpOVYd%J@87ei0nTn?KO65MALtlj}4$8%&Nlq6qe1OYh(`eNI_W5_jzCLg{^3agpn? zg0?kFoWD>?{Z5Qb4Yg%)DK)CbUN8wPs2MqF5eKc!GA-bm9$ff&JFp1>hRok~l-*Xw zFCO)?tCW^zjxi;O4Cs?_gcUD5MG9squ)kWWd^T&p(BxT^lE3R3$LXPrKmpfh%q!6s zwhrUr7xAQAuu@Yizb_ULoPTF34f>cSz_&An^mM9O;&bG{c;X%-vO5N~;~YB?0Y!xevhcdkYS7*-#j@*+B~71aj(=PyM+pWsOxS2sKuwf~n z#kcXMdyRrFPE(&`BdJ=pt;tvO9}&Yx;*E=nO-~*|Taz!M$Y)vQ*$;HRgIvV*h7Jny z2(DaGt+xVm_YN;tm$q0-h3Iz7-1)@mffDCSA6z%Mu{E5a(1QcBZ%qncLk<=-f|XKA}FGIQfnPN+RWBe*Wo8W3zKTh#e79aaDrr6|lwGwz_uIt4I1s0OD zxCLkNim(;^-rJ3Ytsci=K}*V$JjRJV*H$H)Y@TZC(4Jyo4?EgwJhUw_C*HpsX-W#E z8#V#zFdv$h6G2RxtRr&;ap%H!fz6w|O2tLioT^Aaw*aYum061;IS1&9d*~KxW`3I8 z>FVW>j(U13?xpm@I@_F$^Rlrxzbt`%UUujFZ>k4BB*xtjhzo-hnpTy9i?M|hxbOeg zs+2aA#Mj#!w$}cdTe`k6q?tTaKhkAtEV^|*qKMY1nLV@9>YJG_Ve7#qJ85+$QQ^yJ zw-nTO_hs6Z4eG(82f-$0l;sT!qD;!oZs|1rZ$!7}2X{S%1Ix%dWM+j*Ba0N^>YN+V zV_H4?U&1Xcgpwvyx|dU9h1Yt<@iaTx=hfA+6&ObAKWghwiFeOCsu$F=fI$cK)$G6B zb3GAbo;s5(ZK4~1d=h+Qw0>*sS#-MQKDWjViG{w5Z^3#NZ5++*>8A>Ya<5HGvpSdD|x~ue)>baZcoHCaj928F8%2$>daa1yQS{OKal2b z;V)+TXGzL90|YYpZmTWztRFu$rI1b)4oET!BNI@|Z*4U}SX0$3ymmKNHHu&l+i;Z; z@6f}kp6JHVACZW7xV_=1D2?G!&08dcy&u_=+?Jc+sVTZJdA~E3grZitNId&*91Ds) zyHW;ORB3AtckEgOWVL1CM#Sbygu901fJP+rSi}Z8f2U~Y83cQO$)oK}5~a|i=RoB= zw^q^tf_V=)|8AH)Hyx6fe9KNeqTPEYyu&G!N?{|2%%XlFd#*sv&&?EIs+{psv!KxS z^%}7?mtud8dP%$1^2Uj)VvRI;W01(+eVArXQWp1aa5A0uw4#UEzA}zib{zlB2$z%L zPFACY^>m{IF>jWA>C10b2XH!- ze~t+Xk;$vDQo_oqS-w4-42UIbn|Yjao__hQoiC;lT|0|}N5;+lBcp9eSP>egbbJhg z(XG~gBbR(LxH`L$BoEH%UW##!Q8klh8*L(ctcr55qrFCl6O#)|cghrc_9xCl)n{Ld zIi&fMqe&$l4ImZfPjlro6&1^ci-HX1j-a``>x%XlY7s!pg4*LB-rMD;X0q;gcXZb9 zzh^EmzgwaX#I^9JASCEnp1C2wIgw1Dw-iAW;|1}3>%XYb#Te=VkqgE5xE?gf6ZRpj zql6-TncSYjZYw;x?4}Uv_8{2P56oasH!*uBK9N%6{7bWj35@A3P8fiI zCu@=W1yeq9Q3bdgJ|;~ES+V{{?p#2m-&|!R8N)L5#zO-Mz#t<$kc;uMV#`p83~So^ zeBmAqTP_fL*a@8emUg^-Aq~qGS%x7Y24u0PqEas-;$_YdG*{vr=bo(AMvnFgcn%aC z#!L+%?*Dkon|{EHAD%C(MDBq+HM}Sp>@s;txIEGHDMX@#xnc6PA>qIm<@GTGQQEx^ z2~C-fl-&~ti|MF8Adt$1w1DpZO>43qR%|cu=vo4Wa0 z+a9M$O-aVF=VK0u^A-1KLpp37v_k; zZy;&6gEYkc}x_b3}{{q7@jDF^6pgQeNh~ql9s;Iq62(!$uq*oXuf# zrwJv$E0kH-CQ6#5q^*pMWfuert)iG78vt z>!${NISp7*-)IVVjR5jk{^fPcvy{uVD2BZn*qNlxbOJ?7CrDO4Ayyf8qn1Bw1kQ` zG=2lhz(x`x<6HNA8DSdMoGKe#Ijo?jHYX_d>l6HY?~HaUCutIAKBaB@kjJFHe(TW` zy#z|06?$uATGuUnMzWZXu(;*jJ>S0|m7G3q_@|&I(GN-X)iD*)yee1w4M{ggm8D#! z7CqZf^5OM$h|reH7N9G+qhLAjwt1U&S~lkXurcesJKIF(z|NtU{5d~s0oNjjgta1g ziCIZsG^j-Rh{B7Jlx}nNuDUbszW>Y#1S}IBXS7j;d?~X8rOOG&vuQ}`uiG~nyXhIR z_$BhI{LKY}O4zh|Q-3#L&M%63G)jJH4ah4oh~jA4)s5qe$*eAl&@kg>b@; z2!;q4@!Y1eZX=Y!5mD6XB^|c;MJ85#u6}1z)dH9l^aL^U)#kgGjN+;6&|{30_yO%k z4d-lyL7^QT7a4H^sjS(pF7F9nk8x`0*dWrtgJdY~qV62F zQn{c(5iBV5Nv5TNJ_RN={M{fH5BjST)tX_2spl^%z~f{j>Sn1xm5EuY`N=PA7QhTMC2!x+=S={|=7Z#exp}>#o+Fw;T=44XtmE zIzB;;hFw9HUV#gB-#@rhi2#C9si&_WKa6d|9dbIG#?Oh>&&sigB|ReXyE%MiMRaeN z5Uo7pE`m6+Beu*&=1mGxX(yEQm&^}GoT!Jhoz=>5&h2qpCjr$k|hy&UQ-6O8@{BJ$Lpk>-`WB=*^7y z^yAbPhHHIs)0xYR*)gAqD4lNm&4KSIrdH&@#=Un`CD-M6l038M6`PG<$gcxtN!s2F{exw7R zkyP>@Ef2h$ZU+)|b?Od-_W_JSftHHG*iBaj9fV^*8Z8_xOJw#%N1%-u+VI5OkCtzD zaF>^=SG_XsJH#53O)Bu`W{^5hb)kMCVWOG5(Q9nglWv!zNH?ns`yJj8BtI zBYcT_Z*x^Kl^%uQ8D172{LK5u+#rqX+)8eFBOXVIVb{Zs6aj7KE@}%0af-67qpIGc znkWRed%W@~5h|SVX8~0;>r=osgP+pc_+7i#ami|!-v!tjr594h&`U2K9F|%ZeVRf< zha%^-9f6w)VmcU*xU%K9kZ`InW9qe~8zd#f5)t2wdLlCe5V$li-H|DtdoPDHMW zj(n6vIrRSGkCQn>%;)=wB-zHON`(RVr}p)=Jt<4D#B9Fcj7{ghiB((}6NBBvi_H`7 z75o+V@am7u`7vJc2)SErk%)6B{b`_gfAbkM&;V>DA*ROq?+%M4?NSEiUVo@-J_`QQ zy_grGS$V%SYS2P>#gFucMQc-~>a|>J;h^V=8zAE^M7#fcs_dA<24hBbkNrt#RxGDD zv6f{&<$zCwELZiZEf{ZPqI!VAeRr_Jhr6Peexvy3)HXNw?~{A2v?pa?^$6MCukGK# zb3RyFV#@Q^5<3u?%8P({=c-p#ZjKiqt(+zx+V@SsYky}Za){1dC3h#MN zDGbIg5pZ+My%Ak)$=#`RX1?flwDpD;afj^S>T3fE!|=z_ru}#R3MCaVWoZql$*Ntc zKQ0LLU5t(o+e&ce#(ZR{vZ>nG(@DBCDthtHwOhWxOajl$zgY>Fj<)uoK#s_dlahmGMHcR$m_h1@bKV;P@Z(!hwI_3+TGi~jpGa{TV>(l*{>;FQ za&%wW)Fk~?esRC5)vnWBS~79=%IQv*dM0<=2FW&|QgIf~>jKrsi3h;GW3I*2*V1h_ z`;q~A3T4MhUNF=5@jV1F9)+D@%4C2Jja>iR&(Awq zahg-KQf=F`&BH%Oyay|PzxK9%)sxiXkf%FyT`An3vS7#|Ubw3XFwKz}T-E>srwD3p znj-O!c5cbKR?ryg36b^kNRY#8YMbhS9yT=9V;B_l-#rt7NZD;j4@T_5EFa_N-o|kb zH^gF_ZKk6kN;6EE5=7*n)CNXx7XO&j0~X&BZwLezt#~9~*vV9`Z$VbXohR0J*f^{R zjr``45qcw*rSOt97XpaLw%4%wN9+?drLaO`W-5Q(jkrw(eNP6as!(~=5Ebu4%4wd~ zwyS56w%k7=A02$_pNr2)ihMB$=8gH$q80k@RhMiu^g$HMn6yR8?c^2v4Cno^O|bqH zBH1W5)_(DSLz8W8#mbxO6#u!Ybl;eeDcz`IO=zAPYS~yY*~MCS);x6ab|Z%@(;%;f3}2J)j7Q(d)2TU(oJq{)w7g~$id5x*=SP)`etSJ9^faGE^bCYblpLS8nuYi(65nWaa3cu}s{j7|;38ARsq{Qq~mp`FQ2XOq}uz716(3JJceYMu(raZTm{l@MHY)hJ%1tTN5h4L7hLcP#R=gNzO&jxGM+g(= zSF~CehlH=SX?r0S%mF8h)IZc1c#Q}|eZJ={%)HXL+!)e!1vatYqO~I?0xUx>N7_r+Knne` zFHAEG?DgYoQFf3}%cUO14H4zeZZy6J({st0%1Bt}B55dQ9HNq}Jhcz+YHOTDzrUV* z)}W(yV!F}AaX|fA`~8;t_2GQ2>JcRD1ksBUmva)`tPd8}g4y11NTa z^2fr4AWm9-P)cZXlyUvF`}eHGUyj3f=GV-c`LUmNNX!+c+B55_wtGRiu0y;ga+%vB zCc^04%RRgigHn-Pe_E)JBI7<9ZRMkIq5&?D2$8aTnV%`ohW)M2Z=6_7wPvbUBr?)r zi9Z(x`4`1qC)P{IgsfigM#sU_mn6Nt4?8b8h(K#X06ihW!)wT~h5Yj+@;{jxT8k=4 zb%E?c2bnVmo8Y$}@?8%f=I8YmFc$q6?T|a(F&oI(^X|KXM=_v&3g7s-a(NujY`uR1 z2}emXd6AGGY@YZ!U%s9hOjh)VtIQ4v6ln7XP1$~)_uwo#b|@#)Vsf8OWlQJ?tp&O2 zA|DJa`bRsXqCULE{QFTY(x)C|)^K~=ad*ti&KD&BWViwcDF(P|%<&%_92hlN7O3;O zG{I_+wG9mR8KR8FUKZ#MiGws7L3JSL;%19!oidF~LwEPq*bn|S072Vn741k4KdwuQg0w$!z*v9PcJ6XLKmy7J0$CQSBj zyraB}^?zZs`%J|T(6zm64@#bsMB159j_!VVz@!ju5`blZ0?_;0)b} z3}FO$1i=Usi}U056|nCQ#J=QBmRDDI)DL9K0K8CVo(I%5=KeNTR98=+gzyvdDa`rs ziHlX<&i)m@Ez#K|!gYataI-f0fS1v5j=!g+h^;NyUlNcd%~(~>-;oATlyPw$u)gx1 z4-*|P{z*kRnf!e52;mN!4Oh}@2AxzaD?cpbiv4Q?q~D$o ziPYbVf-G=foNWg}Mkf6B>f+rrUfN864X(EWa2PX(kjupLHR(i1v%&?cJJQYM^-`=4lwA{aMgomc-Uv#b*c<|Tqd8e&)yjkrIS`eWnTjI1(%Ww>#Ilexv^ z>oV_FH=WTG?*CG)odvm7vgyHa!~ib?r~d|lBvF#Li-HHBKdI*j2jeNf($egNx^4$H zgmiZE6g*dKIt6hVW?NuzItrW+ye|rfAMlr`G`C!)&HY|~GLnjM@Oa#V5Rzr$_DdnY zJliAC&`fK%%*+}T+R@z15sO0@{+Ubj(a{URkPh28_1bZ6em8-rrE>MQ)$$LRn$WOy zy~D9O(12=y!I|c1?JI)31!b5S&7g?zF9e>4k}0Jq*@}x#;BwG?>94Rr8?lZS+-LFa z#`T&r?s4BI`A^#M`}suQ4M=L!HW|K8HhcK=q3mPP9pps+1^#NO450oJFx^4uHeI~q)ER^?#8WZx6EDguLkz8cymx+!Gj~`f6 zC>_@x7kp>sW!|6Znp z#Rou6JMU?H%hWl5T)78XQ@$3NkcZ+Q+R51qOga}(*Lo4JszBEmc86%q8@|(0XBwd2 zeU+FFXJlW&$>%P&484t0guU`8JCXTBUJOVK49F1#BJLoj5gf?~%2StyW(}pVY=@Vz zGEu;)9cF;yg4gEL{Ko*%lRBtPCh8{FuPrD=6tLKG~W(Sy$Ypz0rmGIiYiYEnA78kB-#{CKR1>PxFw@03 zcRcGChxNv*;Op09E>1UA7?JkfuxrEMZFS;{%a0A~?Vy~v<111K2zna?Bf3cMLY)I- z>hU-cnGafW_onMO*thsK$s6_m3sdQE$)&d9PU*BK6!iP2htgR|b7>9qkyoqpqXbC% zeW(4NUL56*C&}*s#>M-I%94zgxU|s%dw2-6SPIj5S2tCKYHMXZ|5pU=f@vm>*eyPO z&D&6*%6<0^PFcb&F6;Hsk_ntBUYsAsUgDD&A=y{ftU#Bg$)N*V$>!G2b*L%X_F3WJ zo!I|E{m1Nzubsl?lXOum)QtHh%`NI0#+g#fD|qdsiGp3=bo#n)PgTOD8E{OfoF?^bgdJ=o5$u`{x4GteSlE&XjrLh_N+rJgkIGmSF zZfSW)TGZb52xzd`1tiSfnVO9)6GgAjU^M?e;yPC(KC;xY5&RjF+J?q21k`Ix+_gc?h>$!jTvyi8-nxMOQ z?ln}U_^MEye(vt;9j_2^2pW-jcaH>w4TnnrG!C2+eVWY#$;u@+;30+yGsgVJ;=zNV zWZ>zg>UqapuS_BsxfDgU)Egu1eeb)K-82QF$r5KLOmCI4zwL7Vr&4QB|KQsc^2+1n zMxfB=EoyPxgEbL(mRHVbQR3pboMpsTnSYPf*j?w`NOYi34J-@uhtt0}?fAYBv`6Rj zmAF58Hrz(TFws<#eCG{=%88Ym0m(1PsSXTNOTQKk()NbQvuP{Q8b9N}QlAOn)zXU- z?qy60aG7R@YYx*hz3s+qM#md)T5CB1Q?=TO<*A75d)HQSA%Ov!8&cXN)GPQnM3{KJ zbV*dz9TD87rG*s{4!h!hxLvl2S=fC-4P^L)N%EEAgu<3GMTmKUr)&)*R(=?F;uJ{% z#~Sh^ehK>cJjzQ_g9>2;uwui#NQW{8swelOW;~5A@WZf@nwHY7_&t(sS`R{V&BhfM zax9%!8rmM2hh`Y{T=t0--UV%RB}Bvjwk<@%0YXP?#1a&~ICDrZ`*;4`+u0%Xz~q%$ zMnCg}l4(lQmIa8Bc@jgA;L7JFFTVpMHa6%VIV%-%5{Q2+%UKkDmG`%ot7<}ZTb$24 zX=IK0ifiXu{b!=!05Ap%dL)2_jCj|WLXOuoSm>Mv)(!Sx)GaNz%&E^BOUsXdynd6- z_Vn^uW0>bpT|eC*uPH4prB9Io>Inbi)&d0yb@K)F*jK>hf<48HX}5&Uf}r7b>UUQ^ zUl!>)wFb12{1RO-xrP^S)CqjB*JCV*Af2v)?uhgGrzpHMuyOmdaVL4F3s260wI0JhuFXOw?xt=lm;^+uVn!kTCWJ4RqOweOvH z@Tt;yU)3&L_E(NKd)V#RZ`UI4xQTKahi-KP7)!nFXhqm*Pi_HQlBIK8(q$(q6m9%H$X~jykpA%ioMzD zzcJ+`wT>xyHHrBh8-=u0%;+aX`<>ziVljm3j>1Zl zA_F^Fc>IR5Ah9EV z-#$DD1kt1AN#=*yXcbp@6=Nm1#L2Uq*-rK9d-Pbas9Zp{Q1vK%n5BJB`)R7Pj3lZn zXnv(p+qD_B$N|^TUGC;bl+8a`K{$w;1L%KKhj!k1D<4cB>K}y+|8f0}Mizk<^}U<> zb10R&t~4h`NLq8^H717AR!bW?29B0)u;Z4V22++8G+4;wS~dYo80EYDO8g+fem?yo zd9(O0M!3<*=;+DAGc(cm+Ep5RfUepVr<;|^$ zvs*9=DYeyHo9WvHrdLvOa^_M(bI8knx6;ESRa$eNcT=dR!dC%qC$Rw|sQ=4YG2@nF zaNm-RB*lM)3_M-J3j^y?T_C*~nvPC(R+jqH>!B!aS9jbSSj0k5tw!SM@HPd3LytLZDP7I|TlBvHN47KUiG)bG4@33hGdjcX;~6|Kg` zZLb6Y6%mc?B)O+eBh|Y@MRri`+6?9uty_z?vM)VehZQP;q>a0V1st1JdP`RWbV7Gt z)6iyEq+pnTTOHs1++N6I+j`u&kJ^Ke*B!7IXXlHXoh-+4nGMysn6?n>&5(PN-zJrD zm?1qIn?9+eH&GwhpOz2{snt{a@;d(0lN@i;V=M;F#7CQ}r^kGeGcIKGNh%=QIf!D* zQd(~7{KL^;txI~=3VRMg``8y8^;$~bE1K>izMnz9WD{rbE40kWf)%thqt=?7YiUxRA4RoQ$y13e>eP+Hx~=a0ZDJZ68SMAD_I%=j^TXL<1gl#3`Rw<_A2w zF#{b4vUx|gG)!aujJcn^>%pjK6nDaP3k;MVIgo|0kymd?QMA4EXT&cvIUxY2+?8fZ znrcneHhGOlA|&_XIUXx0$tc5#)Sf9;u_0p}0ihz^o8`AzTM1Hk>yPn?M?t5ndd$eZ z9aPEI`~A8A9-eQYK>w@jr)vw+w?7X|JI?nrUAt}vDt7kcw57T~3$w6|qA8$RC=iz~ z$fw!eJ$V_jT4Yaqb#WL8R~_)%QdK{Tdg$?%YaG~qt;_}p38}-Ch`@tAPy5NP?uqRr zkKth!mLA;MI5MdPo=EuF(7c|n@T+VDy`Hzj-jHzeeUQt^%|qt#>ce{P!MtuoA@XE1 z_u+59Yt=r@TZY+`g{i9-Ug7ZMyW8~;{prPO1)KMgyUVt$#rw3Y-f^Cs1WqdWclvGC zlcY=-^6HcfTDwN^%XwW_d}8saSsP5v!0PYSbJ5@G;|4CXv)D5!YD^DfrcS5oQ3V{m zSKZ%C6*73_nwoF$eUYKJ3_a*w`{ByOUAjh@Q=G z;1(9I8NRwzR)tYq^D|Bi&XAWLE@FvzV%FzVi*Rt~<7#^@*bV-eia2D`lQL`?m#p{1 z)^poW_Dr#CTp4@$ObZl# zuFQ_cFqGST%)iT^_n+6xE#|pqH_em(-J~h;O5GzGoO?B~Xg`yqDbB@sS*ddEW;8b) zfWFvx-JcfnBQJLbyIN0wxw-~>H27Woa9E-;sHb1V>q{Hf1prFNcJ41KqI0uWf85P# zcHOLi5pd@Fi_2qZ6wOZ}3YR5R;$eS3trdeP%d50B&;!^Qwvmt;#)-2!miNX-yH&I0 zwi7RXG44rK!6Jf}UK3j(OqVC&W135@%>4xN3fXbjAKfBGx^2y&hipLv2O&4$JGNlN z84L{T(H&>(WtbmyS(zO6?7h5Elx(%y%{|%*ZqnoN^h(dc{#TnIK!J97|GTZzDf*gz zm(7{atsq9f58rzkewg9ZD^A(@tQ2`R)%AEa(1bV+zS&z0&&-V8{pN^A?P5u9{yl+c zLAp6!LbRC!ws3yA5+KI3>gS8N>TPeCIC}Vd*|H|<|L_dtY31g5NszXrK{&5Fo7C!$ zv1?|S)>eebVN$G?38F$%R`W;BcdZ)d^m4B2Tc`G~e}WH^cHZtLf{~{W6KmJ2Vx~XE zTvl)Pw^L2*=QB&{kXMV$*he&Lx2r9>{B^=1n@b_AZWEhx;YZGwr{-t9rJ50Jhq+w| ze9!-B*Kd^7{@txs!XxdB7W*c-%VI{xfaaj~w3&Db^u=(jmz2o}*>Z4bgr^aF6Q~RSNZWJnpN9a&uc&0VZ^%QtOtwsouWuPjtsWlHOH#IOv-!awc;d0i zT`yrx=S86y_+tIyXZT%qL4$!)OYuX;S=v&7e?k)G9eOmhESFAvV|J{BzU;_Yv_wuQUE$q8IrFO@E4rc;P zp+1P@wcyKLAGsjp_|0CS_sr93-9aZJ{m-DNzTY@J@s3qqqu-Pq)fQ?cYy>ZSXPS2r z$2l^OTO$*lZD7RQCazq-16<5B7~WKvYErh(Miyh~{T2ez@WZ~R#QxreF6H_xME=5= zMs0Uj^p1fg1e2?I%Vn)A097GJM+bS)E_Zu0zjj~waM352>$>WUf zYcW9;U#xlD3UCcv)4k#zdh=oPak1QM?RKE0OEuyl)VSn?Szsn<$iTT&lgWIhiHk(fy4?y)Fgy*A_4|g_N*?f#ZUPcWeSXCel z$Np^kH^2^|5{pg)@Xg=T!t-+#_>CSiaJN@X_Tet~{%m*6fA?j_Z?wyD9G&s5=+1Tf zf?eZdwSkw?l>BIQ!G*V=2!|2h_*s~1$K`%S4Kt%@ek}9Gso)6(BO|k^gpDMQ$&cG6 zvEbV-Z6JR}AypMxUiC?bEPn9mEgD)7h3c7Smvl`%^}qW0{q{dH8^Ql>Ir!qcc_t5U zfuo0sg|1GZ3Yj~s(yoX5ULU!;^XL}YM~9%@I{P|{-jXnJSY`Gz*1>8~Dp3C)r_EZE z8ZO!D1V`;m4K0a}79(UODMjR*ZUeM~CH{569qwbO;W1|O(2rZ{{V)rK$pvj@A9vml z5ZZWAX@_d4{gl)HYvkyI(b`92L3V#Wv+;g^S3v3jk9TP>agI|jp)1()@^zC#e|;Ji zqp35Oq+<;#V)v=IaSLSbrzJX6o4GGF>gebIvr5WyF$H=Iu`iNv&>#CTr8K*RpAhE^ zj{j#&i&Oe{G0loiV{dHKM-9lnpDgaK_>CN5=?+NfR~XN{9GeLM`@5a%kyayj22_~W z9uFTEWh5yE-_oiJ@B4{QzF=X^ zV^&2rqBmAJM#GFM*l}gs;(GsQj2XFpDYhoH&YM_4Pw_@%x2Qmo>4$&U!X$qqu zBRQY2aCtgoS_PE`{$CwX`Co0{BU$Zt49UnQQzZT)bAH zb}!WWY&qbcJsZlI@-uYK-fg_6+>R4%nHN&doWLmK$Kg2E*S)rw@~;^!Z)?di z;mPSyXdAUb?WGY#OY1s&v2*`LYs*u=#wb|_aW?tJpLC6$hBXYSl#w_(3xW%%R4lSW)wSC5tTdXs zZ0~r)DdGxaNN3M1A5zr>H_i|UL>{>7fijaVkDK3l zqBz6Uz@mu!>FHb{La=DB_vp**f=7~jyh9?+Sa3KcImVQz6fc0?xcJXH0}yDY_SBnx z=+&}PK=8xQRB+qnURTiLl$;52CTOPdTN9_&9gR5})hg^jz*Of!$CMR{@| zO<(iaZHF_gu+TCT43);S!i%DPBv>w~Bl=^xnWZn)>UVomk=e4=2Kz4?l zfzbtHCy#Nu2ALl`%c5__^c~T!XBHIWhbF&uN}9Gqu*&b3!tL^}Os1%5m}E;+Tss(c zjZh#KSY*uxcMt9QF+Wk2o8JZg_#|=;xE0T%2wWza$-dl|~U5Ls# z$2?a@G61;%qq6K;uE?Gs37wbbfSEjzY5e3gSh@MY*cTVRdx!>ic17-a#f<6h_}9|| zXp3=5){xG?{p6sc+WQC9ch(1 zdM=@g#Uh}8xkS~`h{M2YQe|gK$WdzA8X&Z1&FC$E^%nPGQDWDSZRX+pZ&PzJwewKY zP)qaQ8M!33eEngbK%^aj*I5_8p`=%#5`L|DoAbtt{Z*wii7OQ0i@Q-9tdIbbRc!jv zs(2T%ku5xx=M=PMc9%;+(d?)Km{~G$SjedtoKX34B$qc58ugkLEiq-Pkp!p%H>99eKJNh$8%Y$} zXSwW*9{>eHX$LWOMV-iUNnA7!lQ3O0Z7d}$bOT&6%#f9CQDC6rPMHH%m!B`Z7kv9? zp1pFTwqi^ZUJg~YE%DXne`)9ZD-oY#R1-zKXuwie_c+4~#Ut9gOgV01N zia6*WCG*_c2bN2crj2cs=oHByQ2&-O=7DgK=>W;*AE5A69CYCPq}RI{ywdtfnlb3Rkk(lb~?! zQ!+5xVK=v-EJpBT5`0QT?Q2=MxLVCsa6%<~@&UK*b$~-rkdwalORvmRQfp_GHm6XMMUZ?+fwF~v z;XQj5?-htWP?%{hNxV|oB#&#RPOzYl#KKv4MB)cqQVJM4;y9hi zy0FLmybsb1IfD#-2={RXpY82sOIy2QL z4RKCjNKpu}c0i{9K9PHfSC6JdV3kgyzs{ynex#t`b?WYG@;AcO z)RCmNSZI(vcv8TNpDv9@enq}V7D4oKdh3sVAgj&aC#TvQzkjh}T{l8Q(&Wi31P25S z0jNq3@-AW^!K1qPsFSSiZzP1d~6)5J0T^Cr_cPYxFv_5PtU%h{bNC8 z>P{p-&^>6P$nM2%4*PxE$HvwK-x@op6A!n(#D5KUL~4uufHZXlG{X0?P-p$7)(y9OuK0L>%1#9+yiwmchQ>l$o~cyw+U&QWw_cg7&=|2>QkXt(K&6$0LGP3! z+LCC9_FCt>L)px$vK^h>@e_a|;f;w;zUuHtvzGe4kK_cwR66*-toE{_k@rHnL(w_b za(L;QafmlQEg4=-HQlv5`ra+In+9D+XU=ynNe4dHuv}jt$6u#7!g;EFvuqegs<^|ji@r1XEoCOHjOJewQ_!NQW;j$sib7M?X>gP;?r7roDya9W z-v!=4-E1o)@s`R2Wx62A4+=#JK5{BzoG8@;Sg6CaMAQ z^b~OkZ}PYhg$*LpqlIxZ;hV_y!M~PA9Ln?_A^yss@g`@-Dj7-1r#_MS2ECxaBcswz zGxHVSr@utwX(1~SkG~Pbv+*O?FL4xw$0>NMJlNN8pyLLx!2>S8mnW$qHyCRF8IYn>j&<0d}8WHDbg3}!KuqWC^9bEGQ1 z>(3Y?5L=)K&)3RH$qu;2pM8Z>>*{vtsmd>M9fG?0u@D$xk?c?HQ zFSOWfC-8xqBhK3nBwZm-|ME^8{-<`upncIvw?Zc&@ri5zB3$Yd8P1oXl)Zx+^MK<| zC46t^1O2l%vka?rA2d|Z*8c)52LOM7m2Bw3K6KY{nX`NQ*+yu>bT|wW?sGBn3w2!Gx-)E6(2VPp)NbZVXCa|h!~cVFRPzL!Kpw_Z?w@1Wr|-UE zWfK+UYOe{dY@kgEWFZXH%$6c^*2UA&lO5$iGWLNIMZs&u8Is? zGa>F#&;f`crfa=+r6nezHmXd~Q9APg+15Q;%cvH9t$+>HaU{4y0nLGQ1YbW)aWKY& zg|+?*9|XdhS38smLGLfX-)M+VjEwib1CITMj*09t2DFs-qP0bg zzoItsL#>|*-SzY4Fe;m%W8x-Zsc%4$E+bpwaGQpF7jm~g^jT5n@mi!aiPq?e{vJQ>cEXPO`r8IHEj%hn&1v=H5H+nAjPgQXz3KSfdtBJq$2n@@^` zs?+PUetI^6ztm}{;<>k=G13{C=~Wwbi%$2dsQ!^J!gyS)H9J8AhF!m<(ct5H_IYo| z!lz)&Yf3be7{&DF>N2JjUH%CU9&x1GJxW)_tojwh0YEW=)d!x#c0GCYN=H9UN7erB z&vhU1(5H?EY_u^{;VO=XTTQF2mK>J3E7Air0}gP~xigrr%#~m8G%9OP1)dsARUDlz zyr|+My0g~y-yHExbX2ieUMiSK!YgOP{mC_!ZH+3IrP=nWCF7+=cy-sSvsdpU_LP$) z@UMrKb`Hd#omsBVP>M89c7W!uO!nO@L7PC4{bu6kQPW?hV0`WO!=Mk*PNMV^8$&%B z`>GK#l*tLN_f=H~_N(|<#VMw4N4D&oU~>{Q5@l??3y#_~(81Kv3w6@?u2Eyt9aY~K z)Z!GQ(noc;cKjGx74Ki@lnZirL2~T|XkFd%i7IqC6vSd*oA^(0%vxGG*R^M5uo(!1 zwJ8iJCwIJT8Y;wNA}pcMh8B3u&Bcknl_UmS16jXPxWMLYzjIz1?yLHe2F@`RY75%D zqWnt;tIIr@EB34M4GxwaiGwJH2lhP20a7?3dZOWI1@I_n&X;P(hQ*JLoRz$NHg+E0a2ei|les^fpGV%`O~~Dz%w4vRZ8n$e zN3bSjGth&KbZlK#EV^1ac)~0vsb)_0AEASKiRA+_f!BM?Ysl+x@bwfwawZYEV_Vb3 z>lx@&p3yz`+ESS%itd}76*CJ3_;uS-n%fkh76A8GQXh3%sLjnHGLnuu*1EwZgef&j z%`bguX(kg-&$9a&H$n_3+-{G)fDxMLEuL(+NA|7_wN2gNtISQ4} zYO>0<{z&mF2R%TN!pm62TUdw1eu2bnI_Wb>HNT&Pn$(l#-RB=+E&bB_;>Pc{C`O54 z=gQ}ANwme)38u1>fR7T_D#$&=B4s}5`_HPdacym9dr#)WfaDIfYb1bbfnh&0U3q77H6 zzd1P^=rTc`yLMgw)%2+WyL%%-r5aSU8Ferk4_=B@i#qx8Ks~>^$%oHT{B^8|E*-O3 z5iR+{c5W*7xI)v?b?>uw^AmXyZhC+6t))6G!yLN`oq4J}U}(km+m5pr{vZz4A85<) zf2&i{_^4$5&u4%`+E~$xNM6^!0cMc&it>zhwpG`qFA|zHQTrF7Wsr2%hVr{XRB$@!h*&52atC5{>|<1>|u$s^&W&21GJX73LJfv3CU z8lHvkk7bCSMZk-bs`1XBm7W%!X00eZdU=pk9VW}UP?11j}brU0cDD8427tFD6#wA)L(5d!&t7IX~kn9lq(oyTVt0Tv6%og zc=JO7RA6sIZ3r{b_`nhUkT6qH_$MAaV zqgx@zH|>e~5frE=LEsAQ&Kn0YP}$_Xb#m2ym9u0!+ZyTc`c9&EnYnaPf(P&bmD_kd zWUCII?X_f{B01x!bGCeJ{=+T@>`Sx79@K z)`aP+k}Okm;_q#$M_;N>@F*slpA`=8WI3JEtcy=_D=3t#RWY8iZ2U5Yg5E;+oL|6J` zn45#q$64|6Jlp2n4dne;7Ido_*Su=u3k-ST~s=n`<5ar=0plU zZKDtsUZ48t{@-A73N#*AIGoM#%`i8;rCeR}p2wsWKJvmz{2pOUw1 zrgbW`MFmvFOW{*TV^RXQB@;{zp;KQ5j{})W{;K+-DuqaF;|2r5JG+{)*^iy$%TN}s zsiZp;a$A)3L8iP8c4$x7;2-PrMexB(frz&3Y&(o1{)xZ!Ua`M{dB9uziR)YBXWdax z_97{1C2nV4y;`;;I|cLv0qS3uhn2|Ez-fkg5eu82cE72{jFV2{wvt1?q;LnONlg(D zaQusT!>c(25YtPje^)cJ=~5K*Ndk0O2x#f~pLx2=4boysNqT~6>^iH}65k=8RymCe zb#F9Wp>f~`(3tuk|3+*vOi)NrukKt9RI^PI3yq*5s+$u*nR~qOEz1TBV{rET zz0X>4E)lHRm_14o-`|*$}Wm$Ra3vm0N03)E=?^X|r3kPC6-br`kU&qD#1vZ0y5IToo_8 zWGntye)aK+Q1?LnICjk32 zkH;FG^6GrL^)E4De9Edc!^$gd-JTk{N(Ys1Buw-$>UfXGp7p7U(`&p8azX!ftzdTC z7hkmz*DJ1Pvk^5TlW;&~JJ)zBetD@Ns9}U%^>WjA2K#QBwawu(uhBw$zJP%n*&IMc ztJ%0Q{1v|ghY0<~l*-=`4wpkYonYiZyJ_%=>-;KmeU+vKzQ^V=-}JF}^c$$TiMN-| z62fh72>X~{>h>sID}!Z}G1q-I6-!jpUj_5_8jY`H&RV_S`l)9snz-r*my!#9KoP0% zDp#hiGYncR3ZXx?_XN83bOkCN8h8f8}y@c1gmMGEE zH87&SNXWj&!c4>Ku{?uyj(2fB{5LaSX+}V$+U_ViO`xu z7q%ie8dUMs?o%SO;=euv({FhluI^(*gEem}Tzf}D1Tttwv{A@(hLzO$xM$u@SFT9| z&9C;+r5!w~l`A4iiiIZYn*w5cn+L6983|0GOBs}_%qW2^$*=eN;oWO-Z~<>~vq51= zBlPOIR`pl4L%8awhs}k=tG2e)^4;+@x6<9%-vHlEyEw*}lVDHdB@~xwobd=Ve9tcd z&(RS^r5{(iSih{^pnejd)QIvY=kja}^MEEDo%07ime|FZQ=r}DIBVc(TJ7%(>Cv-M z9JWc`6xa(V2|vX&*EXO-?U;#9O z{uYnZ`)EO6Q}-2;KA|>=pVE?oBB}`Hsa?ThL+T> z84jU#$$zu?lO?XnRV+fAjHPQi=@l}irGM5ku2`LVBj3%5KFuP}{m0qG%0R*O@EyUF z!Q9Nx6rbAinCsWep8U0POD=rQyJI0NtpA^t+DIfMg0W^Z$~KgSq&olx600kKMQ64u z)YB+5X7x3UO3yhBscv24K4$HjsJML*g@UtQ8zM&Iqcz_*ny6S!*A4M7U|NbdAhb?* z$MK+iqQ7b4ln=H!XACtqN_nl1-(AtlfdI8nTwq}D-3WAO)2?GtlF1P->*$Z5qLB?Q z#@@6BS=koJ2d^V_x~|m#*mjI?5yc=T=NL?ADlA9sxM<}ihw+Y8-P4g0-jwl@My%1r zotGm^2jf4LK$Up;D@&8m7Y6ZB&?6$G=J*zYIi9+r($BRd9Zi?!VTX)~^ zfn<4+&O|QGOvsxf6#TQn9Q?2skSpB@TKm}X_(v^%#v886rInp6WAn~=v|Q-&*OY&Q zL_;R=B3pxpuVjrP=X&I(B}djuD-7~&*v@t;e(l+mw&4e4me)-dwRpZL?Em_oDzgysRl2e7+)624%-=S0} z)bs*Xi;R%=x%pifO7lzq3TItX(ud{mU)44Lr&(}B*}*3q5Eop~Ir@`*noZ-3?!ek! z7hh?&ck&2dV1yvoOQwzUa_g*usjbU3-yz2J_KEVycYo&SfT9(Skx`mlc9eFPX=rSwn zqANA8I~JCh-gRwj5htmOYD=n~ReZE@zC?kh%`KnZRV=DkW%H_*2jgf3f1vsV>YJC7 zhPKS*90@P1Fl>c(Y;o$xKV)p3ybIRr43K`(tRlx-o3$Pa$r5P(n*=ma=s zP?ND?;VSfxVot*n7ks@q#vgoD)dIdAFkCA`ZF;QznTpHvj{4)p79}JEud^SR<@{6K3_yKt zN-f!FNFD|K`b!Am&Mx%k+7ShlH>KHDngA9b%E3$}@JTKf}HyX3v(9Ot|t4(Y)G-YA)C3>6d<%1r_d`DZQmuCfTz zEe~%{bsAbTboytSnp5{x59u_3x_j&Uf>m~WmLmjvjPcR+4f&(i>L^!n^`Dt$m&x&s zMXX7ev&Y(?w$k7cX3mL{Cg@>p5c-?HLLohF@^8lVZROQj$RU$gsO^v_2+?EMK7PhD znB2U&zuL=A?7F`V6NR_Si&@bVavkE;6wd^XPB#rO40Cu zIjIlVVI?1pASFI)yf-pW75HHg$hmYOtlDa$|oy$FRb=}m6?M)f`-w$QGa;Y?J z#71C^3t9zqSL5Na-W}qdyl_BMybwXn{6f*FX`_c5dU7OG%xH&Vc`Y@rj%;SK);f{f zH@2ldYvO)4a?ne$E))VtlbBdNt)?;1E%+-ojj`^UZPy+a^#_u!jt!8{5{EVSUG|?( z{s$ZP&v8QF-%+0|ge2lV&7r?bs;htFupF#27@S5wyKYz_&VOca#+=_8*RyFc!V#-slb6|h1_H(27x)JF?pWV~J(KWD`vR76+= zu!Tgrey|DSYCSUO!TRyQ4)FgYF-%Xq7<(TG5dZYCYWmdD8w6yd{KE%|qI56rvRF6jix}BqTh(P$g4JIcUE)LzfHt;{lt$&Erk5Q-~^3RL^ z(S{;fn*nqB+;boL`xNb_DB@}zl|>snT_r`xxklMHIMrS>h=v%BpkM%!g3F} z8IgzvU<*}er||Ohq8!h$;GkgIVA|MF@nxX?^vPPY#OI1R2pV+Wg3=>bn>4%pJq<+* zJ;SxW1igNi@I<%2r+lmSb$K6Duw zPjtUI!ZSvP6tO%y-^BoVyw?OSe-IiF~V>)=a}r`e5|R3eqR_}_HcN;i9T%XyyeNvmLwPn9QWp94qf^h* z(;JXsqEAWJ?O8af9CC}(H3;dt_7EpF-s#JfX($b#WgXVRLzUO;E(#NAaPKKuBVPOO z|KB@<7KG9HU#IuqC;HE;rO=R-;NvGDR;pT<^n(GDi3r!n{iWmJ%f;ia4kWMZz+Ukb zkc0F*DE2E6dYF-@c04vDmUs)OsG46;KtL!!hFJu8LhwO;VTC}mC#0S9F-A~xi=>DD zv8SFO_P8kIBQ{>2JQk2eUYR8(vV z;<&^6@djk$h#3=x_KVlTk`{>NJ^w#$#sBYAt}SuS=;Mo}|H6)6a)f-%!#R?4L|^E7 zi&at(!IVJNW4VAImtb8=g{mB8`r`TkT%Lt6ak|uv5}K3ljXeZ(b)9Yp zAY|`OR`uqY))r&5;?(mf@GUG=S#^~^IRK+PSU;0(7fC4KVE{N1(unKiu`A7>)xf@dCKT6da@`_ zyU{d0Uirryi+vw&Fblu+`A*M52S~e8g#+ussUA)3`g=(0PK3c%A&5&>u>%6=DDKWDc_W< zBAe=;Bdu0stG>>myR*u`qt)qE3QP=IPJP`}0F@8#DxHf*_PxBgy^UeNO@3B4HgBAJ zW!e>=IW4Z3OJu7oZa6e!qAExZ>l0Sw>(ED-TN~ptTSOnJ@`P{tuuHP>JxRl?!P+>U@f301j5#R3hH$?YWCDZ;n~aPY+r%Z^Oj5_-wGvjh559mSZAxx zjdI5y3>52JGlwr}4Dz^G46K@pfw5?tSMG+`$JlDc zy4>z(iTFusvJCa#n~lrdeZ}#gD)~t>Dx%~5r96>g zV2x<2KNHZ-etc`AO%s_eZ|`H$Y;@C8|t1UZWqqs|TxNwfCU%_Dhw- z!gs(=g51P90^jSJ(M=$cUQS!D%cY;eOQHK8=M3gia-@xmeaOl;kBvL8e1~5d0c%u{ z4>e%}-wX(h-SC{3ff``q_1;J{_ZDoo@bG@&=)) zD(KBz2azwqyan$TAsix*WdRFk<;Vc8#XDEo6J!tvXh#J5yiP61lsMJ0l(4E&YuG^*B+F5CK3%u{- z3}q1nDZlhf&0DNzh-4!lmbbOP82jKVsA;PV=iymvi84Lf$)gjiEDmknDd#4u*V_B) z#aoiRa8f~Ym~z^HD!$Ih=JKwkv6=|#|mSAs;7h;&E8oFxf633HH{KW$oglP4j$LAyw{Ash+@@Z-wdIpV)_G*`YoA zR_~Lx!Tn_F6|Tb-M{CC!;B}@oSLI01Rj;zwOBd)X-m^+!BLtS)qK=p8xzQ(kNt%ui z^>+?cl%$Ok?>c%iIMoE-#A{jaR@|*Om(kcuv>0ZF01n2no^277csNR#HI}{C21P!# z3VBBHyfx*C&dWbV`ZYa6~X9YY|W^l=F&@+q41#aiys+cS|x zh8_oClAUa}x|pa6b*uEeETp4Xco+T-hkk2sRnmG z++4xs7`x63E7rh^M$01M==NBjK0}_ibmcaZVPhKw=W4Go1(NJhAixAq5VO(Ih`ZlB z-@b~*6_iIU8okQ*G0->EQC1M4vcff&8p;LKjwajLJ2z1m^Qq?Z)1DEKr*>Vvc`k2F zNnR_h<)VXDD@E8h^)5DaGb2X1c-`eyn1%I7h1SKFiZQ(5uiPIXAtmgJ7I*^&x@cc3 z4C*i~SqM;6U`oh);}KnJozA^1)TS!WX*<-*%P&gP1X#I0@LobeExs0 zen)45Kj3%Mgt;>C_Ifj;B+e>~mC0W5p6GxaRru3py}m-a9-H62cra+!YapL!&2_Yi zDWlQ?(}$1t@gy70*U6+H>in+kFSv2Og;Dc$0Pp}%Go;gFlq~K5KO0;^T zS@xkVd?%li9s?xDb6`NKE=zOLFAp_w3bYC|shX^3p1x5jk^iOwda@7|R#~qn$~wa! zzz^zn=QK<&-W0ZyJaG}MJY)~sWIZCIW>w*E*CI{e6%?Iy0QAx65+M2Y_bnElF{G;?-%ilrbNqj z(k*Ui+^yDptqqf?wpS_v*S6Nh7W|*1)M?Abn=XJ<`HC7%#%O)?R)ML-Wpu3^g2XcR zx^VtcQBlGDOil`UvNPE=kZVD7*$g79HOZ2jJol>BTC5lgU6N*VCp>4;wzGneOpQqP zp+&kUrxHO``!RY|73Un&*vYAsDs%2qk#BJUG!K}=s)|z@e2iRGMa=ALSpdxxR102& z)RaDAi@y988Yv)>Tv#X?x`H!%Oyug}lh! zpitQVWnjs|fb!wm&izT)IuS>YeR22jWp6h0c-D=bmZ2U3367*KfNKlrO*CSC9DxE* zPupahDdA$kOGB!#O`@7ARRP-L>(Z^0PFQsS`|`vUxC^gJ84JTI;0fkWTo2AObkpiz znzmph!^R`jxKqilD7-KnOxyC}#0~x2_ zd}nGoT&y@H5gEf|>7)h07EF;S_CX2q8)oPef$XmW**dryth?)!rqP7KP(Wj%dBQ<) z*b2*fA^D!EbHB?+@PqKnV*;_BPsf}7FJ%E4bMyRAX6gjN#B$^~{;m2(>MjjGNoWx8 zk3pigpv&`Q!>`S!bAgYGkPmiW`vhaD@$@3@l+ejG6|)=OIt@$xU;u4WYSd&E3~>qf z{jk@Z^TdQ!$&bK3eLFutT(s%$E#IDT1M&O+9-5w8J2!4;RyX0NZQ#n2N=dxNU!MV8H;Mt)3!NKnd zvQV%Z(a!u)s2CwP&yy&sPZ}GnzDfa>?4*5h>`eIOiGL^IuxS2F$N}que+8XsB&Us1 zE6F9@DqQi{Q|Dr$+B_coKQBO&yh>6uT#MqPd=H<{X=mt=CcAYq5r_zombOa|BrUkp zdB&5XQ&IXEPwk4^Udb1j87}c}>sd9#($onL#K=CPG_Tst$Y2-^_45mkfJbHw!WaYQ zK>1HjYGO{?);-ot*gxk69ZuBkpfe~<=^wcP{7?z|BbxxdTvV3m1COEA%wE;5d!06Tb0gRR^ z*+*x$9(j!xP$vq#(swL#*jqx{n3cG;!%C-IT#4j#LH`q<}qKugEbOsia?EVQA zGd>Sp>I7h9E7o{B=?uwj{S=^=Hk@yKiE+^yT&|b_;hw4t;#!Z8m4TJ>4A~T^cFRbY ztv2uY@oE93=GhpEwB^6P5EUp@);`+{nvNlMJUpF}NlrXh4TQzj3R^UF=?=QP3-W5#MY>2MJBdow5^XsuFNOCP3&i~jkx}W?bk^))z#1WzBu~@(9SQ02IaUM zObb|L)3T+VifTL;vUH;P*@ucyLqt5{rKnMtCZExb{<=2D$dLGpf7Yql_sD?2KsZh1 z<-WMfQ2IjvCYK{;^iLeC(C@PGk`2M4FbUT3jr5CA7Zj1%0q(A!~SE)0v>L z<~e)()5<-!iwpephUUUQM#MjeygpY7i_TZvMuwj?8OWq z09K@xw`MJ)egclQM-6IrOG=Ra#4T40n53CDVGMQQvw@*cBz1yQtFv^H4)f->6%7n3 zV#uw9!81nw6xkcQ+q(QziHz76RHfBuL|dLL5{et#Yx@N%#jXvWM_pP(Q(H4zyx6jY zdxH=aNvw^Ko|uw?&I7Q*N=vjRy#BV+((?UzudnH(rF$d$yd=&t9w?5JAur(+OvuXp z%9sm)0>84HHeT-TNOFCwU{a;<9z+CkUSxJZE8M>cHVj|J?l8;p^ol3!1>1dJm$tcI z*T1CH%nItIk*$T1}{=8sC)oBwJme@*|{Y;NM<2L*+ivI*@j zZq!8;UV8Mg9xequ)_UBwqFW(!c-2fYbX=D=vP@8{LjBdIJIAJ9W5dmTL`{#wQ_(MO zRt&Te089XKfOJ}~VwB^8_R5$*INF+KHl^Y!6fOsgf2piPpt)^Om9bP_bK~i!WHCTx zsw2*$A!gh+vl;SXnKI!5JTm?ZYGcMCL!KxrF{AnS%f*V5*|Ed zsDat~0t-~==a{^fHoUse5>Aqep)eH1D>L`IYjp=CNc3Eq>h*Im)e1(mvJ`QGV7d4q zDPW?bwEn0Lk?5&sYG|+g8=l}}?FJwASyg9_MOo{KFZ|!X1|21}`fcA9p$G22%2Wxo z++B`qt-0v5qDKQ-Tlt&;86`uF>!9^`!FkWBws2&_79u1zCCJqdj&qDj=e$>nN2QsbIrG=ZaEYXzX6fweo#Mr_t%=1rL5#4k8egw>6|JF1?P??B%y%1k+(&&N@j*T}R ze8#?$Az!e%s>oZ4A4ZmD8DTj1RKE#8saxgJ%xXfX^88|DQ~UW=%O^6|dicKFD~-1b zyxJZ*e_KBVs>3^YEOfMKVPQkS(aNfq6m2`5PR!;4Vc1IDFii+r z*&x^GZ$lL@4_dC2SHGQr-7qsFfCeli85_Wpi6za}_tR=*&!cg5#_PrAv~PM-VxpD< zyJA;b5gkb&m0Xu4Y%yjxYQ+N_X)}w~m0?R5!-9-J?_T79JJ$I2u^V4))7h8&A&vbBeV8&1Kqau40Zb+Ed@PgQ6G(!;WT3RBaz zW~Ym*lwCX5i}mG>hc1*~TY`T3-rkH#(OB%%FcgL=R*vCmVLut@phSuAYloU(^(o-% zlf1u-@&0@S)hp_Zk;{>4a;oJl~Vf%r(ct;0#Toh}ypT|;^Y$B`*3F=Oe;&mi8 z4i+}|06itWxJFQA=I2OM2lm;GzpUvLM=2g!8g5X@qV9}^l9@_wwY6QpTWiBjnVC<| z7l+%oNs+yKo--yvML%hg1 zU|hwD!h~G6+Q^tPf)}FG%wcUOrGGawAo?Hmz&;35BJP*{_UsTmPl}A2@&0^Uj^N#X zM}xy^DzqNK@3j>zP08u>7U<1E?%IQJ7u;&WfsyIxr$ zM4DM3*@;&ivjz2HI7UW_8&b@(!C%Qmx+Lje8R-J*cV5R7?57w*DxMndClF&6ZgI+ZS@% zXiNuJeU@QecF)(k{)OaU($aB-{fw=Hzh9oR`*MtpOzu;m81Z8N%`EY)7NTxTrC?*# zYz!{2t_f132h*e=UF}Tm?R}z@`Q(J$6Geq}|Cq;%ZG)*~$vpve}oF++bBn!k$s0S7z{e!z?v?OX1cNcI%p<;;E6E7RA1JD@O;Bm*}zw zPkqR&&%^f1VS&*vF@h4T=v~E-jkHM67;H!0NYNF!L*(VHZM5yqMn{g~j z61@7pT*qH;V$O`hSgDB2#!!Uet?Oo|M`dc7xsr0h5u%d-xTV73oAlcpy z@0t^x>7ts&uXI>Ulp?5gVN!sHo3ZY3*L2-2zsnN@@((b=hp*A$dH1P;aXGsLQlC_{ z>vZu~5)8wHK^(V@NZEEPhkBSKo>-J*@~ocE^x^UA@~2!2T$Ajy%Au4kfvHqc)w&-4 z7Jlh=)xG`A7_&8PXsOYD`FuGwy`5)snuAgeRz#w5a?pMdVBYa$LuM-bJ=An7_w+ePbP$V< zHtqB@LNgj6@Q;1^!Pco@r;pFeYC(sdcIW$6&szaR472~fBAAjH2Bn5#Ws}ZMLmNJp zs!^|#hy0~J7Zpk$3YOCK8&=SKhg_%PZ+wxX#{g0$3e!UX_ib4iWnuyyg(ID`esb#l z9S%DdVx&|DFE*m-n6{3=Kd?wzK0P+;BI>6n$Lp0xll38KF_Aq;Z0a|p#*@+BK)~6Q z7fk{ewCHNlfd@8$vj{ggPYqV;#LJR_R!$O>w4JuelHN%bfx-b~>0DL_9$}J%6`-$) z%d9R>UQU8kELjS6$0GqIvuxA_JI}5y%`Cv({llUVc73TZGd~k9B?Crh>V98q6)_-I zQv~?{kh!q%i}i#2LA!y#ID>iP2^$7QgNwN!6AQQ5I18rM=M0hh~lfr4XLd^_FUG@YvZ%N$O{n< z`3}7`@JCE`KlJI}0lZ%Ybluwm8y@o8j*K3KCNDjUjX_bPEudL&tpSFVQOs((GI}Ae z-K7KuL;07NQl-AZ8~4BUYZL)ble3YFTuTYIu-5r{38i<=Wpof#}1Ei z^^5g;nEV)Zww_Qrph8$@qbg2ygu&f;)uZxu$R0d%olhz-sIVF7fOwU9B2&#jEd!$- z1?8%Vq=d==0#;OhbQu4tj@D=r=~h~OLocAs*@aypt^@hQ{UC5(g_f*_nrR3BybCZI z0Iu_}js}#vE}k{*wq;yCl7<;oKwv??9V1Ev`d9t2_K0>7wF>_EySb6axVgy-J&;h$ zpaPKVXO?Yh)N%mgX?T)@RWB8|aInrZaC?~I2P8t@g}X`OEEO8prAdJ2ZL^3{tD*Vu zenhDD^W4iA|HA0Aspj{se_mNRR6hzv=j}9lD12*MVji9RB)N~Fq=BaIk9Hu6ZRUZj zXh~0#HheWAp!f0ojPUWkACe>3S|^)E8V_(tx1w#M4AC?!{?ki1FvU(E;k@Ejc^>kO zV){ljGt!+4AlU!+*8XPRKGCf0v_$+H)gTps3Q#A}ots7?&8_F{prWQ5=E&~}Qk1r!!sa`qcYYD`bHX}O zjY+*>VmRyz;m|RPLo#gJN9SU}iY79Bthfi^imEGhR-wl4<;-XmCcU2*elJ6B#4WZT zd&fDiLm3y{J_el7k*lJE86}dKVwQ1C>s_Ze{Av+G>z2^M-$RL~BJ3z~CdB;oixj{l zps|wJ;dr-s8e<1O{cOEf4b*zlj)tep-B+Z{>YepVop1ksimPT-znhZ|z} z)DD~KoayLG=Au!7JoaxL2Hr&Q7QF*ln)s4h?t*Mp zfSL^oDtgG_v#?qxmTSQbj?=j4U#rMxPldS}4lc;cb6-p?L@qApG#8gPw!+dW7K*yi z-&skvG)}6~05e0|0|)Zf11VePx^b3pq%Hq(tSw%DX0&vRbzG*Xen=V9(#cm3H{qQX zcV^qRS^WMo{Z31b+}u|Mn12!|Wn|Hov{Hi$VDD~+LzISH0?GH;xT zEA82Zq$2ZyQo8OM8xD|^SmpCgc;X_c2Vzu<9voj=Qs>8>47RAsVSHIyt37DJa#n=N zLq5y>jlUTBLv~|x)zW@j8$mLE)y?A$d^#i)&hnhOD{hv@Zo*Mje z_f765_BXHah06Saz&h<_`?#Pi>{9eUFdEAWRpaYN5MyI1c(c(w@Yp;9hFg zOj8B_j-UQt3n-fqJ@djC_UdS{J9wz+{OY+q)}IBK*gHN< zpSluGBiqTlumWFdj=A+288$Xv@k@w${nfj%kr5RUS}uQ9;mb-l^hljFHWh3;O~=RU z-HYDl%l#RX-Rou6MVDZ^dvHjbykUd^?$F@2=4WNX-%wamQ0ll0?wb0x+u7fu8~cGN z1+sult~&633zu2Ba=JxqMS?0pQ~68YC*GIViPe1Gq5QfnZ^T{PR=m2!tbS3|;4@j| z++0xr93Xfli&;#wFQevDgAskQKdx*5JW{ITn3Ea@7VN{thS%d?QS2dtsT}gbKxGqr zFdt?m@eyQ+UwPJlh@zy~?uRmIcoakGw5(gg;_Xodb*V@a=2?e!(MWyq*TCy0a!?be z2MxoAFmxA!-As&4P2!nR*?sN#kkJ`%CDDKH;UHu3&U3l<)G&Hh@;fr<2<4iAT=z?c zpFYr^4OlLGG?t_BW&TqCM+=&P{@ z5i>QwrD{qHdCe$qSo86Vca;e&E0-zWM?Gu|i_KpB68^fz~$yy z{qjUlGrk9~q2V~l#i;6c6Ek8ZeGocTyO6Uf%RGEiPI|$li&s^?_-cV_ZF}BJ2)J>l zA3Hj_DM^hSKd2Fe>q^FPlFzKNk+ihfX+n zb#_YKr({(r(_dUEGsQn;ioj0UZNjJI2Z}ghw%!^(l=4YU(<>;k~!x7sbtu7-aj9h<7Pm88RocHoZvU} z4C11F^W>eX?V@2tKiFGZo9QS9|L!wFUt1C@qcT*gAvIi%{$|n|?R#Y4H30Tm-W11R z$@|}k{rRuS>g2^|Bt3iKrax|~)tW`C{q6V8!D~M?^LZ2))qoWr^YKmgyDyg9FoW;{ z5T&58);LdK0lQ9F44jf7ix^=!rio}pbb4@|p@K5`H>_q?$NIWjmL#npHVCvI|QEF8OlB>wQ1FtXs(CJnY=Rl!?m^XLmu zG?sZ*{VhyuN*XBKUIJazm}uZ1ZyvA%MQi3(el&pQSzj!O;?C}xd8Cst%{P|S0)@s| z?p!5$)Jn?*kz%m_xC&TdEX7^Q{PkaK&Yu;ZTzKf4h>X9F20U7| zHsuR>7`Ol%)4GLhhwLg-oI)3yX*^IOsva-5c`d6;GaR&~2KqU4o+ZcSVtY{1!`E@d z@dlORJD=~}Tzk6tx_$g!CnvZ6{ekbh$+cXp<)H$?cJZSNDzefM5l*|R!XdPNW~x}iULj{h;~Tk>j;Hsojkk~1yD_$&_cuFRU*8;BPyXbe_)(RU$c&L#v`T7NP5I?=UxTSy z7Pjz74>Ke;4xZ!tr*^~q>BAw4y>hlBEi89%0cVC*T-XosnJEBN^h7bAi>dqZ`ajOY zsm!KA%h3am-$(1_Clf22f1Eu%8LEb#l>tyBMSQ_HI=mOZ835bW~}Af=Z%$718toy7fDKIyn@DSX7`@ z^@>_nx#I^SeM?CS6HqmSze&HI8A0A2dchF$g^ts5;;S!zf@pE#I)N^?gUI=xKpj+Fc)pj|WWAPlb`PZugntY&ueu_c&61tGJUPRNg zf)!dLG7*9|5glZwCN7sj6h`I=B>3OCs=LM-cv(9+)#4tk_Gl!he!L%SM7O3mn~74X zP*jD2LdW!{|F`D}_UzxB7QU;Fw-o_AL-lm_3mvtCRn67r*k%w;v<;%I^s%Tpq{RjL zvT0r++fMqJDtBys<1U26+9}7DNvCoD%1GnTrC>Xfdh%lbf{~yL8b1Y5vyr zMWi&}_s;Crubv8}Pil9Is{dFxVT zgCO}ErZlCqHb~rodi5cl;NadY*-$r_$q|?{a(W6i1D#B>P$wvj23r#KyZqKPBMw+& zNMwbaVljN`?U>?E;F_WPGf~_9Evl;F;>`Q`j)&a)c9{5=28a@tX4276oi?Qpz88_Y zkTeR;5h&rS5OLf5QbvR&aj)YOJSoJX-%9=9_!$+*F7T1gXve4uXHB15>mGg0_3#58 zg;^5BC}XwuLn56r>lgDU#h^;8locW5>Q>qbT_(=taz;a^dVK$MLa2ZwRWxNO^rZTg zPyB!WMW1hEu73!BoRJIrIo~92tdJdO7&<1HL0k{@$b=@rlsUzPp`#Gf3QmGpaoeOy zDf;h+(iSwh*eY(`3R@U)NnLxpU?HZj3wV%Do0dFRKH-&G3M4R4m_g762p zhu7ym^1FXnL1=>DhC;)7{B~b2z}N|dmXh-RLGSkeya1K35>&D6NlbmoR@VgzqWNJ4 zDD-8MD$tHiG86}b*nqL_1!-;~!d0j<;pc<<-Itur&U>D%w+3?EcU^2d>=ih{uc4qe zAo{K)gc9Be+~UBn`Tdiv_TBmXFYmMZ5sF0j#1TSCgBR{E2E3!F=Z5cEJ6Y9YpKvXl z83|BS%W5&zXuhUW#uDG@>SpjdGhwv0I&^Ih5lyh6BmS@fu_qz&IU}Rg`hTKrxW9k% zf)sXppP#n5ZF1-11fg2n@JL-e(cT1hN?*8u> zE(m@3xmJ9(s}0!l*|ti9u(A8R2o3sNyrs|!)_H1&oR!FLVxbBJA+tabz=7T}Vf%?+ zvJKWSBccx-)Hiip%4vm`DCn^A-8oI;7hR4BuT(~5gxB>QRJ+W(0ntcu0&^C@y^yG6 z|G+jscGjoAVHE}N?v#zBW<>~@-FyI!#dI4Dja8(&X2jsLJlwUmeTC2pS6q8*V-iaV zR4F_d!kGo0&CWaX>&sQ1t=C;P*0;wHVggnu{JF&VfG{e+{@Zf6#&1s> z=&L2d76C_ok=rGwIZw$j`POpjthb>Ehi1IS~-b0J<$6eFI zhy4rK?t$$5$k_TivQkWXFcv#5O6R0pspTL350Rbtl&{DtmA_KK8vG8I#MN)J0k&VW zipRdjMI8?tcJA%^a)Ux_ z1{u3>oV>j4^6w!n^8FOu>}@_b_fe9&SzF$hn+r?2J+I@k1bVIYoEtBHw#lOP+JKvnfzL2O^1veoMy*oCIBVz{T7QzuS)>Ss0dtQV(ikE@n z%d_@kdPqOMyd16m683z05%%4EfxX0skDD}Fm^7!ikgLH1wR2=#m%d*Q zKIYnT{bP^XNdF_zqf{pEqFdvs4Kh#bE;le!M3D<%AMCOUko@;9{Bf+uBX8IJ{;Va= z2@`5C4rVA+(C zNI(rd8)bVm52*xP_wN?#Zn9v6#0!78( zYJcNaYI?)tgtJV_#5y8$&N4$^*zp4i*2z5SgX)AfK5nOYFlYq|<}wloRWgJ(*GMl; zf0Cbl-`tRv=7_Vi+oBvO;ZYE--6hSiE$qM;>ChAGPT+KXa3$ODs!fo;eJ71Nnz+XY zkXZ|pWPQJL@BDDD=NT*J2*n}-V2%yeAx%V60aF}XtOEhz1GI3+eW$1hP*dVGYLtj& z0%%>!gQ&{bF2osWj><}VmL+Xjr=tU7n}JuGOBi;(ACQ>Wy5|##9qOm_7@mB3N_c?8 z!XvAFV5FdhCb=65Z|Vl=-_0fE(?%>ObfM+*s-n^I=V{2AS|2a^fDhnPECV1DbiV}a zyb@j~^TyIP<@i_&t|YRaO1c^?-2Zm;kuh5#r~jt}d|n6rYj=uCp*Ikqt5N zjFXoH{PQRnEGpqC&iiVZRmzIyq zE6E3P;n%sAEuY<{ia}Jxwl|-5u4p18oy=FvXfA6%N>%_uw0v}h3d5^nxqCe)og`^9 zdGbvsz9D(D8^o~$Itx)ALPA;-P?;6S2!Z)el8FwAse~cNpy{!(!SynbUg5K|z~vLe z?~-K4oaGXYr3z((@wQt9tWZV+Fpk%h{tFGQ@=2ro@F8A2)92CJ>Gx3y|dYlox20p z0_9MlqEro)SiQ!ct2&VjzQQD?38%d7QVfK1=$&_4G8mgD)!3Nh+YeIKCq$L(j=g0` zA`x>~BN+k5l8T?)`N{ma@tAi1aTzU0x{WQ5aF7P3_toy!?E?!W2on;s#bJ2Vh$_*;pCkJVT8Z`Er zsAKL|@~uS<8OCdLxgA~|x>awqbgZS^cROwGAM#9@@(nrUQ(7-z;#pDr-fI!I5tIF= zkxEt587xubAk@$e*LD55%>{|G&Vfp1W5$t(A(Xe@?AXW7?xO2q(+e_*D)?R}RQ#$r zKRpckA(bx;8PA%RZd@H&4hZ1y36tw~ySCZnL;9ldgrrn%ovgUcT?~2zO_O zYcApq0wG&PO_nYka-Ga$GG=n~gg{0((`AZ3I*tuQg68?Q+;v)}W^0t)_w9H=&hhVz;~2?I0A^95hLo z09wIBTAenu3a2pzlJqb$%nmM`GEhGx=k`5Jyd3o#g<{a-bx{Ltcly7Vi?{dlp10?# zfsl*W!<-)jp$cdgMj}dkj4D{6P=JZA2v+T|x-O1|IKnIz6+Hf4j+m=bSZ%jC(`3m= z?k#I6{(|D)CB6?)@ICYsjp@2OzZJy1@Aoi#-0nLO3w|CPJ~h98Z&LWEdH8rrcw1|6 z_VWv3&JQ!K+m?c^_})`W!Q!USK#5J5Ch%uH0N%qb?|1uwIO=L346-P0Tz$P}KQFj} ziw0y;h!i+ETn2CwB(%f8q$}a(*jszL?RPSBqu+fyd+}QH`e&?A0!0%?L=B4)S&|^A z03B|~nRW^c{W?MMV`99V5tXKtKW;Hlst|mg%Z00Ybgo`zKo~nNU`8>L9`8+_L$0w(0p@&&nwv8??9&mk% zp6^rAFWs@5*Y~%Vj*boo5<43kw0KeGex<=Whe-q&_R7^R?;J`aUPB{O@zJrCgq!+* zYKP{w`c>LC0C0L;p2tQXA{0frA`0Z@X7z1p%jbDhGRHfy=xNQa`z^=smdA{{SzCPz zs@Ss-FjE?0-29m&%#8NGPpJ820)8`FWi`ecf#Eh%ol{}0eLTr@kgq_cNLdIOzetWh zM9uxb$=3fb`uXnOXYx|`SOUZ0G)I%DH97mwo{AR65J$)TyshWCqNnwF@h(RAeP<4G zl=i&6BM854I!z0^J+Ch=E~c5sLc!H3LKDV`#@)?IWQghHkNc0;+%1LQrc4<;)u^8H z(y)FN@lSl}{R(bF%-XnyO*>OWtIvlDCs}9yDPs~HE#hy^wCeq~ZPh(%(m1(l=GyTV z`7I~$uB~4q1}m3vxR&o4S32lzgzzGVXjS-aMQ`I}i0%8!(}&Z;3ETUr-+RqVM#=l` zFoXVHEX=r)kkZ{Sbkn0g8N?h~!l+ zzyyk-7vjHo2{^LNZM{}lm$1Fx`Zd*t%gz1^ypr#XLqu>XPmzA8bcg~x9vC)j=Be-@ zhc87~e?!fLRylfR1s?jIhinreFPk3Sw8a&+3g$LdYf6|R}1vBj(dgbJ);Rzs%WTANT{_Gxgi{uKm z!4)Qt)saqy4bta3@?#H+51TH}CWdJ7xLy}Y^)G}lUV^@8*<$usI?QhcSBospVh~Ol zHK}=iPRn84D-QKJ5QxZaxY6l+HMDK-{_i#LB*(<9r_JMJS8EihGIDuv0w9N3Zy7+j z05D-(^ZS%rh+3fP3n7?dU%q?ne`8Eo2b{_<)&7Qi{VgNJ?_^IKRKYZn&(KGYgl86u z5|HFwG{n7O(%43#)$|5lS|6cZ9ly^rq+$*C)^)h)n83c>mtNu5BF{|_j6&l!q)Ip9 z51UK8nJ`^x`?q&mAo-%VGw1hlSK;>{yx#70b1<-m(`+%ptsG7@ZqnJ6fJmtZW9<>q z)ghVj39c4%^5Tj`{+RWm;2~rug%LG~NUScYoAWCQ*RPDQQUOcRZ#;=qFqmnhsQKoJ zGZbVh+4ZR^(m$@v>jiKTjoHAw;b|-7#_`Zn`J;rP%NG36a)X1&b?O`$Od`QX-0W?z zf15b>_hu)ZMgmj7pS|-mNf`gOHvp(}TLZF1^A(k3t6TUusNs#lK6hAQNg*$5Jmec5 zsTbaNS0NbPU0G*8>BH|Mv+9u>*N+a9LoxB{-Gr9ejo3 zJ`_F;soOyXx3<2CMH~VEa_kv-*M3h4Io^jm;L-X%eTZc)wDkDj9ONoGm!sR``$qn8 zMQ*pze)r(_0ci`lopl%N_P9B)=k>mshTh11c1gUWmZm$ zJ9x;}UoRUJ$j+_JC~>D*X!CYNVh#UcqO$R~_q^uXzj{=OLo||v92w9K=QUSMwWY)u z&EKC-QW6qXBGmAaNkKwYMA}bs1_Nlq8r1n)RvV3)Gh6zcQUsh_)^Y*>2TI%z0 ztMvmM(!ApVu7!*E3R7`M{`*Rd{5@JvbbSzvLU=YWGu0#S-5SJjCuwPu@})UoY7w7q zEsl4TS7(_bX$aYBp{X(%hquR@UeT;dDkB`G95n!$A;9p1GhoG^z6nPbn`n?-Wx_aE zORI#3Ez9p6bi>o*ZP)3;wBeO`b}F6C$R7D+ptjrtp0XBN)r^RVu?MCQvF5uj6l+JJ z6R@F1BDwoCmqWCe{>GfGU{DK5Y}QHnP8*a>#oL=a`$=z07Sa8k;Ha)@``Bmh2VslIJk2rwbBIs{9e4i7y$dzZV>|gR_>h^l zl+L6L=DbgDF>K3Vx}z{z-`CaU_WR}FBWN{DGF)d92+pU~vu!EkNbvIJ**+=ivexVReo}a0&E@A>eLK)5R)6(=BLmadL+=^AThZ zT*Qw$ex`^9boB=EV!N0uD0+2qeYmBC-^^5Qp`%2P#+g^|4~lhtOJ-l_TMcdVm?bv+Cfyk$6Xk;RyaXXDI50&K4|~a1IibT z?=-}c-i*@lhf|aY3=UkMyRTPI*n|+$4C`aEMwZFNtu;6(@U3TzZSa~I>JW-|+@FS) zS;v3}En*ZfSgi~na7pS2+##RnbN3~tgSGysQ{&-IQ^4H2QQ#Ny6P=t1yj=9e{JURaV$=40VIj;E@G?Ew96c2xL%VdhQwYJ$A)_f! z`koc)4@NEA+Sa{PI(H7~I3k^K+_K5iPHCpg+E0=#YEHa^R|Ih&T1V1~DFI}t;TWbZ z6-rdBlKASaAB-85xI*3er@kaJkbNezMpd4yYNAja)UT&5FR%PVuLN47k}q@^MCF+H zfy<5KX5}Bok5vN&Y-$}OrTz{fKNzGv7db}tGZQJ)j_a%cE)CynV+0UELW^|?nab9g z`~sNY8$6D8(i*h>9MNsPG-MIzt*m%th98t5lzk~%GiUr>xzDejOSGYR;@aC0xOmv# zRjZo5Lhw-kg;TXNR**n~(DizijHAHALgo4Lwh)ZAoq9}m`nHDK}TwgNVjF-~J^yfm( z7sWL1-u?;6OLlofC`QYnb`T&gY==HN-#qX!6MgE7bohLy5|j*l=9(Z3_YO4m^1Cj& z$fr(SC$LGfs}>cP0Cosrvzz_r9AtO(g0KXl<|T)%5Lx@t4KUbR&C~Zg9+1`2$TX`Qit59@bcBEZEvv}M+D7-{p|IoRd)ujnwO2n z<(|Bz5V%HEzR@*&2U?@qW*o33Ul&PGl-JkDLGZ6DuWNJjN%)&4Jp$aJdrc8?Hol}` znyvS6&`oO}jSZruC6cOG^5M&zMLl1A<%=sv^9!54l>Raa6g-t2;tz-PS_uh9P4Hj? zQ+}IMI>^>!Z5!b_k#qo90j#B@NTvAg_1v=a#>Las<736|f>kpb_-(;z8 zeYp5p9rLk&b5=T?&|jVwhZ10E7)6<%7{|$>hKHi0 zjB;R3Sb`Ob;6O6OzP1b)Tr@OnaQ`Zjtksm?Kd87@PC3dd16}D~YD!dz ziEFJ$PE}>_o(lC?7?o?@m1c~&js$n=cnN^ngEPexPvn$UPmIu+qNp(YQPRvElF+e6 z%&g@5hC(O0WZW_-Pf|^`?BeE5j6rqET5X$bzTjZ3vu>vK3_g3kDEU z%fO?eWbSVl{n_^}bwgKd` zOlFw%I{HSDuqP=pW$+uUc>B3E1n0jCK&qgb&G{74Zw0E0>)$%{7@7xE^?AT`w&n>Tg2d|}-S19gt&Dl4FM`M;nP3+(SC+gLcVbg?p#nHKQ zDZ#E8(a$;fGf>f!t7PkO<|8 z;yGzl!h}mmQIi<1DAELBG}OesQ%XryghaL$H||K3%HiZ{SF(YocCd(vtB3&SH|w7d z`VwX<5aZE+;OqB2N)R4C4GiQ4K#4sxoLaOHDpEB1MuUd;_ZN#o9&Ftg z$_YEV2M;@i&fm`UJvlKZH@7CC8*MHp!y!vOk8dePY7EP)t$*{+vo4^2llr) zThC){lQ$oZyKflhx;@a+D4kKe<8<6tnh>pZXX{Yu)X zh!8QFaVQ+NF*OuRv$I!&Z;<-tS#sJgx8oIMgCoO##_Y$b#l_7pEnf1JVLrLf^bj>JL zj>dE=!BpLrN_=9f^`p0{5+JwNqXNwXq={vUD*bVPqY5B?OZps6w|6vnv(WB+J+`)T zKjf*i*4*R+JTmEio-vo}%SkH3B&%nAU^og zHd6I2&3*;Dngu#Nrk3)TD8V-R8jXT{!-$eYyDk& zPps1TVf8KHHIA}%botgqESJ+rzZ7TMD}yErf0Ze50eJTeCCP8R+XPb67$N zFXK#YY5h7ib4;6w{zVX#L!WX4g1qrCD zr#i%_^EK4q(x%zEjNHOfX1$}nZ+vnwfl)^758i(BCQDj8XjGN{e_8;^sh~Tl?(t<1 zBfeKPb-b*GxgIR0`Yexfvi-f8ox-dD2VHNO6b*x%qoKAjj|B>@5!qJsV(EvvL8)$c zgJ7GVvp45Ig&(ykUre-X1#29r!Td3$SmR;2XI;7x4et;2i51w)-h8ha?ye@e?2ni) zg+#G^95bpLJaZtS<>HJfF6!fpdH4QKdQx$*KBn#8WvpS){im01yjrbU>pX`f&Epgg zgI5)yCLoT#>%!zox?7KKq!N+Gl6wI=9do^}az%ckLJEVe1Awn7Kp0t1Jpj+v4`80~ zmj=YuD3AJm&uH5Gph1iOKkNvC&%#X4FF#QVEpDbm;FPZ;GyQC!U;5cT^$X}Jy$_&n z0nqgZv8J#+@!+H+7$!ps)QncVnaR}`Xc|yHYg(Es5Gac2&FW~_%4&Ua!Xsnz@LgSb zt$^mnFRi79q=X*yw!i5cxqU6CYJeWBueS^s`@9@C+)_>#9JWZl&fCtrOj6dUct}D2 zo^?O;f3-Ec+}z3Rcsl<(pDosMJG&~w4>Wm~zkR~^y__G+N`OOv{cE}Wa{9F-jtK*o z>#gNj3(7$N96ap`kWf`^uOw*2M_SFR z*h@!D8CgT8qAVR{P5+K$$0+VYTtrtBzI&!v>EDWtk5UA*!EJat(V3r(oL}!mhgY0iV^IOUT2Q(Ov_cpwd#26D13`!} z1*u`UR;F)^1XhP%tsXWdgo~`h30DbgKU9>S>lMHkk#CvD(p?p7xA+V~oiwJlq!gV9 zxK!>BnG;E8Lcx7;Kcy*!+*#1&J|M3uZf6Za%5masOG8$|1voX(OPRR;@`2y3GYsMM zj-Tg3xTmClc9-41+WgYmnWEo){n=DU?u2h$XeA;Eu0)4e`!=;#IJ70^AGd!TACl&m zi%}608Z8OiO>fAjh@Fl*cDvjz_%8lbUx>}A|7=#E-|833%1JKLn`hv6`aP`p0XA_y zF{DSGrdlZ~`Hyk&--b#RD#qD)lnq0CECmPOD1C!UEywA(7sv7&9hOn|4@3(5*P2Fk zQ;*#IXE~M!YpJb}**?3I%k3<{FZUjg8!zOf?k>4n|Cfz8!Aug~`+rY==9tfS*BMQI zIHG!OjG>B${;MpYD03Go3_D97?Ap|M+eT%wsfA4GJ@y5;VzS3=@~J1s>Ku7Aba$&3 zH~u~qN{u7vzCZfF*|PEr8-;^X4}Gdzle7~)ZCcjI_LfSp znyVRMdfPKrGKk5v#H`RN7P*`+LrKfzHpg^92~Ut0M}%rV!XD7l04Dsi(VD6{yXSlU!T^(*icskgKRTW zDy1<vm}z#ZAos)z30MgBoB50WB=XNA23CCCoNqLI2tqf^&Y_@pUQPxXlrL< zn1zK#CjK3w^wG)3tO}C*Adws$Z3v*)PlGP(9$5p0MmlK4_P6>%wXQA#YS7A*i8mh0 zZ*@?E#J;YE3+vjo3K9VU?~rSP)W|gN^ia5v9!kcl>L{wTI;$zhw-TIDaul_pIun2_ zm>LDIr5sqD`$=mVV^19w^B@Do4aumYmle|~j?@q9<|bRrGiu{OUh>)fbX0Wkfr>}q zuOg}+JAl(t)YsGO@gZ`_LG0-&8-6@oACB%AzQy_`R@hw=KwYNz@88?s`B0<)RgO%T zB}@j}ez}-X&+|-ta}osf0D62(1Z_K;2<{RJgFlm&?F$AijwYV2Teu{+Aq2u=A0-!j zpRV@5nmZv4H0suZN3sHxGpb1< z^Q{Zh~dUP8Ap!|Jf0}QoTcb*Mu?a-HT1Fp-l|Y zsOo&DK=7My14lz6WC*N%);X1?0%KY_27eiwd)+;G`}!}h<8ST;3h9TKd;qHV!VphI z3$u~JawySDyHls3M>|)Nx+$)$EQnwP@F|dOF3YQ}13FlSj*Z92hpjL#n?%X>t5TA) zy`2bv40Dk-q0D6M^?_MWESj_;SzH$eOW z=4=|*ld=AR+JuVYN*JXavPaw`KSGD@h_u9bRf^~*%|!!L@d8u0sE$Ol1q3pCt#GP! zXyptOV4l7C$Mn)22$aI)8gU$Kym8PgZU*ptue#ip`$5S=_M&zln;p8tNn zdkfgD>q~7$|4MF*6VO?mV9|@+oH{yK_>MI!Lc8sOe}|opGqyKjodIly%V=z|5ER=g z+|+6nDVIvg30kRObROn9XZ7M+fst^gu}XTiLj;oaX$#-DI)3#c#1A8Mc)Lh~IGzY= z4lj*0x$1}F07YrBwP&pCa&y#82qG73!7_>*%Sfwf_= zMnkl#nGksQ*7Vp?|2%=ireZm{nZ%shuz(k+f~|$*+anz%0|x~#M@>e-WYDw ziNgg|jt(blv%~V0^w(R-*Db-v=$iuKSW~I)LWDPS=Vl%x2)4&U4cHL$SULvaP)gw6 zW=Q{Em0SceGuf!{AL#!q+ul!ixVzu(ox=O_j&F?@_B{KtKDl^)zkPig^?kY~>Ucf5 zpMHLpiDy91>BW4DoZt4`<4v7@U9*)}4gK)YX5u?IGT>;}7xs>|{98}fP?Y?@mRUOS zRZUsUGW0{REsOp(6v80YuN46yNu?HO`;ir2Z}-*7)7^|wWxAVCev6yU12{MQATm{S zOYwTQ_Vj3E-Q@7urA-E&>afYH1$UU#IutPK%$O2uPQJFr+WghhXz^<}4N>w70B(8PHn6*gGQ||!(ay>P&Lo#;G&6G3wp(KtY z3_u<;%-U4mepN3z8VeMLCY#yymI-^IkGQd-QLE)3I-ujhRKb56kB>VDG_b`T@^vI5 zPblS6(9E$6m%q59tKLj{4&6}1fSvyq!Th+*y^E`jmdAx;CZghLAy9oO+u@GAQtrR<%INxCe;r7hRfHEj9 zz|3yJZt#a*lSWMqeP!_1ljdnGoMD(&WWC1~Q_M*hQKl|RXw)J_qe+&$advfNKnE0s z>g<3mgMjBZ<*Q3_jzaN6v#7Y`ZS1=tum~kbG6q$)&X&rR+7n}2YJ}K;?ez)$aJtc& znM^V)8eheFh;A{RmQ+-1N6h)<(|%X@Ku7y)k+JV}a5SY?by1$!R$ji4bXKjS&5V>5 z6_o}u@lJ21Qw7wI1wX!YGLh@=?~QgELMdF9Fr=mxF1@r;VHSIP%#(gxB4upz-bFFET-UG4F?~muF8hvUHt_FB-O#l0J43 zP2V@VA08gEU!N>3R{#EOaz2>)-gtAi(bLwpCoeBQFfbtKu&NvfAm~rA9M7W9uq$(@ zxD^chb-w0(MH}LEx$?{MzAH1`!TbKcNR3jm+5P^Z<9>hb#kk`E3$B!Mz!Exr|29}H zn`GC#TykvxtJlb%-5tpLe;%<6&s^dQlvEZyBmG>lAlq_+Qgx~Lgek3*=rFc{^raTb z=IdYCZRcI(T?NCohw0Y7esynEJJC`gGe}T-VNXr=Pm` z5n{1RPwxoV&|?kp%`SJ7zC(C?PV|p%q9ADl|I)=Nl)|(@>nTWkk;%|OOR*%G#cu#xlf$%{ z223!xuqvd?fHdOKsKs3g!{zYjiwkOmw`wot(rvB zw=~)4ursW!`iDE- zbJth5y_-zVk-Y~m=gW)8+g0zi-5W{C=W*+}<#y-8hs49jHHkLw=TW%0@&cYGacb1~ zeBI_C@q81H?0FY%ASs`H(?1?9KR`CqQSD^bSRG3%pF=bc%a-(Y^m03MejR#wS zp@6PaVa{%GxXB^D+-~cJtU+R-?eXQrpn=nHMQRcGdgCF5_>F%jIodeY)B)KfpxE=L zh%|vtB5XV_?cUqkq~H6XVM6094w<)Q2XuSZN<>IYyU}6c5bl%#<2<0T9H zGxIlai$9lt)_>}9*mex+Wh19CndE3_0)$7L8ux(z7b^HbyeYJLXL+(Oe52ap!W@l8Fva_A?2}0DLIHt zki)ns#_s9gs&V^*@0C`RobUn{qOeq8gfglHB#eMn8j2R4lQD}MDCLK!%V1f~h(sL{ zXM*YjEZS1^wFiDx?r>7wUN6$s>5Vo+m-0bw&|B}ZTe1G?r zXzgMDU-0Y3?d$oS0!&cgp~d0I`}xk&;c1Zc@!Hjx{G_cB=K0eXT$F51G<|J;8+pD( zI_S=!1wJ#v*? z_I5D7mGl&o&RSbsY-{oK%Y^X^jg{_|nxW1CRp?Px<2zNl@w>uRI-_2R6MFLa*z-*d8N*$~w+K3Y<5!hB1>_QYzG?%Sh;~y6l=eCd0Cq z>bz4MtxT-1-BhM; zdp(39+m;}!8LF3!!sRiqmxSE2)Wjg;vCFPXF~`Vg&eAfD2u>xpdJ#fqQg#uk+)OK0 zyO?jyWg0`*kZe@##snWl)}3LhpaK_?$~+O|SOY5s+MkB2^qH`ROd7>n<!8(k$}BHN1C@$#?@B68{HQ=;q=I8 z;_i#zm4z)s>C$n=Ei}c;OF=v|9KHGW2;zOYZ#ppNNWXWZ-fpVC**fB zOP6%`!OA(BMmOpoby@1Nud-?1-rjtNmlJN(r%N{7cZpKIB&)$S%TF6R+2W1!9b5_? zdRbKjz;(jYzA$`j{-9c|&tu2B?+_F|y(t*#M{s3z>@FLj;USHd8!+RA(WX-p4hV-` zACDSb?Vj|NO13_4JX_vopZGT1J`MRkQoi2ZZRCx1Ev|^Vx(LEJ-*bw2Jj_Hu`fu(g zU*@Ab$Ue-+@sUUh6Gz4EZS^o3OSHbOzij;4TU%{OF0@`tyIu2r^|_f%vpAd@w{rn+ zUF^>77HmM;2BP1l#VuBLz!hYVYOmIOq~xzhePnO~cC23X=6*0{_3^1R8r~+(rs8`c z=*#;De$cpw3y)iTftpUPkIg_Pm3S|{-K_hAXy1pfrBjK&k0%Yj56@ec(S}4316v8H zpCF0S;cO}-e>TTZCJv;94(hN%nR9yeaj20huTlSC(vY*FkIL1tKW7{I?wzhapUXS= zZ~@W~(D+bz^5s?x5$wbJ%!z_<(Wv5ANNtu6&#uwu->|o89-=V%##cPf8|sx$PdleJ zF`?g9aWf3p*k}x6Hs95)P`7WpJoT#g;s1nMdwSoO%C@Rh`2HqU%D@Y5xmeh(W2D}j zCEjc;IG!b?4Hub}+9W7Ewwj_U@99Wk)QReV){!&f6+p(b@$%+3Jb&3Ew)ZgS)*HHv z)vu5Rvrhz!UlN8^V6T}?>aTxPHLgIfl$H1VT-ELU`b~D^V>o+j2#> zf2lv-O&V0*^m>|@XPw-}VS!#5Dv(9eK2UzH@3!P}{3?D@|AE|M(=!7mDsr1!1;pif zW5M(*W~tSW!Mc!<@U#fy0YK$%8iT2sWLDhS&c9&jdwY6n)c#yL{(8ol{qpisJCGE` zt_Mt+4%CFRdaP`pX7x3UX^_Qs4BsXF?%bICq-wqpmb4d-VPVu4_MRIc$^!; zTic$7ie+xDY@f@a$d$vM)w9V-nW5u?<8V|l<=}+L^DYfzkHP9&XSH7Y3b>`kS3*QY zwN`mXLe#_l9lD)8_=Nnp_M+?Z*V@y0L$=rX-<(llpp=Uk1*2Wy3^YVhU_X{!%Y1Pc zT`F{@K0%rQUM(^hSC)KT!$(dTg_TXol^$+u;IP*Ca%vB+Qa?7Be@n!fn;n43gorug zSBEWKWt~2lSmxJBu231lt2ys}#tJMi$||cj3HX>4Usz(C1gK5yPklZrkyweWMp~_;rLW2I0Qp`sPtun~}DaM0<#7m{zk8L@D7*j=Z<4ME`ZjCj3 z+P@%!_w_aSdYui$pTA5BHBfPz;}P-*ht|_zTbQC?5PwBvO;E2whiiB>8BD*U?n-NM z!|qr2&py4LGe)<2+}*Wr-*i1c4t`6yZh&#FuCzS{!%M@5@`C4Kl`l_>uQpsCTZP2j z9-iED1ZJJ9gcnxYAI2i<$J?Kd?k8UcvS06)d=78Of+;C|FZY+kkJ`L% zGY1~kPJCTo&-TyeA`Q|-i71vkUg2)f*5?~T|L@(_Ns*U77Kep)yfTXP(mwylpbTH^ z`W|zm`LVm3&_?!KN`=9wQ$5N?;~*TSDZ-*ydmSdqZWof6F@h>9VuLW~HI&d98ZQw5 zXizE>+<=K~D>qFp<*CD=;@<(=#WA!)QAa^~EzREdZRrlLSN|RDz1f9l5F%@E*eI8ks+E|T&7|8B4oYyu)W1K=63mPBrR zQX1~2wWYma))27eQd5!rKVAnpQomk~FMB?5!8QyetFKgnF~{csoZ?*v1KIGw5ZhvQ z0cb<9xJ0TkPmi6Bs_3N6NcRYmF|e{ePrM-14^mgeu9KImpVGS{TS~G8N)8M%DzQOJ zHr}>p(ZK|^z;DeB<-Qj6s{*_C1g1k$G&SjqD7dBkNW&vSy>D>5*>?Do3s52m;dzL{Ud!MslWK7o$>(;Bx24U4R_s>26GqPmq1PVDSOFk zOV!O%rtJ&yC_1(nNdE8MXf*7X=9;FYrV@lQUF}>P4ez)k#Lw3NLop}bUi%7;>oyY2dH~;xQD` zH004pCT*fbb@({GURFxz*xqKJf-wai$ZY>UEIxccJP2=V+xj(3r+wYG&!l%)KwP}x zIZkOr`lXqFA8V>Ub~m~5OTE6B_+os5{cUjJ8f(PK-dp3=yWP=D!R&Uom%iu9_vcsw ztDKtdJU%Z^Zm&xNSRBSJ%|8z|k13bM-Oe|sc39sI$gfGX29M~@RTBy;appWmQ-1I~ zoUdFJ;}YQB?cTk){ADRTWa1OSW}*smFH4&0CB=^k2#nB(2}4IPbF{_7k;Gy4qt^{; zJX|9{P4L50j7(%3Af<1y6?HIdI={JIIz3r+w>*r*m@<%`W0Zkne?yc~mJ2i_{C`@2 z6LAj+k}`t7LJss_qCaD%@+`(Wne|p&3d!Uwr@v^U=*shN4EfyG68xLT;7D$Mq=&_p zI&TYtA|l$%I30boB-e0OPT`>MIZk>!qe`FAf+F!ZPsG(hd|HHOST+CFUY0d!u|dS=~R%} zclWI1gt}|uRGpa-q|y(~g=cXc7{d;Nx|=_s{(+u$Sx(lBi;B&djE@!Dmb8Yet%SP! zg0`(-^J5UjZoTE9`zp&u97Y}Y20(?4FS?EJsVqORkhVhZ$=&GSYUELxVv%GBN>%!v zZZS2$oxY6j#sJun;m;$e*->k5m&#-C#zDnWfaqeP?q;4JjCEKUp%k65`^)@TgI3;q`_{6um!T>8v;{K>h$2zY4dGo&ZX?90|Japyd`nC zfxwVJDs6`5G_Gb} zF(hj*pmENx+~=zbpwkgbOb>b_L$d^x6{GKUR+aG7p*9gEXsL7f?L=ux=mMyseI?s>_7(+Kh;lh$J3Tf#Vokj2pz-Q!M^?Glo}TiCeyI&XIlE zwxF)_~u*$>TB367fp&9kv^kTVXhKln!l|GMEmTJ6gydqlYq^K=PPtatZ0jGmOth+v&zH88|nU3{3Le zvkwc>t<4FwwJu;*tO-t06)}l!ONnoAb7XBM@1lCi-zWlZix$`HLnIE<%xDoGG2c9qbt1F->0 zEvpfT>hWPJZjzmKjdu2|PVJ`}+EIjmyE_E@1!eZvTGOC~MDv2<8H75EKyfXnXn3 zANur{S3}RhU}(o_ew)6mieT|~T5_-!t0M~yJ}?yGE{4HEBmSu`J+wLl?R&oP!m z>-8nPsQvq4d8Tt!|MD;3R|Pyx3uTx>t5|*KZR=xiety^xX`2oja!j6hiGQp=;5v0~ z(oFZKHPdWL?}Oi;SH5YDv8y1EW5yMX`$GW(*qB(Mju)v?3@ndrR)?KmSWzeq`q_xW z3tH6t-l*(1lU7Pd&pG0(J-C1_dnuu##tx3QoO&OV2sjc_yL|QF0XxtwwoY+%%JdO-Wd_zUBQB*RlOA;{0y14RLJ)f5QtlmK}!vOPF$*maCq-KCl+~oFm5q z`eQ?p3$8o05Wt-?N_!KE&+d$6g{zXZm~+)OjQx+O$KZ-uDr;YGB|S`uNNqCG5sJ-o_ZUu7AU)v72gKLC2M8 zjZJtV;3O2dHbCs35}a;o5iG!CKOC~lyX~&_z)3`U@4=w-+CMQD5l(uk=}{{sQH zuNiu>`DSVJ7u>m-mvx4qLmC%o_`-_8seNB&=!Q3I;UNrfQUQ$+zR4>{A-(f2;{4o_ zJO?aFK=PYi40L8CYp-|7yWRb6dAxaYb25O{(fYc1Q2VRrJjd>e*S4Gk17gQxub>sF z=0&w(dk*1KTsqiRR%LEPH?)~0wTfZZvPBE7B`TlX|1eaF_l+0BdK-KgDV6^d%m~+Z zCiF6wBLzjz8qBEkX)Q8NEolq0JsYySlW56AxvUa?27l>?=cA>Pdsz7QcB?qP49Au0 z4(f)c+MvbaD2!S~sx6J1P;sADL##yu_#fT1`S8m{H2(>gxj4^K&7W!81VZ^kD6LF{ zXFDuw7CFGt8|8G;iBKcUB;}<;*~5t(l>Y{yO3a+u(&i)rxiDUhnhtu4B(|rg5W?5b zc^5jGs=?DT%KMa9IOm^di^|*RXD~-*EsRT9zLNmP$N_|qcmc){-f_(-8`3H|#iwLI zkK$uB)Te0CImfEN#h_;1YtEIT%(Zx%3z_EVyNHp>lPpB0p?mdX$x`%oP-=cM47}VY;%n zbf_!k1`kD-(ZzHM4}yEDOu9#MAJ8_^j)uBJnWz!a35pwSH$MTsHYOTzeO+$a(Pv43 z`_Kd2rZK0k?RfQCV6e-vzVwdQn`ueOr;F8>_{muO5@t=L&{=6vNUR?fdNt}1sanq0 zcjj8#H~U;~qrx;0sTFbKnLZLIMW^dTkVeHW4^< zW-3vaKS{srmm4qr^?7~Bq+D^kJw6t!xZ=e0!{o{jC9TogZaUx|36&(6QFa)pgogDrz0g;6y;@s~^PEH77WF4!T=jIqXe4E{WI_5+CUIO(F$7Qaw?uor6q(c)7Y-N4P z0+)u>a#rx=oBah$<-aR##8VVG(=YiY?Wpueqva8p7F2CCYdbQ@dJE&V#gYuNp&VaO zww&o!6*xZORa(-Re3C0x6ckj-eIIBf0`mEWQ2rU_rc5~Sp%-E<7YJQftCgzgoD zs6naq@+@*7#|Sh4Gc|pwqLvgjwr#JUU2b5vz9?xl>N6s}7QP4}hHYvJZh#328vxX) z5DH06>5Nb&i1~sBMIzP=is{Z&lPbg3OoRMvUi~I(mysQFSz=! zQQok&;(ck;+@{)=kC#Y={}E z!`>(;r|ooh4Q@LN>v`@)9!h#2{-QMY+$$d~P2d0a`;GYA!qFy*ulCgWeUev4a5E*km0-@i9iV-_zfxUMa$XHLs- z(MUEK{+U2V79#1J)E>V3$b?S|KcE%s1s{?qvHV`4A)U&3PW-_QB7|sX{r;f z%@Ta|n>JGBXOYl7mnp*`@Dm$v(_}viP$$EgyfCqr)o_ElF&HKvT*)=NO={IMp)+b6 zP>qt}0_4MTy3jfzG+2x^ihJ5SA@zq(wh^U&^m@FW)j*S*(|2)*db$o)YyZO86Y&-^ z9#|B$3Rumy%3bU0QjZeTCNml42bXAwXD~=G-WGO9jCw8+L&{Kb3*K7!P{kHni^tPX z!a>L!D`4D+S^b}TF;zvZKrlVcOJQ?i61tM7!T78+t)Er;udiAH*RXdLx)R6^hbo`; zzuO)Ou#6J(@}8vF5p_dy`SllER41$}DdkP7HwNMw*u{-$Nelf0vCv3mi7X1rBW8t0betP%^(vaE#0C878Ael_W?e@_#OPe_B@WQcvFqci zKKPb!HD4QfJLkfA^z^SZTGIV$w3dhyodPQ~c*rlZI@rC!g$^Q}%0w-Ljl&GUr-~=- zVU|({mEy%NNb3Q9Lt%bU!YE@IG%|+o+^}4maykZTb(8WiY(&6IjJJ~Zdl?3uVqR`U z^33yVW+2=R7i3ALr*|!Qf<0%k=a?55)w79_CtVR4MnY@OShI!l`yC zXTzs&Kn+r-`273Te^5~38+NW|-{4A|RXo%{IGBSPCb%9Z>SCSr`j?PWNEFudooA(J z`j>(jD*7S-hf>|5;nS*1ZJH(o)-A8~?J-))^u^POve(bj34BZX-7iaCMO!Xt_@>M@IR_GW$ip0}}HfZJe3h!Bq`lWGT zEah*5&7hayeH*)f;Ck?4R0v7v{|{$Y&58JKd8NBj@b8W{_2e@3Z~gGL!|C@;Nz>W$ z!{L4n=zJ7mXuJKnHvjmN%j88xvHN-wo$AO#vQJXTevG~LEGPCj}v;;+U z>_W)9cyDx^Cef4uu+1o<^3FTuP#80>I1TFEsZZm4R#(8`G|m>`Os-TB{@jhF%HVdL z+Z2^W@;VzXKoN~-t|t)PqlwS)8UAZ1t=dDK)5hxv!3;p}IYEl(P$nSmfO);hYoyso zY3^YZ+c3>v42+13A7_iiQzGP@xg1W&qdNEk(j~QG*u-z=ZMlyix%V4iIMW1?Bm%Pk zQq4+BkN#(9CZRRg}>KHk!Njn@$JY+Ar8>IF7gj~XmI9|;`&6-pj&r0IK zq{{ISM|N{e|CO8CsjOZ>I~6qdtVfdER4lFcjmCRp%r zYXzqj#^yqPl9&-T=f`P6Ug-O61CiOcEjO;JLmIy@FJFD;33YbtW_50q_d9@cYi=J*?)5EIzs^dpI*C^RJ6d7Ay?Z*&ezW| zwod=4nBB*E0-qh!QP7$&wpI$x00_T6QisN{pqs-TR1{Z&6(5A!T4COYn|r=bH?^K> zloX3wU;4r*_6B6t%BlTHJIRAN)qi3PYcG7ah(Mr;2bm3ogh&Bq9c?n08EE3^~`gLnn|R1WXH6)D~u1Z=l#A0loDI?|ORy%6!5*hJEMjQHjCL zjGceD&=NWc0aTE%PW0cHs-d3+`onZFSTUz-U1AuKMO$myo>xbgPK`YeS2EM*1sgck z9o}1yBf0xaCzO#gn0597H)-y^^kS><>A&-9F5NK{EG6w3`8=)CWpMGC{EIu)Bolc2 za#=W;(E3rjGXK-!Ns$DhBSF}l$baAF6~6ROlQK0~jH0R$i6jYy_`mU+ga4pI=_k4) zj4wQ3EabQ}5AV_>)5SA~(>Q2Wo9rS5vwj<#*HY`MsE6R-@4m%7N&j#AV5{_qORXUM zWZz=GNa13of|jLN=si;IQ18&{=pexhD1;%>InW?-ao9|<0&kV+@6$TU? zuYL$bZ{_+w;{xJOk*#|DkT12uh0Pp|k&JPh zJ*X{aqQzHPe64#SARzGtQvDmtTQR=xvXO;fl^6`@c6DZ2>9&|WD3xw!wg}sm40mGA=a|R_ zWFD#TpDz7wVa$4Bm(@^k(1mr~3Q-PIuyrVXkBn9n***_d6#C33nM>qBzqY;_`{PRd z*2Fk3cL`(2Fxee>v&4eK(&n2{Nmey(@QE3mOP!hLM=lp>wv;F#a4@+19$^)U6neH? zqWM|JFz$7KH<>7CSs$1Hr4^Brd-Y1;V8<`#qd)dVrwyx`^!l~!zIu2KzmAjUis!qf zp&J9;T{JYCNtBo&Os$9+_-}}@3yVhMRSEZG0d^+gNGIOzjebw1`8gLK-`DtY3h(E$zFHyydAYBh2)*hdtZ`h-Dv4UD zjp`r`Bphl)Zidq{JSJ-7pJd2`#U|7^->4CQaUmi2f4(B1+I{`i+$iW z?1=aaUd|(8PAe*BV5Fb)a{d;fx9``3>vdls7oJ?2Ha6Qc z(753g3oT}KCWpyX)5GQ;7)G8XscS;?PqP_3(~vp z;VmST6rknBQv>Y~GMY`pGcKN~@p8W4_ZoTdAaYzAV#Z4l*yU@0><ahNOa|t(Bhx7={#JPH{HgC?O&eHgz=UKElzI4O+Ea6pU%ld>q;t}kjC`Wh^HzB8Y=Va$*-F* z_Y+e61uqzD#BR6TdY2K(Ug2<)yJR!h`sW>wp#N$CimObbu5iKBxNaD!3q3cn6*qrZ zVU_eF&h~kgyHOgok0yh8eM`E#)yg5e$J_-_>Fh+l9YWHiWQZzB5sI|^{UY9qo29N% zysE*Zckw;hsjgS-k^L`5FP0lqZ`*=?oU>oGDemyekaRDMPSIDF`-H$`0O+055l?a; z@qCq9zkgv3$avR94wHtY4mO)1>HU<@2ZcLssw!fa$B(M6=ZiNFowd_;l%^#a;&1N% z-D7`Z?n6ArI^cgG%%`BOQiG%M0CGswZa@P$D5KG_??Jv71CV-e^WHy=C;wC zsY8G9j({O!~9fajPYWt{j2l`SWT}d-`)_>y<4c6VL;9u2Y^aJC$ ziqY3xU)XO;MCIPM<(*}@W8AttEHHMk`uo@SAD52h6D&T= z3DtdIh^n~jjLnNL&wTuax|$d>IvOI8G4g6`*D(J=T-q%6WwmYD?)lQ6Hle**7oa-2 zagEeg>B8W^tE0YgM3P$9H~7`Cy%6*zea)l8$~Mr#wf7->Qz%^Hf$q!fFo6Q_eGq=t zp^Zf}JLCpuzW6RHK)}`Jghz>mr*12vL1p3O)@XR$OiPfuESN^oU(u5d_fm>kXlv>v z7#2yTeVuNLc=YThcZZA1L%JxcTGJ4)jci>#Q}F&+LxJ>_4egyTHEEr^CDAy*->CBE zRvC2bY&WX6ch^ED9^0an1?Sgj=LqY8?>HLNDc%6~q72=T>?`^E5ze7KEH{XEe7 z;saWeJTbf>{`obP8MdHMOlck21;yXLb)BpCDi3dQV*2&6p`*VrkB?%v-s(S1jL;l@ zYyS^$Bklde`!@oAQE1D(zd0n|pF~baN*%;`QTB_A&hr!LQDL7C+;8<8e`pP5aKGe( z3{gKTDOOBAsS?(9^K)6 zck=_?jhtWc6EAKX>(X)2MOVMSCFa4aUo3EifpWzJW{lupM-fH8i{>-1e;mB`w{{A7Yf>e(lG znEyS=Q9lizyO>~f%-h+?F( z0bp3aKCg9ibjzcZGp8)xxX?0+)>gmxqqJRpfmIGb!~fVw_KtS4QO{1}Gsaq1s^v$i z4^?z2o(+>-dIWo5X3e@HDeI|~^L#!srZ?Q3@g@ldiA=Xqi7o1HYnXMmGRB|0{36!( zolJD920rq{zGxa7rWR%`S+QO2tBP|o3X=zq4~Un>-WSGUM?%X%^K@3!O#BS*F|Eux zC?hu-p4@5k{hLgTHlEq8S}xK6=U}YC#C`|i#XapvedovA-`+I+yUAN>Ti9IWqp*h- z6Iei%pivGpViZSp@A&pn*_rZ`tML-W>)`w#Ble9QIZ zwtfJlDYEyv7(M-;x)g}%gdRy>1x-Ov=ZzU`zvUib@m@@A!urd|8_H)HDmCf-9>$F& zw|Sg+ZgO}b>#y4ie+Jx0x3!h~kX&=)6SpRs8~vjBzKG-_`&9H2S33^dfkcu{d_tV*kM103LJpiv%X56*6k5QVIQN{CQJvwb3yvRg{H^HLoB&TyvyIv5cKh@` z?V+0(4j)vh{bX8;f0||8>{*|OT4wrv+8Gq{t2Gc^jPOid+N7#Ibl9~zJ5Z& zvRW}|FP?Jn{*vdym8#%B`{GYYMP|^pyAyWld?CD zer_3F=p9`gZ@db>*#9DmIwo#Bkr$y8xbw2%38T2XIrUTVoH&M3J2g-+7wX1dln`xs z^~IJ}Na3uZ^2tNMyHmo|caCO-Lgw_}ZyW6VRnFB~+{%u*_Tv6~T>ziilaDSc_bI8n zB$ht2Hgt3FN;vS-Z!IaX?kDTu&D-~Wmr0W`x{(l54{P(zDQQI~RrJrriqMbk9B-HN zAyYA>Ir+5j21>N0ZOP6}|GTDng<`Uz@Bh0-@?veJa!#≫3PI3F+=pn)d8XA$KvL zf#GK{owJvF^S^P_kJu|7IzMboo>+EB56fcyV#hPuuXSx8C+^pazSQ@capl`&TH+lf zVXW-@ipOK?3gw#|-Ez>644aqtFHPiH%OI~r&~#?ts*gXI7p#_KMr+@PApK1FDZ#?ig=@YBtf%d-=5Pv^n#;sOUdZ@^n0ReMIqM8da+?AnDD z4j(i>(y97cG1zJ3WZW0|9%97wXX!7^oev>t3f$F0_fVlp7mn&&i)oCD&CQ%JKli0? zPj63fYd&)*=Xf^R6&osx>>I^0I2P4Ci6w4T&HIe#yoi5K$b;=n!Vt`@cKBqZhj zxV4zxbsl5JM%P-~oT#a<*X;Xmv(5ayc8UpRVYlui{jB!v3|Si%+#naTqff;-p2mlc zKQqUd&K5A?|9e;enI|RxHGcO0zuo_km-Q%&2lq7Z$3vGNvlKi~8}>Ub7=#G1C47Ge zjfaxfA}@=O^5BoG()0?KS4!JoIhjnR`DZ5^XbNb~t+O>ZClRJlQ+f?W!T6f#kpxg4 z>Qyd^ySY@!FEis+RC*xs#t;1z3Weu#PXyoxm*)Hr=2hNZxw*ihak`K1SUq)9492&R z%ICJ3SK2RLs@`A8wHD<3w&$IT6%9}(8F!aq2AsoX=a@Kx*^CJI5zK*cw^Wkb%*8VA zbxd0?m1y4|;Hu^D#m{Q;WWH09GFb;)ggVMh!3SQFhb-Nzqg^?@|Gszoqvt~Q2+-`~ zl`B`i52oA*Bwxv|x6g=6`_4su;c}od5KDcDHH3hj`+`wATg}^sE>;6WNb5-S zqPs*?33`zBc_ty zA`QJg@SDiRrG0XE$C2L!SFipj(s$q~ZSaX!N7dI~I;nN(_nZ7-N7jor-*#T7=<#&C zIl*^c>|T;Y!*`FANo06&wCLjWxCSd9)YQ2Pch)LW zl!JwaRYJdr90Z4+TIC{SS!X@MjR;NHR;QJ`<@c}~Rr=t1= z3D@42NMr>g4=JBe^%taQmhPZ{X*pNu}z?HcrZXo_( zE0C+>J=^~T{mpk5wD;xuVV$>*pn!lQg@6vBZb(HPf(noM_}lwiO^2-UoUw^aRBL zRoH>o?yJ4`#cAH3S3DpGdJMC_$_CLkUbJMS?7Vz!T;MyBgo?A>v_ud5LT4G)2g}ps z0Upkh4(gUf;3ky)W9E+ngdhn4inOl!L-uLT>PAJ)Wv^-_+!D0j%8er(!CY72*qVe; z|4E0xO||&u*M$f>U4nnwAU~vP{e0Z9crVl{qgmoAy3E3(LvDHPPvl7z{_rhxFLQs_ zJ8f*QwpMv!G0Fqe-C4ILLQzL;bK&ow4YBpi8z~_;xW3NM|VY+nv?lz9dE|*0>^NOS<)Y%sWTW6obtiHgiD&MYi%UKkc`ds z+@J+p=zG`EPM;7P!uN8SRg3Q4&;B9#=kT+-yIf?`Dy-kw1Un%5SkrW&jy+)<@1j}yT{n|@lG5iAKE65xQv z_Eqp8LC{xGk?mVcM7P?KIkRv4{6}2CPgK}WJ#h0m7Z_1u)OX?6zoz`y0R+xx^EcfJ z7GppPd&x5X@g`gMMR9PA$cCIN0zPv_EgviaL2&h9t2;|bJ>k90OePkwE$Hv@k|B#( zlG&umtHLmm5Y$@Wi<{G^tmId29|l2#2PX%vOYU}CoNiK2-o*`YYv`Sp+~?;wNm&f?+`#HTa9h;Q|;K&XE8T=C&#!V z#pj^BwOJj#klqW2mPfN|V?^=TX4IEB(Z!i! zSmBqIAFwWN1H$rfgCVICEoXEA5dm}MNK+3xd0qk&d>t~X^e9gjTV?#I%hZlT+~gWs zTvRyTCuIYc<-bZVjBUdOETrm4zX1eJzB1jK5s>fxc2u);hqHUk%xHxw1Ur2Z?9QQ& z#}2$9rQhXt|0wXJGZdiTi+K8B&+lt})OQy=<>vBiOJMAbMPMH-5Sdi1N z549n`J%a#~{)s{P3gB9MLn@e)p)vs@CkQaIjcKlNx>;wjn`EQP^dc2&;9B6jVD*OG zfe%Hy5{X#1Sn1dwP6}IUhJ@|xk}Y-e!cXTgC}IF-dtV9x)lqPqM9h%>WYxc!6p*%=!`!2+5i0S? zE9?JSIhK9riHM#pY^$j`ohYu&w}b74bB(J#x;JueVp@@_oCJn1NCF+w;eqP6!Kt-- zGK`}<{7kATV@hvDI*%TqLs^7#hvY^Rglof>|; zQKS&u5q|uq>##B8bQ(T4G5>qZwi8`}84bH!fV9tfw73;$EOtOfs*g=9{C5*pkm-Gd zVkUw|8w(+XwiCb2u5f=l+4|_jk^c0++h%eu4+M<%L9-6X4!Xs2X%YtB@PKNGQqHj$F>cizls7VLZW>Z|_s@eDft8O8>plC_7PVu>0N0G>!gT?f(UQ+SqFl40lz|9fWZ51U9&$=u0;wHRh)u}yM z#r?M1kMhvCHLNS|3;QGcnX`Ky^n>9g?81g95x2GH6&#t6AG*%M1RhfL_*|e1eI=iP zVnc(9!@R2Xn$nv*cgqKE$!qTAu+Y}F7~I&Sf-Ntr-LJFVCv@m%fy^d_Kg1PxyHiHj zOc=xDT*ckAi+*a~uuFghL!|Pilh9oQ%+7rK3BwG=Rg66=pSF>L3J; zG_Q^WH$3Mx_~=jX;iF^@xTwzC+Iu-SU8CdN%{zt|0|5{F=?ysyF!vmKa;jd*MGB-8 zbjVTM5|=(SbrK+nJs33eWMQd}JBBNRC$L)9^hVRzfuP~+_{sJ&!vPD|p$d3_rl)+M zT{%skF7^}$xRJeI{bp3623AX+7x$c@jRsSxJ|Fk_F&^fSD0WcJ0hW=^JqRvN(pi zUluiN=zg|AjagGi&*~~`j4%Ow_&y>k=UU^+w)-Td-oAtz!u1e}M;Mw8!K|@369J2D z>_h;q{+fDz`f=@=cn=hR*yjOhmj9*O(e9%{o}bsX;kiw-P453V*y#tJ?UAo};paWh zonuT;tiq;e>GpU?&}w~MUT@sD&s-%UC~KSiZ{@pVvDEA80d+xP9l!tC?r;kL4tp!u!w*UL_aAnU^F6Fn%bz^%oW;Pm!yy6GUZ|G=``{wC2$$Cq zo{#5Lac$dnoBPRw`9-~>K(Jt_r-gMP+$OY zL;-3?MQ>*@RkxAcw>aP>W}fZOv^6i`yQ$vokPi?+Sow<_H1Y~VH)F>Inb z$TjR#yNh3|jvzk8a+etmGbR*7&)C&~R2TfG8WD}JOY^1gNx_#S-1x`+X6(Mkpk^Gu#-BuY=SU-mcQzIDz=63iaYYZWv{QEOzS1OE*S`e|+JG&L=Szf$E=dkhZgVVg)GIh{{#BX>m74n24oU z#>#Af9X&pEmy1DB9vo?po8xNA{K|n;(t~yyJrA`}d#SZ78X3@oKSalN@T*t!AQm^g zD9U zye-_ILTM<|71u;(T5TLj)a{Wa*Get=M^(rwCU7pXSW>0Ql#nt~dQ>8mdilLHa`(i2=kaZ9!cQ30J}%ZNr2 z;v>{B{@&MQ%yxTWCbFqdLoB5rsFCH3AGmg8w~_|e4_Pp}0z~bCu>&u^oAf*+;>rmU zO_T~|*#=Ls!LJ=^H^CbrJmQ%HBWhN=*G^PKFAp!figlS?bewgDI13;4Id%3*OcMe! zDdPNOU)aDlEMctjlI&;er_W{I0#|D9gcA%kySkH1CemQXj&F|L}y)|Xil}zW*-{aWM_SxyG zKft}iU=3+H;rC}iWPljdxMTl)nkS-$LiZf1gZdll&gm3b?2E}Xl5*4;G6K85$O&N3 zsfT2lYoFw@?K+5e_dA%xIFl0Ai}Yp2v=S{*Ux>@6Sy8>qNg^;FF?% z!2+0gDgV1l;Wy>c#|c-d>^oxyeFx2JT{Y9aV1QcyFZD3V?J4$tuIfYyL<=_j4{5{vHv2o9W8du3t{V z45L>^orXUcJbPKyZ}Hl8+OQNj7@_8_OFnFEs!#cF=!efKM8~V=T6^R?*67~IT+7f@ zS-?@T+;6XuDi8>n#0siOeTo-(q|r?Q-cG4x)d<`c#NNm1U@*N5RW(21!r?VZjogd; z=>yX?@(9HQa8!kMu#q`{*WDY+49`G^D! zECO-XM@a_)_APo7by1Bt6Q>G7Fo`jsV&<@TBg9`Ii3t-m&eN;|catYzKjSo?)agTf z=Va5!hf8IJEjB67@YBDG(w%$RF`efd;m0I=4AW>?Nby`kof~%fWht$ypM5%Y+oW4Z+AKD_pOTJJwW<^xhCu7+<$!b*oHp(>QJD9IrOKoTKe@1 z?i8X3=mPpn4ho;GvwCE(-tE0`$D86qvMB1g8|kcpU?PqWg!J zez0HUsu}s`o#ap?Vul9G~jwSup)hG|}H71~z5=%b|7 zk&ue8@IY<>u7%SbUEhiL@Uy>`_)}5#^FMC*i%YVv>BS-$l#`x=$Fx^p9*+Y1GnEzO zVj)RxEZc1(FoA$(VO|n z=ZU-w58I}?Je*S|JKJoeK=*Uq*at_Hx0{$Sg~D0a)9mrmD60;Gea};e>Dy1qk?+LY zk&&&ZN}LX!67idNm)G_WRNKG-zlWh)2e;*0c8odKM1Jo%UEW$7R-Q%;)J%WPE&l{n z0WxwkzU?@#T6P*@P@PFY=6x%7SeOf%rZ=6gE$|6r`BELo1`%`P2Oq`^Db*mJx~&1G z8fzTmUPESP6m|PN!)^3g2#SN#k%j21i%IcBun_=K7pSf`U@;u&hNyuB8-J2=W&@f9 z_jxEdOrr&MWBfuu0e&4v-lW`^hXXansHMs~&5~}7{7<)IMLi9ZVmNRUg&x=%&Aj}P z?Bh5nw+FyI*nks@DnFSa1VnDXq+Y&j1c)|(iiR@&gDbNM8XtJ|)s1M`njkdDADuah zo(dHnws6Of-SV(}x2D*OaT2OUMhYA2a2ZCFULWdxOGQWAABa#pUlVf6^N>F?lS@r4 z7SSBhL)I{NM?^uhf0|Xfquf11Fcfi9H}5!sYoPGVaFA!a9mo6-Js-eLsvWm|1o-CY zn|+ALR*j) z-I<+!I#I+Kp<#_hIrM~&I6#@}+Vhf4R%eKuZ~`abN88`4lM@uTLUJ8m31=Fd+_bLJ zhmWcxXBtD%!Ye0L$_w6C6ae5+Ho$N&R(--|gl4+Lqm4Ce{CWzFa%NmUn?^S-01$27 zS(JR}{zLbWH&$cOVS6zFi;Si5Zk%bofADo~qy>yVJ$8lYj3&v~Z*?Uh2=htH>!)2` z_z01Zi_O|j(uwlLaOcJ9tIJ(9pJ__b+F^n-#+I+mcg6+omalaan#xfHJ0e`Hw{A!s zsQf^Ip?rJTijg^mdjxE|H0t8-Pvz59OZ??3+OuO*?1iDQdW6zoyI)a5M83mTQUFEBxe`D_aI{}aYUDpTQj{ospv2)%jEpV z@oN_ktL!L9=WJ;-Q%V2~2n09r2I>f!78OcpoVcB97VxG^C|!>BF4$G|js2YlIRB1A zNV?GnJ*w9Cv5BZy6vak#{kw+j7yft77e!pxf~nBw)i7!EvGzZ<|bkWs$LEE z5}os!%l-}XwQGP%w+)147AL$7M$=@I3p2TA!j_MlY$H!{EyXJuo+b1h67t&dI1}Ca zlgAyd3dC#JGKyQ49BqHG0cdlR!a^yqX%N+f*;n;pi&n?1s)2wBVRnr~0wmyB`=`-YYB>JZ^ea;_Ijo!$m#mi*mdssis!Ai?g{eE`%K z5Xq`dcQjhwyCliCaaDbRVt1k7dK$+_Gx z-&q}gRo}V$x3(yhxUEduR1P~?kk(7V^!?MWy2v7mx<&Us9>A4^DMzAE0V*^)qz0sG z;SnL>;%>|3z#<<$kn~0Q^bfWuZ0E4PIxgp{8$%-aJ$qvgL9ZJ7EEK-`lQ8mrtmbIv2(5gd(%#RQBBd z^O72k$RppWtaYUd!bs~|lu8Fm4*3^z2_Gqwa6iwea2G_eVlKf$nP_4YG(M;&Gt`+^ zD^mg>)dRpy@FsJ-q2ZWQvF?^-gw+7yvBAblo`ws~$4C5PFM>PAb7R@{@%_ z&wWS#Y)MAT^SW${-`IgYdN5gbG^}g-%7%9j2Xh)lo3-$fk?I`yuYV!!rn%AQb|BQ> zv-ySx@LSl7%y4Vz)UOZ-5*%RWydq`KuDj`Xx*xIu&bENO-WX*d`Btru486o0BE;SC zM=V5ygrBQkOu<8qnpJu}O1gyH_tWc&Y~<#o(+i^iruVZ4w2*d5f|~LBw$D(^4Ln(D z__a!g>Al83fLPO&@i_E9E|^tANa*sxv(^*M<0ar38h?H+dNE%Veh3FDoG*FSg;!8* z*D-^Z%9V*T+KYY|HY96(O1myw|AmgMLNKRi)X%O|izkTbrU{ZkbSGe4Qe7PFch9YW6fR_~n!-OVZ_nywM{-B7`%&jr&JF2Eu z{14^9Ogws{MQh{HqHi82_%>*c$H$C{^jo+(4+v9L2rl`5U2E!}L7Pk#>Nwspz+ijX z84nTKdRPbYRwHWacv=SWqUb2%)G;>=Qp?o!x4f+rcHoSN_amE*69PjXz43$0a!@XmMeX#n z^=e+ZH%@k?gGo02I;}Bg!$UMB*LvfHpvMaCay1=-Iz67d+=X|Z&W|1`UpNNN;Qge> zZlo#2UQc^zY||0AI}`beCKRo-eTr8O-|xa+_VII~)c#|P_SkO{K>(W` z+f@)Gj6T?-i3gZ9BOWGQtn?a~Ogl8%%_#jZMUsO6er*0PClb&Sm^c%^+$`Z%{RDW>YAnlR)^^mjyA(eQjWDmC_8)#1qJNgDZsY-% zd<2j7)tsb68$PlOdY_0C39-oP>S_UHIxn^Ta^|}efLV$Ib{+}s+K0o~>#B97!gDqH zqbdGbOWRs@-i_CA+BXAY1+k;2V1b{Lo0!Q7|CQLJVwmQ1scJ`igc{??ISsd~QutCZ zwvhnG1*kXqcqjO2dgc*=H&-UeWj3cJ#;;x@@{WIOq;m}L@NQ7{0fHFw017ov%% zx*qxR9VbaC>>ayknog2(IN7uDJU#q)*Ykn^_d7nm@_81UH&5c+kBbs z8FuUpBpr}E!}oUGww1hTj#L8bKxN*=wBBREvSr+{lDg2>#j#A@Hu*BGu6B${qS#}M zp-I8F_jf>@+z|1N?J%sWU^!9sPtb<#p0;S7gDe z-GR(uuVn__Q2d`#(aW>x7`*zTK_071xU7sVEc|TxK;OR@!YKotQ4Fu^tI)X=?Y!v0 zpRXui4wI90Oy_Zbr{X2S7jw9fi;`u{Bg1?vixB0rgY%Tm{jENH;NAr(M%o6_u9}LV zk;epsl=M>Q{Yz|q@F(rkcw;g`BJ{D3mbJ84-hNhBY*dw!4$qf z|Esdewmw@wwozNK2()@fv#Wo?LDwDE_K)V}>o&JEmb8kx%aldWOHBR6ZusR!O87}N zP}zm;Y+AbW@`7bM?09vqB_M@nfo8$tR){|pm@GWl_Xy=%=kC5#BWDJ-C0poY^7rL@ zzeYv@{(bGh5~z0yVhb7nAY%=^nJ?+OE9D3;j%vu$C*<&Kr{zI)bLg#}`jpPjwPY$t z;L6Tl6*SwK$9AZohiDxw=)I&$Db0w~M^s7Xe*{f$A29yE>$rc5>wJx65*bTYCgk^e zzNc9*YTB0an}LXY^$gigEaU<6}L$rK)W5sn?CILVtJcFIWYqgnEq? znc$=U^SPhz;jhyCPsAN|2M4t~cBb7EK_H?IoC%XaRH0F-n{6qk(QO8o((YE-^h9&e zv48gLmfhVVp6_n~oE*#kUA0;Ae??b+GE2D@)beHgxpWKYXez?b zOl(5zfk1Kg{mz#*rL_LK#s&1d-lS3XP(8C`D)Ps;HeC5{DAxvfyw1;j`M98%IIVVU zT&%DBT8J!hp+nMR``*~sgWz_TZHws>Lz%n9A>L4Epx08_gke(})4wYrOA&Yez5c5P z6RAr$a!%OVU4zilR&a4K2Ujc$oe}u z(ebx#a&`kNe)bOAy*FeulA=r$@9Ugle{s`0??6+B3w&ZkX*7|M#=xyTF@-WHhbcQM zJLDN>(U>9}bka)(bQ^OD{alUM>KVkqjD}CS zynzWLFuz}n1>=p+VFLgY8UkQ9<}{t>T#gpZUyx@vlR7|OyG`jmw=|03 z8#C;sKgtx?@f$K|BJu|%7`RMO3FUpO8E!c@8aOU_`CP<>3WgLVTpz?uzBCB9zFX>% z>!hDYFX)vR1ez?BF`qm{*j06zwKN}mt*uLfNTxm{q1{ovx=reR+9RaZ3FF4s##sOo zrpz3E7^*(GuByItUqs%lQDW-U@RO))edBIm<$8&)p&k-^ep6YKA}-^`Hc~MIke6UL zG9?a%x|>HLnqI@+&{s^!Ic6KN`_>qlPxcz*Sm+DO9X0yaZq8&OJU8~5pE~7j7@e;# z_FIt3GPM{1-u8{tz(Jge9!2Mam2x9J?4cyx2Fb=4OWagUh6k~-Xmsy=s>>2}_N;E{ zr(U03aa&)>CqKa|>Ut?XeTkH`#`&T_gZU*bg=gM=87%C6Yf6@+(9!amlw8F zbY!)Od!obWKV4Idhrh^r2ma$R+K~Li#K#*#A2Qs`Wk@0kcGeM74;@yYPWe7F?uq*a zfB8I1dd_^(^_s3};&^hV_hgZ%`E7!ix4+?=Y0jC*g?Lc=c~>uD>-2J+SNC<-WRasi zwjxq0V0>UB49!3E;d*AKfM5`|XNZU}7{|fb22LuoFRcC26smtpnQK4m^Y@ow3CUOq zW3-%c*O$IJ{^!BLH`U6O)cuLB@$PE#xRfOOS>7lwC=^O&&E~FR8?_UO%gep87zB8j zL+Sh<|AHz6n1yd&in`xB_H%`H#FigO!hZ-5hV?pv;*ZY5I*Yb$^jM9@{;q1>G<)_o zi9fN^NgFQp#mjm5;a2Daa6@|X)v`7UU6rxpZ+iyrw;idjO8xBe^K-uq_9AI!P3LMm z@oSR7fD+F4wMISy{SvnJ=5E+YUJm)mH9u`y6PxRzqp-~nnYp3<));>>dOe6Jx*Mjz z2JWvQs=ap9H9gvs@Fk^bCxkcpwl+RzQAUKGhyOIwzZtAEC$|9=DYX zgzVO*)ONdmDQELf&0W-r^x~ybwOu0o)_aU_i>$V|8d1Tr;lJar zqV5w(Na3Wl*`7C0d<)oe@@%aEgTd_jB}dbnE=&kLDu)Z*&g}xFVRnhCJt7UoD{BdiciC z{U7Apx&1H83DOYLFMu_Grc!&AD`O4H4cH8C+vfpCfV?oLSBU|^61LW!8+PAO2^I15 z>||q*rGNtKCE~^(r0+s^UuR`(Y8up#;i&InGyf~S(&kJgj*Vo7@LFf~m zC%UB~Zsx`{vaV#q(MY>NTTw%)mYQzz()~HksQRv33T6n7t8EuXlBULGmc|ua7vU6C{MY2%e^Rb zj#}br9->0RN)p_1gG;+kBT;G_@&0ak>vDiJ3!s^z@p<{6+DM9pYmJ>s4_9u%mon{U z#7~{w)pE=w36-+qghjy3)AtiTIo|yQeqJimJq@zdefoEN8FPo*-Fq4o;y6iJea`25HUwPTs5>x+#)n$F_*hf2!$a%@7nnxPf$*#sc9Bx@~IS|~$eDAp;S-};v zu%n1@nGSxPan79ADznwu+A7O>58mETV8wjpZn9}_w-N^n(@5`qCI;hXP%il?SbBO_ z&@gzR-n;UN$ag)pLjUiehU$vE9s%b)gxBWNP&s#ty+rGgsc&K|=YG}@1vcanTKk$g zmtpxj&8NoH;#sza{g^~4`1Pr-0rwv;#TmOwhK$B$!zM)Vi6F=v@6xbFGiVEwyvljw6?$OlM)r~RRv^vVvzVBOJAkW4+ z*fOkx#+f2c!mV=35SvFvm_F)JX^e;-#A-N#6ESWEY3154}x8^GdgIxP+TVKAQBkXd;->e!4Xr4 zqdcav{5d`S`nH^W^Z`=ju8ZYd6}))62hzmM{0| zk=IyW9hEPF?+)!>6Vh&W;{sRCRFI(**MtSB$u)x{-*~@)(l3j{Xtv-m*?ybA+(PFv zTx*BNmH-<-%kgW);B@0_JLW7@9(Q`3Sno~y{*5&NdRlwP-n`npJRVtlcVVPQdD@{w;!Gy|r?|)ULz1KGNHm{vEO_}w?XERs(aM<$61m|K$MyPv(v1W-<=>>7P07RTT zZZa)OMHK8599}+^x<>!Nohu`M-FUs-(WAStEiO*>ZEoSz z8}DOp3{yX$*Zh^aZ%He9qsvM3<6uw>ON<=6a=?iPrr;)co4Zh=$^us;4v20sukNU( z_}WLNKT>m-xD%TY`p$xZS@VX(~Jvtb=2GUULmq4lr_-ugcAE6PMRf z7G=)P?yq)PJfa!X#@VTlv&KgC-Eb8x4! zU~E2bz9Uu8aNs-5I#DW|+4~3Q9Qi6z+S)P32XuxQD*IZJ@T09nD(|k+)Sr|BKR}vP zT6UU|la8J=q&MES-YBc9&*DRui=mF7<-5~#M=m$eD|pvjst*$&4YA{l&I)M!x+a2l z%6sp>nBD~sYp7XY937}d%^|u7uCwtqj@dxCyOZ~1{x2UTwy*3Qah1IY5o1D`?%I(q=!2{joUGt!$leYE&LgaSKE&3HTt56MG!u1tTW%}P$ z-Wmcidy`pUGSM3PDY=7HqhR7?vh#%C%8bh-gqTNo?$y?Y*#c5_E>fOV}bAP-E^t{r@bqGXLIY?rKj{1ZBzNt+%#bE#zh!CGPn|VqROnbx%@5(7cJg$=t z)plccj3Q^W&sdWwtn-PCgx8Kn?>lU5&L$4M+^~D*sCXV5h0rQ!G)_7mv~Gf+FW;`g zzKIgJJC%8cRl@xZ431l~y#`RZL@w)`PG-vqvh1|g>e`Qal=0$U$+SH1M$r37d>16u zdfXWa-pKdv}%SIRB8k>CBx@7RrUFMSWV6#Mdd;aG>Q?lgAkfras}V@ zY(%7q3pyqTDvt8#(O4dA_m-M+CbiK<*i6_pwbL-&r3=vK)%2{d=fAkUX z%x=3i2=?j;nC*<2!Q_uyp@FvO>^t2ENfQfP6mvwBANagarO0a)r^?C)uL6;x0f665#PlD;kRSG?BTV!8-7ddteMo zJkUD5HS*WQtkGP@+{#Vr$~+;;SIG2clwI$zqF42(=fy8T6lgLl5IVZaS+8XeebE^D zO$ywy5YoBoG%{CNgOa$@oT#~2e+7!QyhqVk%xm0g=o-q=7rJqelCE&9nph3ofegeE zM2&MvT^Uzz(qpHCrG_bkr{i`tvgA|YuO>sSXUw{Wld0v#F_?5>o2!K?z+%eYnoDZA zC1l)f5jewcQwi&|9kQ6Nbsnmd^PMj$+9A4CL@E?q#b|z?o5Vnv!IJXa7?Knbv>o3i1USE>iWQGr*QQoqDs=5$J6u>6|Kd*&*6c)F-xcG zmbM!C=3kqqz<%5IhL8-TX3Qv}FPVv7UE;;mI?TS)XHXW~Ht_{r7%K;b@R?+le192Z$heyT}Ju$rZ%L-wiPl7tcUu1mDyET-`#gB&9%G!bQ%;B`TQaMD8oWQM&DrBY#3L&*N{krd!?t4}ZkXijyZg^Qq zuj|wVMNF=P%NpR9806{O#6)ReV?=XysjO&%-%`IMBp9AXNt4UELDhUtXGERsj1`A5lcbGXLdiX zMU07QUQ0XHAn*s?wOh-LLe$2JR$kDV}nEHD@9QXs8rN zj&CFU&ef&|=9uot1{3@!rD@U=YBIrISNqb+ntiW=k5m1wWnD1l^?egkyLx^wV7yBC zJUlJhc5_EIWH*vW_~$)lpkM+{{JWFA$(5E_L(zd@_LUJ|wn4LJ#LpWI zSw#Zr=@9!KwtN+7zMnc6oJz=MVDtQ*cb<}zq=smyal({+%oSqmA5hnsMGQ27_Du zR}j7_J?mg9Y%Mlv^p?@ADEt$nU)Qs}%} zf_Ag8ylg)#JkV+eT}il&G8qE%X2bF&d6s%vH}^gnISY7^j{C3{SjhVdg~8OMVHRC< zFz;|{>8+@ZrMH2KQNwXt4aP>|U;NrLHm)(^T!<4q>M-_4KOr+~vGJ@>YE~hpyuuq1)9#+}LUM4E5y& zRQoAy{u-aQ$>i7q#c<@O?CjKU?#Ir=l%c;G+*Q;ZBv1KD%Enya)m6_GDMU}xUFEwG zybNWG;%6QLICJJ1b$&ufl08hNyt44I^P%&yV?Q-8q-x1EUX7~ zcYilDz&;iDR*(ArYB*}kra1wgqF3C~CWuPi_@$o9f}by^>HP;fxQ3E!>mmVE##edYhpNZNp0R#G53#lvxxXRi~YOW@zVhsdesS5Pbmsk^Tl$ ztkvsgO(U~y7j=$^&3oY`xo!3%n1S2wRz+WWSMfwqY)k&BN3VrZL!IvetjfVcbPzK9)#|5hF0oZw<~Bm|;!L~?yy_*v z80_)kr+|W^v+2ru@so z^4Ye&O7xLZ`GM6+n~?x{lxrHVdtwx;l;Bx+*&D8z6^2Ay25a;L>_*^`-j-n;id9xF zm?{+=f^xGVs?IH2Cr&SP3JIb0Et`1hM}F7&m+P-`=J&VmdKI7p7G*G2mEsR$3OsM) zQK{F2+iYl1A1WgO zP*Ei$pa#}fRuA&N#~GirNU{^}TFC0Y@vn;#P%EsSj@}|QVlHbWnxlcY_@k5h%Q6|v zO`_jJ8BBfi;RMp+)cl`TK$IwS@kv35W123O?ulqjIE&KxonTq4H550pU8!SFE=I1i z-PZuhUS>b*&)Mr{cy^i_`vUaa*7fM=ku^`PhH*E;?nbx9wW-3U6ZnTpn!U&q`NF_% z&Qn3Wj?hkgu2OayNCfGxGex#9!!`PU`vz5;s;TG*!6UeeLv^4crd^OQ0$k43>@D&u zT+>_8Gc^;TJh=KqR(N`0PAi%DImr~+d$fWzU=vjM(6E8hd^7rd#G02Q4c7D==kJf7 zUU$W}_DLa_Nh_A_nsE$H>kzN@WL3xb05`pIkLgQEPAV=XC+wjs6&D#nlx$xoR*GxO z823Y@TJ{(@hy)63(6oe`C#{*nMn8tHIQ}7fhqI-8r-<{8(n08o2 zrQDnJYcz8dw-Ts3KJ`0L1wz^TurS|GR_WT|-16=@Lf(ul47I17p)&>U80yov@daCO zyF*w}qnijGnR#-W(FY0R$j@F5u|TZPVqgRDs$Aq|_1WCdwUtqc%56rl?g;7m?fIgr zwAv}_k{$Gbver{$G0NCEXIF|Y7V_m1dZ+fb#R5vxM%;!o>Q*E!;|+baIAs@I0ZFyvY3&FV_4wV<#poZiz3(S@$}Q; zcQCY)nq_lFYFFNANm$9*0~bAc(#oT<&!ZOTy_f?6QR=b;>JC@wB^ChrdXU6-*{vRG zK1D+b*mwwVdsGf1#;Nzd!O&Pl<1l-RWIoQ7^;((C?;Mqdokh7fnv2iBV?%u`FN^B$ zXw1(O%)xJnW{w@h`R?O9$vA(B_i)4+Y&|di;SCoWjQ};yhWuwgN2Ek zB?KGAZQwX+)!LX-M1F)LI|NodbCePjmF!3ksT+w7nQDrC*jNJm9ccF5en$=vHS39c z_+{%BU`B)lL#FKK);_zd?wy)jBH}NN{=8@W0_a# zAHAcWb=@6_Yoi>$F?V95)^}JTW+)i>n>G<>#+(;?#0BLM6U}H9nCG&`H4Sa3xGe>Q zxM_q2@I7CaagmF049aN{Qxt15ZzIeah>lc{yco34?*9H5uMtb@)1T1C=*d?)J=r>z1EE*1MLsW&u=;ER? zg&ye)1bNvMfm7i@SOfLx7?{S&>INweIIZHl{`%*M($oY8%%|WZ5_vNoRo-RWBq{Ir z%{CtFWKBzVkD`LX8+JyBDS%jLDFQB*jXw!Akr@jf{o-E+LCggLXOfg8PXOpUgXDmKJD>tU%bWCEdMR8pSmYxnY(UMS~X$nP^Cw_(y44ZO6+ zTO&9H*YnW3Kt~Q#&dtXV4#FT&YbBVsFv4C0R7f5JPfOsIm{fe-D5X2fyg7XtM;2a3 z$tDYaFFJ~onDZ5Ld%=bup{P;IFGH89)(8LA& z2ZQ=Y8}hqMF&WSlz!N;(4u>{69R79tJU5{IScKRPjQXO~&rL$gVZ28NA^M66*GejXllnN3tfI>B~zvQ2`}@9+DThG~_7cFE1i@ET*M$|1?(O?=tD!_Qi=4&N!Z} zRGL$+JQpW&4r@hwT%dh}3uRmLj+~CzkqFD6kWZInKXSKFVAtL6+>a|<*`9cks+PF+ zJB^R2So2cm)%c?;L`f7(;HPsQ2+`uQU5{&6oUrppPT_vd+>O-qF~h$zMqf@!&hjl-D@xwNPz9E2tf@&LZ^a22vay9d#l%mU`da00fI*25u{@ zHH~9RuyuTIy;}ScAX8hMnUN-`f_1Z;GGdn_%WchU&y6RT88f|x46yJeoN(?^L0#Ea z1Bh!rtTG>cn;(SvBMf9-TbbRvpFON2kw~?*;Va!&+1ntXj?o}Ku*jc8C*OLWa%YCD z5pmKf8J0y{4fy6LC!ESIP2~W5%sL)W6ghKxh1<)Gshk;~U7^|g>4Yv_gZjPAH;=E6 z#Is@d;_9__=M3wgSSENc1Z2KHX**gCE_;=_#5Hw8*|lS!!4Z}K2GKH zb=gEG6^{DIAyRve#zc@t(FY0s0jmN`CE6$E%cVHX1VTCQ{_Mn)KUzAHec&k#tAJt#p7-IDh{qd4dyNzh)SHoq1c#X0Z@v`t@ zi&WQoaDaRQT_yjQgYnmE%!H6$>o5N`Vfs%Mnf=K!j=#w*e=VT{6psH|i;Vr7UGmo? z_#cYRUqex6j(?YS*&oL8{lg*IAAaPri`{3I{QGh~d~n;pu{Z$vZzK*KIxwk!usC>t z{(<7qfxGw*76 Date: Fri, 24 Nov 2023 22:17:54 +0700 Subject: [PATCH 05/85] test --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index db92655..d92ca24 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Capstone-3: Aplikasi Backend Pemesanan Tiket -By : Reza +By : Reza test 1 Dalam proyek capstone ini, tujuan utamanya adalah untuk memberikan pengalaman baru kepada peserta, serta mengimplementasikan Metode Scrum dalam pengembangan produk digital. Proyek ini akan dilakukan dalam bentuk kelompok dan fokus pada pengembangan bagian Back End. From ffda6b94cec42498de3d5a9693ea36b53dc58401 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Fri, 24 Nov 2023 22:22:57 +0700 Subject: [PATCH 06/85] test2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d92ca24..26f0343 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Capstone-3: Aplikasi Backend Pemesanan Tiket -By : Reza test 1 +By : Reza test 2 Dalam proyek capstone ini, tujuan utamanya adalah untuk memberikan pengalaman baru kepada peserta, serta mengimplementasikan Metode Scrum dalam pengembangan produk digital. Proyek ini akan dilakukan dalam bentuk kelompok dan fokus pada pengembangan bagian Back End. From d3152635543dce7e0e8cc33d6c7d71fee0f30502 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sat, 25 Nov 2023 20:14:42 +0700 Subject: [PATCH 07/85] update readme.md --- .env | 7 -- README.md | 3 +- cmd/server/main.go | 100 --------------- common/jwt.go | 12 -- ...20231120141232_create_users_table.down.sql | 5 - .../20231120141232_create_users_table.up.sql | 9 -- ..._add_several_field_in_users_table.down.sql | 8 -- ...05_add_several_field_in_users_table.up.sql | 7 -- .../20231117204623_create_users_table.sql | 15 --- db/users.sql | 10 -- entity/user.go | 37 ------ entity/weather.go | 4 - go.mod | 38 ------ go.sum | 87 ------------- internal/builder/builder.go | 25 ---- internal/config/config.go | 59 --------- internal/http/binder/binder.go | 36 ------ internal/http/handler/auth.handler.go | 53 -------- internal/http/handler/user.handler.go | 116 ------------------ internal/http/router/routes.go | 52 -------- internal/http/server/echo.go | 56 --------- internal/http/validator/validator.go | 48 -------- internal/repository/user.repository.go | 68 ---------- internal/service/login.service.go | 44 ------- internal/service/token.service.go | 47 ------- internal/service/user.service.go | 51 -------- 26 files changed, 2 insertions(+), 995 deletions(-) delete mode 100644 .env delete mode 100644 cmd/server/main.go delete mode 100644 common/jwt.go delete mode 100644 db/migration-golang/20231120141232_create_users_table.down.sql delete mode 100644 db/migration-golang/20231120141232_create_users_table.up.sql delete mode 100644 db/migration-golang/20231123141605_add_several_field_in_users_table.down.sql delete mode 100644 db/migration-golang/20231123141605_add_several_field_in_users_table.up.sql delete mode 100644 db/migrations/20231117204623_create_users_table.sql delete mode 100644 db/users.sql delete mode 100644 entity/user.go delete mode 100644 entity/weather.go delete mode 100644 go.mod delete mode 100644 go.sum delete mode 100644 internal/builder/builder.go delete mode 100644 internal/config/config.go delete mode 100644 internal/http/binder/binder.go delete mode 100644 internal/http/handler/auth.handler.go delete mode 100644 internal/http/handler/user.handler.go delete mode 100644 internal/http/router/routes.go delete mode 100644 internal/http/server/echo.go delete mode 100644 internal/http/validator/validator.go delete mode 100644 internal/repository/user.repository.go delete mode 100644 internal/service/login.service.go delete mode 100644 internal/service/token.service.go delete mode 100644 internal/service/user.service.go diff --git a/.env b/.env deleted file mode 100644 index 3c14277..0000000 --- a/.env +++ /dev/null @@ -1,7 +0,0 @@ -PORT=8080 -POSTGRES_HOST=localhost -POSTGRES_PORT=5432 -POSTGRES_USER=postgres -POSTGRES_PASSWORD=mysecretpassword -POSTGRES_DATABASE=weather-app -JWT_SECRET_KEY="akusayangmantanku" \ No newline at end of file diff --git a/README.md b/README.md index 26f0343..3db59d3 100644 --- a/README.md +++ b/README.md @@ -57,4 +57,5 @@ Proyek ini akan berlangsung selama 2 sprint (2 minggu) dengan penilaian secara b - [x] [Figma](https://www.figma.com/file/BdDlFZ7u3E6upQlSwUcOax/Code-Challenge-Project-Based?type=whiteboard&node-id=0-1&t=Le6Pdip9Patyl5DV-0) - [x] [PPT Document](https://docs.google.com/presentation/d/1vvOwCKjysLxORL7GOtOJbgiW3XAVuYsRK0ccUa8VOzA/edit#slide=id.g21e0640a876_0_25) -- [x] [Desain Aplikasi](https://www.figma.com/file/1MtWn0HIt9SidftaQIlrXG/Project-Coding-Challenge-References?type=design&node-id=0-4&mode=design&t=dC1tZcf7zlIMfZBL-0) \ No newline at end of file +- [x] [Desain Aplikasi](https://www.figma.com/file/1MtWn0HIt9SidftaQIlrXG/Project-Coding-Challenge-References?type=design&node-id=0-4&mode=design&t=dC1tZcf7zlIMfZBL-0) +- [x] [Notion](https://www.notion.so/kumal/Projek-Pemesanan-Tiket-89ef1e2e0d1b4067ba48316fb64fe673?pvs=4) \ No newline at end of file diff --git a/cmd/server/main.go b/cmd/server/main.go deleted file mode 100644 index fa73f0e..0000000 --- a/cmd/server/main.go +++ /dev/null @@ -1,100 +0,0 @@ -package main - -import ( - "context" - "fmt" - "log" - "os" - "os/signal" - "strings" - "time" - - "github.com/labstack/echo/v4" - "github.com/zhikariz/weather-app/internal/builder" - "github.com/zhikariz/weather-app/internal/config" - "github.com/zhikariz/weather-app/internal/http/binder" - "github.com/zhikariz/weather-app/internal/http/server" - "github.com/zhikariz/weather-app/internal/http/validator" - "gorm.io/driver/postgres" - "gorm.io/gorm" - "gorm.io/gorm/logger" -) - -func main() { - cfg, err := config.NewConfig(".env") - checkError(err) - - splash() - - db, err := buildGormDB(cfg.Postgres) - checkError(err) - - publicRoutes := builder.BuildPublicRoutes(cfg, db) - privateRoutes := builder.BuildPrivateRoutes(cfg, db) - - echoBinder := &echo.DefaultBinder{} - formValidator := validator.NewFormValidator() - customBinder := binder.NewBinder(echoBinder, formValidator) - - srv := server.NewServer( - cfg, - customBinder, - publicRoutes, - privateRoutes, - ) - - runServer(srv, cfg.Port) - - waitForShutdown(srv) -} - -func runServer(srv *server.Server, port string) { - go func() { - err := srv.Start(fmt.Sprintf(":%s", port)) - log.Fatal(err) - }() -} - -func waitForShutdown(srv *server.Server) { - quit := make(chan os.Signal, 1) - signal.Notify(quit, os.Interrupt) - - <-quit - - ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) - defer cancel() - - go func() { - if err := srv.Shutdown(ctx); err != nil { - srv.Logger.Fatal(err) - } - }() -} - -func buildGormDB(cfg config.PostgresConfig) (*gorm.DB, error) { - dsn := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Jakarta", cfg.Host, cfg.User, cfg.Password, cfg.Database, cfg.Port) - return gorm.Open(postgres.Open(dsn), &gorm.Config{ - Logger: logger.Default.LogMode(logger.Info), - }) -} - -func splash() { - colorReset := "\033[0m" - - splashText := ` - - __ __ __ .__ _____ -/ \ / \ ____ _____ _/ |_| |__ ___________ / _ \ ______ ______ -\ \/\/ // __ \\__ \\ __\ | \_/ __ \_ __ \/ /_\ \\____ \\____ \ - \ /\ ___/ / __ \| | | Y \ ___/| | \/ | \ |_> > |_> > - \__/\ / \___ >____ /__| |___| /\___ >__| \____|__ / __/| __/ - \/ \/ \/ \/ \/ \/|__| |__| -` - fmt.Println(colorReset, strings.TrimSpace(splashText)) -} - -func checkError(err error) { - if err != nil { - panic(err) - } -} diff --git a/common/jwt.go b/common/jwt.go deleted file mode 100644 index b5c1f60..0000000 --- a/common/jwt.go +++ /dev/null @@ -1,12 +0,0 @@ -package common - -import ( - "github.com/golang-jwt/jwt/v5" -) - -type JwtCustomClaims struct { - ID int64 `json:"id"` - Name string `json:"name"` - Email string `json:"email"` - jwt.RegisteredClaims -} diff --git a/db/migration-golang/20231120141232_create_users_table.down.sql b/db/migration-golang/20231120141232_create_users_table.down.sql deleted file mode 100644 index 07f389a..0000000 --- a/db/migration-golang/20231120141232_create_users_table.down.sql +++ /dev/null @@ -1,5 +0,0 @@ -BEGIN; - -DROP TABLE IF EXISTS "public"."users"; - -COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231120141232_create_users_table.up.sql b/db/migration-golang/20231120141232_create_users_table.up.sql deleted file mode 100644 index f9d3962..0000000 --- a/db/migration-golang/20231120141232_create_users_table.up.sql +++ /dev/null @@ -1,9 +0,0 @@ -BEGIN; -CREATE TABLE IF NOT EXISTS "public"."users" ( - "id" SERIAL NOT NULL PRIMARY KEY, - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "created_at" timestamptz (6) NOT NULL, - "updated_at" timestamptz (6) NOT NULL, - "deleted_at" timestamptz (6) -); -COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231123141605_add_several_field_in_users_table.down.sql b/db/migration-golang/20231123141605_add_several_field_in_users_table.down.sql deleted file mode 100644 index 4c001ce..0000000 --- a/db/migration-golang/20231123141605_add_several_field_in_users_table.down.sql +++ /dev/null @@ -1,8 +0,0 @@ -BEGIN; - - -ALTER TABLE "public"."users" -DROP COLUMN IF EXISTS email, -DROP COLUMN IF EXISTS password; - -COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231123141605_add_several_field_in_users_table.up.sql b/db/migration-golang/20231123141605_add_several_field_in_users_table.up.sql deleted file mode 100644 index 4c7a81a..0000000 --- a/db/migration-golang/20231123141605_add_several_field_in_users_table.up.sql +++ /dev/null @@ -1,7 +0,0 @@ -BEGIN; - -ALTER TABLE "public"."users" -ADD COLUMN email VARCHAR(255), -ADD COLUMN password VARCHAR(255); - -COMMIT; \ No newline at end of file diff --git a/db/migrations/20231117204623_create_users_table.sql b/db/migrations/20231117204623_create_users_table.sql deleted file mode 100644 index 7f4b766..0000000 --- a/db/migrations/20231117204623_create_users_table.sql +++ /dev/null @@ -1,15 +0,0 @@ --- +goose Up --- +goose StatementBegin -CREATE TABLE IF NOT EXISTS "public"."users" ( - "id" SERIAL NOT NULL PRIMARY KEY, - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "created_at" timestamptz (6) NOT NULL, - "updated_at" timestamptz (6) NOT NULL, - "deleted_at" timestamptz (6) -); --- +goose StatementEnd - --- +goose Down --- +goose StatementBegin -DROP TABLE IF EXISTS "public"."users"; --- +goose StatementEnd \ No newline at end of file diff --git a/db/users.sql b/db/users.sql deleted file mode 100644 index fe81376..0000000 --- a/db/users.sql +++ /dev/null @@ -1,10 +0,0 @@ -CREATE TABLE - "public"."users" ( - "id" SERIAL NOT NULL, - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "created_at" timestamptz (6) NOT NULL, - "updated_at" timestamptz (6) NOT NULL, - "deleted_at" timestamptz (6) - ); - -ALTER TABLE "public"."users" ADD CONSTRAINT "users_pkey" PRIMARY KEY ("id"); \ No newline at end of file diff --git a/entity/user.go b/entity/user.go deleted file mode 100644 index 86c5e20..0000000 --- a/entity/user.go +++ /dev/null @@ -1,37 +0,0 @@ -package entity - -import ( - "time" - - "gorm.io/gorm" -) - -type User struct { - ID int64 `json:"id"` - Name string `json:"name"` - Email string `json:"email"` - Password string `json:"-"` - CreatedAt time.Time `json:"-"` - UpdatedAt time.Time `json:"-"` - DeletedAt gorm.DeletedAt `json:"-"` -} - -func NewUser(name, email, password string) *User { - return &User{ - Name: name, - Email: email, - Password: password, - CreatedAt: time.Now(), - UpdatedAt: time.Now(), - } -} - -func UpdateUser(id int64, name, email, password string) *User { - return &User{ - ID: id, - Name: name, - Email: email, - Password: password, - UpdatedAt: time.Now(), - } -} diff --git a/entity/weather.go b/entity/weather.go deleted file mode 100644 index d634b6b..0000000 --- a/entity/weather.go +++ /dev/null @@ -1,4 +0,0 @@ -package entity - -type Weather struct { -} diff --git a/go.mod b/go.mod deleted file mode 100644 index 22e6882..0000000 --- a/go.mod +++ /dev/null @@ -1,38 +0,0 @@ -module github.com/zhikariz/weather-app - -go 1.20 - -require ( - github.com/caarlos0/env/v6 v6.10.1 - github.com/creasty/defaults v1.7.0 - github.com/go-playground/validator/v10 v10.16.0 - github.com/joho/godotenv v1.5.1 - github.com/labstack/echo-jwt/v4 v4.2.0 - github.com/labstack/echo/v4 v4.11.2 - gorm.io/driver/postgres v1.5.4 - gorm.io/gorm v1.25.5 -) - -require ( - github.com/gabriel-vasile/mimetype v1.4.2 // indirect - github.com/go-playground/locales v0.14.1 // indirect - github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/golang-jwt/jwt v3.2.2+incompatible // indirect - github.com/golang-jwt/jwt/v5 v5.0.0 // indirect - github.com/jackc/pgpassfile v1.0.0 // indirect - github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect - github.com/jackc/pgx/v5 v5.4.3 // indirect - github.com/jinzhu/inflection v1.0.0 // indirect - github.com/jinzhu/now v1.1.5 // indirect - github.com/labstack/gommon v0.4.0 // indirect - github.com/leodido/go-urn v1.2.4 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.19 // indirect - github.com/valyala/bytebufferpool v1.0.0 // indirect - github.com/valyala/fasttemplate v1.2.2 // indirect - golang.org/x/crypto v0.14.0 // indirect - golang.org/x/net v0.17.0 // indirect - golang.org/x/sys v0.13.0 // indirect - golang.org/x/text v0.13.0 // indirect - golang.org/x/time v0.3.0 // indirect -) diff --git a/go.sum b/go.sum deleted file mode 100644 index 28f5603..0000000 --- a/go.sum +++ /dev/null @@ -1,87 +0,0 @@ -github.com/caarlos0/env/v6 v6.10.1 h1:t1mPSxNpei6M5yAeu1qtRdPAK29Nbcf/n3G7x+b3/II= -github.com/caarlos0/env/v6 v6.10.1/go.mod h1:hvp/ryKXKipEkcuYjs9mI4bBCg+UI0Yhgm5Zu0ddvwc= -github.com/creasty/defaults v1.7.0 h1:eNdqZvc5B509z18lD8yc212CAqJNvfT1Jq6L8WowdBA= -github.com/creasty/defaults v1.7.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= -github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= -github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= -github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= -github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= -github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= -github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.16.0 h1:x+plE831WK4vaKHO/jpgUGsvLKIqRRkz6M78GuJAfGE= -github.com/go-playground/validator/v10 v10.16.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= -github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= -github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= -github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE= -github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= -github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= -github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= -github.com/jackc/pgx/v5 v5.4.3 h1:cxFyXhxlvAifxnkKKdlxv8XqUf59tDlYjnV5YYfsJJY= -github.com/jackc/pgx/v5 v5.4.3/go.mod h1:Ig06C2Vu0t5qXC60W8sqIthScaEnFvojjj9dSljmHRA= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= -github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= -github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= -github.com/labstack/echo-jwt/v4 v4.2.0 h1:odSISV9JgcSCuhgQSV/6Io3i7nUmfM/QkBeR5GVJj5c= -github.com/labstack/echo-jwt/v4 v4.2.0/go.mod h1:MA2RqdXdEn4/uEglx0HcUOgQSyBaTh5JcaHIan3biwU= -github.com/labstack/echo/v4 v4.11.2 h1:T+cTLQxWCDfqDEoydYm5kCobjmHwOwcv4OJAPHilmdE= -github.com/labstack/echo/v4 v4.11.2/go.mod h1:UcGuQ8V6ZNRmSweBIJkPvGfwCMIlFmiqrPqiEBfPYws= -github.com/labstack/gommon v0.4.0 h1:y7cvthEAEbU0yHOf4axH8ZG2NH8knB9iNSoTO8dyIk8= -github.com/labstack/gommon v0.4.0/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM= -github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= -github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= -github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= -github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= -github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gorm.io/driver/postgres v1.5.4 h1:Iyrp9Meh3GmbSuyIAGyjkN+n9K+GHX9b9MqsTL4EJCo= -gorm.io/driver/postgres v1.5.4/go.mod h1:Bgo89+h0CRcdA33Y6frlaHHVuTdOf87pmyzwW9C/BH0= -gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls= -gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= diff --git a/internal/builder/builder.go b/internal/builder/builder.go deleted file mode 100644 index be59d09..0000000 --- a/internal/builder/builder.go +++ /dev/null @@ -1,25 +0,0 @@ -package builder - -import ( - "github.com/zhikariz/weather-app/internal/config" - "github.com/zhikariz/weather-app/internal/http/handler" - "github.com/zhikariz/weather-app/internal/http/router" - "github.com/zhikariz/weather-app/internal/repository" - "github.com/zhikariz/weather-app/internal/service" - "gorm.io/gorm" -) - -func BuildPublicRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { - userRepository := repository.NewUserRepository(db) - loginService := service.NewLoginService(userRepository) - tokenService := service.NewTokenService(cfg) - authHandler := handler.NewAuthHandler(loginService, tokenService) - return router.PublicRoutes(authHandler) -} - -func BuildPrivateRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { - userRepository := repository.NewUserRepository(db) - userService := service.NewUserService(userRepository) - userHandler := handler.NewUserHandler(userService) - return router.PrivateRoutes(userHandler) -} diff --git a/internal/config/config.go b/internal/config/config.go deleted file mode 100644 index 4f76170..0000000 --- a/internal/config/config.go +++ /dev/null @@ -1,59 +0,0 @@ -package config - -import ( - "errors" - - "github.com/caarlos0/env/v6" - "github.com/joho/godotenv" -) - -// Config is a config -type Config struct { - Port string `env:"PORT" envDefault:"8080"` - Postgres PostgresConfig `envPrefix:"POSTGRES_"` - JWT JwtConfig `envPrefix:"JWT_"` -} - -// JwtConfig is a config for jwt -type JwtConfig struct { - SecretKey string `env:"SECRET_KEY"` -} - -// PostgresConfig is a config for postgres -type PostgresConfig struct { - Host string `env:"HOST" envDefault:"localhost"` - Port string `env:"PORT" envDefault:"5432"` - User string `env:"USER" envDefault:"postgres"` - Password string `env:"PASSWORD" envDefault:"postgres"` - Database string `env:"DATABASE" envDefault:"postgres"` -} - -// NewConfig creates a new config -func NewConfig(envPath string) (*Config, error) { - cfg, err := parseConfig(envPath) - if err != nil { - return nil, err - } - return cfg, nil -} - -// parseConfig parses the configuration file located at envPath and returns a -// Config struct and an error if any. It uses the godotenv package to load the -// environment variables from the file and the env package to parse them into -// the Config struct. -// -// envPath: The path to the environment file. -// Returns: A pointer to the Config struct and an error. -func parseConfig(envPath string) (*Config, error) { - err := godotenv.Load(envPath) - if err != nil { - return nil, errors.New("failed to load env") - } - - cfg := &Config{} - err = env.Parse(cfg) - if err != nil { - return nil, errors.New("failed to parse config") - } - return cfg, nil -} diff --git a/internal/http/binder/binder.go b/internal/http/binder/binder.go deleted file mode 100644 index 318275d..0000000 --- a/internal/http/binder/binder.go +++ /dev/null @@ -1,36 +0,0 @@ -package binder - -import ( - "github.com/creasty/defaults" - "github.com/go-playground/validator/v10" - "github.com/labstack/echo/v4" - internalValidator "github.com/zhikariz/weather-app/internal/http/validator" -) - -type Binder struct { - defaultBinder *echo.DefaultBinder - *internalValidator.FormValidator -} - -func NewBinder( - dbr *echo.DefaultBinder, - vdr *internalValidator.FormValidator) *Binder { - return &Binder{dbr, vdr} -} - -func (b *Binder) Bind(i interface{}, c echo.Context) error { - if err := b.defaultBinder.Bind(i, c); err != nil { - return err - } - - if err := defaults.Set(i); err != nil { - return err - } - - if err := b.Validate(i); err != nil { - errs := err.(validator.ValidationErrors) - return errs - } - - return nil -} diff --git a/internal/http/handler/auth.handler.go b/internal/http/handler/auth.handler.go deleted file mode 100644 index 6b344a1..0000000 --- a/internal/http/handler/auth.handler.go +++ /dev/null @@ -1,53 +0,0 @@ -package handler - -import ( - "net/http" - - "github.com/labstack/echo/v4" - "github.com/zhikariz/weather-app/internal/http/validator" - "github.com/zhikariz/weather-app/internal/service" -) - -type AuthHandler struct { - loginService service.LoginUseCase - tokenService service.TokenUseCase -} - -func NewAuthHandler( - loginService service.LoginUseCase, - tokenService service.TokenUseCase, -) *AuthHandler { - return &AuthHandler{ - loginService: loginService, - tokenService: tokenService, - } -} - -func (h *AuthHandler) Login(ctx echo.Context) error { - var input struct { - Email string `json:"email" validate:"required"` - Password string `json:"password" validate:"required"` - } - - if err := ctx.Bind(&input); err != nil { - return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) - } - - user, err := h.loginService.Login(ctx.Request().Context(), input.Email, input.Password) - - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - accessToken, err := h.tokenService.GenerateAccessToken(ctx.Request().Context(), user) - - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - data := map[string]string{ - "access_token": accessToken, - } - - return ctx.JSON(http.StatusOK, data) -} diff --git a/internal/http/handler/user.handler.go b/internal/http/handler/user.handler.go deleted file mode 100644 index 4b90f76..0000000 --- a/internal/http/handler/user.handler.go +++ /dev/null @@ -1,116 +0,0 @@ -package handler - -import ( - "errors" - "fmt" - "net/http" - - "github.com/golang-jwt/jwt/v5" - "github.com/labstack/echo/v4" - "github.com/zhikariz/weather-app/common" - "github.com/zhikariz/weather-app/entity" - "github.com/zhikariz/weather-app/internal/http/validator" - "github.com/zhikariz/weather-app/internal/service" -) - -type UserHandler struct { - userService service.UserUseCase -} - -func NewUserHandler(userService service.UserUseCase) *UserHandler { - return &UserHandler{userService} -} - -func (h *UserHandler) GetAllUsers(ctx echo.Context) error { - // Parse the token - userClaim := ctx.Get("user").(*jwt.Token) - claims := userClaim.Claims.(*common.JwtCustomClaims) - - if claims.Email == "helmi@ganteng.com" { - return ctx.JSON(http.StatusForbidden, errors.New("you don't have permission to access this resource")) - } - - fmt.Println(claims.Email) - - users, err := h.userService.FindAll(ctx.Request().Context()) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - return ctx.JSON(http.StatusOK, users) -} - -func (h *UserHandler) CreateUser(ctx echo.Context) error { - var input struct { - Name string `json:"name" validate:"required"` - Email string `json:"email" validate:"required"` - Password string `json:"password" validate:"required"` - } - - if err := ctx.Bind(&input); err != nil { - return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) - } - - user := entity.NewUser(input.Name, input.Email, input.Password) - err := h.userService.Create(ctx.Request().Context(), user) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - return ctx.JSON(http.StatusCreated, user) -} - -func (h *UserHandler) UpdateUser(ctx echo.Context) error { - var input struct { - ID int64 `param:"id" validate:"required"` - Name string `json:"name" validate:"required"` - Email string `json:"email" validate:"required"` - Password string `json:"password" validate:"required"` - } - - if err := ctx.Bind(&input); err != nil { - return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) - } - - user := entity.UpdateUser(input.ID, input.Name, input.Email, input.Password) - - err := h.userService.Update(ctx.Request().Context(), user) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - return ctx.JSON(http.StatusOK, user) -} - -func (h *UserHandler) DeleteUser(ctx echo.Context) error { - var input struct { - ID int64 `param:"id" validate:"required"` - } - - if err := ctx.Bind(&input); err != nil { - return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) - } - - err := h.userService.Delete(ctx.Request().Context(), input.ID) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - return ctx.NoContent(http.StatusNoContent) -} - -func (h *UserHandler) GetUserByID(ctx echo.Context) error { - var input struct { - ID int64 `param:"id" validate:"required"` - } - - if err := ctx.Bind(&input); err != nil { - return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) - } - - user, err := h.userService.FindByID(ctx.Request().Context(), input.ID) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - return ctx.JSON(http.StatusOK, user) -} diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go deleted file mode 100644 index 1281abf..0000000 --- a/internal/http/router/routes.go +++ /dev/null @@ -1,52 +0,0 @@ -package router - -import ( - "github.com/labstack/echo/v4" - "github.com/zhikariz/weather-app/internal/http/handler" -) - -type Route struct { - Method string - Path string - Handler echo.HandlerFunc -} - -func PublicRoutes(authHandler *handler.AuthHandler) []*Route { - return []*Route{ - { - Method: echo.POST, - Path: "/login", - Handler: authHandler.Login, - }, - } -} - -func PrivateRoutes(userHandler *handler.UserHandler) []*Route { - return []*Route{ - { - Method: echo.GET, - Path: "/users", - Handler: userHandler.GetAllUsers, - }, - { - Method: echo.GET, - Path: "/users/:id", - Handler: userHandler.GetUserByID, - }, - { - Method: echo.POST, - Path: "/users", - Handler: userHandler.CreateUser, - }, - { - Method: echo.PUT, - Path: "/users/:id", - Handler: userHandler.UpdateUser, - }, - { - Method: echo.DELETE, - Path: "/users/:id", - Handler: userHandler.DeleteUser, - }, - } -} diff --git a/internal/http/server/echo.go b/internal/http/server/echo.go deleted file mode 100644 index e328be6..0000000 --- a/internal/http/server/echo.go +++ /dev/null @@ -1,56 +0,0 @@ -package server - -import ( - "github.com/golang-jwt/jwt/v5" - echojwt "github.com/labstack/echo-jwt/v4" - "github.com/labstack/echo/v4" - "github.com/labstack/echo/v4/middleware" - "github.com/zhikariz/weather-app/common" - "github.com/zhikariz/weather-app/internal/config" - "github.com/zhikariz/weather-app/internal/http/binder" - "github.com/zhikariz/weather-app/internal/http/router" -) - -type Server struct { - *echo.Echo -} - -func NewServer( - cfg *config.Config, - binder *binder.Binder, - publicRoutes, privateRoutes []*router.Route) *Server { - e := echo.New() - e.HideBanner = true - e.Binder = binder - - e.Use( - middleware.Logger(), - middleware.Recover(), - middleware.CORS(), - ) - - v1 := e.Group("/api/v1") - - for _, public := range publicRoutes { - v1.Add(public.Method, public.Path, public.Handler) - } - - for _, private := range privateRoutes { - v1.Add(private.Method, private.Path, private.Handler, JWTProtected(cfg.JWT.SecretKey)) - } - - e.GET("/ping", func(c echo.Context) error { - return c.String(200, "pong") - }) - - return &Server{e} -} - -func JWTProtected(secretKey string) echo.MiddlewareFunc { - return echojwt.WithConfig(echojwt.Config{ - NewClaimsFunc: func(c echo.Context) jwt.Claims { - return new(common.JwtCustomClaims) - }, - SigningKey: []byte(secretKey), - }) -} diff --git a/internal/http/validator/validator.go b/internal/http/validator/validator.go deleted file mode 100644 index d82963b..0000000 --- a/internal/http/validator/validator.go +++ /dev/null @@ -1,48 +0,0 @@ -package validator - -import ( - "fmt" - "reflect" - "strings" - - "github.com/go-playground/validator/v10" -) - -type FormValidator struct { - validator *validator.Validate -} - -func (fv *FormValidator) Validate(i interface{}) error { - return fv.validator.Struct(i) -} - -func NewFormValidator() *FormValidator { - validate := validator.New(validator.WithRequiredStructEnabled()) - - validate.RegisterTagNameFunc(func(fld reflect.StructField) string { - name := strings.SplitN(fld.Tag.Get("json"), ",", 2)[0] - if name == "-" { - return "" - } - return name - }) - - return &FormValidator{validate} -} - -func ValidatorErrors(err error) map[string]string { - fields := map[string]string{} - - if castedObject, ok := err.(validator.ValidationErrors); ok { - for _, err := range castedObject { - switch err.Tag() { - case "required": - fields[err.Field()] = fmt.Sprintf("field %s harus di isi", err.Field()) - default: - fields[err.Field()] = fmt.Sprintf("%s error with tag %s should be %s", err.Field(), err.Tag(), err.Param()) - } - } - } - - return fields -} diff --git a/internal/repository/user.repository.go b/internal/repository/user.repository.go deleted file mode 100644 index 381d218..0000000 --- a/internal/repository/user.repository.go +++ /dev/null @@ -1,68 +0,0 @@ -package repository - -import ( - "context" - "errors" - - "github.com/zhikariz/weather-app/entity" - "gorm.io/gorm" -) - -type UserRepository struct { - db *gorm.DB -} - -func NewUserRepository(db *gorm.DB) *UserRepository { - return &UserRepository{ - db: db, - } -} - -func (r *UserRepository) FindAll(ctx context.Context) ([]*entity.User, error) { - users := make([]*entity.User, 0) - err := r.db.WithContext(ctx).Find(&users).Error // SELECT * FROM users - if err != nil { - return nil, err - } - return users, nil -} - -func (r *UserRepository) Create(ctx context.Context, user *entity.User) error { - if err := r.db.WithContext(ctx).Create(&user).Error; err != nil { - return err - } - return nil -} - -func (r *UserRepository) Update(ctx context.Context, user *entity.User) error { - if err := r.db.WithContext(ctx). - Model(&entity.User{}). - Where("id = ?", user.ID). - Updates(&user).Error; err != nil { - return err - } - return nil -} - -func (r *UserRepository) Delete(ctx context.Context, id int64) error { - if err := r.db.WithContext(ctx).Delete(&entity.User{}, id).Error; err != nil { - return err - } - return nil -} - -func (r *UserRepository) FindByID(ctx context.Context, id int64) (*entity.User, error) { - user := new(entity.User) - if err := r.db.WithContext(ctx).First(&user, id).Error; err != nil { - return nil, err - } - return user, nil -} - -func (r *UserRepository) FindByEmail(ctx context.Context, email string) (*entity.User, error) { - user := new(entity.User) - if err := r.db.WithContext(ctx).Where("email = ?", email).First(&user).Error; err != nil { - return nil, errors.New("user with that email not found") - } - return user, nil -} diff --git a/internal/service/login.service.go b/internal/service/login.service.go deleted file mode 100644 index a05eb76..0000000 --- a/internal/service/login.service.go +++ /dev/null @@ -1,44 +0,0 @@ -package service - -import ( - "context" - "errors" - - "github.com/zhikariz/weather-app/entity" -) - -type LoginUseCase interface { - Login(ctx context.Context, email, password string) (*entity.User, error) -} - -type LoginRepository interface { - FindByEmail(ctx context.Context, email string) (*entity.User, error) -} - -type LoginService struct { - repo LoginRepository -} - -func NewLoginService(repo LoginRepository) *LoginService { - return &LoginService{ - repo: repo, - } -} - -func (s *LoginService) Login(ctx context.Context, email, password string) (*entity.User, error) { - user, err := s.repo.FindByEmail(ctx, email) - - if err != nil { - return nil, err - } - - if user == nil { - return nil, errors.New("user with that email not found") - } - - if user.Password != password { - return nil, errors.New("incorrect login credentials") - } - - return user, nil -} diff --git a/internal/service/token.service.go b/internal/service/token.service.go deleted file mode 100644 index 1e450b5..0000000 --- a/internal/service/token.service.go +++ /dev/null @@ -1,47 +0,0 @@ -package service - -import ( - "context" - "time" - - "github.com/golang-jwt/jwt/v5" - "github.com/zhikariz/weather-app/common" - "github.com/zhikariz/weather-app/entity" - "github.com/zhikariz/weather-app/internal/config" -) - -type TokenUseCase interface { - GenerateAccessToken(ctx context.Context, user *entity.User) (string, error) -} - -type TokenService struct { - cfg *config.Config -} - -func NewTokenService(cfg *config.Config) *TokenService { - return &TokenService{ - cfg: cfg, - } -} - -func (s *TokenService) GenerateAccessToken(ctx context.Context, user *entity.User) (string, error) { - expiredTime := time.Now().Local().Add(10 * time.Minute) - claims := common.JwtCustomClaims{ - ID: user.ID, - Name: user.Name, - Email: user.Email, - RegisteredClaims: jwt.RegisteredClaims{ - ExpiresAt: jwt.NewNumericDate(expiredTime), - }, - } - - token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) - - encodedToken, err := token.SignedString([]byte(s.cfg.JWT.SecretKey)) - - if err != nil { - return "", err - } - - return encodedToken, nil -} diff --git a/internal/service/user.service.go b/internal/service/user.service.go deleted file mode 100644 index b5a056d..0000000 --- a/internal/service/user.service.go +++ /dev/null @@ -1,51 +0,0 @@ -package service - -import ( - "context" - - "github.com/zhikariz/weather-app/entity" -) - -type UserUseCase interface { - FindAll(ctx context.Context) ([]*entity.User, error) - Create(ctx context.Context, user *entity.User) error - Update(ctx context.Context, user *entity.User) error - Delete(ctx context.Context, id int64) error - FindByID(ctx context.Context, id int64) (*entity.User, error) -} - -type UserRepository interface { - FindAll(ctx context.Context) ([]*entity.User, error) - Create(ctx context.Context, user *entity.User) error - Update(ctx context.Context, user *entity.User) error - Delete(ctx context.Context, id int64) error - FindByID(ctx context.Context, id int64) (*entity.User, error) -} - -type UserService struct { - repository UserRepository -} - -func NewUserService(repository UserRepository) *UserService { - return &UserService{repository} -} - -func (s *UserService) FindAll(ctx context.Context) ([]*entity.User, error) { - return s.repository.FindAll(ctx) -} - -func (s *UserService) Create(ctx context.Context, user *entity.User) error { - return s.repository.Create(ctx, user) -} - -func (s *UserService) Update(ctx context.Context, user *entity.User) error { - return s.repository.Update(ctx, user) -} - -func (s *UserService) Delete(ctx context.Context, id int64) error { - return s.repository.Delete(ctx, id) -} - -func (s *UserService) FindByID(ctx context.Context, id int64) (*entity.User, error) { - return s.repository.FindByID(ctx, id) -} From 2cf9e9d11d1984c5847f4ba92df0836f2ac8058c Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sat, 25 Nov 2023 20:33:48 +0700 Subject: [PATCH 08/85] update readme.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3db59d3..ca753e7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Capstone-3: Aplikasi Backend Pemesanan Tiket -By : Reza test 2 +By : Golang - Kelompok 3 Dalam proyek capstone ini, tujuan utamanya adalah untuk memberikan pengalaman baru kepada peserta, serta mengimplementasikan Metode Scrum dalam pengembangan produk digital. Proyek ini akan dilakukan dalam bentuk kelompok dan fokus pada pengembangan bagian Back End. @@ -58,4 +58,4 @@ Proyek ini akan berlangsung selama 2 sprint (2 minggu) dengan penilaian secara b - [x] [Figma](https://www.figma.com/file/BdDlFZ7u3E6upQlSwUcOax/Code-Challenge-Project-Based?type=whiteboard&node-id=0-1&t=Le6Pdip9Patyl5DV-0) - [x] [PPT Document](https://docs.google.com/presentation/d/1vvOwCKjysLxORL7GOtOJbgiW3XAVuYsRK0ccUa8VOzA/edit#slide=id.g21e0640a876_0_25) - [x] [Desain Aplikasi](https://www.figma.com/file/1MtWn0HIt9SidftaQIlrXG/Project-Coding-Challenge-References?type=design&node-id=0-4&mode=design&t=dC1tZcf7zlIMfZBL-0) -- [x] [Notion](https://www.notion.so/kumal/Projek-Pemesanan-Tiket-89ef1e2e0d1b4067ba48316fb64fe673?pvs=4) \ No newline at end of file +- [x] [Notion](https://kumal.notion.site/Projek-Pemesanan-Tiket-89ef1e2e0d1b4067ba48316fb64fe673?pvs=4) \ No newline at end of file From eece18de5c937859696132bdfbffedf093d7fdb6 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sun, 26 Nov 2023 03:47:20 +0700 Subject: [PATCH 09/85] update Login --- .env | 10 + cmd/server/main.go | 115 +++++++++++ common/jwt.go | 14 ++ ...20231124164649_create_users_table.down.sql | 0 .../20231124164649_create_users_table.up.sql | 10 + ..._add_several_field_in_users_table.down.sql | 9 + ...36_add_several_field_in_users_table.up.sql | 8 + entity/user.go | 47 +++++ go.mod | 38 ++++ go.sum | 87 +++++++++ internal/builder/builder.go | 27 +++ internal/config/config.go | 62 ++++++ internal/http/binder/binder.go | 42 ++++ internal/http/handler/auth_hendler.go | 55 ++++++ internal/http/handler/user_hendler.go | 182 ++++++++++++++++++ internal/http/router/routes.go | 71 +++++++ internal/http/server/server.go | 60 ++++++ internal/http/validator/validator.go | 72 +++++++ internal/repository/regist_repository.go | 47 +++++ internal/repository/user_repository.go | 85 ++++++++ internal/service/auth_service.go | 47 +++++ internal/service/token_service.go | 46 +++++ internal/service/user_service.go | 70 +++++++ 23 files changed, 1204 insertions(+) create mode 100644 .env create mode 100644 cmd/server/main.go create mode 100644 common/jwt.go create mode 100644 db/migration-golang/20231124164649_create_users_table.down.sql create mode 100644 db/migration-golang/20231124164649_create_users_table.up.sql create mode 100644 db/migration-golang/20231125125436_add_several_field_in_users_table.down.sql create mode 100644 db/migration-golang/20231125125436_add_several_field_in_users_table.up.sql create mode 100644 entity/user.go create mode 100644 go.mod create mode 100644 go.sum create mode 100644 internal/builder/builder.go create mode 100644 internal/config/config.go create mode 100644 internal/http/binder/binder.go create mode 100644 internal/http/handler/auth_hendler.go create mode 100644 internal/http/handler/user_hendler.go create mode 100644 internal/http/router/routes.go create mode 100644 internal/http/server/server.go create mode 100644 internal/http/validator/validator.go create mode 100644 internal/repository/regist_repository.go create mode 100644 internal/repository/user_repository.go create mode 100644 internal/service/auth_service.go create mode 100644 internal/service/token_service.go create mode 100644 internal/service/user_service.go diff --git a/.env b/.env new file mode 100644 index 0000000..3bc8849 --- /dev/null +++ b/.env @@ -0,0 +1,10 @@ +PORT=8080 +POSTGRES_HOST=localhost +POSTGRES_PORT=5432 +POSTGRES_USER=postgres +POSTGRES_PASSWORD=mysecretpassword +POSTGRES_DATABASE=Ticketing +JWT_SECRET_KEY=secret + + + diff --git a/cmd/server/main.go b/cmd/server/main.go new file mode 100644 index 0000000..4f0b160 --- /dev/null +++ b/cmd/server/main.go @@ -0,0 +1,115 @@ +package main + +import ( + "Ticketing/internal/builder" + "Ticketing/internal/config" + "Ticketing/internal/http/binder" + "Ticketing/internal/http/server" + "Ticketing/internal/http/validator" + "context" + "fmt" + "log" + "os" + "os/signal" + "strings" + "time" + + "github.com/labstack/echo/v4" + "gorm.io/driver/postgres" + "gorm.io/gorm" + "gorm.io/gorm/logger" +) + +func main() { + //menghubungkan ke postgresql atau database + cfg, err := config.NewConfig(".env") + checkError(err) + + splash() + + db, err := buildGormDB(cfg.Postgres) + checkError(err) + + publicRoutes := builder.BuildPublicRoutes(cfg, db) + privateRoutes := builder.BuildPrivateRoutes(cfg, db) + + echoBinder := &echo.DefaultBinder{} + formValidator := validator.NewFormValidator() + customBinder := binder.NewBinder(echoBinder, formValidator) + + srv := server.NewServer( + cfg, + customBinder, + publicRoutes, + privateRoutes, + ) + + runServer(srv, cfg.Port) + + waitForShutdown(srv) +} + +func runServer(srv *server.Server, port string) { + go func() { + err := srv.Start(fmt.Sprintf(":%s", port)) + log.Fatal(err) + }() +} + +// berfungsi ketika API mati akan hidup sendiri lagi. ini untuk menghindari error ketika API mati +func waitForShutdown(srv *server.Server) { + quit := make(chan os.Signal, 1) + signal.Notify(quit, os.Interrupt) + + <-quit + + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + + go func() { + if err := srv.Shutdown(ctx); err != nil { + srv.Logger.Fatal(err) + } + }() +} + +// func untuk koneksi ke postgresql +func buildGormDB(cfg config.PostgresConfig) (*gorm.DB, error) { + dsn := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Jakarta", cfg.Host, cfg.User, cfg.Password, cfg.Database, cfg.Port) + return gorm.Open(postgres.Open(dsn), &gorm.Config{ + Logger: logger.Default.LogMode(logger.Info), + }) +} + +// untuk membuat spalsh screen ini bisa menggunakan website +// ascii text style generator seperti patorjk.com +func splash() { + colorReset := "\033[0m" + + splashText := ` + + ___________.__ __ __ .__ + \__ ___/|__| ____ | | __ ____ _/ |_ |__| ____ ____ + | | | |_/ ___\ | |/ /_/ __ \ \ __\| | / \ / ___\ + | | | |\ \___ | < \ ___/ | | | || | \ / /_/ > + |____| |__| \___ >|__|_ \ \___ > |__| |__||___| / \___ / + \/ \/ \/ \/ /_____/ +` + fmt.Println(colorReset, strings.TrimSpace(splashText)) +} + +// func untuk cek error +func checkError(err error) { + if err != nil { + panic(err) + } +} + +// // //memanggil entity user +// // users := make([]entity.User, 0) +// // if err := db.Find(&users).Error; err != nil { +// // checkError(err) +// // } +// // for _, v := range users { // ini untuk menampilkan data user secara looping +// // fmt.Println(v) +// // } diff --git a/common/jwt.go b/common/jwt.go new file mode 100644 index 0000000..3641672 --- /dev/null +++ b/common/jwt.go @@ -0,0 +1,14 @@ +package common + +import "github.com/golang-jwt/jwt/v5" + +type JwtCustomClaims struct { + ID int64 `json:"id"` + Name string `json:"name"` + Email string `json:"email"` + jwt.RegisteredClaims // ini untuk exp at +} + +//note : file ini untuk buat claims JWT +// claims JWT adalah data yang akan dienkripsi dan ditandatangani oleh JWT +// claims JWT ini nantinya akan disimpan di dalam payload JWT diff --git a/db/migration-golang/20231124164649_create_users_table.down.sql b/db/migration-golang/20231124164649_create_users_table.down.sql new file mode 100644 index 0000000..e69de29 diff --git a/db/migration-golang/20231124164649_create_users_table.up.sql b/db/migration-golang/20231124164649_create_users_table.up.sql new file mode 100644 index 0000000..9eea93b --- /dev/null +++ b/db/migration-golang/20231124164649_create_users_table.up.sql @@ -0,0 +1,10 @@ +-- membuat tabel user dengan field id, name, password,email +CREATE TABLE +"public"."users" ( + id SERIAL NOT NULL, + name VARCHAR(255) NOT NULL, + password VARCHAR(255) NOT NULL, + email VARCHAR(255) NOT NULL +); + +ALTER TABLE "public"."users" ADD CONSTRAINT "users_pkey" PRIMARY KEY ("id"); \ No newline at end of file diff --git a/db/migration-golang/20231125125436_add_several_field_in_users_table.down.sql b/db/migration-golang/20231125125436_add_several_field_in_users_table.down.sql new file mode 100644 index 0000000..4b7179c --- /dev/null +++ b/db/migration-golang/20231125125436_add_several_field_in_users_table.down.sql @@ -0,0 +1,9 @@ +BEGIN; + + +ALTER TABLE "public"."users" +DROP COLUMN IF EXISTS created_at, +DROP COLUMN IF EXISTS updated_at, +DROP COLUMN IF EXISTS deleted_at; + +COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231125125436_add_several_field_in_users_table.up.sql b/db/migration-golang/20231125125436_add_several_field_in_users_table.up.sql new file mode 100644 index 0000000..08afe07 --- /dev/null +++ b/db/migration-golang/20231125125436_add_several_field_in_users_table.up.sql @@ -0,0 +1,8 @@ +BEGIN; + +ALTER TABLE "public"."users" +ADD COLUMN created_at timestamptz (6), +ADD COLUMN updated_at timestamptz (6), +ADD COLUMN deleted_at timestamptz (6); + +COMMIT; \ No newline at end of file diff --git a/entity/user.go b/entity/user.go new file mode 100644 index 0000000..95c3ae8 --- /dev/null +++ b/entity/user.go @@ -0,0 +1,47 @@ +package entity + +import ( + "time" +) + +type User struct { + ID int64 `json:"id"` + Name string `json:"name"` + Email string `json:"email"` + Password string `json:"-"` + CreatedAt time.Time `json:"-"` + UpdatedAt time.Time `json:"-"` + DeleteAt time.Time `json:"-"` +} + +// req untuk create user +func NewUser(name, email, password string) *User { + return &User{ + Name: name, + Email: email, + Password: password, + CreatedAt: time.Now(), + } +} + +// req untuk update user +func UpdateUser(id int64, name, email, password string) *User { + return &User{ + ID: id, + Name: name, + Email: email, + Password: password, + UpdatedAt: time.Now(), + } +} + +// req untuk login +// func Login(email, password string) *User { +// return &User{ +// Email: email, +// Password: password, +// } +// } + +//note : ketika type data untuk ID hanya int, maka akan error ketika dijalankan. karena ID tidak bisa di tambahkan otmatis oleh database +// namun ketika type data untuk ID diubah menjadi int64, maka tidak akan error ketika dijalankan. karena ID bisa di tambahkan otmatis oleh database melalui postman. diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..0a5e672 --- /dev/null +++ b/go.mod @@ -0,0 +1,38 @@ +module Ticketing + +go 1.20 + +require ( + github.com/caarlos0/env/v6 v6.10.1 + github.com/creasty/defaults v1.7.0 + github.com/go-playground/validator/v10 v10.16.0 + github.com/golang-jwt/jwt/v5 v5.0.0 + github.com/joho/godotenv v1.5.1 + github.com/labstack/echo-jwt/v4 v4.2.0 + github.com/labstack/echo/v4 v4.11.3 + gorm.io/driver/postgres v1.5.4 + gorm.io/gorm v1.25.5 +) + +require ( + github.com/gabriel-vasile/mimetype v1.4.2 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/golang-jwt/jwt v3.2.2+incompatible // indirect + github.com/jackc/pgpassfile v1.0.0 // indirect + github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect + github.com/jackc/pgx/v5 v5.4.3 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect + github.com/labstack/gommon v0.4.0 // indirect + github.com/leodido/go-urn v1.2.4 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasttemplate v1.2.2 // indirect + golang.org/x/crypto v0.14.0 // indirect + golang.org/x/net v0.17.0 // indirect + golang.org/x/sys v0.13.0 // indirect + golang.org/x/text v0.13.0 // indirect + golang.org/x/time v0.3.0 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..8030741 --- /dev/null +++ b/go.sum @@ -0,0 +1,87 @@ +github.com/caarlos0/env/v6 v6.10.1 h1:t1mPSxNpei6M5yAeu1qtRdPAK29Nbcf/n3G7x+b3/II= +github.com/caarlos0/env/v6 v6.10.1/go.mod h1:hvp/ryKXKipEkcuYjs9mI4bBCg+UI0Yhgm5Zu0ddvwc= +github.com/creasty/defaults v1.7.0 h1:eNdqZvc5B509z18lD8yc212CAqJNvfT1Jq6L8WowdBA= +github.com/creasty/defaults v1.7.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= +github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.16.0 h1:x+plE831WK4vaKHO/jpgUGsvLKIqRRkz6M78GuJAfGE= +github.com/go-playground/validator/v10 v10.16.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= +github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= +github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE= +github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= +github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= +github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgx/v5 v5.4.3 h1:cxFyXhxlvAifxnkKKdlxv8XqUf59tDlYjnV5YYfsJJY= +github.com/jackc/pgx/v5 v5.4.3/go.mod h1:Ig06C2Vu0t5qXC60W8sqIthScaEnFvojjj9dSljmHRA= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= +github.com/labstack/echo-jwt/v4 v4.2.0 h1:odSISV9JgcSCuhgQSV/6Io3i7nUmfM/QkBeR5GVJj5c= +github.com/labstack/echo-jwt/v4 v4.2.0/go.mod h1:MA2RqdXdEn4/uEglx0HcUOgQSyBaTh5JcaHIan3biwU= +github.com/labstack/echo/v4 v4.11.3 h1:Upyu3olaqSHkCjs1EJJwQ3WId8b8b1hxbogyommKktM= +github.com/labstack/echo/v4 v4.11.3/go.mod h1:UcGuQ8V6ZNRmSweBIJkPvGfwCMIlFmiqrPqiEBfPYws= +github.com/labstack/gommon v0.4.0 h1:y7cvthEAEbU0yHOf4axH8ZG2NH8knB9iNSoTO8dyIk8= +github.com/labstack/gommon v0.4.0/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM= +github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= +github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= +github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= +github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/postgres v1.5.4 h1:Iyrp9Meh3GmbSuyIAGyjkN+n9K+GHX9b9MqsTL4EJCo= +gorm.io/driver/postgres v1.5.4/go.mod h1:Bgo89+h0CRcdA33Y6frlaHHVuTdOf87pmyzwW9C/BH0= +gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls= +gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= diff --git a/internal/builder/builder.go b/internal/builder/builder.go new file mode 100644 index 0000000..6247384 --- /dev/null +++ b/internal/builder/builder.go @@ -0,0 +1,27 @@ +package builder + +import ( + "Ticketing/internal/config" + "Ticketing/internal/http/handler" + "Ticketing/internal/http/router" + "Ticketing/internal/repository" + "Ticketing/internal/service" + + "gorm.io/gorm" +) + +func BuildPublicRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { + userRepository := repository.NewUserRepository(db) // kenapa make ini? karena nge find email nya dari user_repository + loginService := service.NewLoginService(userRepository) + tokenService := service.NewTokenService(cfg) + authHandler := handler.NewAuthHandler(loginService, tokenService) + return router.PublicRoutes(authHandler) +} + +func BuildPrivateRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { + //memanggil fungsi PublicRoutes() dari router + userRepository := repository.NewUserRepository(db) + userService := service.NewUserService(userRepository) + userHandler := handler.NewUserHandler(userService) + return router.PrivateRoutes(userHandler) +} diff --git a/internal/config/config.go b/internal/config/config.go new file mode 100644 index 0000000..2e3dd15 --- /dev/null +++ b/internal/config/config.go @@ -0,0 +1,62 @@ +package config + +import ( + "errors" + + "github.com/caarlos0/env/v6" + "github.com/joho/godotenv" +) + +// Config adalah konfigurasi untuk aplikasi +type Config struct { + Port string `env:"PORT" envDefault:"8080"` + Postgres PostgresConfig `envPrefix:"POSTGRES_"` + JWT JwtConfig `envPrefix:"JWT_"` +} + +// JwtConfig adalah konfigurasi untuk JWT +type JwtConfig struct { + SecretKey string `env:"SECRET_KEY"` +} + +// PostgresConfig adalah konfigurasi untuk koneksi ke database postgres +type PostgresConfig struct { + Host string `env:"HOST" envDefault:"localhost"` + Port string `env:"PORT" envDefault:"5432"` + User string `env:"USER" envDefault:"postgres"` + Password string `env:"PASSWORD" envDefault:"postgres"` + Database string `env:"DATABASE" envDefault:"postgres"` +} + +// untuk membuat new config +func NewConfig(envPath string) (*Config, error) { + cfg, err := parseConfig(envPath) + if err != nil { + return nil, err + } + return cfg, nil +} + +// parseConfig parses the configuration file located at envPath and returns a +// Config struct and an error if any. It uses the godotenv package to load the +// environment variables from the file and the env package to parse them into +// the Config struct. +// +// envPath: The path to the environment file. +// Returns: A pointer to the Config struct and an error. +func parseConfig(envPath string) (*Config, error) { + err := godotenv.Load(envPath) + if err != nil { + return nil, errors.New("failed to load env") + } + + cfg := &Config{} + err = env.Parse(cfg) + if err != nil { + return nil, errors.New("failed to parse config") + } + return cfg, nil +} + +//NOTE : +// direktory ini berfungsi untuk konfigurasi database, port, dan lain-lain diff --git a/internal/http/binder/binder.go b/internal/http/binder/binder.go new file mode 100644 index 0000000..1f527bc --- /dev/null +++ b/internal/http/binder/binder.go @@ -0,0 +1,42 @@ +package binder + +import ( + internalValidator "Ticketing/internal/http/validator" + + "github.com/creasty/defaults" + "github.com/go-playground/validator/v10" + "github.com/labstack/echo/v4" +) + +// untuk override echo.Binder , karena untuk mapping apa saja yang perlu di binding +// folder ini digunakan untuk mengcombine data yang diinputkan dengan data yang diinginkan +type Binder struct { + defaultBinder *echo.DefaultBinder + *internalValidator.FormValidator +} + +func NewBinder( + dbr *echo.DefaultBinder, + vdr *internalValidator.FormValidator) *Binder { + //untuk mereturn struct binder diatas + return &Binder{dbr, vdr} +} + +func (b *Binder) Bind(i interface{}, c echo.Context) error { + // untuk melakukan binding + if err := b.defaultBinder.Bind(i, c); err != nil { + return err + } + + if err := defaults.Set(i); err != nil { + return err + } + + // untuk melakukan validasi + if err := b.Validate(i); err != nil { + errs := err.(validator.ValidationErrors) + return errs + } + + return nil +} diff --git a/internal/http/handler/auth_hendler.go b/internal/http/handler/auth_hendler.go new file mode 100644 index 0000000..1ed728a --- /dev/null +++ b/internal/http/handler/auth_hendler.go @@ -0,0 +1,55 @@ +package handler + +import ( + "Ticketing/internal/http/validator" + "Ticketing/internal/service" + "net/http" + + "github.com/labstack/echo/v4" +) + +type AuthHandler struct { + loginService service.LoginUseCase //untuk memanggil service yang ngelakuin pengecekan user. + tokenService service.TokenUsecase //untuk memanggil func akses token +} + +// ini func untuk type AuthHandler +func NewAuthHandler( + loginService service.LoginUseCase, + tokenService service.TokenUsecase, +) *AuthHandler { + return &AuthHandler{ + loginService: loginService, + tokenService: tokenService, + } +} + +// func ini untuk login +func (h *AuthHandler) Login(ctx echo.Context) error { + //pengecekan request + var input struct { + Email string `json:"email" validate:"required,email"` + Password string `json:"password" validate:"required,min=8"` + } + + if err := ctx.Bind(&input); err != nil { // di cek pake validate buat masukin input + return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + //untuk manggil login service di folder service + user, err := h.loginService.Login(ctx.Request().Context(), input.Email, input.Password) + + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + //untuk manggil token service di folder service + accessToken, err := h.tokenService.GenerateAccessToken(ctx.Request().Context(), user) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + data := map[string]interface{}{ + "access_token": accessToken, + } + return ctx.JSON(http.StatusOK, data) +} diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go new file mode 100644 index 0000000..6befa63 --- /dev/null +++ b/internal/http/handler/user_hendler.go @@ -0,0 +1,182 @@ +package handler + +import ( + "Ticketing/entity" + "Ticketing/internal/http/validator" + "Ticketing/internal/service" + "net/http" + "strconv" + + "github.com/labstack/echo/v4" +) + +type UserHandler struct { + userService service.UserUsecase +} + +// melakukan instace dari user handler +func NewUserHandler(userService service.UserUsecase) *UserHandler { + return &UserHandler{userService} +} + +// func untuk melakukan getAll User +func (h *UserHandler) GetAllUser(ctx echo.Context) error { + users, err := h.userService.GetAll(ctx.Request().Context()) + + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + return ctx.JSON(http.StatusOK, map[string]interface{}{ + "data": users, + }) +} + +// func untuk melakukan createUser +func (h *UserHandler) CreateUser(ctx echo.Context) error { + var input struct { + Name string `json:"name" validate:"required"` + Email string `json:"email" validate:"required,email"` + Password string `json:"password" validate:"required,min=8"` + } + + //ini func untuk error checking + if err := ctx.Bind(&input); err != nil { + return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + user := entity.NewUser(input.Name, input.Email, input.Password) + err := h.userService.CreateUser(ctx.Request().Context(), user) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + //kalau retrun nya kaya gini akan tampil pesan "User created successfully" + return ctx.JSON(http.StatusCreated, "User created successfully") + + //tapi kalau bikin retrun nya kaya gini bakal tampil data user yang baru dibuat + //return ctx.JSON(http.StatusCreated, user) + + // return ctx.JSON(http.StatusOK, map[string]interface{}{ + // "message": "User updated successfully", + // "data": map[string]interface{}{ + // "id": user.ID, + // "name": user.Name, + // "email": user.Email, + // "password": user.Password, + // "created": user.CreatedAt, + // }, + // }) +} + +// func untuk melakukan updateUser by id +func (h *UserHandler) UpdateUser(ctx echo.Context) error { + var input struct { + ID int64 `param:"id" validate:"required"` + Name string `json:"name" validate:"required"` + Email string `json:"email" validate:"required"` + Password string `json:"password" validate:"required"` + } + + if err := ctx.Bind(&input); err != nil { + return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + user := entity.UpdateUser(input.ID, input.Name, input.Email, input.Password) + err := h.userService.UpdateUser(ctx.Request().Context(), user) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + return ctx.JSON(http.StatusOK, map[string]interface{}{ + "message": "User updated successfully", + "user": user, + // "updated": user.UpdatedAt, //buat munculin si updateAt nya + }) +} + +// // func untuk melakukan getUser by id +// func (h *UserHandler) GetUserByID(ctx echo.Context) error { +// id := ctx.Param("id") +// user, err := h.userService.GetUserByID(ctx.Request().Context(), id) +// if err != nil { +// return ctx.JSON(http.StatusUnprocessableEntity, err) +// } + +// return ctx.JSON(http.StatusOK, map[string]interface{}{ +// "data": user, +// }) +// } + +func (h *UserHandler) GetUserByID(ctx echo.Context) error { + idStr := ctx.Param("id") + id, err := strconv.ParseInt(idStr, 10, 64) + if err != nil { + // Jika tidak dapat mengonversi ID menjadi int64, kembalikan respons error + return ctx.JSON(http.StatusBadRequest, map[string]interface{}{ + "error": "Invalid ID", + }) + } + + user, err := h.userService.GetUserByID(ctx.Request().Context(), id) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, map[string]interface{}{ + "error": err.Error(), + }) + } + + return ctx.JSON(http.StatusOK, map[string]interface{}{ + "data": map[string]interface{}{ + "id": user.ID, + "name": user.Name, + "email": user.Email, + "password": user.Password, + "created": user.CreatedAt, + "updated": user.UpdatedAt, + }, + }) +} + +// func untuk melakukan deleteUser by id +// func (h *UserHandler) DeleteUser(ctx echo.Context) error { +// idStr := ctx.Param("id") +// id, err := strconv.ParseInt(idStr, 10, 64) +// if err != nil { +// // Jika tidak dapat mengonversi ID menjadi int64, kembalikan respons error +// return ctx.JSON(http.StatusBadRequest, map[string]interface{}{ +// "error": "Invalid ID", +// }) +// } + +// err = h.userService.Delete(ctx.Request().Context(), id) +// if err != nil { +// return ctx.JSON(http.StatusUnprocessableEntity, map[string]interface{}{ +// "error": err.Error(), +// }) +// } + +// return ctx.JSON(http.StatusOK, map[string]interface{}{ +// "message": "User deleted successfully", +// }) +// } + +func (h *UserHandler) DeleteUser(ctx echo.Context) error { + var input struct { + ID int64 `param:"id" validate:"required"` + } + + if err := ctx.Bind(&input); err != nil { + return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + err := h.userService.Delete(ctx.Request().Context(), input.ID) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + return ctx.JSON(http.StatusOK, map[string]interface{}{ + "message": "User deleted successfully", + }) +} + +//NOTE : +// FOLDER INI UNTUK MEMANGGIL SERVICE DAN REPOSITORY diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go new file mode 100644 index 0000000..b1c8012 --- /dev/null +++ b/internal/http/router/routes.go @@ -0,0 +1,71 @@ +package router + +import ( + "Ticketing/internal/http/handler" + + "github.com/labstack/echo/v4" +) + +// membuat struct route +type Route struct { + Method string + Path string + Handler echo.HandlerFunc +} + +// membuat fungsi untuk mengembalikan route +// pada func ini perlu login krna private +func PublicRoutes(authHandler *handler.AuthHandler) []*Route { + return []*Route{ + { + Method: echo.POST, + Path: "/login", + Handler: authHandler.Login, + }, + } +} + +// membuat fungsi untuk mengembalikan route +// pada func ini tdk perlu login krna public +func PrivateRoutes(UserHandler *handler.UserHandler) []*Route { + return []*Route{ + { + Method: echo.POST, + Path: "/users", + Handler: UserHandler.CreateUser, + }, + + { + Method: echo.GET, + Path: "/users", + Handler: UserHandler.GetAllUser, + }, + + { + Method: echo.PUT, + Path: "/users/:id", + Handler: UserHandler.UpdateUser, + }, + + { + Method: echo.GET, + Path: "/users/:id", + Handler: UserHandler.GetUserByID, + }, + + { + Method: echo.DELETE, + Path: "/users/:id", + Handler: UserHandler.DeleteUser, + }, + } +} + +//NOTE : +//MENGAPA TERDAPAT 2 FUNC DIATAS? YAITU PUBLIC DAN PRIVATE +//KAREN DI SERVER.GO KITA BUAT GROUP API, DAN KITA MEMBAGI ROUTE YANG PERLU LOGIN DAN TIDAK PERLU LOGIN +// YAITU PUBLIC DAN PRIVATE + +//note ; +//untuk menjalankan nya setelah port 8080 ditambahin /api/v1 +// karna di server.go kita membuat group API diff --git a/internal/http/server/server.go b/internal/http/server/server.go new file mode 100644 index 0000000..ae51d37 --- /dev/null +++ b/internal/http/server/server.go @@ -0,0 +1,60 @@ +package server + +import ( + "Ticketing/internal/config" + "Ticketing/internal/http/binder" + "Ticketing/internal/http/router" + + echojwt "github.com/labstack/echo-jwt/v4" + "github.com/labstack/echo/v4" + "github.com/labstack/echo/v4/middleware" +) + +// merupakan struct dari eco +type Server struct { + *echo.Echo +} + +// untuk membuat server +func NewServer( + cfg *config.Config, + binder *binder.Binder, + publicRoutes, privateRoutes []*router.Route) *Server { + e := echo.New() + e.HideBanner = true // untuk menghilangkan banner echo, karena sudah membuat banner sendiri di splash + e.Binder = binder + + e.Use( + middleware.Logger(), + middleware.Recover(), + middleware.CORS(), + ) + + //membuat group API + v1 := e.Group("/api/v1") + + for _, public := range publicRoutes { + //e.add = untuk menambahkan route baru. + v1.Add(public.Method, public.Path, public.Handler) + } + + //ketika sudah ingin menggunakan middleware, maka menambahkan private.Middleware. + for _, private := range privateRoutes { + v1.Add(private.Method, private.Path, private.Handler, JWTprotected(cfg.JWT.SecretKey)) + } + + //hedler untuk mengecek kesehatan server + e.GET("/ping", func(c echo.Context) error { + return c.String(200, "pong") + }) + + return &Server{e} + +} + +// func untuk pendeklarasian JWT Middleware +func JWTprotected(secretKey string) echo.MiddlewareFunc { + return echojwt.WithConfig(echojwt.Config{ + SigningKey: []byte(secretKey), + }) +} diff --git a/internal/http/validator/validator.go b/internal/http/validator/validator.go new file mode 100644 index 0000000..047e5c3 --- /dev/null +++ b/internal/http/validator/validator.go @@ -0,0 +1,72 @@ +package validator + +import ( + "fmt" + "reflect" + "strings" + + "github.com/go-playground/validator/v10" +) + +// untuk membuat validator +type FormValidator struct { + validator *validator.Validate +} + +// untuk memvalidasi struct yang diinputkan +func (fv *FormValidator) Validate(i interface{}) error { + // untuk melakukan validasi + return fv.validator.Struct(i) +} + +// func ini digunakan ketika ingin mereturn data json yang diinputkan +func NewFormValidator() *FormValidator { + // diguanakn ketik ingin melakuka validate ke struct akan di enable + validate := validator.New(validator.WithRequiredStructEnabled()) + + //untk memvalidate type data json yang diinputkan. misal ketika ingin menginputkan nama harus huruf kecil semua. gabisa satu kecil satu gede. + validate.RegisterTagNameFunc(func(fld reflect.StructField) string { + name := strings.SplitN(fld.Tag.Get("json"), ",", 2)[0] + if name == "-" { + return "" + } + return name + }) + + return &FormValidator{validate} +} + +// untuk menampilkan error yang terjadi / maping error validator pada field atau json yang required. +func ValidatorErrors(err error) map[string]string { + // untuk membuat map + fields := map[string]string{} + + // untuk mengecek error yang terjadi atau membuat pesan erro pada field yang diinputkan ketika tidak valid + // untuk membuat required pada field + // if castedObject, ok := err.(validator.ValidationErrors); ok { + // for _, err := range castedObject { + // switch err.Tag() { + // case "required": + // fields[err.Field()] = fmt.Sprintf("%s is required", err.Field()) + // default: + // fields[err.Field()] = fmt.Sprintf("%s error with tag %s should be %s", err.Field(), err.Tag(), err.Param()) + // } + // } + // } + + if castedObject, ok := err.(validator.ValidationErrors); ok { + for _, err := range castedObject { + switch err.Tag() { + case "required": + fields[err.Field()] = fmt.Sprintf("%s harus diisi", err.Field()) + case "password": + // Validasi khusus untuk field "password" + fields[err.Field()] = "Password harus mengandung setidaknya satu huruf besar dan satu digit" + default: + fields[err.Field()] = fmt.Sprintf("Kesalahan pada %s dengan tag %s seharusnya %s", err.Field(), err.Tag(), err.Param()) + } + } + } + + return fields +} diff --git a/internal/repository/regist_repository.go b/internal/repository/regist_repository.go new file mode 100644 index 0000000..43d4c73 --- /dev/null +++ b/internal/repository/regist_repository.go @@ -0,0 +1,47 @@ +package repository + +import ( + "Ticketing/entity" + "context" + "errors" + + "gorm.io/gorm" +) + +type RegistrationRepository struct { + db *gorm.DB +} + +func NewRegistrationRepository(db *gorm.DB) *RegistrationRepository { + return &RegistrationRepository{ + db: db, + } +} + +func (r *RegistrationRepository) CreateUser(ctx context.Context, name, email, password string) (*entity.User, error) { + newUser := entity.NewUser(name, email, password) + + // Pastikan email unik + existingUser, err := r.GetByEmail(ctx, email) + if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { + return nil, err + } + if existingUser != nil { + return nil, errors.New("user with that email already exists") + } + + // Simpan pengguna baru ke database + if err := r.db.WithContext(ctx).Create(newUser).Error; err != nil { + return nil, err + } + + return newUser, nil +} + +func (r *RegistrationRepository) GetByEmail(ctx context.Context, email string) (*entity.User, error) { + user := new(entity.User) + if err := r.db.WithContext(ctx).Where("email = ?", email).First(user).Error; err != nil { + return nil, err + } + return user, nil +} diff --git a/internal/repository/user_repository.go b/internal/repository/user_repository.go new file mode 100644 index 0000000..f2b1332 --- /dev/null +++ b/internal/repository/user_repository.go @@ -0,0 +1,85 @@ +package repository + +import ( + "context" + "errors" + + "Ticketing/entity" + + "gorm.io/gorm" +) + +// membuat struct untuk dependency +type UserRepository struct { + db *gorm.DB +} + +// membuat constructor untuk dependency +func NewUserRepository(db *gorm.DB) *UserRepository { + return &UserRepository{ + db: db} +} + +// menampilkan get all user +// menggunakan []*entity.User = karena akan membutuhkan data yg banyak dengan array slice of user. +func (r *UserRepository) GetAll(ctx context.Context) ([]*entity.User, error) { + //melakukan returtn dari data user itu sendir, sehingga disimpan di variabel users + users := make([]*entity.User, 0) + //menggunakan db untuk melakukan query ke database + err := r.db.WithContext(ctx).Find(&users).Error // pada line ini akan melakukan query "SELECT * FROM users" + if err != nil { + return nil, err + } + return users, nil + +} + +// membuat create user +func (r *UserRepository) CreateUser(ctx context.Context, user *entity.User) error { + //menggunakan db untuk melakukan query ke database + err := r.db.WithContext(ctx).Create(&user).Error // pada line ini akan melakukan query "INSERT INTO users" + if err != nil { + return err + } + return nil +} + +// update data user byID +func (r *UserRepository) UpdateUser(ctx context.Context, user *entity.User) error { + if err := r.db.WithContext(ctx). + Model(&entity.User{}). + Where("id = ?", user.ID). + Updates(&user).Error; err != nil { + return err + } + return nil +} + +// get user by id +func (r *UserRepository) GetUserByID(ctx context.Context, id int64) (*entity.User, error) { + user := new(entity.User) + if err := r.db.WithContext(ctx).Where("id = ?", id).First(&user).Error; err != nil { + return nil, err + } + return user, nil +} + +// detele user by id +func (r *UserRepository) Delete(ctx context.Context, id int64) error { + if err := r.db.WithContext(ctx).Delete(&entity.User{}, id).Error; err != nil { + return err + } + return nil +} + +// get by email +func (r *UserRepository) GetByEmail(ctx context.Context, email string) (*entity.User, error) { + user := new(entity.User) + if err := r.db.WithContext(ctx).Where("email = ?", email).First(&user).Error; err != nil { + return nil, errors.New("user with that email not found") + } + return user, nil +} + +// NOTE : +// FOLDER INI UNTUK MENANGANI KE BAGIAN DATABASE DAN QUERY diff --git a/internal/service/auth_service.go b/internal/service/auth_service.go new file mode 100644 index 0000000..0e07616 --- /dev/null +++ b/internal/service/auth_service.go @@ -0,0 +1,47 @@ +package service + +import ( + "Ticketing/entity" + "context" + "errors" +) + +type LoginUseCase interface { + Login(ctx context.Context, email string, password string) (*entity.User, error) +} + +type LoginRepository interface { + GetByEmail(ctx context.Context, email string) (*entity.User, error) +} + +type loginService struct { + repository LoginRepository +} + +func NewLoginService(repository LoginRepository) *loginService { + return &loginService{ + repository: repository, + } +} + +// func untuk melakikan pengecekan apakah semua data nya sama mulai dari email, password +func (s *loginService) Login(ctx context.Context, email string, password string) (*entity.User, error) { + user, err := s.repository.GetByEmail(ctx, email) + if err != nil { + return nil, err + } + + //untuk pengecakan apakah email ada di database? + if user == nil { + return nil, errors.New("user with that email not found") + } + + //untuk pengecekan apakah password nya ada atau gaa di databse? + if user.Password != password { + return nil, errors.New("incorrect login credentials") + } + + //ketika email dan passwerd sama maka akan mengembalikan nil + return user, nil + +} diff --git a/internal/service/token_service.go b/internal/service/token_service.go new file mode 100644 index 0000000..8782014 --- /dev/null +++ b/internal/service/token_service.go @@ -0,0 +1,46 @@ +package service + +import ( + "Ticketing/common" + "Ticketing/entity" + "Ticketing/internal/config" + "context" + "time" + + "github.com/golang-jwt/jwt/v5" +) + +type TokenUsecase interface { + GenerateAccessToken(ctx context.Context, user *entity.User) (string, error) +} + +type TokenService struct { + cfg *config.Config //ini dipake krna secret key nya diambil dari config +} + +func NewTokenService(cfg *config.Config) *TokenService { + return &TokenService{ + cfg: cfg, + } +} + +// untuk generate token +func (s *TokenService) GenerateAccessToken(ctx context.Context, user *entity.User) (string, error) { + expiredTime := time.Now().Local().Add(10 * time.Minute) //ini untuk mengatur waktu kadaluarsa token + claims := common.JwtCustomClaims{ + ID: user.ID, + Name: user.Name, + Email: user.Email, + RegisteredClaims: jwt.RegisteredClaims{ + ExpiresAt: jwt.NewNumericDate(expiredTime), + }, + } + token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) //ini untuk membuat token + encodedToken, err := token.SignedString([]byte(s.cfg.JWT.SecretKey)) //ini untuk mengenkripsi token + + if err != nil { + return "", err + } + return encodedToken, nil + +} diff --git a/internal/service/user_service.go b/internal/service/user_service.go new file mode 100644 index 0000000..45f2d0d --- /dev/null +++ b/internal/service/user_service.go @@ -0,0 +1,70 @@ +package service + +import ( + "context" + + "Ticketing/entity" +) + +// interface untuk service +// untuk memanngil repository +type UserUsecase interface { + GetAll(ctx context.Context) ([]*entity.User, error) + CreateUser(ctx context.Context, user *entity.User) error + UpdateUser(ctx context.Context, user *entity.User) error + GetUserByID(ctx context.Context, id int64) (*entity.User, error) + Delete(ctx context.Context, id int64) error +} + +// interface untuk repository +// untuk memanggil repository +// GetAll = untuk menampilkan semua data user, dan itu harus sama dengan yang ada di repository +type UserRepository interface { + GetAll(ctx context.Context) ([]*entity.User, error) + CreateUser(ctx context.Context, user *entity.User) error + UpdateUser(ctx context.Context, user *entity.User) error + GetUserByID(ctx context.Context, id int64) (*entity.User, error) + Delete(ctx context.Context, id int64) error +} + +// code di line 23 merupakan dependency injection, karena repository tidak langsung di panggil. +// karena repository dipanggil melalui code pada line 18 +type UserService struct { + repository UserRepository +} + +// func untuk UserRepository +func NewUserService(repository UserRepository) *UserService { + return &UserService{repository} +} + +// func dibawah ini untuk type user usecase +// ini untuk menampilkan data user +// untuk memanggil repository +func (s *UserService) GetAll(ctx context.Context) ([]*entity.User, error) { + return s.repository.GetAll(ctx) +} + +// func dibawah ini untuk type user usecase +// ini untuk membuat data user +func (s *UserService) CreateUser(ctx context.Context, user *entity.User) error { + return s.repository.CreateUser(ctx, user) +} + +// untuk update data user +func (s *UserService) UpdateUser(ctx context.Context, user *entity.User) error { + return s.repository.UpdateUser(ctx, user) +} + +// untuk get user by id +func (s *UserService) GetUserByID(ctx context.Context, id int64) (*entity.User, error) { + return s.repository.GetUserByID(ctx, id) +} + +// untuk delete by id +func (s *UserService) Delete(ctx context.Context, id int64) error { + return s.repository.Delete(ctx, id) +} + +//NOTE : +// FOLDER INI UNTUK MENANGANI LOGIC DAN MEMANGGIL REPOSITORY From 800cf69e63618513a81836bb1b764926f53fe848 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sun, 26 Nov 2023 04:18:57 +0700 Subject: [PATCH 10/85] update postman --- entity/user.go | 6 +- internal/http/handler/user_hendler.go | 14 -- internal/http/validator/validator.go | 13 -- output/Tiketing.postman_collection.json | 216 ++++++++++++++++++++++++ output/login.jpg | Bin 0 -> 76404 bytes 5 files changed, 219 insertions(+), 30 deletions(-) create mode 100644 output/Tiketing.postman_collection.json create mode 100644 output/login.jpg diff --git a/entity/user.go b/entity/user.go index 95c3ae8..c590151 100644 --- a/entity/user.go +++ b/entity/user.go @@ -9,9 +9,9 @@ type User struct { Name string `json:"name"` Email string `json:"email"` Password string `json:"-"` - CreatedAt time.Time `json:"-"` - UpdatedAt time.Time `json:"-"` - DeleteAt time.Time `json:"-"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` + DeletedAt *time.Time `json:"deleted_at,omitempty"` } // req untuk create user diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 6befa63..550916d 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -52,20 +52,6 @@ func (h *UserHandler) CreateUser(ctx echo.Context) error { //kalau retrun nya kaya gini akan tampil pesan "User created successfully" return ctx.JSON(http.StatusCreated, "User created successfully") - - //tapi kalau bikin retrun nya kaya gini bakal tampil data user yang baru dibuat - //return ctx.JSON(http.StatusCreated, user) - - // return ctx.JSON(http.StatusOK, map[string]interface{}{ - // "message": "User updated successfully", - // "data": map[string]interface{}{ - // "id": user.ID, - // "name": user.Name, - // "email": user.Email, - // "password": user.Password, - // "created": user.CreatedAt, - // }, - // }) } // func untuk melakukan updateUser by id diff --git a/internal/http/validator/validator.go b/internal/http/validator/validator.go index 047e5c3..4573f82 100644 --- a/internal/http/validator/validator.go +++ b/internal/http/validator/validator.go @@ -41,19 +41,6 @@ func ValidatorErrors(err error) map[string]string { // untuk membuat map fields := map[string]string{} - // untuk mengecek error yang terjadi atau membuat pesan erro pada field yang diinputkan ketika tidak valid - // untuk membuat required pada field - // if castedObject, ok := err.(validator.ValidationErrors); ok { - // for _, err := range castedObject { - // switch err.Tag() { - // case "required": - // fields[err.Field()] = fmt.Sprintf("%s is required", err.Field()) - // default: - // fields[err.Field()] = fmt.Sprintf("%s error with tag %s should be %s", err.Field(), err.Tag(), err.Param()) - // } - // } - // } - if castedObject, ok := err.(validator.ValidationErrors); ok { for _, err := range castedObject { switch err.Tag() { diff --git a/output/Tiketing.postman_collection.json b/output/Tiketing.postman_collection.json new file mode 100644 index 0000000..6b20020 --- /dev/null +++ b/output/Tiketing.postman_collection.json @@ -0,0 +1,216 @@ +{ + "info": { + "_postman_id": "843c34b5-2096-432b-ae60-e404f602be20", + "name": "Tiketing", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "_exporter_id": "26142588" + }, + "item": [ + { + "name": "LOGIN", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\" : \"reza@gmail.com\",\r\n \"password\" : \"123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/login", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "login" + ] + } + }, + "response": [] + }, + { + "name": "Admin Create User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ2OTg4fQ.627B_seVkhJrIv85Af89IP8HMV6KkGz5wPU83Wz6Hng", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"password\" : \"123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/users", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users" + ] + } + }, + "response": [] + }, + { + "name": "Admin Cek User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ2MjQzfQ.WDe46np9E7jrEKDOs0X6UM0zmopIGUViYOWCJ5Ekr9A", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users" + ] + } + }, + "response": [] + }, + { + "name": "Admin Update user", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ3MzA4fQ.Ff2Vi9EsovthYUa6f98yEfVAaHXrufB0q6b5whxLM2c", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"password\" : \"123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/users/2", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "2" + ] + } + }, + "response": [] + }, + { + "name": "Admin Get ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ3MzA4fQ.Ff2Vi9EsovthYUa6f98yEfVAaHXrufB0q6b5whxLM2c", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users/2", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "2" + ] + } + }, + "response": [] + }, + { + "name": "Admin Delet User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ3MzA4fQ.Ff2Vi9EsovthYUa6f98yEfVAaHXrufB0q6b5whxLM2c", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users/2", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "2" + ] + } + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/output/login.jpg b/output/login.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fda64a0ac892e3cb5e26175bff797d8c1d1fb1b2 GIT binary patch literal 76404 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 TEIjW{&cons;9EoBzt#T+zwRsw literal 0 HcmV?d00001 From 7ca1bf11cde81adc6a5b2d962c0a5cd62a21dff0 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sun, 26 Nov 2023 16:47:01 +0700 Subject: [PATCH 11/85] update login register --- .env | 2 +- .../20231124164649_create_users_table.up.sql | 3 +- entity/user.go | 7 +++-- internal/http/handler/user_hendler.go | 7 +++-- internal/http/router/routes.go | 5 ++++ internal/repository/regist_repository.go | 4 +-- output/step.md | 29 +++++++++++++++++++ 7 files changed, 49 insertions(+), 8 deletions(-) create mode 100644 output/step.md diff --git a/.env b/.env index 3bc8849..37b1257 100644 --- a/.env +++ b/.env @@ -3,7 +3,7 @@ POSTGRES_HOST=localhost POSTGRES_PORT=5432 POSTGRES_USER=postgres POSTGRES_PASSWORD=mysecretpassword -POSTGRES_DATABASE=Ticketing +POSTGRES_DATABASE=Tiketing JWT_SECRET_KEY=secret diff --git a/db/migration-golang/20231124164649_create_users_table.up.sql b/db/migration-golang/20231124164649_create_users_table.up.sql index 9eea93b..3fad061 100644 --- a/db/migration-golang/20231124164649_create_users_table.up.sql +++ b/db/migration-golang/20231124164649_create_users_table.up.sql @@ -4,7 +4,8 @@ CREATE TABLE id SERIAL NOT NULL, name VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, - email VARCHAR(255) NOT NULL + email VARCHAR(255) NOT NULL, + number VARCHAR(255) NOT NULL ); ALTER TABLE "public"."users" ADD CONSTRAINT "users_pkey" PRIMARY KEY ("id"); \ No newline at end of file diff --git a/entity/user.go b/entity/user.go index c590151..5fa7e4b 100644 --- a/entity/user.go +++ b/entity/user.go @@ -8,6 +8,7 @@ type User struct { ID int64 `json:"id"` Name string `json:"name"` Email string `json:"email"` + Number string `json:"number"` Password string `json:"-"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` @@ -15,21 +16,23 @@ type User struct { } // req untuk create user -func NewUser(name, email, password string) *User { +func NewUser(name, email, number, password string) *User { return &User{ Name: name, Email: email, + Number: number, Password: password, CreatedAt: time.Now(), } } // req untuk update user -func UpdateUser(id int64, name, email, password string) *User { +func UpdateUser(id int64, name, email, number, password string) *User { return &User{ ID: id, Name: name, Email: email, + Number: number, Password: password, UpdatedAt: time.Now(), } diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 550916d..039fdbf 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -36,6 +36,7 @@ func (h *UserHandler) CreateUser(ctx echo.Context) error { var input struct { Name string `json:"name" validate:"required"` Email string `json:"email" validate:"required,email"` + Number string `json:"number" validate:"required"` Password string `json:"password" validate:"required,min=8"` } @@ -44,7 +45,7 @@ func (h *UserHandler) CreateUser(ctx echo.Context) error { return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) } - user := entity.NewUser(input.Name, input.Email, input.Password) + user := entity.NewUser(input.Name, input.Email, input.Number, input.Password) err := h.userService.CreateUser(ctx.Request().Context(), user) if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, err) @@ -59,6 +60,7 @@ func (h *UserHandler) UpdateUser(ctx echo.Context) error { var input struct { ID int64 `param:"id" validate:"required"` Name string `json:"name" validate:"required"` + Number string `json:"number" validate:"required"` Email string `json:"email" validate:"required"` Password string `json:"password" validate:"required"` } @@ -67,7 +69,7 @@ func (h *UserHandler) UpdateUser(ctx echo.Context) error { return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) } - user := entity.UpdateUser(input.ID, input.Name, input.Email, input.Password) + user := entity.UpdateUser(input.ID, input.Name, input.Email, input.Number, input.Password) err := h.userService.UpdateUser(ctx.Request().Context(), user) if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, err) @@ -115,6 +117,7 @@ func (h *UserHandler) GetUserByID(ctx echo.Context) error { "id": user.ID, "name": user.Name, "email": user.Email, + "number": user.Number, "password": user.Password, "created": user.CreatedAt, "updated": user.UpdatedAt, diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index b1c8012..195116a 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -22,6 +22,11 @@ func PublicRoutes(authHandler *handler.AuthHandler) []*Route { Path: "/login", Handler: authHandler.Login, }, + { + Method: echo.POST, + Path: "/register", + Handler: UserHandler.register, + }, } } diff --git a/internal/repository/regist_repository.go b/internal/repository/regist_repository.go index 43d4c73..2071231 100644 --- a/internal/repository/regist_repository.go +++ b/internal/repository/regist_repository.go @@ -18,8 +18,8 @@ func NewRegistrationRepository(db *gorm.DB) *RegistrationRepository { } } -func (r *RegistrationRepository) CreateUser(ctx context.Context, name, email, password string) (*entity.User, error) { - newUser := entity.NewUser(name, email, password) +func (r *RegistrationRepository) CreateUser(ctx context.Context, name, email, number, password string) (*entity.User, error) { + newUser := entity.NewUser(name, email, number, password) // Pastikan email unik existingUser, err := r.GetByEmail(ctx, email) diff --git a/output/step.md b/output/step.md new file mode 100644 index 0000000..648d61b --- /dev/null +++ b/output/step.md @@ -0,0 +1,29 @@ +# Membuat Struktur Data Tiket +1. Buat file tiket.go di dalam folder entity. +2. Dalam file tersebut, buatlah struktur data (struct) untuk entitas tiket dengan mendefinisikan kolom-kolom yang dibutuhkan. + +# Membuat Repository Tiket +1. Buat file tiket_repository.go di dalam folder repository. +2. Dalam file tersebut, buatlah interface untuk mengakses data tiket. Panggil fungsi-fungsi yang dibutuhkan dari tiket_repository.go. + +# Membuat Service Tiket +1. Buat file tiket_service.go di dalam folder service. +2. Dalam file tersebut, buatlah struktur service untuk logika terkait tiket. Panggil fungsi-fungsi yang dibutuhkan dari tiket_repository.go. + +# Membuat Handler Tiket +1. Buat file tiket_handler.go di dalam folder handler. +2. Dalam file tersebut, buatlah handler untuk menerima request dan menangani logika terkait tiket. Panggil fungsi-fungsi dari tiket_service.go dan sesuaikan dengan kebutuhan. + +# Logika Builder +1. Tentukan apakah entitas tiket akan diatur sebagai private atau public. Buat file builderPrivieRoute.go jika private. +2. Panggil use case, repository, dan objek lain yang diperlukan di dalam file tersebut. + +# Membuat Routing +1. Buka file PrivateRoute atau file yang sesuai dengan routing di aplikasi. +2. Tambahkan endpoint untuk operasi yang ingin Anda dukung menggunakan handler tiket yang sudah dibuat. + +# Menjalankan Server +1. Jalankan server menggunakan perintah go run cmd/server main.go. +2. Pastikan file PrivateRoute atau file routing yang sesuai di-load dan endpoint tiket sudah terdaftar. + +Dengan langkah-langkah tersebut, Anda akan memiliki struktur dasar untuk menangani entitas tiket dalam aplikasi Anda. Pastikan untuk menggantinya sesuai kebutuhan dan menyesuaikan setiap langkah dengan logika dan fitur aplikasi yang Anda buat \ No newline at end of file From 705743e972e7c26f06b464c58e56d6bb2a41fb6f Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sun, 26 Nov 2023 19:27:33 +0700 Subject: [PATCH 12/85] update notion --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ca753e7..e3613c3 100644 --- a/README.md +++ b/README.md @@ -58,4 +58,4 @@ Proyek ini akan berlangsung selama 2 sprint (2 minggu) dengan penilaian secara b - [x] [Figma](https://www.figma.com/file/BdDlFZ7u3E6upQlSwUcOax/Code-Challenge-Project-Based?type=whiteboard&node-id=0-1&t=Le6Pdip9Patyl5DV-0) - [x] [PPT Document](https://docs.google.com/presentation/d/1vvOwCKjysLxORL7GOtOJbgiW3XAVuYsRK0ccUa8VOzA/edit#slide=id.g21e0640a876_0_25) - [x] [Desain Aplikasi](https://www.figma.com/file/1MtWn0HIt9SidftaQIlrXG/Project-Coding-Challenge-References?type=design&node-id=0-4&mode=design&t=dC1tZcf7zlIMfZBL-0) -- [x] [Notion](https://kumal.notion.site/Projek-Pemesanan-Tiket-89ef1e2e0d1b4067ba48316fb64fe673?pvs=4) \ No newline at end of file +- [x] [Notion](https://pouncing-language-444.notion.site/Tiketing-Kelompok-3-9ea0d693c9074b899609846dc1f683b8?pvs=4) \ No newline at end of file From 4d426fe8ccf06e7e083fa3977adf0b68acdd8b17 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sun, 26 Nov 2023 20:50:48 +0700 Subject: [PATCH 13/85] update postman --- output/Tiketing.postman_collection.json | 46 ++++++++++++++++++++----- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/output/Tiketing.postman_collection.json b/output/Tiketing.postman_collection.json index 6b20020..5b2800c 100644 --- a/output/Tiketing.postman_collection.json +++ b/output/Tiketing.postman_collection.json @@ -6,6 +6,36 @@ "_exporter_id": "26142588" }, "item": [ + { + "name": "Register", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"rezaaa\",\r\n \"email\" : \"reza123@gmail.com\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/register", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "register" + ] + } + }, + "response": [] + }, { "name": "LOGIN", "request": { @@ -44,7 +74,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ2OTg4fQ.627B_seVkhJrIv85Af89IP8HMV6KkGz5wPU83Wz6Hng", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ5Mjg4fQ.OG-ChUlyjITZ2-v4byETJFvFGZsTMvCyaFh6ycGXNBQ", "type": "string" } ] @@ -53,7 +83,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"password\" : \"123123123123\"\r\n}", + "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"number\": \"896232123123123\",\r\n \"password\" : \"123123123123\"\r\n}", "options": { "raw": { "language": "json" @@ -84,7 +114,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ2MjQzfQ.WDe46np9E7jrEKDOs0X6UM0zmopIGUViYOWCJ5Ekr9A", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ5Mjg4fQ.OG-ChUlyjITZ2-v4byETJFvFGZsTMvCyaFh6ycGXNBQ", "type": "string" } ] @@ -115,7 +145,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ3MzA4fQ.Ff2Vi9EsovthYUa6f98yEfVAaHXrufB0q6b5whxLM2c", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ4MTE0fQ.BdWNuKbuIZmTP3nV3QNtIXZpw-sxdyR9IOYTEqcbZOA", "type": "string" } ] @@ -124,7 +154,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"password\" : \"123123123123\"\r\n}", + "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"number\" : \"1234\",\r\n \"password\" : \"123123123123\"\r\n}", "options": { "raw": { "language": "json" @@ -156,7 +186,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ3MzA4fQ.Ff2Vi9EsovthYUa6f98yEfVAaHXrufB0q6b5whxLM2c", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ4NTUzfQ.Y7NS257fGTh6Zmopf8fkbWHVuSUuoO9izcDA_0n83NY", "type": "string" } ] @@ -164,7 +194,7 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/users/2", + "raw": "http://localhost:8080/api/v1/users/1", "protocol": "http", "host": [ "localhost" @@ -174,7 +204,7 @@ "api", "v1", "users", - "2" + "1" ] } }, From d1814c1e7485014a52fca3fea35cfbdca97b9417 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sun, 26 Nov 2023 22:18:13 +0700 Subject: [PATCH 14/85] update postman dan regist roles --- README.md | 2 +- cmd/server/main.go | 8 --- common/jwt.go | 6 +-- .../20231124164649_create_users_table.up.sql | 4 +- entity/user.go | 32 +++++++----- internal/builder/builder.go | 5 +- internal/config/config.go | 16 ++---- internal/http/binder/binder.go | 7 ++- internal/http/handler/auth_hendler.go | 38 ++++++++++++++ internal/http/handler/user_hendler.go | 52 +++---------------- internal/http/router/routes.go | 2 +- internal/repository/regist_repository.go | 32 +++--------- internal/repository/user_repository.go | 8 ++- internal/service/auth_service.go | 28 ++++++++++ output/Tiketing.postman_collection.json | 46 +++------------- 15 files changed, 128 insertions(+), 158 deletions(-) diff --git a/README.md b/README.md index e3613c3..ca753e7 100644 --- a/README.md +++ b/README.md @@ -58,4 +58,4 @@ Proyek ini akan berlangsung selama 2 sprint (2 minggu) dengan penilaian secara b - [x] [Figma](https://www.figma.com/file/BdDlFZ7u3E6upQlSwUcOax/Code-Challenge-Project-Based?type=whiteboard&node-id=0-1&t=Le6Pdip9Patyl5DV-0) - [x] [PPT Document](https://docs.google.com/presentation/d/1vvOwCKjysLxORL7GOtOJbgiW3XAVuYsRK0ccUa8VOzA/edit#slide=id.g21e0640a876_0_25) - [x] [Desain Aplikasi](https://www.figma.com/file/1MtWn0HIt9SidftaQIlrXG/Project-Coding-Challenge-References?type=design&node-id=0-4&mode=design&t=dC1tZcf7zlIMfZBL-0) -- [x] [Notion](https://pouncing-language-444.notion.site/Tiketing-Kelompok-3-9ea0d693c9074b899609846dc1f683b8?pvs=4) \ No newline at end of file +- [x] [Notion](https://kumal.notion.site/Projek-Pemesanan-Tiket-89ef1e2e0d1b4067ba48316fb64fe673?pvs=4) \ No newline at end of file diff --git a/cmd/server/main.go b/cmd/server/main.go index 4f0b160..f7cf002 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -105,11 +105,3 @@ func checkError(err error) { } } -// // //memanggil entity user -// // users := make([]entity.User, 0) -// // if err := db.Find(&users).Error; err != nil { -// // checkError(err) -// // } -// // for _, v := range users { // ini untuk menampilkan data user secara looping -// // fmt.Println(v) -// // } diff --git a/common/jwt.go b/common/jwt.go index 3641672..3f638b5 100644 --- a/common/jwt.go +++ b/common/jwt.go @@ -1,4 +1,7 @@ package common +//note : file ini untuk buat claims JWT +// claims JWT adalah data yang akan dienkripsi dan ditandatangani oleh JWT +// claims JWT ini nantinya akan disimpan di dalam payload JWT import "github.com/golang-jwt/jwt/v5" @@ -9,6 +12,3 @@ type JwtCustomClaims struct { jwt.RegisteredClaims // ini untuk exp at } -//note : file ini untuk buat claims JWT -// claims JWT adalah data yang akan dienkripsi dan ditandatangani oleh JWT -// claims JWT ini nantinya akan disimpan di dalam payload JWT diff --git a/db/migration-golang/20231124164649_create_users_table.up.sql b/db/migration-golang/20231124164649_create_users_table.up.sql index 3fad061..d605f21 100644 --- a/db/migration-golang/20231124164649_create_users_table.up.sql +++ b/db/migration-golang/20231124164649_create_users_table.up.sql @@ -5,7 +5,9 @@ CREATE TABLE name VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, - number VARCHAR(255) NOT NULL + number VARCHAR(255) NOT NULL, + roles VARCHAR(255) NOT NULL, + saldo INTEGER NOT NULL ); ALTER TABLE "public"."users" ADD CONSTRAINT "users_pkey" PRIMARY KEY ("id"); \ No newline at end of file diff --git a/entity/user.go b/entity/user.go index 5fa7e4b..3cd2d49 100644 --- a/entity/user.go +++ b/entity/user.go @@ -9,42 +9,46 @@ type User struct { Name string `json:"name"` Email string `json:"email"` Number string `json:"number"` + Roles string `json:"roles"` + Saldo int64 `json:"saldo"` Password string `json:"-"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt *time.Time `json:"deleted_at,omitempty"` } -// req untuk create user -func NewUser(name, email, number, password string) *User { +// Admin New User +func NewUser(name, email, number, password, roles string) *User { return &User{ Name: name, Email: email, Number: number, + Roles: roles, Password: password, CreatedAt: time.Now(), } } -// req untuk update user -func UpdateUser(id int64, name, email, number, password string) *User { +// Admin Update User +func UpdateUser(id int64, name, email, number, roles, password string) *User { return &User{ ID: id, Name: name, Email: email, Number: number, + Roles: roles, Password: password, UpdatedAt: time.Now(), } } -// req untuk login -// func Login(email, password string) *User { -// return &User{ -// Email: email, -// Password: password, -// } -// } - -//note : ketika type data untuk ID hanya int, maka akan error ketika dijalankan. karena ID tidak bisa di tambahkan otmatis oleh database -// namun ketika type data untuk ID diubah menjadi int64, maka tidak akan error ketika dijalankan. karena ID bisa di tambahkan otmatis oleh database melalui postman. +// Public Register +func Register(name, email, password, roles, number string) *User { + return &User{ + Name: name, + Email: email, + Password: password, + Roles: roles, + Number: number, + } +} \ No newline at end of file diff --git a/internal/builder/builder.go b/internal/builder/builder.go index 6247384..138a544 100644 --- a/internal/builder/builder.go +++ b/internal/builder/builder.go @@ -11,10 +11,13 @@ import ( ) func BuildPublicRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { + registrationRepository := repository.NewRegistrationRepository(db) + registrationService := service.NewRegistrationService(registrationRepository) userRepository := repository.NewUserRepository(db) // kenapa make ini? karena nge find email nya dari user_repository loginService := service.NewLoginService(userRepository) tokenService := service.NewTokenService(cfg) - authHandler := handler.NewAuthHandler(loginService, tokenService) + authHandler := handler.NewAuthHandler(registrationService, loginService, tokenService) + return router.PublicRoutes(authHandler) } diff --git a/internal/config/config.go b/internal/config/config.go index 2e3dd15..5d6324e 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -1,5 +1,6 @@ package config - +//NOTE : +// direktory ini berfungsi untuk konfigurasi database, port, dan lain-lain import ( "errors" @@ -37,13 +38,7 @@ func NewConfig(envPath string) (*Config, error) { return cfg, nil } -// parseConfig parses the configuration file located at envPath and returns a -// Config struct and an error if any. It uses the godotenv package to load the -// environment variables from the file and the env package to parse them into -// the Config struct. -// -// envPath: The path to the environment file. -// Returns: A pointer to the Config struct and an error. +// untuk parse config func parseConfig(envPath string) (*Config, error) { err := godotenv.Load(envPath) if err != nil { @@ -56,7 +51,4 @@ func parseConfig(envPath string) (*Config, error) { return nil, errors.New("failed to parse config") } return cfg, nil -} - -//NOTE : -// direktory ini berfungsi untuk konfigurasi database, port, dan lain-lain +} \ No newline at end of file diff --git a/internal/http/binder/binder.go b/internal/http/binder/binder.go index 1f527bc..cb777ee 100644 --- a/internal/http/binder/binder.go +++ b/internal/http/binder/binder.go @@ -1,5 +1,5 @@ package binder - +// folder ini digunakan untuk mengcombine data yang diinputkan dengan data yang diinginkan import ( internalValidator "Ticketing/internal/http/validator" @@ -9,21 +9,20 @@ import ( ) // untuk override echo.Binder , karena untuk mapping apa saja yang perlu di binding -// folder ini digunakan untuk mengcombine data yang diinputkan dengan data yang diinginkan type Binder struct { defaultBinder *echo.DefaultBinder *internalValidator.FormValidator } +//untuk mereturn struct binder diatas func NewBinder( dbr *echo.DefaultBinder, vdr *internalValidator.FormValidator) *Binder { - //untuk mereturn struct binder diatas return &Binder{dbr, vdr} } +// untuk melakukan binding func (b *Binder) Bind(i interface{}, c echo.Context) error { - // untuk melakukan binding if err := b.defaultBinder.Bind(i, c); err != nil { return err } diff --git a/internal/http/handler/auth_hendler.go b/internal/http/handler/auth_hendler.go index 1ed728a..9446c97 100644 --- a/internal/http/handler/auth_hendler.go +++ b/internal/http/handler/auth_hendler.go @@ -1,6 +1,7 @@ package handler import ( + "Ticketing/entity" "Ticketing/internal/http/validator" "Ticketing/internal/service" "net/http" @@ -9,16 +10,19 @@ import ( ) type AuthHandler struct { + registrationService service.RegistrationUseCase // untuk regist loginService service.LoginUseCase //untuk memanggil service yang ngelakuin pengecekan user. tokenService service.TokenUsecase //untuk memanggil func akses token } // ini func untuk type AuthHandler func NewAuthHandler( + registartionService service.RegistrationUseCase, loginService service.LoginUseCase, tokenService service.TokenUsecase, ) *AuthHandler { return &AuthHandler{ + registrationService: registartionService, loginService: loginService, tokenService: tokenService, } @@ -53,3 +57,37 @@ func (h *AuthHandler) Login(ctx echo.Context) error { } return ctx.JSON(http.StatusOK, data) } + +// Public Register +func (h *AuthHandler) Registration(ctx echo.Context) error { + //pengecekan request + var input struct { + Name string `json:"name" validate:"required"` + Email string `json:"email" validate:"required,email"` + Password string `json:"password" validate:"required,min=8"` + Roles string `json:"roles" validate:"required"` + Number string `json:"number" validate:"required,min=11,max=13"` + } + + if err := ctx.Bind(&input); err != nil { // di cek pake validate buat masukin input + return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + //untuk manggil registration service di folder service + user := entity.Register(input.Name, input.Email, input.Password, input.Roles, input.Number) + err := h.registrationService.Registration(ctx.Request().Context(), user) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + accessToken, err := h.tokenService.GenerateAccessToken(ctx.Request().Context(), user) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + return ctx.JSON(http.StatusOK, map[string]interface{}{ + "message": "User registration successfully", + "access_token": accessToken, + }) + +} \ No newline at end of file diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 039fdbf..7c8c162 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -1,5 +1,6 @@ package handler - +//NOTE : +// FOLDER INI UNTUK MEMANGGIL SERVICE DAN REPOSITORY import ( "Ticketing/entity" "Ticketing/internal/http/validator" @@ -37,6 +38,7 @@ func (h *UserHandler) CreateUser(ctx echo.Context) error { Name string `json:"name" validate:"required"` Email string `json:"email" validate:"required,email"` Number string `json:"number" validate:"required"` + Roles string `json:"roles" validate:"required"` Password string `json:"password" validate:"required,min=8"` } @@ -45,7 +47,7 @@ func (h *UserHandler) CreateUser(ctx echo.Context) error { return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) } - user := entity.NewUser(input.Name, input.Email, input.Number, input.Password) + user := entity.NewUser(input.Name, input.Email, input.Number, input.Roles, input.Password) err := h.userService.CreateUser(ctx.Request().Context(), user) if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, err) @@ -60,8 +62,9 @@ func (h *UserHandler) UpdateUser(ctx echo.Context) error { var input struct { ID int64 `param:"id" validate:"required"` Name string `json:"name" validate:"required"` - Number string `json:"number" validate:"required"` Email string `json:"email" validate:"required"` + Number string `json:"number" validate:"required"` + Roles string `json:"roles" validate:"required"` Password string `json:"password" validate:"required"` } @@ -69,7 +72,7 @@ func (h *UserHandler) UpdateUser(ctx echo.Context) error { return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) } - user := entity.UpdateUser(input.ID, input.Name, input.Email, input.Number, input.Password) + user := entity.UpdateUser(input.ID, input.Name, input.Email, input.Number, input.Roles, input.Password) err := h.userService.UpdateUser(ctx.Request().Context(), user) if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, err) @@ -82,19 +85,6 @@ func (h *UserHandler) UpdateUser(ctx echo.Context) error { }) } -// // func untuk melakukan getUser by id -// func (h *UserHandler) GetUserByID(ctx echo.Context) error { -// id := ctx.Param("id") -// user, err := h.userService.GetUserByID(ctx.Request().Context(), id) -// if err != nil { -// return ctx.JSON(http.StatusUnprocessableEntity, err) -// } - -// return ctx.JSON(http.StatusOK, map[string]interface{}{ -// "data": user, -// }) -// } - func (h *UserHandler) GetUserByID(ctx echo.Context) error { idStr := ctx.Param("id") id, err := strconv.ParseInt(idStr, 10, 64) @@ -125,29 +115,6 @@ func (h *UserHandler) GetUserByID(ctx echo.Context) error { }) } -// func untuk melakukan deleteUser by id -// func (h *UserHandler) DeleteUser(ctx echo.Context) error { -// idStr := ctx.Param("id") -// id, err := strconv.ParseInt(idStr, 10, 64) -// if err != nil { -// // Jika tidak dapat mengonversi ID menjadi int64, kembalikan respons error -// return ctx.JSON(http.StatusBadRequest, map[string]interface{}{ -// "error": "Invalid ID", -// }) -// } - -// err = h.userService.Delete(ctx.Request().Context(), id) -// if err != nil { -// return ctx.JSON(http.StatusUnprocessableEntity, map[string]interface{}{ -// "error": err.Error(), -// }) -// } - -// return ctx.JSON(http.StatusOK, map[string]interface{}{ -// "message": "User deleted successfully", -// }) -// } - func (h *UserHandler) DeleteUser(ctx echo.Context) error { var input struct { ID int64 `param:"id" validate:"required"` @@ -165,7 +132,4 @@ func (h *UserHandler) DeleteUser(ctx echo.Context) error { return ctx.JSON(http.StatusOK, map[string]interface{}{ "message": "User deleted successfully", }) -} - -//NOTE : -// FOLDER INI UNTUK MEMANGGIL SERVICE DAN REPOSITORY +} \ No newline at end of file diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 195116a..6c9624d 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -25,7 +25,7 @@ func PublicRoutes(authHandler *handler.AuthHandler) []*Route { { Method: echo.POST, Path: "/register", - Handler: UserHandler.register, + Handler: authHandler.Registration, }, } } diff --git a/internal/repository/regist_repository.go b/internal/repository/regist_repository.go index 2071231..71194c4 100644 --- a/internal/repository/regist_repository.go +++ b/internal/repository/regist_repository.go @@ -3,7 +3,6 @@ package repository import ( "Ticketing/entity" "context" - "errors" "gorm.io/gorm" ) @@ -18,30 +17,11 @@ func NewRegistrationRepository(db *gorm.DB) *RegistrationRepository { } } -func (r *RegistrationRepository) CreateUser(ctx context.Context, name, email, number, password string) (*entity.User, error) { - newUser := entity.NewUser(name, email, number, password) - - // Pastikan email unik - existingUser, err := r.GetByEmail(ctx, email) - if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { - return nil, err - } - if existingUser != nil { - return nil, errors.New("user with that email already exists") - } - - // Simpan pengguna baru ke database - if err := r.db.WithContext(ctx).Create(newUser).Error; err != nil { - return nil, err - } - - return newUser, nil -} - -func (r *RegistrationRepository) GetByEmail(ctx context.Context, email string) (*entity.User, error) { - user := new(entity.User) - if err := r.db.WithContext(ctx).Where("email = ?", email).First(user).Error; err != nil { - return nil, err +func (r *RegistrationRepository) Registration(ctx context.Context, user *entity.User) error { + //menggunakan db untuk melakukan query ke database + err := r.db.WithContext(ctx).Create(&user).Error // pada line ini akan melakukan query "INSERT INTO users" + if err != nil { + return err } - return user, nil + return nil } diff --git a/internal/repository/user_repository.go b/internal/repository/user_repository.go index f2b1332..2c36eb6 100644 --- a/internal/repository/user_repository.go +++ b/internal/repository/user_repository.go @@ -1,5 +1,6 @@ package repository - +// NOTE : +// FOLDER INI UNTUK MENANGANI KE BAGIAN DATABASE DAN QUERY import ( "context" "errors" @@ -79,7 +80,4 @@ func (r *UserRepository) GetByEmail(ctx context.Context, email string) (*entity. return nil, errors.New("user with that email not found") } return user, nil -} - -// NOTE : -// FOLDER INI UNTUK MENANGANI KE BAGIAN DATABASE DAN QUERY +} \ No newline at end of file diff --git a/internal/service/auth_service.go b/internal/service/auth_service.go index 0e07616..5038159 100644 --- a/internal/service/auth_service.go +++ b/internal/service/auth_service.go @@ -6,6 +6,7 @@ import ( "errors" ) +//login type LoginUseCase interface { Login(ctx context.Context, email string, password string) (*entity.User, error) } @@ -45,3 +46,30 @@ func (s *loginService) Login(ctx context.Context, email string, password string) return user, nil } + + + +// register +type RegistrationUseCase interface { + Registration(ctx context.Context, user *entity.User) error +} + +type RegistrationRepository interface { + Registration(ctx context.Context, user *entity.User) error + // GetByEmail(ctx context.Context, email string) (*entity.User, error) +} + +type registrationService struct { + repository RegistrationRepository +} + +func NewRegistrationService(repository RegistrationRepository) *registrationService { + return ®istrationService{ + repository: repository, + } +} + +func (s *registrationService) Registration(ctx context.Context, user *entity.User) error { + + return s.repository.Registration(ctx, user) +} \ No newline at end of file diff --git a/output/Tiketing.postman_collection.json b/output/Tiketing.postman_collection.json index 5b2800c..6b20020 100644 --- a/output/Tiketing.postman_collection.json +++ b/output/Tiketing.postman_collection.json @@ -6,36 +6,6 @@ "_exporter_id": "26142588" }, "item": [ - { - "name": "Register", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\" : \"rezaaa\",\r\n \"email\" : \"reza123@gmail.com\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/register", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "register" - ] - } - }, - "response": [] - }, { "name": "LOGIN", "request": { @@ -74,7 +44,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ5Mjg4fQ.OG-ChUlyjITZ2-v4byETJFvFGZsTMvCyaFh6ycGXNBQ", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ2OTg4fQ.627B_seVkhJrIv85Af89IP8HMV6KkGz5wPU83Wz6Hng", "type": "string" } ] @@ -83,7 +53,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"number\": \"896232123123123\",\r\n \"password\" : \"123123123123\"\r\n}", + "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"password\" : \"123123123123\"\r\n}", "options": { "raw": { "language": "json" @@ -114,7 +84,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ5Mjg4fQ.OG-ChUlyjITZ2-v4byETJFvFGZsTMvCyaFh6ycGXNBQ", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ2MjQzfQ.WDe46np9E7jrEKDOs0X6UM0zmopIGUViYOWCJ5Ekr9A", "type": "string" } ] @@ -145,7 +115,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ4MTE0fQ.BdWNuKbuIZmTP3nV3QNtIXZpw-sxdyR9IOYTEqcbZOA", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ3MzA4fQ.Ff2Vi9EsovthYUa6f98yEfVAaHXrufB0q6b5whxLM2c", "type": "string" } ] @@ -154,7 +124,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"number\" : \"1234\",\r\n \"password\" : \"123123123123\"\r\n}", + "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"password\" : \"123123123123\"\r\n}", "options": { "raw": { "language": "json" @@ -186,7 +156,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ4NTUzfQ.Y7NS257fGTh6Zmopf8fkbWHVuSUuoO9izcDA_0n83NY", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ3MzA4fQ.Ff2Vi9EsovthYUa6f98yEfVAaHXrufB0q6b5whxLM2c", "type": "string" } ] @@ -194,7 +164,7 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/users/1", + "raw": "http://localhost:8080/api/v1/users/2", "protocol": "http", "host": [ "localhost" @@ -204,7 +174,7 @@ "api", "v1", "users", - "1" + "2" ] } }, From e94bfada2b83b6d3806fa67ccd977b5eac14824a Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Mon, 27 Nov 2023 03:39:46 +0700 Subject: [PATCH 15/85] update crud tiket --- .../20231124164649_create_users_table.up.sql | 21 +- entity/tiket.go | 47 ++ internal/builder/builder.go | 17 +- internal/http/handler/ticket_handler.go | 179 ++++++++ internal/http/handler/user_hendler.go | 11 +- internal/http/router/routes.go | 32 +- internal/repository/ticket_repository.go | 69 +++ internal/service/ticket_services.go | 54 +++ internal/service/user_service.go | 7 +- output/Tiketing.json | 422 ++++++++++++++++++ output/Tiketing.postman_collection.json | 216 --------- 11 files changed, 838 insertions(+), 237 deletions(-) create mode 100644 entity/tiket.go create mode 100644 internal/http/handler/ticket_handler.go create mode 100644 internal/repository/ticket_repository.go create mode 100644 internal/service/ticket_services.go create mode 100644 output/Tiketing.json delete mode 100644 output/Tiketing.postman_collection.json diff --git a/db/migration-golang/20231124164649_create_users_table.up.sql b/db/migration-golang/20231124164649_create_users_table.up.sql index d605f21..c936844 100644 --- a/db/migration-golang/20231124164649_create_users_table.up.sql +++ b/db/migration-golang/20231124164649_create_users_table.up.sql @@ -1,6 +1,5 @@ -- membuat tabel user dengan field id, name, password,email -CREATE TABLE -"public"."users" ( +CREATE TABLE "public"."users" ( id SERIAL NOT NULL, name VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, @@ -10,4 +9,20 @@ CREATE TABLE saldo INTEGER NOT NULL ); -ALTER TABLE "public"."users" ADD CONSTRAINT "users_pkey" PRIMARY KEY ("id"); \ No newline at end of file +ALTER TABLE "public"."users" ADD CONSTRAINT "users_pkey" PRIMARY KEY ("id"); + +-- membuat tabel ticket dengan field id, gambar, lokasi, tanggal_bulan_tahun, judul, deskripsi, harga_tiket, status_tiket, kuota_tiket +CREATE TABLE "public"."tickets" ( + ID SERIAL PRIMARY KEY, + Image TEXT, + Location TEXT, + Date DATE, + Title TEXT, + Description TEXT, + Price INT, + Status TEXT DEFAULT 'available', + Quota INT, + Created_At TIMESTAMP, + Updated_At TIMESTAMP, + Deleted_At TIMESTAMP +); diff --git a/entity/tiket.go b/entity/tiket.go new file mode 100644 index 0000000..02443bc --- /dev/null +++ b/entity/tiket.go @@ -0,0 +1,47 @@ +package entity + +import ( + "time" +) + +type Ticket struct { + ID int64 + Image string + Location string + Date string // Format: YYYY-MM-DD + Title string + Description string + Price int64 + Status string // e.g., 'available', 'sold out' + Quota int64 + CreatedAt time.Time + UpdatedAt time.Time + DeletedAt time.Time +} + +func NewTicket(image, location, date, title, description string, price, quota int64) *Ticket { + return &Ticket{ + Image: image, + Location: location, + Date: date, + Title: title, + Description: description, + Price: price, + Quota: quota, + CreatedAt: time.Now(), + } +} + +func UpdateTicket(id int64, image, location, date, title, description string, price, quota int64) *Ticket { + return &Ticket{ + ID: id, + Image: image, + Location: location, + Date: date, + Title: title, + Description: description, + Price: price, + Quota: quota, + UpdatedAt: time.Now(), + } +} diff --git a/internal/builder/builder.go b/internal/builder/builder.go index 138a544..1cf3719 100644 --- a/internal/builder/builder.go +++ b/internal/builder/builder.go @@ -22,9 +22,16 @@ func BuildPublicRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { } func BuildPrivateRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { - //memanggil fungsi PublicRoutes() dari router - userRepository := repository.NewUserRepository(db) - userService := service.NewUserService(userRepository) - userHandler := handler.NewUserHandler(userService) - return router.PrivateRoutes(userHandler) + // Create a user handler + userRepository := repository.NewUserRepository(db) + userService := service.NewUserService(userRepository) + userHandler := handler.NewUserHandler(userService) + + // Create a ticket handler + ticketRepository := repository.NewTicketRepository(db) + ticketService := service.NewTicketService(ticketRepository) + ticketHandler := handler.NewTicketHandler(ticketService) + + // Menggunakan PrivateRoutes dengan kedua handler + return router.PrivateRoutes(userHandler, ticketHandler) } diff --git a/internal/http/handler/ticket_handler.go b/internal/http/handler/ticket_handler.go new file mode 100644 index 0000000..d022370 --- /dev/null +++ b/internal/http/handler/ticket_handler.go @@ -0,0 +1,179 @@ +package handler + +import ( + "net/http" + "Ticketing/entity" + "Ticketing/internal/service" + + "github.com/labstack/echo/v4" + "strconv" + "time" + "Ticketing/internal/http/validator" +) + +// TicketHandler handles HTTP requests related to tickets. +type TicketHandler struct { + ticketService service.TicketUseCase +} + +// NewTicketHandler creates a new instance of TicketHandler. +func NewTicketHandler(ticketService service.TicketUseCase) *TicketHandler { + return &TicketHandler{ticketService} +} + +// GetAllTicket +func (h *TicketHandler) GetAllTickets(c echo.Context) error { + tickets, err := h.ticketService.GetAllTickets(c.Request().Context()) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": tickets, + }) +} + + +// CreateTicket +func (h *TicketHandler) CreateTicket(c echo.Context) error { + var input struct { + Title string `json:"title" validate:"required"` + Description string `json:"description" validate:"required"` + Image string `json:"image"` + Location string `json:"location"` + Date time.Time `json:"date"` + Price float64 `json:"price"` + Quota int `json:"quota"` + } + + // Input validation + if err := c.Bind(&input); err != nil { + return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + // Convert input.Date to a string with the desired format + dateStr := input.Date.Format("2006-01-02T15:04:05Z") + + // Create a Ticket object + ticket := entity.Ticket{ + Title: input.Title, + Description: input.Description, + Image: input.Image, + Location: input.Location, + Date: dateStr, // Assign the formatted date string + Price: int64(input.Price), + Quota: int64(input.Quota), + CreatedAt: time.Now(), + } + + // Call the ticketService to create the ticket + err := h.ticketService.CreateTicket(c.Request().Context(), &ticket) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + // Return a success message + return c.JSON(http.StatusCreated, "Ticket created successfully") +} + + + + +// GetTicket handles the retrieval of a ticket by ID. +func (h *TicketHandler) GetTicket(c echo.Context) error { + idStr := c.Param("id") // assuming the ID is passed as a URL parameter as a string + id, err := strconv.ParseInt(idStr, 10, 64) // Convert the string to int64 + if err != nil { + return c.JSON(http.StatusBadRequest, map[string]interface{}{ + "error": "Invalid ID", + }) + } + + ticket, err := h.ticketService.GetTicket(c.Request().Context(), id) + if err != nil { + return c.JSON(http.StatusNotFound, map[string]interface{}{ + "error": err.Error(), + }) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": map[string]interface{}{ + "id": ticket.ID, + "title": ticket.Title, + "description": ticket.Description, + "image": ticket.Image, + "location": ticket.Location, + "date": ticket.Date, + "price": ticket.Price, + "quota": ticket.Quota, + "created": ticket.CreatedAt, + }, + }) +} + + +// UpdateTicket handles the update of an existing ticket. +func (h *TicketHandler) UpdateTicket(c echo.Context) error { + var input struct { + ID int64 `param:"id" validate:"required"` + Title string `json:"title" validate:"required"` + Description string `json:"description" validate:"required"` + Image string `json:"image"` + Location string `json:"location"` + Date time.Time `json:"date"` + Price float64 `json:"price"` + Quota int `json:"quota"` + } + + if err := c.Bind(&input); err != nil { + return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + + // Convert input.Date to a formatted string + dateStr := input.Date.Format("2006-01-02T15:04:05Z") + + // Create a Ticket object + ticket := entity.Ticket{ + ID: input.ID, // Assuming ID is already of type int64 + Title: input.Title, + Description: input.Description, + Image: input.Image, + Location: input.Location, + Date: dateStr, // Assign the formatted date string + Price: int64(input.Price), // Convert Price to int64 if needed + Quota: int64(input.Quota), // Convert Quota to int64 if needed + } + + + + err := h.ticketService.UpdateTicket(c.Request().Context(), &ticket) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "message": "Ticket updated successfully", + "ticket": ticket, + }) +} + + +// DeleteTicket handles the deletion of a ticket by ID. +func (h *TicketHandler) DeleteTicket(c echo.Context) error { + var input struct { + ID int64 `param:"id" validate:"required"` + } + + if err := c.Bind(&input); err != nil { + return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + err := h.ticketService.DeleteTicket(c.Request().Context(), input.ID) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "message": "Ticket deleted successfully", + }) +} diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 7c8c162..e5d4c70 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -23,7 +23,6 @@ func NewUserHandler(userService service.UserUsecase) *UserHandler { // func untuk melakukan getAll User func (h *UserHandler) GetAllUser(ctx echo.Context) error { users, err := h.userService.GetAll(ctx.Request().Context()) - if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, err) } @@ -41,18 +40,15 @@ func (h *UserHandler) CreateUser(ctx echo.Context) error { Roles string `json:"roles" validate:"required"` Password string `json:"password" validate:"required,min=8"` } - //ini func untuk error checking if err := ctx.Bind(&input); err != nil { return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) } - user := entity.NewUser(input.Name, input.Email, input.Number, input.Roles, input.Password) err := h.userService.CreateUser(ctx.Request().Context(), user) if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, err) } - //kalau retrun nya kaya gini akan tampil pesan "User created successfully" return ctx.JSON(http.StatusCreated, "User created successfully") } @@ -67,17 +63,14 @@ func (h *UserHandler) UpdateUser(ctx echo.Context) error { Roles string `json:"roles" validate:"required"` Password string `json:"password" validate:"required"` } - if err := ctx.Bind(&input); err != nil { return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) } - user := entity.UpdateUser(input.ID, input.Name, input.Email, input.Number, input.Roles, input.Password) err := h.userService.UpdateUser(ctx.Request().Context(), user) if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, err) } - return ctx.JSON(http.StatusOK, map[string]interface{}{ "message": "User updated successfully", "user": user, @@ -85,6 +78,7 @@ func (h *UserHandler) UpdateUser(ctx echo.Context) error { }) } +// func untuk melakukan getUser by id func (h *UserHandler) GetUserByID(ctx echo.Context) error { idStr := ctx.Param("id") id, err := strconv.ParseInt(idStr, 10, 64) @@ -94,14 +88,12 @@ func (h *UserHandler) GetUserByID(ctx echo.Context) error { "error": "Invalid ID", }) } - user, err := h.userService.GetUserByID(ctx.Request().Context(), id) if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, map[string]interface{}{ "error": err.Error(), }) } - return ctx.JSON(http.StatusOK, map[string]interface{}{ "data": map[string]interface{}{ "id": user.ID, @@ -115,6 +107,7 @@ func (h *UserHandler) GetUserByID(ctx echo.Context) error { }) } +// DeleteUser func untuk melakukan delete user by id func (h *UserHandler) DeleteUser(ctx echo.Context) error { var input struct { ID int64 `param:"id" validate:"required"` diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 6c9624d..de6f301 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -32,7 +32,7 @@ func PublicRoutes(authHandler *handler.AuthHandler) []*Route { // membuat fungsi untuk mengembalikan route // pada func ini tdk perlu login krna public -func PrivateRoutes(UserHandler *handler.UserHandler) []*Route { +func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.TicketHandler) []*Route { return []*Route{ { Method: echo.POST, @@ -63,9 +63,39 @@ func PrivateRoutes(UserHandler *handler.UserHandler) []*Route { Path: "/users/:id", Handler: UserHandler.DeleteUser, }, + { + Method: echo.POST, + Path: "/ticket", + Handler: TicketHandler.CreateTicket, + }, + + { + Method: echo.GET, + Path: "/ticket", + Handler: TicketHandler.GetAllTickets, + }, + + { + Method: echo.PUT, + Path: "/ticket/:id", + Handler: TicketHandler.UpdateTicket, + }, + + { + Method: echo.GET, + Path: "/ticket/:id", + Handler: TicketHandler.GetTicket, + }, + + { + Method: echo.DELETE, + Path: "/ticket/:id", + Handler: TicketHandler.DeleteTicket, + }, } } + //NOTE : //MENGAPA TERDAPAT 2 FUNC DIATAS? YAITU PUBLIC DAN PRIVATE //KAREN DI SERVER.GO KITA BUAT GROUP API, DAN KITA MEMBAGI ROUTE YANG PERLU LOGIN DAN TIDAK PERLU LOGIN diff --git a/internal/repository/ticket_repository.go b/internal/repository/ticket_repository.go new file mode 100644 index 0000000..925c103 --- /dev/null +++ b/internal/repository/ticket_repository.go @@ -0,0 +1,69 @@ +package repository +// NOTE : +// FOLDER INI UNTUK MENANGANI KE BAGIAN DATABASE DAN QUERY +import ( + "context" + + "Ticketing/entity" + + "gorm.io/gorm" +) + +// ticket repository +type TicketRepository struct { + db *gorm.DB +} + +func NewTicketRepository(db *gorm.DB) *TicketRepository { + return &TicketRepository{ + db: db, + } +} + +// GetAllTickets retrieves all tickets from the database. +func (r *TicketRepository) GetAllTickets(ctx context.Context) ([]*entity.Ticket, error) { + tickets := make([]*entity.Ticket, 0) + result := r.db.WithContext(ctx).Find(&tickets) + if result.Error != nil { + return nil, result.Error + } + return tickets, nil +} + +// CreateTicket saves a new ticket to the database. +func (r *TicketRepository) CreateTicket(ctx context.Context, ticket *entity.Ticket) error { + result := r.db.WithContext(ctx).Create(&ticket) + if result.Error != nil { + return result.Error + } + return nil +} + +// UpdateTicket updates a ticket in the database. +func (r *TicketRepository) UpdateTicket(ctx context.Context, ticket *entity.Ticket) error { + result := r.db.WithContext(ctx).Model(&entity.Ticket{}).Where("id = ?", ticket.ID).Updates(&ticket) + if result.Error != nil { + return result.Error + } + return nil +} + +// GetTicket retrieves a ticket by its ID from the database. +func (r *TicketRepository) GetTicket(ctx context.Context, id int64) (*entity.Ticket, error) { + ticket := new(entity.Ticket) + result := r.db.WithContext(ctx).First(&ticket, id) + if result.Error != nil { + return nil, result.Error + } + return ticket, nil +} + +// DeleteTicket deletes a ticket from the database. +func (r *TicketRepository) DeleteTicket(ctx context.Context, id int64) error { + result := r.db.WithContext(ctx).Delete(&entity.Ticket{}, id) + if result.Error != nil { + return result.Error + } + return nil +} + diff --git a/internal/service/ticket_services.go b/internal/service/ticket_services.go new file mode 100644 index 0000000..73c477d --- /dev/null +++ b/internal/service/ticket_services.go @@ -0,0 +1,54 @@ +package service + +import ( + "context" + + "Ticketing/entity" +) + +// TicketUseCase is an interface for ticket-related use cases. +type TicketUseCase interface { + GetAllTickets(ctx context.Context) ([]*entity.Ticket, error) + CreateTicket(ctx context.Context, ticket *entity.Ticket) error + GetTicket(ctx context.Context, id int64) (*entity.Ticket, error) + UpdateTicket(ctx context.Context, ticket *entity.Ticket) error + DeleteTicket(ctx context.Context, id int64) error +} + +type TicketRepository interface { + GetAllTickets(ctx context.Context) ([]*entity.Ticket, error) + CreateTicket(ctx context.Context, ticket *entity.Ticket) error + GetTicket(ctx context.Context, id int64) (*entity.Ticket, error) + UpdateTicket(ctx context.Context, ticket *entity.Ticket) error + DeleteTicket(ctx context.Context, id int64) error +} + +// TicketService is responsible for ticket-related business logic. +type TicketService struct { + Repository TicketRepository +} + +// NewTicketService creates a new instance of TicketService. +func NewTicketService(Repository TicketRepository) *TicketService { + return &TicketService{Repository: Repository} +} + +func (s *TicketService) GetAllTickets(ctx context.Context) ([]*entity.Ticket, error) { + return s.Repository.GetAllTickets(ctx) +} + +func (s *TicketService) CreateTicket(ctx context.Context, ticket *entity.Ticket) error { + return s.Repository.CreateTicket(ctx, ticket) +} + +func (s *TicketService) UpdateTicket(ctx context.Context, ticket *entity.Ticket) error { + return s.Repository.UpdateTicket(ctx, ticket) +} + +func (s *TicketService) GetTicket(ctx context.Context, id int64) (*entity.Ticket, error) { + return s.Repository.GetTicket(ctx, id) +} + +func (s *TicketService) DeleteTicket(ctx context.Context, id int64) error { + return s.Repository.DeleteTicket(ctx, id) +} diff --git a/internal/service/user_service.go b/internal/service/user_service.go index 45f2d0d..0b0eea9 100644 --- a/internal/service/user_service.go +++ b/internal/service/user_service.go @@ -1,5 +1,6 @@ package service - +//NOTE : +// FOLDER INI UNTUK MENANGANI LOGIC DAN MEMANGGIL REPOSITORY import ( "context" @@ -66,5 +67,5 @@ func (s *UserService) Delete(ctx context.Context, id int64) error { return s.repository.Delete(ctx, id) } -//NOTE : -// FOLDER INI UNTUK MENANGANI LOGIC DAN MEMANGGIL REPOSITORY + + diff --git a/output/Tiketing.json b/output/Tiketing.json new file mode 100644 index 0000000..0313f42 --- /dev/null +++ b/output/Tiketing.json @@ -0,0 +1,422 @@ +{ + "info": { + "_postman_id": "843c34b5-2096-432b-ae60-e404f602be20", + "name": "Tiketing", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "_exporter_id": "26142588" + }, + "item": [ + { + "name": "Register", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"rezaaa1aa\",\r\n \"email\" : \"reza1223a@gmail.com\",\r\n \"roles\" : \"customer\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/register", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "register" + ] + } + }, + "response": [] + }, + { + "name": "LOGIN", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\" : \"reza1223@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/login", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "login" + ] + } + }, + "response": [] + }, + { + "name": "Admin Create User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAxMjE0MH0.wTnqMw_aC5ydiKOqCUk41UsLYSypwcmqpVdpJjWSWUU", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"number\": \"896232123123123\",\r\n \"roles\" : \"admin\",\r\n \"password\" : \"123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/users", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users" + ] + } + }, + "response": [] + }, + { + "name": "Admin Cek User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAxMjE0MH0.wTnqMw_aC5ydiKOqCUk41UsLYSypwcmqpVdpJjWSWUU", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users" + ] + } + }, + "response": [] + }, + { + "name": "Admin Update user", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"number\" : \"1234\",\r\n \"roles\" : \"admin\",\r\n \"password\" : \"123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/users/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Admin Get ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Admin Delet User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users/2", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "2" + ] + } + }, + "response": [] + }, + { + "name": "Admin create tiket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 100\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/ticket", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket" + ] + } + }, + "response": [] + }, + { + "name": "Admin Get All Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket" + ] + } + }, + "response": [] + }, + { + "name": "Admin Get Ticket By ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Admin Create Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTU2MX0.thSxHgn3UZVzOjERCK12UXVBqzgPHyYZP5WCUVYrkrg", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 200\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/ticket/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Admin Delete Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTU2MX0.thSxHgn3UZVzOjERCK12UXVBqzgPHyYZP5WCUVYrkrg", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "1" + ] + } + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/output/Tiketing.postman_collection.json b/output/Tiketing.postman_collection.json deleted file mode 100644 index 6b20020..0000000 --- a/output/Tiketing.postman_collection.json +++ /dev/null @@ -1,216 +0,0 @@ -{ - "info": { - "_postman_id": "843c34b5-2096-432b-ae60-e404f602be20", - "name": "Tiketing", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "26142588" - }, - "item": [ - { - "name": "LOGIN", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"email\" : \"reza@gmail.com\",\r\n \"password\" : \"123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/login", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "login" - ] - } - }, - "response": [] - }, - { - "name": "Admin Create User", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ2OTg4fQ.627B_seVkhJrIv85Af89IP8HMV6KkGz5wPU83Wz6Hng", - "type": "string" - } - ] - }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"password\" : \"123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/users", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Admin Cek User", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ2MjQzfQ.WDe46np9E7jrEKDOs0X6UM0zmopIGUViYOWCJ5Ekr9A", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/users", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Admin Update user", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ3MzA4fQ.Ff2Vi9EsovthYUa6f98yEfVAaHXrufB0q6b5whxLM2c", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"password\" : \"123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/users/2", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users", - "2" - ] - } - }, - "response": [] - }, - { - "name": "Admin Get ID", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ3MzA4fQ.Ff2Vi9EsovthYUa6f98yEfVAaHXrufB0q6b5whxLM2c", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/users/2", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users", - "2" - ] - } - }, - "response": [] - }, - { - "name": "Admin Delet User", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemEiLCJlbWFpbCI6InJlemFAZ21haWwuY29tIiwiZXhwIjoxNzAwOTQ3MzA4fQ.Ff2Vi9EsovthYUa6f98yEfVAaHXrufB0q6b5whxLM2c", - "type": "string" - } - ] - }, - "method": "DELETE", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/users/2", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users", - "2" - ] - } - }, - "response": [] - } - ] -} \ No newline at end of file From be23c092d716f56a4973d1748cb2c7db9212debf Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Mon, 27 Nov 2023 04:20:11 +0700 Subject: [PATCH 16/85] update Searching Ticket --- internal/http/handler/ticket_handler.go | 22 +- internal/http/router/routes.go | 6 + internal/http/validator/validator.go | 1 + internal/repository/ticket_repository.go | 9 + internal/service/ticket_services.go | 7 + output/Tiketing.postman_collection.json | 456 +++++++++++++++++++++++ 6 files changed, 499 insertions(+), 2 deletions(-) create mode 100644 output/Tiketing.postman_collection.json diff --git a/internal/http/handler/ticket_handler.go b/internal/http/handler/ticket_handler.go index d022370..6c7ac6c 100644 --- a/internal/http/handler/ticket_handler.go +++ b/internal/http/handler/ticket_handler.go @@ -76,8 +76,6 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { } - - // GetTicket handles the retrieval of a ticket by ID. func (h *TicketHandler) GetTicket(c echo.Context) error { idStr := c.Param("id") // assuming the ID is passed as a URL parameter as a string @@ -177,3 +175,23 @@ func (h *TicketHandler) DeleteTicket(c echo.Context) error { "message": "Ticket deleted successfully", }) } + +// SearchTicket handles the search of a ticket by title. +func (h *TicketHandler) SearchTicket(c echo.Context) error { + var input struct { + Search string `param:"search" validate:"required"` //harus pramater search + } + + if err := c.Bind(&input); err != nil { + return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + tickets, err := h.ticketService.SearchTicket(c.Request().Context(), input.Search) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": tickets, + }) +} diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index de6f301..981b6c8 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -92,6 +92,12 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Path: "/ticket/:id", Handler: TicketHandler.DeleteTicket, }, + + { + Method: echo.GET, + Path: "/ticket/search/:search", + Handler: TicketHandler.SearchTicket, + }, } } diff --git a/internal/http/validator/validator.go b/internal/http/validator/validator.go index 4573f82..01e1ab2 100644 --- a/internal/http/validator/validator.go +++ b/internal/http/validator/validator.go @@ -57,3 +57,4 @@ func ValidatorErrors(err error) map[string]string { return fields } + diff --git a/internal/repository/ticket_repository.go b/internal/repository/ticket_repository.go index 925c103..909b35e 100644 --- a/internal/repository/ticket_repository.go +++ b/internal/repository/ticket_repository.go @@ -67,3 +67,12 @@ func (r *TicketRepository) DeleteTicket(ctx context.Context, id int64) error { return nil } +// SearchTicket search ticket +func (r *TicketRepository) SearchTicket(ctx context.Context, search string) ([]*entity.Ticket, error) { + tickets := make([]*entity.Ticket, 0) + result := r.db.WithContext(ctx).Where("title LIKE ?", "%"+search+"%").Find(&tickets) + if result.Error != nil { + return nil, result.Error + } + return tickets, nil +} diff --git a/internal/service/ticket_services.go b/internal/service/ticket_services.go index 73c477d..cda153f 100644 --- a/internal/service/ticket_services.go +++ b/internal/service/ticket_services.go @@ -12,6 +12,7 @@ type TicketUseCase interface { CreateTicket(ctx context.Context, ticket *entity.Ticket) error GetTicket(ctx context.Context, id int64) (*entity.Ticket, error) UpdateTicket(ctx context.Context, ticket *entity.Ticket) error + SearchTicket(ctx context.Context, search string) ([]*entity.Ticket, error) DeleteTicket(ctx context.Context, id int64) error } @@ -20,6 +21,7 @@ type TicketRepository interface { CreateTicket(ctx context.Context, ticket *entity.Ticket) error GetTicket(ctx context.Context, id int64) (*entity.Ticket, error) UpdateTicket(ctx context.Context, ticket *entity.Ticket) error + SearchTicket(ctx context.Context, search string) ([]*entity.Ticket, error) DeleteTicket(ctx context.Context, id int64) error } @@ -52,3 +54,8 @@ func (s *TicketService) GetTicket(ctx context.Context, id int64) (*entity.Ticket func (s *TicketService) DeleteTicket(ctx context.Context, id int64) error { return s.Repository.DeleteTicket(ctx, id) } + +// search ticket +func (s *TicketService) SearchTicket(ctx context.Context, search string) ([]*entity.Ticket, error) { + return s.Repository.SearchTicket(ctx, search) +} \ No newline at end of file diff --git a/output/Tiketing.postman_collection.json b/output/Tiketing.postman_collection.json new file mode 100644 index 0000000..1cd39ac --- /dev/null +++ b/output/Tiketing.postman_collection.json @@ -0,0 +1,456 @@ +{ + "info": { + "_postman_id": "843c34b5-2096-432b-ae60-e404f602be20", + "name": "Tiketing", + "description": "Projek Capstone Golang Mikti Ticketing", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "_exporter_id": "26142588" + }, + "item": [ + { + "name": "Register", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"rezaaa1aa\",\r\n \"email\" : \"reza1223a@gmail.com\",\r\n \"roles\" : \"customer\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/register", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "register" + ] + } + }, + "response": [] + }, + { + "name": "LOGIN", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\" : \"reza1223@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/login", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "login" + ] + } + }, + "response": [] + }, + { + "name": "Admin Create User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAxMjE0MH0.wTnqMw_aC5ydiKOqCUk41UsLYSypwcmqpVdpJjWSWUU", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"number\": \"896232123123123\",\r\n \"roles\" : \"admin\",\r\n \"password\" : \"123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/users", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users" + ] + } + }, + "response": [] + }, + { + "name": "Admin Cek User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAxMjE0MH0.wTnqMw_aC5ydiKOqCUk41UsLYSypwcmqpVdpJjWSWUU", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users" + ] + } + }, + "response": [] + }, + { + "name": "Admin Update user", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"number\" : \"1234\",\r\n \"roles\" : \"admin\",\r\n \"password\" : \"123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/users/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Admin Get ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Admin Delet User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users/2", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "2" + ] + } + }, + "response": [] + }, + { + "name": "Admin create tiket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 100\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/ticket", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket" + ] + } + }, + "response": [] + }, + { + "name": "Admin Get All Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket" + ] + } + }, + "response": [] + }, + { + "name": "Admin Get Ticket By ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Admin Create Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTU2MX0.thSxHgn3UZVzOjERCK12UXVBqzgPHyYZP5WCUVYrkrg", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 200\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/ticket/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Admin Delete Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTU2MX0.thSxHgn3UZVzOjERCK12UXVBqzgPHyYZP5WCUVYrkrg", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Admin Search", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MywibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMzUwMn0.W8rTSfdRYgxivpskkme-5hZuEgEnhbPR_Tp4atjVKLU", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket/search/cold", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "search", + "cold" + ] + } + }, + "response": [] + } + ] +} \ No newline at end of file From 663b545eaafe70738fd321079c1586fab730cd5e Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Mon, 27 Nov 2023 05:13:55 +0700 Subject: [PATCH 17/85] update crud blog --- .../20231124164649_create_users_table.up.sql | 12 + entity/blog.go | 37 ++ internal/builder/builder.go | 7 +- internal/http/handler/blog_hendler.go | 181 ++++++++ internal/http/router/routes.go | 38 +- internal/repository/blog_repository.go | 78 ++++ internal/service/blog_services.go | 61 +++ output/Tiketing.json | 422 ------------------ output/Tiketing.postman_collection.json | 213 ++++++++- 9 files changed, 623 insertions(+), 426 deletions(-) create mode 100644 entity/blog.go create mode 100644 internal/http/handler/blog_hendler.go create mode 100644 internal/repository/blog_repository.go create mode 100644 internal/service/blog_services.go delete mode 100644 output/Tiketing.json diff --git a/db/migration-golang/20231124164649_create_users_table.up.sql b/db/migration-golang/20231124164649_create_users_table.up.sql index c936844..3a55b65 100644 --- a/db/migration-golang/20231124164649_create_users_table.up.sql +++ b/db/migration-golang/20231124164649_create_users_table.up.sql @@ -26,3 +26,15 @@ CREATE TABLE "public"."tickets" ( Updated_At TIMESTAMP, Deleted_At TIMESTAMP ); + +-- membuat table blog dengan field id, gambar, judul, deskripsi, tanggal_bulan_tahun +CREATE TABLE blogs ( + ID SERIAL PRIMARY KEY, + Image TEXT, + Date DATE, + Title TEXT, + Description TEXT, + Created_At TIMESTAMP, + Updated_At TIMESTAMP, + Deleted_At TIMESTAMP +); diff --git a/entity/blog.go b/entity/blog.go new file mode 100644 index 0000000..01a96b9 --- /dev/null +++ b/entity/blog.go @@ -0,0 +1,37 @@ +package entity + +import ( + "time" +) + +type Blog struct { + ID int64 + Image string + Date string // Format: YYYY-MM-DD + Title string + Description string + CreatedAt time.Time + UpdatedAt time.Time + DeletedAt time.Time +} + +func NewBlog(image, date, title, description string) *Blog { + return &Blog{ + Image: image, + Date: date, + Title: title, + Description: description, + CreatedAt: time.Now(), + } +} + +func UpdateBlog(id int64, image, date, title, description string) *Blog { + return &Blog{ + ID: id, + Image: image, + Date: date, + Title: title, + Description: description, + UpdatedAt: time.Now(), + } +} diff --git a/internal/builder/builder.go b/internal/builder/builder.go index 1cf3719..59be45a 100644 --- a/internal/builder/builder.go +++ b/internal/builder/builder.go @@ -32,6 +32,11 @@ func BuildPrivateRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { ticketService := service.NewTicketService(ticketRepository) ticketHandler := handler.NewTicketHandler(ticketService) + // Create a Blog handler + BlogRepository := repository.NewBlogRepository(db) + BlogService := service.NewBlogService(BlogRepository) + BlogHandler := handler.NewBlogHandler(BlogService) + // Menggunakan PrivateRoutes dengan kedua handler - return router.PrivateRoutes(userHandler, ticketHandler) + return router.PrivateRoutes(userHandler, ticketHandler, BlogHandler) } diff --git a/internal/http/handler/blog_hendler.go b/internal/http/handler/blog_hendler.go new file mode 100644 index 0000000..5de4650 --- /dev/null +++ b/internal/http/handler/blog_hendler.go @@ -0,0 +1,181 @@ +package handler + +import ( + "net/http" + "Ticketing/entity" + "Ticketing/internal/service" + + "github.com/labstack/echo/v4" + "strconv" + "time" + "Ticketing/internal/http/validator" +) + +// BlogHandler handles HTTP requests related to Blogs. +type BlogHandler struct { + blogService service.BlogUseCase +} + +// NewBlogHandler creates a new instance of BlogHandler. +func NewBlogHandler(blogService service.BlogUseCase) *BlogHandler { + return &BlogHandler{blogService} +} + +// GetAllBlog +func (h *BlogHandler) GetAllBlogs(c echo.Context) error { + Blogs, err := h.blogService.GetAllBlogs(c.Request().Context()) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": Blogs, + }) +} + + +// CreateBlog +func (h *BlogHandler) CreateBlog(c echo.Context) error { + var input struct { + Title string `json:"title" validate:"required"` + Description string `json:"description" validate:"required"` + Date time.Time `json:"date"` + Image string `json:"image"` + } + + // Input validation + if err := c.Bind(&input); err != nil { + return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + // Convert input.Date to a string with the desired format + + + // Create a Blog object + Blog := entity.Blog{ + Title: input.Title, + Description: input.Description, + Image: input.Image, + Date: time.Now().Format("2006-01-02T15:04:05Z"), + } + + // Call the blogService to create the Blog + err := h.blogService.CreateBlog(c.Request().Context(), &Blog) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + // Return a success message + return c.JSON(http.StatusCreated, "Blog created successfully") +} + + +// GetBlog handles the retrieval of a Blog by ID. +func (h *BlogHandler) GetBlog(c echo.Context) error { + idStr := c.Param("id") // assuming the ID is passed as a URL parameter as a string + id, err := strconv.ParseInt(idStr, 10, 64) // Convert the string to int64 + if err != nil { + return c.JSON(http.StatusBadRequest, map[string]interface{}{ + "error": "Invalid ID", + }) + } + + Blog, err := h.blogService.GetBlog(c.Request().Context(), id) + if err != nil { + return c.JSON(http.StatusNotFound, map[string]interface{}{ + "error": err.Error(), + }) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": map[string]interface{}{ + "id": Blog.ID, + "title": Blog.Title, + "description": Blog.Description, + "image": Blog.Image, + "date": Blog.Date, + "created": Blog.CreatedAt, + }, + }) +} + + +// UpdateBlog handles the update of an existing Blog. +func (h *BlogHandler) UpdateBlog(c echo.Context) error { + var input struct { + ID int64 `param:"id" validate:"required"` + Title string `json:"title" validate:"required"` + Description string `json:"description" validate:"required"` + Image string `json:"image"` + Date time.Time `json:"date"` + } + + if err := c.Bind(&input); err != nil { + return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + + // Convert input.Date to a formatted string + dateStr := input.Date.Format("2006-01-02T15:04:05Z") + + // Create a Blog object + Blog := entity.Blog{ + ID: input.ID, // Assuming ID is already of type int64 + Title: input.Title, + Description: input.Description, + Image: input.Image, + Date: dateStr, // Assign the formatted date string + } + + + + err := h.blogService.UpdateBlog(c.Request().Context(), &Blog) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "message": "Blog updated successfully", + "Blog": Blog, + }) +} + + +// DeleteBlog handles the deletion of a Blog by ID. +func (h *BlogHandler) DeleteBlog(c echo.Context) error { + var input struct { + ID int64 `param:"id" validate:"required"` + } + + if err := c.Bind(&input); err != nil { + return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + err := h.blogService.DeleteBlog(c.Request().Context(), input.ID) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "message": "Blog deleted successfully", + }) +} + +// SearchBlog handles the search of a Blog by title. +func (h *BlogHandler) SearchBlog(c echo.Context) error { + var input struct { + Search string `param:"search" validate:"required"` //harus pramater search + } + + if err := c.Bind(&input); err != nil { + return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + Blogs, err := h.blogService.SearchBlog(c.Request().Context(), input.Search) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": Blogs, + }) +} diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 981b6c8..cb17c4f 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -32,7 +32,7 @@ func PublicRoutes(authHandler *handler.AuthHandler) []*Route { // membuat fungsi untuk mengembalikan route // pada func ini tdk perlu login krna public -func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.TicketHandler) []*Route { +func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.TicketHandler, BlogHandler *handler.BlogHandler) []*Route { return []*Route{ { Method: echo.POST, @@ -98,6 +98,42 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Path: "/ticket/search/:search", Handler: TicketHandler.SearchTicket, }, + + { + Method: echo.POST, + Path: "/blog", + Handler: BlogHandler.CreateBlog, + }, + + { + Method: echo.GET, + Path: "/blog", + Handler: BlogHandler.GetAllBlogs, + }, + + { + Method: echo.PUT, + Path: "/blog/:id", + Handler: BlogHandler.UpdateBlog, + }, + + { + Method: echo.GET, + Path: "/blog/:id", + Handler: BlogHandler.GetBlog, + }, + + { + Method: echo.DELETE, + Path: "/blog/:id", + Handler: BlogHandler.DeleteBlog, + }, + + { + Method: echo.GET, + Path: "/blog/search/:search", + Handler: BlogHandler.SearchBlog, + }, } } diff --git a/internal/repository/blog_repository.go b/internal/repository/blog_repository.go new file mode 100644 index 0000000..6b292dd --- /dev/null +++ b/internal/repository/blog_repository.go @@ -0,0 +1,78 @@ +package repository +// NOTE : +// FOLDER INI UNTUK MENANGANI KE BAGIAN DATABASE DAN QUERY +import ( + "context" + + "Ticketing/entity" + + "gorm.io/gorm" +) + +// Blog repository +type BlogRepository struct { + db *gorm.DB +} + +func NewBlogRepository(db *gorm.DB) *BlogRepository { + return &BlogRepository{ + db: db, + } +} + +// GetAllBlogs retrieves all blogs from the database. +func (r *BlogRepository) GetAllBlogs(ctx context.Context) ([]*entity.Blog, error) { + blogs := make([]*entity.Blog, 0) + result := r.db.WithContext(ctx).Find(&blogs) + if result.Error != nil { + return nil, result.Error + } + return blogs, nil +} + +// CreateBlog saves a new Blog to the database. +func (r *BlogRepository) CreateBlog(ctx context.Context, Blog *entity.Blog) error { + result := r.db.WithContext(ctx).Create(&Blog) + if result.Error != nil { + return result.Error + } + return nil +} + +// UpdateBlog updates a Blog in the database. +func (r *BlogRepository) UpdateBlog(ctx context.Context, Blog *entity.Blog) error { + result := r.db.WithContext(ctx).Model(&entity.Blog{}).Where("id = ?", Blog.ID).Updates(&Blog) + if result.Error != nil { + return result.Error + } + return nil +} + +// GetBlog retrieves a Blog by its ID from the database. +func (r *BlogRepository) GetBlog(ctx context.Context, id int64) (*entity.Blog, error) { + Blog := new(entity.Blog) + result := r.db.WithContext(ctx).First(&Blog, id) + if result.Error != nil { + return nil, result.Error + } + return Blog, nil +} + +// DeleteBlog deletes a Blog from the database. +func (r *BlogRepository) DeleteBlog(ctx context.Context, id int64) error { + result := r.db.WithContext(ctx).Delete(&entity.Blog{}, id) + if result.Error != nil { + return result.Error + } + return nil +} + +// SearchBlog search Blog +func (r *BlogRepository) SearchBlog(ctx context.Context, search string) ([]*entity.Blog, error) { + blogs := make([]*entity.Blog, 0) + result := r.db.WithContext(ctx).Where("title LIKE ?", "%"+search+"%").Find(&blogs) + if result.Error != nil { + return nil, result.Error + } + return blogs, nil +} diff --git a/internal/service/blog_services.go b/internal/service/blog_services.go new file mode 100644 index 0000000..8202aee --- /dev/null +++ b/internal/service/blog_services.go @@ -0,0 +1,61 @@ +package service + +import ( + "context" + + "Ticketing/entity" +) + +// BlogUseCase is an interface for Blog-related use cases. +type BlogUseCase interface { + GetAllBlogs(ctx context.Context) ([]*entity.Blog, error) + CreateBlog(ctx context.Context, Blog *entity.Blog) error + GetBlog(ctx context.Context, id int64) (*entity.Blog, error) + UpdateBlog(ctx context.Context, Blog *entity.Blog) error + SearchBlog(ctx context.Context, search string) ([]*entity.Blog, error) + DeleteBlog(ctx context.Context, id int64) error +} + +type BlogRepository interface { + GetAllBlogs(ctx context.Context) ([]*entity.Blog, error) + CreateBlog(ctx context.Context, Blog *entity.Blog) error + GetBlog(ctx context.Context, id int64) (*entity.Blog, error) + UpdateBlog(ctx context.Context, Blog *entity.Blog) error + SearchBlog(ctx context.Context, search string) ([]*entity.Blog, error) + DeleteBlog(ctx context.Context, id int64) error +} + +// BlogService is responsible for Blog-related business logic. +type BlogService struct { + Repository BlogRepository +} + +// NewBlogService creates a new instance of BlogService. +func NewBlogService(Repository BlogRepository) *BlogService { + return &BlogService{Repository: Repository} +} + +func (s *BlogService) GetAllBlogs(ctx context.Context) ([]*entity.Blog, error) { + return s.Repository.GetAllBlogs(ctx) +} + +func (s *BlogService) CreateBlog(ctx context.Context, Blog *entity.Blog) error { + return s.Repository.CreateBlog(ctx, Blog) +} + +func (s *BlogService) UpdateBlog(ctx context.Context, Blog *entity.Blog) error { + return s.Repository.UpdateBlog(ctx, Blog) +} + +func (s *BlogService) GetBlog(ctx context.Context, id int64) (*entity.Blog, error) { + return s.Repository.GetBlog(ctx, id) +} + +func (s *BlogService) DeleteBlog(ctx context.Context, id int64) error { + return s.Repository.DeleteBlog(ctx, id) +} + +// search Blog +func (s *BlogService) SearchBlog(ctx context.Context, search string) ([]*entity.Blog, error) { + return s.Repository.SearchBlog(ctx, search) +} \ No newline at end of file diff --git a/output/Tiketing.json b/output/Tiketing.json deleted file mode 100644 index 0313f42..0000000 --- a/output/Tiketing.json +++ /dev/null @@ -1,422 +0,0 @@ -{ - "info": { - "_postman_id": "843c34b5-2096-432b-ae60-e404f602be20", - "name": "Tiketing", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "26142588" - }, - "item": [ - { - "name": "Register", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\" : \"rezaaa1aa\",\r\n \"email\" : \"reza1223a@gmail.com\",\r\n \"roles\" : \"customer\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/register", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "register" - ] - } - }, - "response": [] - }, - { - "name": "LOGIN", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"email\" : \"reza1223@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/login", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "login" - ] - } - }, - "response": [] - }, - { - "name": "Admin Create User", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAxMjE0MH0.wTnqMw_aC5ydiKOqCUk41UsLYSypwcmqpVdpJjWSWUU", - "type": "string" - } - ] - }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"number\": \"896232123123123\",\r\n \"roles\" : \"admin\",\r\n \"password\" : \"123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/users", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Admin Cek User", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAxMjE0MH0.wTnqMw_aC5ydiKOqCUk41UsLYSypwcmqpVdpJjWSWUU", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/users", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Admin Update user", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"number\" : \"1234\",\r\n \"roles\" : \"admin\",\r\n \"password\" : \"123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/users/1", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Get ID", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/users/1", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Delet User", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", - "type": "string" - } - ] - }, - "method": "DELETE", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/users/2", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users", - "2" - ] - } - }, - "response": [] - }, - { - "name": "Admin create tiket", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", - "type": "string" - } - ] - }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 100\r\n}\r\n", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/ticket", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "ticket" - ] - } - }, - "response": [] - }, - { - "name": "Admin Get All Ticket", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/ticket", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "ticket" - ] - } - }, - "response": [] - }, - { - "name": "Admin Get Ticket By ID", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/ticket/1", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "ticket", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Create Ticket", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTU2MX0.thSxHgn3UZVzOjERCK12UXVBqzgPHyYZP5WCUVYrkrg", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 200\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/ticket/1", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "ticket", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Delete Ticket", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTU2MX0.thSxHgn3UZVzOjERCK12UXVBqzgPHyYZP5WCUVYrkrg", - "type": "string" - } - ] - }, - "method": "DELETE", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/ticket/1", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "ticket", - "1" - ] - } - }, - "response": [] - } - ] -} \ No newline at end of file diff --git a/output/Tiketing.postman_collection.json b/output/Tiketing.postman_collection.json index 1cd39ac..d399bc0 100644 --- a/output/Tiketing.postman_collection.json +++ b/output/Tiketing.postman_collection.json @@ -44,7 +44,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"email\" : \"reza1223@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "raw": "{\r\n \"email\" : \"reza1223a@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", "options": { "raw": { "language": "json" @@ -347,7 +347,7 @@ "response": [] }, { - "name": "Admin Create Ticket", + "name": "Admin Update Ticket", "request": { "auth": { "type": "bearer", @@ -451,6 +451,215 @@ } }, "response": [] + }, + { + "name": "Admin Create Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNjU5M30.17LzDHFBUFuVxokdnBAe7o1S5_hIdPp8-N1z_Di6TQQ", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/blog", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "blog" + ] + } + }, + "response": [] + }, + { + "name": "Admin Get All Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/blog", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "blog" + ] + } + }, + "response": [] + }, + { + "name": "Admin Get Blog By ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/blog/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "blog", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Admin Update Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/ticket/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Admin Search Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/blog/search/Nama ", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "blog", + "search", + "Nama " + ] + } + }, + "response": [] + }, + { + "name": "Admin Delete Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/blog/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "blog", + "1" + ] + } + }, + "response": [] } ] } \ No newline at end of file From 83582fdac0376e8e94f7ca954b71da3470eee1ec Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Mon, 27 Nov 2023 05:26:11 +0700 Subject: [PATCH 18/85] update link notion --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ca753e7..f1ee5a7 100644 --- a/README.md +++ b/README.md @@ -58,4 +58,4 @@ Proyek ini akan berlangsung selama 2 sprint (2 minggu) dengan penilaian secara b - [x] [Figma](https://www.figma.com/file/BdDlFZ7u3E6upQlSwUcOax/Code-Challenge-Project-Based?type=whiteboard&node-id=0-1&t=Le6Pdip9Patyl5DV-0) - [x] [PPT Document](https://docs.google.com/presentation/d/1vvOwCKjysLxORL7GOtOJbgiW3XAVuYsRK0ccUa8VOzA/edit#slide=id.g21e0640a876_0_25) - [x] [Desain Aplikasi](https://www.figma.com/file/1MtWn0HIt9SidftaQIlrXG/Project-Coding-Challenge-References?type=design&node-id=0-4&mode=design&t=dC1tZcf7zlIMfZBL-0) -- [x] [Notion](https://kumal.notion.site/Projek-Pemesanan-Tiket-89ef1e2e0d1b4067ba48316fb64fe673?pvs=4) \ No newline at end of file +- [x] [Notion](https://pouncing-language-444.notion.site/15cb9b14d1cd47f4a355e8b7583b0857?v=e7c8616df95346d7af872d52aba69259&pvs=4) \ No newline at end of file From a0c19c993411959bf11e8ef685290588bf9b3b9f Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Mon, 27 Nov 2023 19:58:04 +0700 Subject: [PATCH 19/85] update postman --- output/Tiketing.postman_collection.json | 1236 ++++++++++++----------- 1 file changed, 632 insertions(+), 604 deletions(-) diff --git a/output/Tiketing.postman_collection.json b/output/Tiketing.postman_collection.json index d399bc0..35454d1 100644 --- a/output/Tiketing.postman_collection.json +++ b/output/Tiketing.postman_collection.json @@ -8,658 +8,686 @@ }, "item": [ { - "name": "Register", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\" : \"rezaaa1aa\",\r\n \"email\" : \"reza1223a@gmail.com\",\r\n \"roles\" : \"customer\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" + "name": "LOG REG", + "item": [ + { + "name": "Register", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"rezaaa1aa\",\r\n \"email\" : \"reza1223a@gmail.com\",\r\n \"roles\" : \"customer\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/register", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "register" + ] } - } + }, + "response": [] }, - "url": { - "raw": "http://localhost:8080/api/v1/register", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "register" - ] - } - }, - "response": [] - }, - { - "name": "LOGIN", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"email\" : \"reza1223a@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" + { + "name": "LOGIN", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\" : \"reza1223a@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/login", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "login" + ] } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/login", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "login" - ] + }, + "response": [] } - }, - "response": [] + ] }, { - "name": "Admin Create User", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAxMjE0MH0.wTnqMw_aC5ydiKOqCUk41UsLYSypwcmqpVdpJjWSWUU", - "type": "string" + "name": "USER", + "item": [ + { + "name": "Admin Create User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAxMjE0MH0.wTnqMw_aC5ydiKOqCUk41UsLYSypwcmqpVdpJjWSWUU", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"number\": \"896232123123123\",\r\n \"roles\" : \"admin\",\r\n \"password\" : \"123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/users", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users" + ] } - ] + }, + "response": [] }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"number\": \"896232123123123\",\r\n \"roles\" : \"admin\",\r\n \"password\" : \"123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" + { + "name": "Admin Cek User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAxMjE0MH0.wTnqMw_aC5ydiKOqCUk41UsLYSypwcmqpVdpJjWSWUU", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users" + ] } - } + }, + "response": [] }, - "url": { - "raw": "http://localhost:8080/api/v1/users", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Admin Cek User", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAxMjE0MH0.wTnqMw_aC5ydiKOqCUk41UsLYSypwcmqpVdpJjWSWUU", - "type": "string" + { + "name": "Admin Update user", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"number\" : \"1234\",\r\n \"roles\" : \"admin\",\r\n \"password\" : \"123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/users/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "1" + ] } - ] + }, + "response": [] }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/users", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Admin Update user", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", - "type": "string" + { + "name": "Admin Get ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "1" + ] } - ] + }, + "response": [] }, - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"number\" : \"1234\",\r\n \"roles\" : \"admin\",\r\n \"password\" : \"123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" + { + "name": "Admin Delet User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users/2", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "2" + ] } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/users/1", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users", - "1" - ] + }, + "response": [] } - }, - "response": [] + ] }, { - "name": "Admin Get ID", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", - "type": "string" + "name": "TICKET", + "item": [ + { + "name": "Admin create tiket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 100\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/ticket", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket" + ] } - ] + }, + "response": [] }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/users/1", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Delet User", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", - "type": "string" + { + "name": "Admin Get All Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket" + ] } - ] + }, + "response": [] }, - "method": "DELETE", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/users/2", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users", - "2" - ] - } - }, - "response": [] - }, - { - "name": "Admin create tiket", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", - "type": "string" + { + "name": "Admin Get Ticket By ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "1" + ] } - ] + }, + "response": [] }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 100\r\n}\r\n", - "options": { - "raw": { - "language": "json" + { + "name": "Admin Update Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTU2MX0.thSxHgn3UZVzOjERCK12UXVBqzgPHyYZP5WCUVYrkrg", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 200\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/ticket/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "1" + ] } - } + }, + "response": [] }, - "url": { - "raw": "http://localhost:8080/api/v1/ticket", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "ticket" - ] - } - }, - "response": [] - }, - { - "name": "Admin Get All Ticket", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", - "type": "string" + { + "name": "Admin Delete Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTU2MX0.thSxHgn3UZVzOjERCK12UXVBqzgPHyYZP5WCUVYrkrg", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "1" + ] } - ] + }, + "response": [] }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/ticket", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "ticket" - ] - } - }, - "response": [] - }, - { - "name": "Admin Get Ticket By ID", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", - "type": "string" + { + "name": "Admin Search", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MywibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMzUwMn0.W8rTSfdRYgxivpskkme-5hZuEgEnhbPR_Tp4atjVKLU", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket/search/cold", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "search", + "cold" + ] } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/ticket/1", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "ticket", - "1" - ] + }, + "response": [] } - }, - "response": [] + ] }, { - "name": "Admin Update Ticket", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTU2MX0.thSxHgn3UZVzOjERCK12UXVBqzgPHyYZP5WCUVYrkrg", - "type": "string" + "name": "BLOG", + "item": [ + { + "name": "Admin Create Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNjU5M30.17LzDHFBUFuVxokdnBAe7o1S5_hIdPp8-N1z_Di6TQQ", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/blog", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "blog" + ] } - ] + }, + "response": [] }, - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 200\r\n}", - "options": { - "raw": { - "language": "json" + { + "name": "Admin Get All Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/blog", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "blog" + ] } - } + }, + "response": [] }, - "url": { - "raw": "http://localhost:8080/api/v1/ticket/1", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "ticket", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Delete Ticket", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTU2MX0.thSxHgn3UZVzOjERCK12UXVBqzgPHyYZP5WCUVYrkrg", - "type": "string" + { + "name": "Admin Get Blog By ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/blog/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "blog", + "1" + ] } - ] + }, + "response": [] }, - "method": "DELETE", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/ticket/1", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "ticket", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Search", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MywibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMzUwMn0.W8rTSfdRYgxivpskkme-5hZuEgEnhbPR_Tp4atjVKLU", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/ticket/search/cold", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "ticket", - "search", - "cold" - ] - } - }, - "response": [] - }, - { - "name": "Admin Create Blog", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNjU5M30.17LzDHFBUFuVxokdnBAe7o1S5_hIdPp8-N1z_Di6TQQ", - "type": "string" - } - ] - }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/blog", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "blog" - ] - } - }, - "response": [] - }, - { - "name": "Admin Get All Blog", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/blog", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "blog" - ] - } - }, - "response": [] - }, - { - "name": "Admin Get Blog By ID", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", - "type": "string" + { + "name": "Admin Update Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/ticket/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "1" + ] } - ] + }, + "response": [] }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/blog/1", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "blog", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Update Blog", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", - "type": "string" + { + "name": "Admin Search Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/blog/search/Nama ", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "blog", + "search", + "Nama " + ] } - ] + }, + "response": [] }, - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", - "options": { - "raw": { - "language": "json" + { + "name": "Admin Delete Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/blog/1", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "blog", + "1" + ] } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/ticket/1", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "ticket", - "1" - ] + }, + "response": [] } - }, - "response": [] + ] }, { - "name": "Admin Search Blog", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/blog/search/Nama ", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "blog", - "search", - "Nama " - ] - } - }, - "response": [] + "name": "ORDER", + "item": [] }, { - "name": "Admin Delete Blog", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", - "type": "string" - } - ] - }, - "method": "DELETE", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/blog/1", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "blog", - "1" - ] - } - }, - "response": [] + "name": "TOPUP SALDO", + "item": [] } ] } \ No newline at end of file From c3afc348687890adc0ed408fc4a7990dee58894c Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Tue, 28 Nov 2023 07:09:27 +0700 Subject: [PATCH 20/85] update order --- common/jwt.go | 6 +- ...20231127065801_create_users_tabel.down.sql | 5 ++ .../20231127065801_create_users_tabel.up.sql | 15 ++++ ...0231127065951_create_ticket_tabel.down.sql | 5 ++ .../20231127065951_create_ticket_tabel.up.sql | 16 ++++ .../20231127070155_create_blog_tabel.down.sql | 5 ++ .../20231127070155_create_blog_tabel.up.sql | 12 +++ ...20231127160034_create_order_tabel.down.sql | 5 ++ .../20231127160034_create_order_tabel.up.sql | 20 +++++ entity/order.go | 31 +++++++ entity/tiket.go | 66 +++++++-------- internal/builder/builder.go | 25 +++--- internal/http/handler/order_handler.go | 69 ++++++++++++++++ internal/http/handler/ticket_handler.go | 25 +++--- internal/http/handler/user_hendler.go | 39 ++++++--- internal/http/router/routes.go | 21 ++++- internal/repository/order_repository.go | 63 ++++++++++++++ internal/service/order_service.go | 82 +++++++++++++++++++ output/Tiketing.postman_collection.json | 80 +++++++++++++++++- 19 files changed, 512 insertions(+), 78 deletions(-) create mode 100644 db/migration-golang/20231127065801_create_users_tabel.down.sql create mode 100644 db/migration-golang/20231127065801_create_users_tabel.up.sql create mode 100644 db/migration-golang/20231127065951_create_ticket_tabel.down.sql create mode 100644 db/migration-golang/20231127065951_create_ticket_tabel.up.sql create mode 100644 db/migration-golang/20231127070155_create_blog_tabel.down.sql create mode 100644 db/migration-golang/20231127070155_create_blog_tabel.up.sql create mode 100644 db/migration-golang/20231127160034_create_order_tabel.down.sql create mode 100644 db/migration-golang/20231127160034_create_order_tabel.up.sql create mode 100644 entity/order.go create mode 100644 internal/http/handler/order_handler.go create mode 100644 internal/repository/order_repository.go create mode 100644 internal/service/order_service.go diff --git a/common/jwt.go b/common/jwt.go index 3f638b5..b85444f 100644 --- a/common/jwt.go +++ b/common/jwt.go @@ -1,9 +1,12 @@ package common + //note : file ini untuk buat claims JWT // claims JWT adalah data yang akan dienkripsi dan ditandatangani oleh JWT // claims JWT ini nantinya akan disimpan di dalam payload JWT -import "github.com/golang-jwt/jwt/v5" +import ( + "github.com/golang-jwt/jwt/v5" +) type JwtCustomClaims struct { ID int64 `json:"id"` @@ -11,4 +14,3 @@ type JwtCustomClaims struct { Email string `json:"email"` jwt.RegisteredClaims // ini untuk exp at } - diff --git a/db/migration-golang/20231127065801_create_users_tabel.down.sql b/db/migration-golang/20231127065801_create_users_tabel.down.sql new file mode 100644 index 0000000..1bbd511 --- /dev/null +++ b/db/migration-golang/20231127065801_create_users_tabel.down.sql @@ -0,0 +1,5 @@ +BEGIN; + +DROP TABLE IF EXISTS "public"."users"; + +COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231127065801_create_users_tabel.up.sql b/db/migration-golang/20231127065801_create_users_tabel.up.sql new file mode 100644 index 0000000..5166ad0 --- /dev/null +++ b/db/migration-golang/20231127065801_create_users_tabel.up.sql @@ -0,0 +1,15 @@ +BEGIN; +BEGIN; +CREATE TABLE IF NOT EXISTS "public"."users" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + email VARCHAR(255) NOT NULL, + number VARCHAR(255) NOT NULL, + roles VARCHAR(255) NOT NULL, + password VARCHAR(255) NOT NULL, + saldo INTEGER NOT NULL, + "created_at" timestamptz (6) NOT NULL, + "updated_at" timestamptz (6) NOT NULL, + "deleted_at" timestamptz (6) +); +COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231127065951_create_ticket_tabel.down.sql b/db/migration-golang/20231127065951_create_ticket_tabel.down.sql new file mode 100644 index 0000000..3f0a1c2 --- /dev/null +++ b/db/migration-golang/20231127065951_create_ticket_tabel.down.sql @@ -0,0 +1,5 @@ +BEGIN; + +DROP TABLE IF EXISTS "public"."tickets"; + +COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231127065951_create_ticket_tabel.up.sql b/db/migration-golang/20231127065951_create_ticket_tabel.up.sql new file mode 100644 index 0000000..f20a3d7 --- /dev/null +++ b/db/migration-golang/20231127065951_create_ticket_tabel.up.sql @@ -0,0 +1,16 @@ +BEGIN; +CREATE TABLE IF NOT EXISTS "public"."tickets" ( + ID SERIAL NOT NULL PRIMARY KEY, + Image TEXT, + Location TEXT, + Date DATE, + Title TEXT, + Description TEXT, + Price INT, + Status TEXT DEFAULT 'available', + Quota INT, + Created_At TIMESTAMP, + Updated_At TIMESTAMP, + Deleted_At TIMESTAMP +); +COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231127070155_create_blog_tabel.down.sql b/db/migration-golang/20231127070155_create_blog_tabel.down.sql new file mode 100644 index 0000000..3bcb906 --- /dev/null +++ b/db/migration-golang/20231127070155_create_blog_tabel.down.sql @@ -0,0 +1,5 @@ +BEGIN; + +DROP TABLE IF EXISTS "public"."blogs"; + +COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231127070155_create_blog_tabel.up.sql b/db/migration-golang/20231127070155_create_blog_tabel.up.sql new file mode 100644 index 0000000..44d74e2 --- /dev/null +++ b/db/migration-golang/20231127070155_create_blog_tabel.up.sql @@ -0,0 +1,12 @@ +BEGIN; +CREATE TABLE IF NOT EXISTS "public". "blogs" ( + ID SERIAL PRIMARY KEY, + Image TEXT, + Date DATE, + Title TEXT, + Description TEXT, + Created_At TIMESTAMP, + Updated_At TIMESTAMP, + Deleted_At TIMESTAMP +); +COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231127160034_create_order_tabel.down.sql b/db/migration-golang/20231127160034_create_order_tabel.down.sql new file mode 100644 index 0000000..6119cf0 --- /dev/null +++ b/db/migration-golang/20231127160034_create_order_tabel.down.sql @@ -0,0 +1,5 @@ +BEGIN; + +DROP TABLE IF EXISTS "public"."orders"; + +COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231127160034_create_order_tabel.up.sql b/db/migration-golang/20231127160034_create_order_tabel.up.sql new file mode 100644 index 0000000..806affb --- /dev/null +++ b/db/migration-golang/20231127160034_create_order_tabel.up.sql @@ -0,0 +1,20 @@ +BEGIN; + +CREATE TABLE IF NOT EXISTS "public". "orders" ( + ID SERIAL PRIMARY KEY, + ticket_id INT, + user_id INT, + quantity INT, + total INT, + order_at TIMESTAMP, + updated_at TIMESTAMP, + deleted_at TIMESTAMP, + order_by VARCHAR(255), + update_by VARCHAR(255), + delete_by VARCHAR(255), + FOREIGN KEY (ticket_id) REFERENCES tickets(id) ON DELETE CASCADE ON UPDATE CASCADE, + FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE +); + +COMMIT; + diff --git a/entity/order.go b/entity/order.go new file mode 100644 index 0000000..fc922cf --- /dev/null +++ b/entity/order.go @@ -0,0 +1,31 @@ +package entity + +import ( + "time" +) + +type Order struct { + Id int64 `json:"id"` + TicketID int64 `json:"ticket_id"` + Ticket Ticket `json:"ticket"` + UserID int64 `json:"user_id"` + User User `json:"user"` + Quantity int64 `json:"quantity"` + Total int64 `json:"total"` + OrderAt time.Time `json:"order_at"` + UpdatedAt time.Time `json:"updated_at"` + DeletedAt *time.Time `json:"deleted_at,omitempty"` + OrderBy string `json:"order_by"` + UpdateBy string `json:"-"` + DeleteBy string `json:"-"` +} + +// membuat func NewOrder dengan memanggil tiketID, quantity, total, dan OrderAt +func NewOrder(ticketID, quantity, userID int64) *Order { + return &Order{ + TicketID: ticketID, + Quantity: quantity, + UserID: userID, + OrderAt: time.Now(), + } +} diff --git a/entity/tiket.go b/entity/tiket.go index 02443bc..79faad7 100644 --- a/entity/tiket.go +++ b/entity/tiket.go @@ -5,43 +5,43 @@ import ( ) type Ticket struct { - ID int64 - Image string - Location string - Date string // Format: YYYY-MM-DD - Title string - Description string - Price int64 - Status string // e.g., 'available', 'sold out' - Quota int64 - CreatedAt time.Time - UpdatedAt time.Time - DeletedAt time.Time + ID int64 + Image string + Location string + Date string // Format: YYYY-MM-DD + Title string + Description string + Price int64 + Status string // e.g., 'available', 'sold out' + Quota int64 + CreatedAt time.Time + UpdatedAt time.Time + DeletedAt time.Time } func NewTicket(image, location, date, title, description string, price, quota int64) *Ticket { - return &Ticket{ - Image: image, - Location: location, - Date: date, - Title: title, - Description: description, - Price: price, - Quota: quota, - CreatedAt: time.Now(), - } + return &Ticket{ + Image: image, + Location: location, + Date: date, + Title: title, + Description: description, + Price: price, + Quota: quota, + CreatedAt: time.Now(), + } } func UpdateTicket(id int64, image, location, date, title, description string, price, quota int64) *Ticket { - return &Ticket{ - ID: id, - Image: image, - Location: location, - Date: date, - Title: title, - Description: description, - Price: price, - Quota: quota, - UpdatedAt: time.Now(), - } + return &Ticket{ + ID: id, + Image: image, + Location: location, + Date: date, + Title: title, + Description: description, + Price: price, + Quota: quota, + UpdatedAt: time.Now(), + } } diff --git a/internal/builder/builder.go b/internal/builder/builder.go index 59be45a..9b2b314 100644 --- a/internal/builder/builder.go +++ b/internal/builder/builder.go @@ -22,21 +22,26 @@ func BuildPublicRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { } func BuildPrivateRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { - // Create a user handler - userRepository := repository.NewUserRepository(db) - userService := service.NewUserService(userRepository) - userHandler := handler.NewUserHandler(userService) + // Create a user handler + userRepository := repository.NewUserRepository(db) + userService := service.NewUserService(userRepository) + userHandler := handler.NewUserHandler(userService) - // Create a ticket handler - ticketRepository := repository.NewTicketRepository(db) - ticketService := service.NewTicketService(ticketRepository) - ticketHandler := handler.NewTicketHandler(ticketService) + // Create a ticket handler + ticketRepository := repository.NewTicketRepository(db) + ticketService := service.NewTicketService(ticketRepository) + ticketHandler := handler.NewTicketHandler(ticketService) // Create a Blog handler BlogRepository := repository.NewBlogRepository(db) BlogService := service.NewBlogService(BlogRepository) BlogHandler := handler.NewBlogHandler(BlogService) - // Menggunakan PrivateRoutes dengan kedua handler - return router.PrivateRoutes(userHandler, ticketHandler, BlogHandler) + // Create an order handler + OrderRepository := repository.NewOrderRepository(db) + OrderService := service.NewOrderService(OrderRepository) + OrderHandler := handler.NewOrderHandler(OrderService) + + // Menggunakan PrivateRoutes dengan kedua handler + return router.PrivateRoutes(userHandler, ticketHandler, BlogHandler, OrderHandler) } diff --git a/internal/http/handler/order_handler.go b/internal/http/handler/order_handler.go new file mode 100644 index 0000000..b22e958 --- /dev/null +++ b/internal/http/handler/order_handler.go @@ -0,0 +1,69 @@ +package handler + +import ( + "Ticketing/entity" + "Ticketing/internal/http/validator" + "Ticketing/internal/service" + "net/http" + + "github.com/labstack/echo/v4" +) + +type OrderHandler struct { + orderService service.OrderUsecase +} + +func NewOrderHandler(Orderservice *service.OrderService) *OrderHandler { + return &OrderHandler{Orderservice} +} + +// func untuk create order +func (h *OrderHandler) CreateOrder(ctx echo.Context) error { + var input struct { + TicketID int64 `json:"ticket_id" validate:"required"` + Quantity int64 `json:"quantity" validate:"required"` + UserID int64 `json:"user_id" validate:"required"` + } + + if err := ctx.Bind(&input); err != nil { + return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + order := entity.NewOrder(input.TicketID, input.Quantity, input.UserID) + err := h.orderService.CreateOrder(ctx.Request().Context(), order) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + return ctx.JSON(http.StatusCreated, "Order created successfully") + +} + +// Get All Order +func (h *OrderHandler) GetAllOrders(ctx echo.Context) error { + // Implementasi untuk mendapatkan semua pesanan dari usecase + orders, err := h.orderService.GetOrders(ctx.Request().Context()) + if err != nil { + return ctx.JSON(http.StatusBadRequest, echo.NewHTTPError(http.StatusBadRequest, err.Error())) + } + + var orderDetails []map[string]interface{} + for _, order := range orders { + ticket, err := h.orderService.GetTicketByID(ctx.Request().Context(), order.TicketID) + if err != nil { + return ctx.JSON(http.StatusInternalServerError, echo.NewHTTPError(http.StatusInternalServerError, err.Error())) + } + + orderDetail := map[string]interface{}{ + "user_id": order.UserID, + "ticket": ticket, + } + orderDetails = append(orderDetails, orderDetail) + } + + return ctx.JSON(http.StatusOK, map[string]interface{}{ + "message": "Get all orders success", + "order_details": orderDetails, + }) +} + + diff --git a/internal/http/handler/ticket_handler.go b/internal/http/handler/ticket_handler.go index 6c7ac6c..a4810d5 100644 --- a/internal/http/handler/ticket_handler.go +++ b/internal/http/handler/ticket_handler.go @@ -1,14 +1,15 @@ package handler import ( - "net/http" "Ticketing/entity" "Ticketing/internal/service" + "net/http" - "github.com/labstack/echo/v4" + "Ticketing/internal/http/validator" "strconv" "time" - "Ticketing/internal/http/validator" + + "github.com/labstack/echo/v4" ) // TicketHandler handles HTTP requests related to tickets. @@ -21,7 +22,7 @@ func NewTicketHandler(ticketService service.TicketUseCase) *TicketHandler { return &TicketHandler{ticketService} } -// GetAllTicket +// GetAllTicket func (h *TicketHandler) GetAllTickets(c echo.Context) error { tickets, err := h.ticketService.GetAllTickets(c.Request().Context()) if err != nil { @@ -32,7 +33,6 @@ func (h *TicketHandler) GetAllTickets(c echo.Context) error { }) } - // CreateTicket func (h *TicketHandler) CreateTicket(c echo.Context) error { var input struct { @@ -75,10 +75,10 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { return c.JSON(http.StatusCreated, "Ticket created successfully") } - // GetTicket handles the retrieval of a ticket by ID. +// untuk sesudah login func (h *TicketHandler) GetTicket(c echo.Context) error { - idStr := c.Param("id") // assuming the ID is passed as a URL parameter as a string + idStr := c.Param("id") // assuming the ID is passed as a URL parameter as a string id, err := strconv.ParseInt(idStr, 10, 64) // Convert the string to int64 if err != nil { return c.JSON(http.StatusBadRequest, map[string]interface{}{ @@ -108,7 +108,6 @@ func (h *TicketHandler) GetTicket(c echo.Context) error { }) } - // UpdateTicket handles the update of an existing ticket. func (h *TicketHandler) UpdateTicket(c echo.Context) error { var input struct { @@ -126,24 +125,21 @@ func (h *TicketHandler) UpdateTicket(c echo.Context) error { return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) } - // Convert input.Date to a formatted string dateStr := input.Date.Format("2006-01-02T15:04:05Z") // Create a Ticket object ticket := entity.Ticket{ - ID: input.ID, // Assuming ID is already of type int64 + ID: input.ID, // Assuming ID is already of type int64 Title: input.Title, Description: input.Description, Image: input.Image, Location: input.Location, Date: dateStr, // Assign the formatted date string - Price: int64(input.Price), // Convert Price to int64 if needed - Quota: int64(input.Quota), // Convert Quota to int64 if needed + Price: int64(input.Price), // Convert Price to int64 if needed + Quota: int64(input.Quota), // Convert Quota to int64 if needed } - - err := h.ticketService.UpdateTicket(c.Request().Context(), &ticket) if err != nil { return c.JSON(http.StatusUnprocessableEntity, err) @@ -155,7 +151,6 @@ func (h *TicketHandler) UpdateTicket(c echo.Context) error { }) } - // DeleteTicket handles the deletion of a ticket by ID. func (h *TicketHandler) DeleteTicket(c echo.Context) error { var input struct { diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index e5d4c70..1265b6a 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -1,10 +1,12 @@ package handler + //NOTE : // FOLDER INI UNTUK MEMANGGIL SERVICE DAN REPOSITORY import ( "Ticketing/entity" "Ticketing/internal/http/validator" "Ticketing/internal/service" + "fmt" "net/http" "strconv" @@ -35,10 +37,10 @@ func (h *UserHandler) GetAllUser(ctx echo.Context) error { func (h *UserHandler) CreateUser(ctx echo.Context) error { var input struct { Name string `json:"name" validate:"required"` - Email string `json:"email" validate:"required,email"` - Number string `json:"number" validate:"required"` - Roles string `json:"roles" validate:"required"` - Password string `json:"password" validate:"required,min=8"` + Email string `json:"email" validate:"email"` + Number string `json:"number" validate:"min=11,max=13"` + Roles string `json:"roles"` + Password string `json:"password" validate:"min=8"` } //ini func untuk error checking if err := ctx.Bind(&input); err != nil { @@ -57,24 +59,37 @@ func (h *UserHandler) CreateUser(ctx echo.Context) error { func (h *UserHandler) UpdateUser(ctx echo.Context) error { var input struct { ID int64 `param:"id" validate:"required"` - Name string `json:"name" validate:"required"` - Email string `json:"email" validate:"required"` - Number string `json:"number" validate:"required"` - Roles string `json:"roles" validate:"required"` - Password string `json:"password" validate:"required"` + Name string `json:"name"` + Email string `json:"email"` + Number string `json:"number"` + Roles string `json:"roles"` + Password string `json:"password"` } if err := ctx.Bind(&input); err != nil { return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) } + + // Check if user exists + existingUser, err := h.userService.GetUserByID(ctx.Request().Context(), input.ID) + if err != nil { + // Handle the case when the user with the given ID doesn't exist + return ctx.JSON(http.StatusNotFound, map[string]interface{}{ + "message": "User not found", + }) + } + + // Update user details user := entity.UpdateUser(input.ID, input.Name, input.Email, input.Number, input.Roles, input.Password) - err := h.userService.UpdateUser(ctx.Request().Context(), user) + err = h.userService.UpdateUser(ctx.Request().Context(), user) if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, err) } + + fmt.Println(existingUser) + return ctx.JSON(http.StatusOK, map[string]interface{}{ "message": "User updated successfully", "user": user, - // "updated": user.UpdatedAt, //buat munculin si updateAt nya }) } @@ -125,4 +140,4 @@ func (h *UserHandler) DeleteUser(ctx echo.Context) error { return ctx.JSON(http.StatusOK, map[string]interface{}{ "message": "User deleted successfully", }) -} \ No newline at end of file +} diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index cb17c4f..6cc8561 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -32,7 +32,7 @@ func PublicRoutes(authHandler *handler.AuthHandler) []*Route { // membuat fungsi untuk mengembalikan route // pada func ini tdk perlu login krna public -func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.TicketHandler, BlogHandler *handler.BlogHandler) []*Route { +func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.TicketHandler, BlogHandler *handler.BlogHandler, OrderHandler *handler.OrderHandler) []*Route { return []*Route{ { Method: echo.POST, @@ -134,10 +134,27 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Path: "/blog/search/:search", Handler: BlogHandler.SearchBlog, }, + + { + Method: echo.POST, + Path: "/order", + Handler: OrderHandler.CreateOrder, + }, + + { + Method: echo.GET, + Path: "/order", + Handler: OrderHandler.GetAllOrders, + }, + + // { + // Method: echo.PUT, + // Path: "/order/:id", + // Handler: OrderHandler.UpdateOrder, + // }, } } - //NOTE : //MENGAPA TERDAPAT 2 FUNC DIATAS? YAITU PUBLIC DAN PRIVATE //KAREN DI SERVER.GO KITA BUAT GROUP API, DAN KITA MEMBAGI ROUTE YANG PERLU LOGIN DAN TIDAK PERLU LOGIN diff --git a/internal/repository/order_repository.go b/internal/repository/order_repository.go new file mode 100644 index 0000000..0865b81 --- /dev/null +++ b/internal/repository/order_repository.go @@ -0,0 +1,63 @@ +package repository + +import ( + "Ticketing/entity" + "context" + "gorm.io/gorm" +) + +type OrderRepository struct { + db *gorm.DB +} + +func NewOrderRepository(db *gorm.DB) *OrderRepository { + return &OrderRepository{ + db: db, + } +} + +func (r *OrderRepository) CreateOrder(ctx context.Context, order *entity.Order) error { + err := r.db.WithContext(ctx).Create(&order).Error + if err != nil { + return err + } + return nil +} + +func (r *OrderRepository) GetTicket(ctx context.Context, ticketID int64) (*entity.Ticket, error) { + ticket := new(entity.Ticket) + if err := r.db.WithContext(ctx).Where("id = ?", ticketID).First(&ticket).Error; err != nil { + return nil, err + } + return ticket, nil +} + +func (r *OrderRepository) UpdateTicket(ctx context.Context, ticket *entity.Ticket) error { + if err := r.db.WithContext(ctx). + Model(&entity.Ticket{}). + Where("id = ?", ticket.ID). + Updates(&ticket).Error; err != nil { + return err + } + return nil +} + +// Add the following method to implement the missing GetTicketByID +func (r *OrderRepository) GetTicketByID(ctx context.Context, id int64) (*entity.Ticket, error) { + ticket := new(entity.Ticket) + result := r.db.WithContext(ctx).First(&ticket, id) + if result.Error != nil { + return nil, result.Error + } + return ticket, nil +} + +// repository order.go +func (r *OrderRepository) GetOrders(ctx context.Context) ([]*entity.Order, error) { + orders := make([]*entity.Order, 0) + err := r.db.WithContext(ctx).Preload("Ticket").Find(&orders).Error + if err != nil { + return nil, err + } + return orders, nil +} diff --git a/internal/service/order_service.go b/internal/service/order_service.go new file mode 100644 index 0000000..b0201e1 --- /dev/null +++ b/internal/service/order_service.go @@ -0,0 +1,82 @@ +package service + +import ( + "Ticketing/entity" + "context" + "errors" +) + +type OrderUsecase interface { + CreateOrder(ctx context.Context, order *entity.Order) error + GetTicket(ctx context.Context, ticketID int64) (*entity.Ticket, error) + UpdateTicket(ctx context.Context, ticket *entity.Ticket) error + GetOrders(ctx context.Context) ([]*entity.Order, error) + GetTicketByID(ctx context.Context, id int64) (*entity.Ticket, error) +} + +type OrderRepository interface { + CreateOrder(ctx context.Context, order *entity.Order) error + GetTicket(ctx context.Context, ticketID int64) (*entity.Ticket, error) + UpdateTicket(ctx context.Context, ticket *entity.Ticket) error + GetOrders(ctx context.Context) ([]*entity.Order, error) + GetTicketByID(ctx context.Context, id int64) (*entity.Ticket, error) +} + +type OrderService struct { + repository OrderRepository +} + +func NewOrderService(repository OrderRepository) *OrderService { + return &OrderService{repository} +} + +func (s *OrderService) CreateOrder(ctx context.Context, order *entity.Order) error { + // Mendapatkan informasi tiket berdasarkan ID tiket dalam pesanan + ticket, err := s.repository.GetTicket(ctx, order.TicketID) + if err != nil { + return err + } + + // Memeriksa ketersediaan tiket + if int64(ticket.Quota) < order.Quantity { + return errors.New("ticket is not available") + } + + // Melakukan perhitungan total harga pesanan + order.Total = ticket.Price * int64(order.Quantity) + + // Membuat pesanan + if err := s.repository.CreateOrder(ctx, order); err != nil { + return err + } + + // Mengurangi ketersediaan tiket + ticket.Quota -= order.Quantity + if err := s.repository.UpdateTicket(ctx, ticket); err != nil { + return err + } + + // Contoh: Mengupdate informasi pengguna setelah melakukan pembelian + // Anda dapat menyesuaikan logika ini sesuai dengan kebutuhan + // ... + + return nil +} + +// Implementasi fungsi GetTicket +func (s *OrderService) GetTicket(ctx context.Context, ticketID int64) (*entity.Ticket, error) { + return s.repository.GetTicket(ctx, ticketID) +} + +// Implementasi fungsi UpdateTicket +func (s *OrderService) UpdateTicket(ctx context.Context, ticket *entity.Ticket) error { + return s.repository.UpdateTicket(ctx, ticket) +} + +func (s *OrderService) GetOrders(ctx context.Context) ([]*entity.Order, error) { + return s.repository.GetOrders(ctx) +} + +func (s *OrderService) GetTicketByID(ctx context.Context, id int64) (*entity.Ticket, error) { + return s.repository.GetTicketByID(ctx, id) +} \ No newline at end of file diff --git a/output/Tiketing.postman_collection.json b/output/Tiketing.postman_collection.json index 35454d1..1f3c6df 100644 --- a/output/Tiketing.postman_collection.json +++ b/output/Tiketing.postman_collection.json @@ -264,7 +264,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTEyMTY4N30.Km19OZ4MOqKcPeZlxus_wOwKNFL9HpjFvHCqyjZIWB8", "type": "string" } ] @@ -273,7 +273,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 100\r\n}\r\n", + "raw": "{\r\n \"title\": \"coldplay\",\r\n \"description\": \"penyanyi luar negri\",\r\n \"image\": \"https/image\",\r\n \"location\": \"GBK\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 100\r\n}\r\n", "options": { "raw": { "language": "json" @@ -304,7 +304,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTEyMTY4N30.Km19OZ4MOqKcPeZlxus_wOwKNFL9HpjFvHCqyjZIWB8", "type": "string" } ] @@ -683,7 +683,79 @@ }, { "name": "ORDER", - "item": [] + "item": [ + { + "name": "Admin Create order", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTEyMTY4N30.Km19OZ4MOqKcPeZlxus_wOwKNFL9HpjFvHCqyjZIWB8", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"ticket_id\": 1,\r\n \"quantity\": 2,\r\n \"user_id\": 1\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:8080/api/v1/order", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "order" + ] + } + }, + "response": [] + }, + { + "name": "Get All Order", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTEyMTY4N30.Km19OZ4MOqKcPeZlxus_wOwKNFL9HpjFvHCqyjZIWB8", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/order", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "order" + ] + } + }, + "response": [] + } + ] }, { "name": "TOPUP SALDO", From bf1b27e8705bc062f6307ab80b8495f7a6c77552 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Tue, 28 Nov 2023 14:30:18 +0700 Subject: [PATCH 21/85] update category --- .../20231127065951_create_ticket_tabel.up.sql | 1 + entity/tiket.go | 1 + internal/http/handler/ticket_handler.go | 87 ++++++++++ internal/http/router/routes.go | 29 +++- internal/repository/ticket_repository.go | 40 +++++ internal/service/ticket_services.go | 29 ++++ output/Tiketing.postman_collection.json | 160 ++++++++++++++++++ 7 files changed, 342 insertions(+), 5 deletions(-) diff --git a/db/migration-golang/20231127065951_create_ticket_tabel.up.sql b/db/migration-golang/20231127065951_create_ticket_tabel.up.sql index f20a3d7..9f31011 100644 --- a/db/migration-golang/20231127065951_create_ticket_tabel.up.sql +++ b/db/migration-golang/20231127065951_create_ticket_tabel.up.sql @@ -9,6 +9,7 @@ CREATE TABLE IF NOT EXISTS "public"."tickets" ( Price INT, Status TEXT DEFAULT 'available', Quota INT, + Category TEXT, Created_At TIMESTAMP, Updated_At TIMESTAMP, Deleted_At TIMESTAMP diff --git a/entity/tiket.go b/entity/tiket.go index 79faad7..3a09eb3 100644 --- a/entity/tiket.go +++ b/entity/tiket.go @@ -14,6 +14,7 @@ type Ticket struct { Price int64 Status string // e.g., 'available', 'sold out' Quota int64 + Category string // e.g., 'music', 'sport', 'conference' CreatedAt time.Time UpdatedAt time.Time DeletedAt time.Time diff --git a/internal/http/handler/ticket_handler.go b/internal/http/handler/ticket_handler.go index a4810d5..8ed130f 100644 --- a/internal/http/handler/ticket_handler.go +++ b/internal/http/handler/ticket_handler.go @@ -43,6 +43,7 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Date time.Time `json:"date"` Price float64 `json:"price"` Quota int `json:"quota"` + Category string `json:"category"` } // Input validation @@ -62,6 +63,7 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Date: dateStr, // Assign the formatted date string Price: int64(input.Price), Quota: int64(input.Quota), + Category: input.Category, CreatedAt: time.Now(), } @@ -103,6 +105,7 @@ func (h *TicketHandler) GetTicket(c echo.Context) error { "date": ticket.Date, "price": ticket.Price, "quota": ticket.Quota, + "category": ticket.Category, "created": ticket.CreatedAt, }, }) @@ -119,6 +122,7 @@ func (h *TicketHandler) UpdateTicket(c echo.Context) error { Date time.Time `json:"date"` Price float64 `json:"price"` Quota int `json:"quota"` + Category string `json:"category"` } if err := c.Bind(&input); err != nil { @@ -138,6 +142,7 @@ func (h *TicketHandler) UpdateTicket(c echo.Context) error { Date: dateStr, // Assign the formatted date string Price: int64(input.Price), // Convert Price to int64 if needed Quota: int64(input.Quota), // Convert Quota to int64 if needed + Category: input.Category, } err := h.ticketService.UpdateTicket(c.Request().Context(), &ticket) @@ -190,3 +195,85 @@ func (h *TicketHandler) SearchTicket(c echo.Context) error { "data": tickets, }) } + +// filter ticket by location +func (h *TicketHandler) FilterTicket(c echo.Context) error { + var input struct { + Location string `param:"location" validate:"required"` //harus pramater search + } + + if err := c.Bind(&input); err != nil { + return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + tickets, err := h.ticketService.FilterTicket(c.Request().Context(), input.Location) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": tickets, + }) +} + +// filter ticket by category +func (h *TicketHandler) FilterTicketByCategory(c echo.Context) error { + var input struct { + Category string `param:"category" validate:"required"` //harus pramater search + } + + if err := c.Bind(&input); err != nil { + return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + tickets, err := h.ticketService.FilterTicketByCategory(c.Request().Context(), input.Category) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": tickets, + }) +} + +// filter ticket by range time (start - end) +func (h *TicketHandler) FilterTicketByRangeTime(c echo.Context) error { + var input struct { + Start string `param:"start" validate:"required"` //harus pramater search + End string `param:"end" validate:"required"` //harus pramater search + } + + if err := c.Bind(&input); err != nil { + return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + tickets, err := h.ticketService.FilterTicketByRangeTime(c.Request().Context(), input.Start, input.End) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": tickets, + }) +} + +// filter ticket by price (min - max) +func (h *TicketHandler) FilterTicketByPrice(c echo.Context) error { + var input struct { + Min string `param:"min" validate:"required"` //harus pramater search + Max string `param:"max" validate:"required"` //harus pramater search + } + + if err := c.Bind(&input); err != nil { + return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + tickets, err := h.ticketService.FilterTicketByPrice(c.Request().Context(), input.Min, input.Max) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": tickets, + }) +} \ No newline at end of file diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 6cc8561..0e5c366 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -147,11 +147,30 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Handler: OrderHandler.GetAllOrders, }, - // { - // Method: echo.PUT, - // Path: "/order/:id", - // Handler: OrderHandler.UpdateOrder, - // }, + //filter ticket by location + { + Method: echo.GET, + Path: "/ticket/location/:location", + Handler: TicketHandler.FilterTicket, + }, + // filter ticket by category + { + Method: echo.GET, + Path: "/ticket/category/:category", + Handler: TicketHandler.FilterTicketByCategory, + }, + // filter ticket by range time (start - end) + { + Method: echo.GET, + Path: "/ticket/range/:start/:end", + Handler: TicketHandler.FilterTicketByRangeTime, + }, + // filter ticket by price (min - max) + { + Method: echo.GET, + Path: "/ticket/price/:min/:max", + Handler: TicketHandler.FilterTicketByPrice, + } } } diff --git a/internal/repository/ticket_repository.go b/internal/repository/ticket_repository.go index 909b35e..3f8fbcd 100644 --- a/internal/repository/ticket_repository.go +++ b/internal/repository/ticket_repository.go @@ -76,3 +76,43 @@ func (r *TicketRepository) SearchTicket(ctx context.Context, search string) ([]* } return tickets, nil } + +// filter ticket by location +func (r *TicketRepository) FilterTicket(ctx context.Context, location string) ([]*entity.Ticket, error) { + tickets := make([]*entity.Ticket, 0) + result := r.db.WithContext(ctx).Where("location LIKE ?", "%"+location+"%").Find(&tickets) + if result.Error != nil { + return nil, result.Error + } + return tickets, nil +} + +// filter ticket by category +func (r *TicketRepository) FilterTicketByCategory(ctx context.Context, category string) ([]*entity.Ticket, error) { + tickets := make([]*entity.Ticket, 0) + result := r.db.WithContext(ctx).Where("category LIKE ?", "%"+category+"%").Find(&tickets) + if result.Error != nil { + return nil, result.Error + } + return tickets, nil +} + +// filter ticket by range time (start - end) +func (r *TicketRepository) FilterTicketByRangeTime(ctx context.Context, start string, end string) ([]*entity.Ticket, error) { + tickets := make([]*entity.Ticket, 0) + result := r.db.WithContext(ctx).Where("start_time >= ? AND end_time <= ?", start, end).Find(&tickets) + if result.Error != nil { + return nil, result.Error + } + return tickets, nil +} + +// filter ticket by price (min - max) +func (r *TicketRepository) FilterTicketByPrice(ctx context.Context, min int64, max int64) ([]*entity.Ticket, error) { + tickets := make([]*entity.Ticket, 0) + result := r.db.WithContext(ctx).Where("price >= ? AND price <= ?", min, max).Find(&tickets) + if result.Error != nil { + return nil, result.Error + } + return tickets, nil +} \ No newline at end of file diff --git a/internal/service/ticket_services.go b/internal/service/ticket_services.go index cda153f..ad9fb99 100644 --- a/internal/service/ticket_services.go +++ b/internal/service/ticket_services.go @@ -4,6 +4,7 @@ import ( "context" "Ticketing/entity" + ) // TicketUseCase is an interface for ticket-related use cases. @@ -14,6 +15,10 @@ type TicketUseCase interface { UpdateTicket(ctx context.Context, ticket *entity.Ticket) error SearchTicket(ctx context.Context, search string) ([]*entity.Ticket, error) DeleteTicket(ctx context.Context, id int64) error + FilterTicket(ctx context.Context, location string) ([]*entity.Ticket, error) + FilterTicketByCategory(ctx context.Context, category string) ([]*entity.Ticket, error) + FilterTicketByRangeTime(ctx context.Context, start string, end string) ([]*entity.Ticket, error) + FilterTicketByPrice(ctx context.Context, min string, max string) ([]*entity.Ticket, error) } type TicketRepository interface { @@ -23,6 +28,10 @@ type TicketRepository interface { UpdateTicket(ctx context.Context, ticket *entity.Ticket) error SearchTicket(ctx context.Context, search string) ([]*entity.Ticket, error) DeleteTicket(ctx context.Context, id int64) error + FilterTicket(ctx context.Context, location string) ([]*entity.Ticket, error) + FilterTicketByCategory(ctx context.Context, category string) ([]*entity.Ticket, error) + FilterTicketByRangeTime(ctx context.Context, start string, end string) ([]*entity.Ticket, error) + FilterTicketByPrice(ctx context.Context, min string, max string) ([]*entity.Ticket, error) } // TicketService is responsible for ticket-related business logic. @@ -58,4 +67,24 @@ func (s *TicketService) DeleteTicket(ctx context.Context, id int64) error { // search ticket func (s *TicketService) SearchTicket(ctx context.Context, search string) ([]*entity.Ticket, error) { return s.Repository.SearchTicket(ctx, search) +} + +//filter ticket by location +func (s *TicketService) FilterTicket(ctx context.Context, location string) ([]*entity.Ticket, error) { + return s.Repository.FilterTicket(ctx, location) +} + +// filter ticket by category +func (s *TicketService) FilterTicketByCategory(ctx context.Context, category string) ([]*entity.Ticket, error) { + return s.Repository.FilterTicketByCategory(ctx, category) +} + +// filter ticket by range time (start - end) +func (s *TicketService) FilterTicketByRangeTime(ctx context.Context, start string, end string) ([]*entity.Ticket, error) { + return s.Repository.FilterTicketByRangeTime(ctx, start, end) +} + +// filter ticket by price (min - max) +func (s *TicketService) FilterTicketByPrice(ctx context.Context, min string, max string) ([]*entity.Ticket, error) { + return s.Repository.FilterTicketByPrice(ctx, min, max) } \ No newline at end of file diff --git a/output/Tiketing.postman_collection.json b/output/Tiketing.postman_collection.json index 1f3c6df..34b8079 100644 --- a/output/Tiketing.postman_collection.json +++ b/output/Tiketing.postman_collection.json @@ -464,6 +464,166 @@ } }, "response": [] + }, + { + "name": "Filter Location Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTE1NTA2OX0.pThwtF2i9GAGbwd-k35HWoOyCgdbZahe-ifUxdJjuGs", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket/location/GBK", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "location", + "GBK" + ] + } + }, + "response": [] + }, + { + "name": "Filter Ticket By Category", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTE1NTA2OX0.pThwtF2i9GAGbwd-k35HWoOyCgdbZahe-ifUxdJjuGs", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket/category/:category", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "category", + ":category" + ], + "variable": [ + { + "key": "category", + "value": "" + } + ] + } + }, + "response": [] + }, + { + "name": "Filter Ticket By Time", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTE1NTA2OX0.pThwtF2i9GAGbwd-k35HWoOyCgdbZahe-ifUxdJjuGs", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket/range/:start/:end", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "range", + ":start", + ":end" + ], + "variable": [ + { + "key": "start", + "value": "" + }, + { + "key": "end", + "value": "" + } + ] + } + }, + "response": [] + }, + { + "name": "Filter Ticket By Price", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTE1NTA2OX0.pThwtF2i9GAGbwd-k35HWoOyCgdbZahe-ifUxdJjuGs", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/ticket/price/:min/:max", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "ticket", + "price", + ":min", + ":max" + ], + "variable": [ + { + "key": "min", + "value": "" + }, + { + "key": "max", + "value": "" + } + ] + } + }, + "response": [] } ] }, From b342afce0dd06e5a33a13c786a48729551ed6474 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Tue, 28 Nov 2023 14:56:23 +0700 Subject: [PATCH 22/85] update history ticket by id --- internal/http/handler/order_handler.go | 27 ++++++++++++++++++++++++ internal/http/router/routes.go | 8 ++++++- internal/repository/order_repository.go | 10 +++++++++ internal/service/order_service.go | 9 +++++++- output/Tiketing.postman_collection.json | 28 +++++++++++++++++++++++++ 5 files changed, 80 insertions(+), 2 deletions(-) diff --git a/internal/http/handler/order_handler.go b/internal/http/handler/order_handler.go index b22e958..0df5df4 100644 --- a/internal/http/handler/order_handler.go +++ b/internal/http/handler/order_handler.go @@ -66,4 +66,31 @@ func (h *OrderHandler) GetAllOrders(ctx echo.Context) error { }) } +// get order by user_id +func (h *OrderHandler) GetOrderByUserID(ctx echo.Context) error { + // Implementasi untuk mendapatkan semua pesanan dari usecase + orders, err := h.orderService.GetOrders(ctx.Request().Context()) + if err != nil { + return ctx.JSON(http.StatusBadRequest, echo.NewHTTPError(http.StatusBadRequest, err.Error())) + } + + var orderDetails []map[string]interface{} + for _, order := range orders { + ticket, err := h.orderService.GetTicketByID(ctx.Request().Context(), order.TicketID) + if err != nil { + return ctx.JSON(http.StatusInternalServerError, echo.NewHTTPError(http.StatusInternalServerError, err.Error())) + } + + orderDetail := map[string]interface{}{ + "user_id": order.UserID, + "ticket": ticket, + } + orderDetails = append(orderDetails, orderDetail) + } + + return ctx.JSON(http.StatusOK, map[string]interface{}{ + "message": "Get all orders success", + "order_details": orderDetails, + }) +} diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 0e5c366..09f408b 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -147,6 +147,12 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Handler: OrderHandler.GetAllOrders, }, + { + Method: echo.GET, + Path: "/order/:id", + Handler: OrderHandler.GetOrderByUserID, + }, + //filter ticket by location { Method: echo.GET, @@ -170,7 +176,7 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Method: echo.GET, Path: "/ticket/price/:min/:max", Handler: TicketHandler.FilterTicketByPrice, - } + }, } } diff --git a/internal/repository/order_repository.go b/internal/repository/order_repository.go index 0865b81..c763798 100644 --- a/internal/repository/order_repository.go +++ b/internal/repository/order_repository.go @@ -61,3 +61,13 @@ func (r *OrderRepository) GetOrders(ctx context.Context) ([]*entity.Order, error } return orders, nil } + +// get order by user_id +func (r *OrderRepository) GetOrderByUserID(ctx context.Context, userID int64) ([]*entity.Order, error) { + orders := make([]*entity.Order, 0) + err := r.db.WithContext(ctx).Preload("Ticket").Where("user_id = ?", userID).Find(&orders).Error + if err != nil { + return nil, err + } + return orders, nil +} \ No newline at end of file diff --git a/internal/service/order_service.go b/internal/service/order_service.go index b0201e1..705d292 100644 --- a/internal/service/order_service.go +++ b/internal/service/order_service.go @@ -12,6 +12,7 @@ type OrderUsecase interface { UpdateTicket(ctx context.Context, ticket *entity.Ticket) error GetOrders(ctx context.Context) ([]*entity.Order, error) GetTicketByID(ctx context.Context, id int64) (*entity.Ticket, error) + GetOrderByUserID(ctx context.Context, userID int64) ([]*entity.Order, error) } type OrderRepository interface { @@ -20,6 +21,7 @@ type OrderRepository interface { UpdateTicket(ctx context.Context, ticket *entity.Ticket) error GetOrders(ctx context.Context) ([]*entity.Order, error) GetTicketByID(ctx context.Context, id int64) (*entity.Ticket, error) + GetOrderByUserID(ctx context.Context, userID int64) ([]*entity.Order, error) } type OrderService struct { @@ -79,4 +81,9 @@ func (s *OrderService) GetOrders(ctx context.Context) ([]*entity.Order, error) { func (s *OrderService) GetTicketByID(ctx context.Context, id int64) (*entity.Ticket, error) { return s.repository.GetTicketByID(ctx, id) -} \ No newline at end of file +} + +// get order by user_id +func (s *OrderService) GetOrderByUserID(ctx context.Context, userID int64) ([]*entity.Order, error) { + return s.repository.GetOrderByUserID(ctx, userID) +} diff --git a/output/Tiketing.postman_collection.json b/output/Tiketing.postman_collection.json index 34b8079..beb9ed8 100644 --- a/output/Tiketing.postman_collection.json +++ b/output/Tiketing.postman_collection.json @@ -914,6 +914,34 @@ } }, "response": [] + }, + { + "name": "Get Order By User_ID", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/order/:id", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "order", + ":id" + ], + "variable": [ + { + "key": "id", + "value": "" + } + ] + } + }, + "response": [] } ] }, From 0a6c6039023f5c7a8be650eb307c71b8f5f505be Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Tue, 28 Nov 2023 23:58:11 +0700 Subject: [PATCH 23/85] update v2 --- common/jwt.go | 1 + ...20231124164649_create_users_table.down.sql | 0 .../20231124164649_create_users_table.up.sql | 40 ---------------- entity/tiket.go | 32 +++++++------ internal/http/handler/user_hendler.go | 30 ++++-------- internal/http/router/routes.go | 25 +++++++++- internal/http/server/server.go | 48 ++++++++++++++++++- internal/http/validator/validator.go | 9 ++-- internal/repository/ticket_repository.go | 2 +- internal/service/auth_service.go | 17 ++++--- internal/service/token_service.go | 1 + output/Tiketing.postman_collection.json | 10 ++-- 12 files changed, 118 insertions(+), 97 deletions(-) delete mode 100644 db/migration-golang/20231124164649_create_users_table.down.sql delete mode 100644 db/migration-golang/20231124164649_create_users_table.up.sql diff --git a/common/jwt.go b/common/jwt.go index b85444f..bb54e55 100644 --- a/common/jwt.go +++ b/common/jwt.go @@ -12,5 +12,6 @@ type JwtCustomClaims struct { ID int64 `json:"id"` Name string `json:"name"` Email string `json:"email"` + Role string `json:"role"` jwt.RegisteredClaims // ini untuk exp at } diff --git a/db/migration-golang/20231124164649_create_users_table.down.sql b/db/migration-golang/20231124164649_create_users_table.down.sql deleted file mode 100644 index e69de29..0000000 diff --git a/db/migration-golang/20231124164649_create_users_table.up.sql b/db/migration-golang/20231124164649_create_users_table.up.sql deleted file mode 100644 index 3a55b65..0000000 --- a/db/migration-golang/20231124164649_create_users_table.up.sql +++ /dev/null @@ -1,40 +0,0 @@ --- membuat tabel user dengan field id, name, password,email -CREATE TABLE "public"."users" ( - id SERIAL NOT NULL, - name VARCHAR(255) NOT NULL, - password VARCHAR(255) NOT NULL, - email VARCHAR(255) NOT NULL, - number VARCHAR(255) NOT NULL, - roles VARCHAR(255) NOT NULL, - saldo INTEGER NOT NULL -); - -ALTER TABLE "public"."users" ADD CONSTRAINT "users_pkey" PRIMARY KEY ("id"); - --- membuat tabel ticket dengan field id, gambar, lokasi, tanggal_bulan_tahun, judul, deskripsi, harga_tiket, status_tiket, kuota_tiket -CREATE TABLE "public"."tickets" ( - ID SERIAL PRIMARY KEY, - Image TEXT, - Location TEXT, - Date DATE, - Title TEXT, - Description TEXT, - Price INT, - Status TEXT DEFAULT 'available', - Quota INT, - Created_At TIMESTAMP, - Updated_At TIMESTAMP, - Deleted_At TIMESTAMP -); - --- membuat table blog dengan field id, gambar, judul, deskripsi, tanggal_bulan_tahun -CREATE TABLE blogs ( - ID SERIAL PRIMARY KEY, - Image TEXT, - Date DATE, - Title TEXT, - Description TEXT, - Created_At TIMESTAMP, - Updated_At TIMESTAMP, - Deleted_At TIMESTAMP -); diff --git a/entity/tiket.go b/entity/tiket.go index 3a09eb3..f201bb8 100644 --- a/entity/tiket.go +++ b/entity/tiket.go @@ -5,35 +5,36 @@ import ( ) type Ticket struct { - ID int64 - Image string - Location string - Date string // Format: YYYY-MM-DD - Title string - Description string - Price int64 - Status string // e.g., 'available', 'sold out' - Quota int64 + ID int64 `json:"id"` + Image string `json:"image"` + Location string `json:"location"` + Date string // Format: YYYY-MM-DD + Title string `json:"title"` + Description string `json:"description"` + Price int64 `json:"price"` + Status string `json:"-"` // e.g., 'available', 'sold out' + Quota int64 `json:"-"` Category string // e.g., 'music', 'sport', 'conference' - CreatedAt time.Time - UpdatedAt time.Time - DeletedAt time.Time + CreatedAt time.Time `json:"-"` + UpdatedAt time.Time `json:"-"` + DeletedAt time.Time `json:"-"` } -func NewTicket(image, location, date, title, description string, price, quota int64) *Ticket { +func NewTicket(image, location, date, title, description, category string, price, quota int64) *Ticket { return &Ticket{ Image: image, Location: location, Date: date, Title: title, Description: description, + Category: category, Price: price, Quota: quota, CreatedAt: time.Now(), } } -func UpdateTicket(id int64, image, location, date, title, description string, price, quota int64) *Ticket { +func UpdateTicket(id int64, image, location, date, title, description, category string, price, quota int64) *Ticket { return &Ticket{ ID: id, Image: image, @@ -41,8 +42,9 @@ func UpdateTicket(id int64, image, location, date, title, description string, pr Date: date, Title: title, Description: description, + Category: category, Price: price, Quota: quota, - UpdatedAt: time.Now(), + CreatedAt: time.Now(), } } diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 1265b6a..b6e7e84 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -6,7 +6,6 @@ import ( "Ticketing/entity" "Ticketing/internal/http/validator" "Ticketing/internal/service" - "fmt" "net/http" "strconv" @@ -37,10 +36,10 @@ func (h *UserHandler) GetAllUser(ctx echo.Context) error { func (h *UserHandler) CreateUser(ctx echo.Context) error { var input struct { Name string `json:"name" validate:"required"` - Email string `json:"email" validate:"email"` - Number string `json:"number" validate:"min=11,max=13"` + Email string `json:"email"` + Number string `json:"number"` Roles string `json:"roles"` - Password string `json:"password" validate:"min=8"` + Password string `json:"password"` } //ini func untuk error checking if err := ctx.Bind(&input); err != nil { @@ -65,32 +64,19 @@ func (h *UserHandler) UpdateUser(ctx echo.Context) error { Roles string `json:"roles"` Password string `json:"password"` } + if err := ctx.Bind(&input); err != nil { return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) } - // Check if user exists - existingUser, err := h.userService.GetUserByID(ctx.Request().Context(), input.ID) - if err != nil { - // Handle the case when the user with the given ID doesn't exist - return ctx.JSON(http.StatusNotFound, map[string]interface{}{ - "message": "User not found", - }) - } - - // Update user details user := entity.UpdateUser(input.ID, input.Name, input.Email, input.Number, input.Roles, input.Password) - err = h.userService.UpdateUser(ctx.Request().Context(), user) + + err := h.userService.UpdateUser(ctx.Request().Context(), user) if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) + return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) } - fmt.Println(existingUser) - - return ctx.JSON(http.StatusOK, map[string]interface{}{ - "message": "User updated successfully", - "user": user, - }) + return ctx.JSON(http.StatusOK, map[string]string{"success": "succesfully update user"}) } // func untuk melakukan getUser by id diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 09f408b..c5c10ad 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -6,13 +6,24 @@ import ( "github.com/labstack/echo/v4" ) +const ( + Admin = "Admin" + Buyer = "Buyer" +) + +var ( + allRoles = []string{Admin, Buyer} + onlyAdmin = []string{Admin} + onlyBuyer = []string{Buyer} +) + // membuat struct route type Route struct { Method string Path string Handler echo.HandlerFunc + Role []string } - // membuat fungsi untuk mengembalikan route // pada func ini perlu login krna private func PublicRoutes(authHandler *handler.AuthHandler) []*Route { @@ -38,71 +49,83 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Method: echo.POST, Path: "/users", Handler: UserHandler.CreateUser, + Role: allRoles, }, { Method: echo.GET, Path: "/users", Handler: UserHandler.GetAllUser, + Role: onlyAdmin, }, { Method: echo.PUT, Path: "/users/:id", Handler: UserHandler.UpdateUser, + Role: allRoles, }, { Method: echo.GET, Path: "/users/:id", Handler: UserHandler.GetUserByID, + Role: allRoles, }, { Method: echo.DELETE, Path: "/users/:id", Handler: UserHandler.DeleteUser, + Role: allRoles, }, { Method: echo.POST, Path: "/ticket", Handler: TicketHandler.CreateTicket, + Role: onlyAdmin, }, { Method: echo.GET, Path: "/ticket", Handler: TicketHandler.GetAllTickets, + Role: allRoles, }, { Method: echo.PUT, Path: "/ticket/:id", Handler: TicketHandler.UpdateTicket, + Role: onlyAdmin, }, { Method: echo.GET, Path: "/ticket/:id", Handler: TicketHandler.GetTicket, + Role: allRoles, }, { Method: echo.DELETE, Path: "/ticket/:id", Handler: TicketHandler.DeleteTicket, + Role: onlyAdmin, }, { Method: echo.GET, Path: "/ticket/search/:search", Handler: TicketHandler.SearchTicket, + Role: allRoles, }, { Method: echo.POST, Path: "/blog", Handler: BlogHandler.CreateBlog, + Role: onlyBuyer, }, { diff --git a/internal/http/server/server.go b/internal/http/server/server.go index ae51d37..1ba9b7e 100644 --- a/internal/http/server/server.go +++ b/internal/http/server/server.go @@ -1,13 +1,17 @@ package server import ( + "Ticketing/common" "Ticketing/internal/config" "Ticketing/internal/http/binder" "Ticketing/internal/http/router" + "net/http" + "github.com/golang-jwt/jwt/v5" echojwt "github.com/labstack/echo-jwt/v4" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" + "golang.org/x/crypto/bcrypt" ) // merupakan struct dari eco @@ -40,21 +44,61 @@ func NewServer( //ketika sudah ingin menggunakan middleware, maka menambahkan private.Middleware. for _, private := range privateRoutes { - v1.Add(private.Method, private.Path, private.Handler, JWTprotected(cfg.JWT.SecretKey)) + v1.Add(private.Method, private.Path, private.Handler, JWTProtected(cfg.JWT.SecretKey), RBACMiddleware(private.Role...)) } //hedler untuk mengecek kesehatan server e.GET("/ping", func(c echo.Context) error { return c.String(200, "pong") }) + //handler untuk generate password secara manual + e.GET("/generate-password/:password", func(c echo.Context) error { + password := c.Param("password") + hashedPassword, _ := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost) + return c.String(200, string(hashedPassword)) + }) return &Server{e} } // func untuk pendeklarasian JWT Middleware -func JWTprotected(secretKey string) echo.MiddlewareFunc { +func JWTProtected(secretKey string) echo.MiddlewareFunc { return echojwt.WithConfig(echojwt.Config{ + NewClaimsFunc: func(c echo.Context) jwt.Claims { + return new(common.JwtCustomClaims) + }, SigningKey: []byte(secretKey), }) } + +// func untuk pendeklarasian RBAC Middleware +func RBACMiddleware(role ...string) echo.MiddlewareFunc { + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + user, ok := c.Get("user").(*jwt.Token) + if !ok { + return c.JSON(http.StatusUnauthorized, map[string]string{"error": "silahkan login terlebih dahulu"}) + } + + claims := user.Claims.(*common.JwtCustomClaims) + + // Check if the user has the required role + if !contains(role, claims.Role) { + return c.JSON(http.StatusForbidden, map[string]string{"error": "anda tidak diperbolehkan untuk mengakses resource ini"}) + } + + return next(c) + } + } +} + +// Helper function to check if a string is in a slice of strings +func contains(slice []string, s string) bool { + for _, value := range slice { + if value == s { + return true + } + } + return false +} diff --git a/internal/http/validator/validator.go b/internal/http/validator/validator.go index 01e1ab2..43610e5 100644 --- a/internal/http/validator/validator.go +++ b/internal/http/validator/validator.go @@ -45,12 +45,11 @@ func ValidatorErrors(err error) map[string]string { for _, err := range castedObject { switch err.Tag() { case "required": - fields[err.Field()] = fmt.Sprintf("%s harus diisi", err.Field()) - case "password": - // Validasi khusus untuk field "password" - fields[err.Field()] = "Password harus mengandung setidaknya satu huruf besar dan satu digit" + fields[err.Field()] = fmt.Sprintf("field %s harus di isi", err.Field()) + case "oneof": + fields[err.Field()] = fmt.Sprintf("field %s harus memiliki salah satu dari nilai: %s", err.Field(), err.Param()) default: - fields[err.Field()] = fmt.Sprintf("Kesalahan pada %s dengan tag %s seharusnya %s", err.Field(), err.Tag(), err.Param()) + fields[err.Field()] = fmt.Sprintf("%s error with tag %s should be %s", err.Field(), err.Tag(), err.Param()) } } } diff --git a/internal/repository/ticket_repository.go b/internal/repository/ticket_repository.go index 3f8fbcd..78f5962 100644 --- a/internal/repository/ticket_repository.go +++ b/internal/repository/ticket_repository.go @@ -108,7 +108,7 @@ func (r *TicketRepository) FilterTicketByRangeTime(ctx context.Context, start st } // filter ticket by price (min - max) -func (r *TicketRepository) FilterTicketByPrice(ctx context.Context, min int64, max int64) ([]*entity.Ticket, error) { +func (r *TicketRepository) FilterTicketByPrice(ctx context.Context, min string, max string) ([]*entity.Ticket, error) { tickets := make([]*entity.Ticket, 0) result := r.db.WithContext(ctx).Where("price >= ? AND price <= ?", min, max).Find(&tickets) if result.Error != nil { diff --git a/internal/service/auth_service.go b/internal/service/auth_service.go index 5038159..748d617 100644 --- a/internal/service/auth_service.go +++ b/internal/service/auth_service.go @@ -4,9 +4,11 @@ import ( "Ticketing/entity" "context" "errors" + + "golang.org/x/crypto/bcrypt" ) -//login +// login type LoginUseCase interface { Login(ctx context.Context, email string, password string) (*entity.User, error) } @@ -38,17 +40,15 @@ func (s *loginService) Login(ctx context.Context, email string, password string) } //untuk pengecekan apakah password nya ada atau gaa di databse? - if user.Password != password { + err = bcrypt.CompareHashAndPassword([]byte(user.Password), []byte(password)) + if err != nil { return nil, errors.New("incorrect login credentials") } - //ketika email dan passwerd sama maka akan mengembalikan nil return user, nil } - - // register type RegistrationUseCase interface { Registration(ctx context.Context, user *entity.User) error @@ -70,6 +70,11 @@ func NewRegistrationService(repository RegistrationRepository) *registrationServ } func (s *registrationService) Registration(ctx context.Context, user *entity.User) error { + hashedPassword, err := bcrypt.GenerateFromPassword([]byte(user.Password), bcrypt.DefaultCost) + if err != nil { + return err + } + user.Password = string(hashedPassword) return s.repository.Registration(ctx, user) -} \ No newline at end of file +} diff --git a/internal/service/token_service.go b/internal/service/token_service.go index 8782014..a1e3805 100644 --- a/internal/service/token_service.go +++ b/internal/service/token_service.go @@ -31,6 +31,7 @@ func (s *TokenService) GenerateAccessToken(ctx context.Context, user *entity.Use ID: user.ID, Name: user.Name, Email: user.Email, + Role: user.Roles, RegisteredClaims: jwt.RegisteredClaims{ ExpiresAt: jwt.NewNumericDate(expiredTime), }, diff --git a/output/Tiketing.postman_collection.json b/output/Tiketing.postman_collection.json index beb9ed8..76a7a9c 100644 --- a/output/Tiketing.postman_collection.json +++ b/output/Tiketing.postman_collection.json @@ -17,7 +17,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"name\" : \"rezaaa1aa\",\r\n \"email\" : \"reza1223a@gmail.com\",\r\n \"roles\" : \"customer\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "raw": "{\r\n \"name\" : \"Admin\",\r\n \"email\" : \"Admin@gmail.com\",\r\n \"roles\" : \"Admin\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", "options": { "raw": { "language": "json" @@ -47,7 +47,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"email\" : \"reza1223a@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "raw": "{\r\n \"email\" : \"Admin@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", "options": { "raw": { "language": "json" @@ -83,7 +83,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAxMjE0MH0.wTnqMw_aC5ydiKOqCUk41UsLYSypwcmqpVdpJjWSWUU", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkFkbWluIiwiZW1haWwiOiJBZG1pbkBnbWFpbC5jb20iLCJyb2xlIjoiQWRtaW4iLCJleHAiOjE3MDExOTExMTZ9.a-tEEG2VV0rEbRCblc-V2xsu6N6EQIU7YVQ81kGWTZY", "type": "string" } ] @@ -123,7 +123,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAxMjE0MH0.wTnqMw_aC5ydiKOqCUk41UsLYSypwcmqpVdpJjWSWUU", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkFkbWluIiwiZW1haWwiOiJBZG1pbkBnbWFpbC5jb20iLCJyb2xlIjoiQWRtaW4iLCJleHAiOjE3MDExOTExMTZ9.a-tEEG2VV0rEbRCblc-V2xsu6N6EQIU7YVQ81kGWTZY", "type": "string" } ] @@ -154,7 +154,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkFkbWluIiwiZW1haWwiOiJBZG1pbkBnbWFpbC5jb20iLCJyb2xlIjoiQWRtaW4iLCJleHAiOjE3MDExOTExMTZ9.a-tEEG2VV0rEbRCblc-V2xsu6N6EQIU7YVQ81kGWTZY", "type": "string" } ] From e9c0200097504acfff8fb6273a20582fa5e56b70 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Wed, 29 Nov 2023 18:47:18 +0700 Subject: [PATCH 24/85] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f1ee5a7..118da00 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Capstone-3: Aplikasi Backend Pemesanan Tiket - +test ravita By : Golang - Kelompok 3 Dalam proyek capstone ini, tujuan utamanya adalah untuk memberikan pengalaman baru kepada peserta, serta mengimplementasikan Metode Scrum dalam pengembangan produk digital. Proyek ini akan dilakukan dalam bentuk kelompok dan fokus pada pengembangan bagian Back End. From adce6dbf0d9f09d964d04c65dc66a184610f6523 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Wed, 29 Nov 2023 18:55:50 +0700 Subject: [PATCH 25/85] update readme belahar --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f1ee5a7..f0c09ec 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ By : Golang - Kelompok 3 +# reza + Dalam proyek capstone ini, tujuan utamanya adalah untuk memberikan pengalaman baru kepada peserta, serta mengimplementasikan Metode Scrum dalam pengembangan produk digital. Proyek ini akan dilakukan dalam bentuk kelompok dan fokus pada pengembangan bagian Back End. ## Tujuan Utama Proyek From f9954fec17ae4e43703c6575d3e3d00d3df1d0e4 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Wed, 29 Nov 2023 19:10:46 +0700 Subject: [PATCH 26/85] update readme belahar --- internal/http/handler/user_hendler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index b6e7e84..38a0ed7 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -38,7 +38,7 @@ func (h *UserHandler) CreateUser(ctx echo.Context) error { Name string `json:"name" validate:"required"` Email string `json:"email"` Number string `json:"number"` - Roles string `json:"roles"` + Roles string `json:"roles" validate:"required"` Password string `json:"password"` } //ini func untuk error checking From 8f653e999d684899afbd17b1d1f78d01910d0e92 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Wed, 29 Nov 2023 19:16:28 +0700 Subject: [PATCH 27/85] Update Roles --- internal/http/handler/user_hendler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 38a0ed7..7036323 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -38,7 +38,7 @@ func (h *UserHandler) CreateUser(ctx echo.Context) error { Name string `json:"name" validate:"required"` Email string `json:"email"` Number string `json:"number"` - Roles string `json:"roles" validate:"required"` + Roles string `json:"roles" validate:"oneof=Admin Buyer"` Password string `json:"password"` } //ini func untuk error checking From 7ced1ee0e7db6d5824dbed595e8a84449e827564 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Wed, 29 Nov 2023 19:21:24 +0700 Subject: [PATCH 28/85] update comment di roles --- internal/http/handler/user_hendler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 7036323..941bdd1 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -32,7 +32,7 @@ func (h *UserHandler) GetAllUser(ctx echo.Context) error { }) } -// func untuk melakukan createUser +// func untuk melakukan createUser update versi reza func (h *UserHandler) CreateUser(ctx echo.Context) error { var input struct { Name string `json:"name" validate:"required"` From ab375256c14bf22b8819362a9e58a2756dc0555e Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Wed, 29 Nov 2023 19:29:02 +0700 Subject: [PATCH 29/85] reza --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 118da00..f1ee5a7 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Capstone-3: Aplikasi Backend Pemesanan Tiket -test ravita + By : Golang - Kelompok 3 Dalam proyek capstone ini, tujuan utamanya adalah untuk memberikan pengalaman baru kepada peserta, serta mengimplementasikan Metode Scrum dalam pengembangan produk digital. Proyek ini akan dilakukan dalam bentuk kelompok dan fokus pada pengembangan bagian Back End. From eb3bd79081750a7c025d01fffa1ed5f60ceed9f7 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Wed, 29 Nov 2023 19:30:49 +0700 Subject: [PATCH 30/85] update reza role v2 --- internal/http/handler/user_hendler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 941bdd1..5a134d7 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -32,7 +32,7 @@ func (h *UserHandler) GetAllUser(ctx echo.Context) error { }) } -// func untuk melakukan createUser update versi reza +// func untuk melakukan createUser update versi reza v1 func (h *UserHandler) CreateUser(ctx echo.Context) error { var input struct { Name string `json:"name" validate:"required"` From 946fdaa7657de6835bac8852ba0e091f2ca00739 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Wed, 29 Nov 2023 19:38:34 +0700 Subject: [PATCH 31/85] update comment di roles v3 --- internal/http/handler/user_hendler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 5a134d7..bbc6c8f 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -32,7 +32,7 @@ func (h *UserHandler) GetAllUser(ctx echo.Context) error { }) } -// func untuk melakukan createUser update versi reza v1 +// func untuk melakukan createUser update versi reza v3 func (h *UserHandler) CreateUser(ctx echo.Context) error { var input struct { Name string `json:"name" validate:"required"` From 888f0ea3098ce272f15843961919112c814a0209 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Wed, 29 Nov 2023 19:39:55 +0700 Subject: [PATCH 32/85] update comment di roles v4 --- internal/http/handler/user_hendler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index bbc6c8f..482ee1c 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -32,7 +32,7 @@ func (h *UserHandler) GetAllUser(ctx echo.Context) error { }) } -// func untuk melakukan createUser update versi reza v3 +// func untuk melakukan createUser update versi reza v4 func (h *UserHandler) CreateUser(ctx echo.Context) error { var input struct { Name string `json:"name" validate:"required"` From 1630a334dfc970cd0152ea5a6d645b3854445af6 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Wed, 29 Nov 2023 19:42:09 +0700 Subject: [PATCH 33/85] update reza role v5 --- internal/http/handler/user_hendler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 482ee1c..95a93f4 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -32,7 +32,7 @@ func (h *UserHandler) GetAllUser(ctx echo.Context) error { }) } -// func untuk melakukan createUser update versi reza v4 +// func untuk melakukan createUser update versi reza v5 halo func (h *UserHandler) CreateUser(ctx echo.Context) error { var input struct { Name string `json:"name" validate:"required"` From 4a4f8449df1b1569d3376bb9ad96cf9e9c1280a9 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Wed, 29 Nov 2023 20:10:20 +0700 Subject: [PATCH 34/85] update router dan db --- ...36_add_several_field_in_users_table.down.sql | 9 --------- ...5436_add_several_field_in_users_table.up.sql | 8 -------- .../20231127065801_create_users_tabel.up.sql | 1 - internal/http/router/routes.go | 17 +++++++++++++++-- 4 files changed, 15 insertions(+), 20 deletions(-) delete mode 100644 db/migration-golang/20231125125436_add_several_field_in_users_table.down.sql delete mode 100644 db/migration-golang/20231125125436_add_several_field_in_users_table.up.sql diff --git a/db/migration-golang/20231125125436_add_several_field_in_users_table.down.sql b/db/migration-golang/20231125125436_add_several_field_in_users_table.down.sql deleted file mode 100644 index 4b7179c..0000000 --- a/db/migration-golang/20231125125436_add_several_field_in_users_table.down.sql +++ /dev/null @@ -1,9 +0,0 @@ -BEGIN; - - -ALTER TABLE "public"."users" -DROP COLUMN IF EXISTS created_at, -DROP COLUMN IF EXISTS updated_at, -DROP COLUMN IF EXISTS deleted_at; - -COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231125125436_add_several_field_in_users_table.up.sql b/db/migration-golang/20231125125436_add_several_field_in_users_table.up.sql deleted file mode 100644 index 08afe07..0000000 --- a/db/migration-golang/20231125125436_add_several_field_in_users_table.up.sql +++ /dev/null @@ -1,8 +0,0 @@ -BEGIN; - -ALTER TABLE "public"."users" -ADD COLUMN created_at timestamptz (6), -ADD COLUMN updated_at timestamptz (6), -ADD COLUMN deleted_at timestamptz (6); - -COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231127065801_create_users_tabel.up.sql b/db/migration-golang/20231127065801_create_users_tabel.up.sql index 5166ad0..357e020 100644 --- a/db/migration-golang/20231127065801_create_users_tabel.up.sql +++ b/db/migration-golang/20231127065801_create_users_tabel.up.sql @@ -1,5 +1,4 @@ BEGIN; -BEGIN; CREATE TABLE IF NOT EXISTS "public"."users" ( "id" SERIAL NOT NULL PRIMARY KEY, "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index c5c10ad..37459b8 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -24,6 +24,7 @@ type Route struct { Handler echo.HandlerFunc Role []string } + // membuat fungsi untuk mengembalikan route // pada func ini perlu login krna private func PublicRoutes(authHandler *handler.AuthHandler) []*Route { @@ -77,7 +78,7 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Method: echo.DELETE, Path: "/users/:id", Handler: UserHandler.DeleteUser, - Role: allRoles, + Role: onlyAdmin, }, { Method: echo.POST, @@ -125,55 +126,63 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Method: echo.POST, Path: "/blog", Handler: BlogHandler.CreateBlog, - Role: onlyBuyer, + Role: onlyAdmin, }, { Method: echo.GET, Path: "/blog", Handler: BlogHandler.GetAllBlogs, + Role: allRoles, }, { Method: echo.PUT, Path: "/blog/:id", Handler: BlogHandler.UpdateBlog, + Role: onlyAdmin, }, { Method: echo.GET, Path: "/blog/:id", Handler: BlogHandler.GetBlog, + Role: allRoles, }, { Method: echo.DELETE, Path: "/blog/:id", Handler: BlogHandler.DeleteBlog, + Role: onlyAdmin, }, { Method: echo.GET, Path: "/blog/search/:search", Handler: BlogHandler.SearchBlog, + Role: allRoles, }, { Method: echo.POST, Path: "/order", Handler: OrderHandler.CreateOrder, + Role: onlyBuyer, }, { Method: echo.GET, Path: "/order", Handler: OrderHandler.GetAllOrders, + Role: allRoles, }, { Method: echo.GET, Path: "/order/:id", Handler: OrderHandler.GetOrderByUserID, + Role: allRoles, }, //filter ticket by location @@ -181,24 +190,28 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Method: echo.GET, Path: "/ticket/location/:location", Handler: TicketHandler.FilterTicket, + Role: allRoles, }, // filter ticket by category { Method: echo.GET, Path: "/ticket/category/:category", Handler: TicketHandler.FilterTicketByCategory, + Role: allRoles, }, // filter ticket by range time (start - end) { Method: echo.GET, Path: "/ticket/range/:start/:end", Handler: TicketHandler.FilterTicketByRangeTime, + Role: allRoles, }, // filter ticket by price (min - max) { Method: echo.GET, Path: "/ticket/price/:min/:max", Handler: TicketHandler.FilterTicketByPrice, + Role: allRoles, }, } } From 47d075fa04289d0a7c8665495f1eb485197e0ed4 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Wed, 29 Nov 2023 20:46:34 +0700 Subject: [PATCH 35/85] update handler_user, repo_user, service_user, dan route --- internal/http/handler/user_hendler.go | 41 ++++++++++++++++++++++++++ internal/http/router/routes.go | 7 +++++ internal/repository/user_repository.go | 14 ++++++++- internal/service/user_service.go | 9 ++++-- 4 files changed, 68 insertions(+), 3 deletions(-) diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 95a93f4..2958aa5 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -9,6 +9,7 @@ import ( "net/http" "strconv" + "github.com/golang-jwt/jwt" "github.com/labstack/echo/v4" ) @@ -127,3 +128,43 @@ func (h *UserHandler) DeleteUser(ctx echo.Context) error { "message": "User deleted successfully", }) } + +// Update User Self +func (h *UserHandler) UpdateUserSelf(ctx echo.Context) error { + var input struct { + ID int64 `param:"id" validate:"required"` + Name string `json:"name"` + Email string `json:"email"` + Number string `json:"number"` + Roles string `json:"roles" validate:"oneof=Admin Buyer"` + Password string `json:"password"` + } + + // Mengambil nilai 'claims' dari JWT token + claims, ok := ctx.Get("user").(*jwt.Token) + if !ok { + return ctx.JSON(http.StatusInternalServerError, "unable to get user claims") + } + + // Mendapatkan nilai 'ID' dari klaim + userID, ok := claims.Claims.(jwt.MapClaims)["id"].(float64) + if !ok { + return ctx.JSON(http.StatusInternalServerError, "unable to get user ID from claims") + } + + // Membandingkan ID yang diterima dari input dengan ID dari klaim + if int64(userID) != input.ID { + return ctx.JSON(http.StatusUnprocessableEntity, "you can't update this user") + } + + // Update user + user := entity.UpdateUser(input.ID, input.Name, input.Email, input.Number, input.Roles, input.Password) + + // Memanggil service untuk update user + err := h.userService.UpdateUser(ctx.Request().Context(), user) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) + } + + return ctx.JSON(http.StatusOK, map[string]string{"success": "successfully update user"}) +} diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 37459b8..21cf1d8 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -80,6 +80,13 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Handler: UserHandler.DeleteUser, Role: onlyAdmin, }, + + { + Method: echo.PUT, + Path: "/users/self", + Handler: UserHandler.UpdateUserSelf, + Role: allRoles, + }, { Method: echo.POST, Path: "/ticket", diff --git a/internal/repository/user_repository.go b/internal/repository/user_repository.go index 2c36eb6..a08e345 100644 --- a/internal/repository/user_repository.go +++ b/internal/repository/user_repository.go @@ -1,4 +1,5 @@ package repository + // NOTE : // FOLDER INI UNTUK MENANGANI KE BAGIAN DATABASE DAN QUERY import ( @@ -80,4 +81,15 @@ func (r *UserRepository) GetByEmail(ctx context.Context, email string) (*entity. return nil, errors.New("user with that email not found") } return user, nil -} \ No newline at end of file +} + +// Update User Self +func (r *UserRepository) UpdateUserSelf(ctx context.Context, user *entity.User) error { + if err := r.db.WithContext(ctx). + Model(&entity.User{}). + Where("id = ?", user.ID). + Updates(&user).Error; err != nil { + return err + } + return nil +} diff --git a/internal/service/user_service.go b/internal/service/user_service.go index 0b0eea9..7b60c8c 100644 --- a/internal/service/user_service.go +++ b/internal/service/user_service.go @@ -1,4 +1,5 @@ package service + //NOTE : // FOLDER INI UNTUK MENANGANI LOGIC DAN MEMANGGIL REPOSITORY import ( @@ -15,6 +16,7 @@ type UserUsecase interface { UpdateUser(ctx context.Context, user *entity.User) error GetUserByID(ctx context.Context, id int64) (*entity.User, error) Delete(ctx context.Context, id int64) error + UpdateUserSelf(ctx context.Context, user *entity.User) error } // interface untuk repository @@ -26,6 +28,7 @@ type UserRepository interface { UpdateUser(ctx context.Context, user *entity.User) error GetUserByID(ctx context.Context, id int64) (*entity.User, error) Delete(ctx context.Context, id int64) error + UpdateUserSelf(ctx context.Context, user *entity.User) error } // code di line 23 merupakan dependency injection, karena repository tidak langsung di panggil. @@ -67,5 +70,7 @@ func (s *UserService) Delete(ctx context.Context, id int64) error { return s.repository.Delete(ctx, id) } - - +// Update User Self +func (s *UserService) UpdateUserSelf(ctx context.Context, user *entity.User) error { + return s.repository.UpdateUser(ctx, user) +} From 203ed583c748ae0caedbdc7788d22e203584e4ec Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Wed, 29 Nov 2023 21:11:53 +0700 Subject: [PATCH 36/85] update user_handler --- internal/http/handler/user_hendler.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 2958aa5..0240f06 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -37,8 +37,8 @@ func (h *UserHandler) GetAllUser(ctx echo.Context) error { func (h *UserHandler) CreateUser(ctx echo.Context) error { var input struct { Name string `json:"name" validate:"required"` - Email string `json:"email"` - Number string `json:"number"` + Email string `json:"email" validate:"email"` + Number string `json:"number" validate:"min=11,max=13"` Roles string `json:"roles" validate:"oneof=Admin Buyer"` Password string `json:"password"` } @@ -60,9 +60,9 @@ func (h *UserHandler) UpdateUser(ctx echo.Context) error { var input struct { ID int64 `param:"id" validate:"required"` Name string `json:"name"` - Email string `json:"email"` - Number string `json:"number"` - Roles string `json:"roles"` + Email string `json:"email" validate:"email"` + Number string `json:"number" validate:"min=11,max=13"` + Roles string `json:"roles" validate:"oneof=Admin Buyer"` Password string `json:"password"` } @@ -134,8 +134,8 @@ func (h *UserHandler) UpdateUserSelf(ctx echo.Context) error { var input struct { ID int64 `param:"id" validate:"required"` Name string `json:"name"` - Email string `json:"email"` - Number string `json:"number"` + Email string `json:"email" validate:"email"` + Number string `json:"number" ate:"min=11,max=13"` Roles string `json:"roles" validate:"oneof=Admin Buyer"` Password string `json:"password"` } From d19bb26a88c90d2e04e817b7a7fe5d9d61a971fa Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Wed, 29 Nov 2023 22:49:53 +0700 Subject: [PATCH 37/85] update fitur tiket --- entity/tiket.go | 25 ++--- internal/http/handler/ticket_handler.go | 130 ++++++++++++++++++++++- internal/http/router/routes.go | 28 +++++ internal/repository/ticket_repository.go | 43 +++++++- internal/service/ticket_services.go | 33 +++++- 5 files changed, 238 insertions(+), 21 deletions(-) diff --git a/entity/tiket.go b/entity/tiket.go index f201bb8..e2a6a5d 100644 --- a/entity/tiket.go +++ b/entity/tiket.go @@ -5,19 +5,20 @@ import ( ) type Ticket struct { - ID int64 `json:"id"` - Image string `json:"image"` - Location string `json:"location"` - Date string // Format: YYYY-MM-DD - Title string `json:"title"` - Description string `json:"description"` - Price int64 `json:"price"` - Status string `json:"-"` // e.g., 'available', 'sold out' - Quota int64 `json:"-"` + ID int64 `json:"id"` + Image string `json:"image"` + Location string `json:"location"` + Date string // Format: YYYY-MM-DD + Title string `json:"title"` + Description string `json:"description"` + Price int64 `json:"price"` + Status string `json:"-"` // e.g., 'available', 'sold out' + Quota int64 `json:"-"` Category string // e.g., 'music', 'sport', 'conference' - CreatedAt time.Time `json:"-"` - UpdatedAt time.Time `json:"-"` - DeletedAt time.Time `json:"-"` + // Limit int64 `json:"limit"` // e.g., 1000, 5000, 10000 + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"-"` + DeletedAt time.Time `json:"-"` } func NewTicket(image, location, date, title, description, category string, price, quota int64) *Ticket { diff --git a/internal/http/handler/ticket_handler.go b/internal/http/handler/ticket_handler.go index 8ed130f..90db3d0 100644 --- a/internal/http/handler/ticket_handler.go +++ b/internal/http/handler/ticket_handler.go @@ -43,7 +43,7 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Date time.Time `json:"date"` Price float64 `json:"price"` Quota int `json:"quota"` - Category string `json:"category"` + Category string `json:"category"` } // Input validation @@ -63,7 +63,7 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Date: dateStr, // Assign the formatted date string Price: int64(input.Price), Quota: int64(input.Quota), - Category: input.Category, + Category: input.Category, CreatedAt: time.Now(), } @@ -122,7 +122,7 @@ func (h *TicketHandler) UpdateTicket(c echo.Context) error { Date time.Time `json:"date"` Price float64 `json:"price"` Quota int `json:"quota"` - Category string `json:"category"` + Category string `json:"category"` } if err := c.Bind(&input); err != nil { @@ -142,7 +142,7 @@ func (h *TicketHandler) UpdateTicket(c echo.Context) error { Date: dateStr, // Assign the formatted date string Price: int64(input.Price), // Convert Price to int64 if needed Quota: int64(input.Quota), // Convert Quota to int64 if needed - Category: input.Category, + Category: input.Category, } err := h.ticketService.UpdateTicket(c.Request().Context(), &ticket) @@ -276,4 +276,124 @@ func (h *TicketHandler) FilterTicketByPrice(c echo.Context) error { return c.JSON(http.StatusOK, map[string]interface{}{ "data": tickets, }) -} \ No newline at end of file +} + +// filter ticket dari yang paling banyak dibeli +// INI MASIH ERORR PAS RUN TEST POSTMANT!!!!!!!!!!!! +func (h *TicketHandler) FilterTicketByMostBought(c echo.Context) error { + // var input struct { + // Limit int64 `param:"limit" validate:"required"` + // } + + // Membaca parameter 'sort' dari URL + sortParam := c.QueryParam("sort") + + // Memastikan bahwa parameter sort adalah 'terbaru' + if sortParam != "terfavorit" { + return c.JSON(http.StatusBadRequest, map[string]string{"error": "Invalid sort parameter"}) + } + + // if err := c.Bind(&input); err != nil { + // return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + // } + + // Memanggil service untuk mengurutkan tiket + tickets, err := h.ticketService.SortTicketByNewest(c.Request().Context()) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + var ticketResponses []map[string]interface{} + for _, ticket := range tickets { + ticketResponses = append(ticketResponses, map[string]interface{}{ + "id": ticket.ID, + "title": ticket.Title, + "description": ticket.Description, + "image": ticket.Image, + "location": ticket.Location, + "date": ticket.Date, + "price": ticket.Price, + "quota": ticket.Quota, + "category": ticket.Category, + "created": ticket.CreatedAt, + }) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": ticketResponses, + }) +} + +// tickets, err := h.ticketService.FilterTicketByMostBought(c.Request().Context(), input.Limit) +// if err != nil { +// return c.JSON(http.StatusUnprocessableEntity, err) +// } + +// return c.JSON(http.StatusOK, map[string]interface{}{ +// "data": tickets, +// }) + +// sortir tiket dari yang terbaru +// INI MASIH ERORR PAS RUN TEST POSTMANT!!!!!!!!!!!! +func (h *TicketHandler) SortTicketByNewest(c echo.Context) error { + // Membaca parameter 'sort' dari URL + sortParam := c.QueryParam("sort") + + // Memastikan bahwa parameter sort adalah 'terbaru' + if sortParam != "terbaru" { + return c.JSON(http.StatusBadRequest, map[string]string{"error": "Invalid sort parameter"}) + } + + // Memanggil service untuk mengurutkan tiket + tickets, err := h.ticketService.SortTicketByNewest(c.Request().Context()) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": tickets, + }) +} + +// sortir tiket dari yang termurah +// ERROR DI LOGIKA NYA KAYA NYA. +func (h *TicketHandler) SortTicketByCheapest(c echo.Context) error { + // Membaca parameter 'sort' dari URL + sortParam := c.QueryParam("sort") + + // Memastikan bahwa parameter sort adalah 'termurah' + if sortParam != "termurah" { + return c.JSON(http.StatusBadRequest, map[string]string{"error": "Invalid sort parameter"}) + } + + // Memanggil service untuk mengurutkan tiket dari yang termurah + tickets, err := h.ticketService.SortTicketByCheapest(c.Request().Context()) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": tickets, + }) +} + +// sortir dari yang termahal +func (h *TicketHandler) SortTicketByMostExpensive(c echo.Context) error { + // Membaca parameter 'sort' dari URL + sortParam := c.QueryParam("sort") + + // Memastikan bahwa parameter sort adalah 'termurah' + if sortParam != "termahal" { + return c.JSON(http.StatusBadRequest, map[string]string{"error": "Invalid sort parameter"}) + } + + // Memanggil service untuk mengurutkan tiket dari yang termurah + tickets, err := h.ticketService.SortTicketByMostExpensive(c.Request().Context()) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": tickets, + }) +} diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 21cf1d8..53817db 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -220,6 +220,34 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Handler: TicketHandler.FilterTicketByPrice, Role: allRoles, }, + // filter ticket by most bought + { + Method: echo.GET, + Path: "/ticket/most-bought", + Handler: TicketHandler.FilterTicketByMostBought, + Role: allRoles, + }, + //sortir tiket dari yang terbaru + { + Method: echo.GET, + Path: "/tickets", + Handler: TicketHandler.SortTicketByNewest, + Role: allRoles, + }, + //sortir tiket dari yang termurah + { + Method: echo.GET, + Path: "/tickets/cheapest", + Handler: TicketHandler.SortTicketByCheapest, + Role: allRoles, + }, + //sortir tiket dari yang termahal + { + Method: echo.GET, + Path: "/tickets/most-expensive", + Handler: TicketHandler.SortTicketByMostExpensive, + Role: allRoles, + }, } } diff --git a/internal/repository/ticket_repository.go b/internal/repository/ticket_repository.go index 78f5962..c3def62 100644 --- a/internal/repository/ticket_repository.go +++ b/internal/repository/ticket_repository.go @@ -1,4 +1,5 @@ package repository + // NOTE : // FOLDER INI UNTUK MENANGANI KE BAGIAN DATABASE DAN QUERY import ( @@ -115,4 +116,44 @@ func (r *TicketRepository) FilterTicketByPrice(ctx context.Context, min string, return nil, result.Error } return tickets, nil -} \ No newline at end of file +} + +// filter ticket dari yang paling banyak dibeli +func (r *TicketRepository) FilterTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) { + tickets := make([]*entity.Ticket, 0) + result := r.db.WithContext(ctx).Order("quota DESC").Find(&tickets) + if result.Error != nil { + return nil, result.Error + } + return tickets, nil +} + +// sortir tiket dari yang terbaru +func (r *TicketRepository) SortTicketByNewest(ctx context.Context) ([]*entity.Ticket, error) { + tickets := make([]*entity.Ticket, 0) + result := r.db.WithContext(ctx).Order("created_at DESC").Find(&tickets) + if result.Error != nil { + return nil, result.Error + } + return tickets, nil +} + +// sortir tiket dari yang termurah +func (r *TicketRepository) SortTicketByCheapest(ctx context.Context) ([]*entity.Ticket, error) { + tickets := make([]*entity.Ticket, 0) + result := r.db.WithContext(ctx).Order("price ASC").Find(&tickets) + if result.Error != nil { + return nil, result.Error + } + return tickets, nil +} + +// sortir dari yang termahal +func (r *TicketRepository) SortTicketByMostExpensive(ctx context.Context) ([]*entity.Ticket, error) { + tickets := make([]*entity.Ticket, 0) + result := r.db.WithContext(ctx).Order("price DESC").Find(&tickets) + if result.Error != nil { + return nil, result.Error + } + return tickets, nil +} diff --git a/internal/service/ticket_services.go b/internal/service/ticket_services.go index ad9fb99..bfcda8c 100644 --- a/internal/service/ticket_services.go +++ b/internal/service/ticket_services.go @@ -4,7 +4,6 @@ import ( "context" "Ticketing/entity" - ) // TicketUseCase is an interface for ticket-related use cases. @@ -19,6 +18,10 @@ type TicketUseCase interface { FilterTicketByCategory(ctx context.Context, category string) ([]*entity.Ticket, error) FilterTicketByRangeTime(ctx context.Context, start string, end string) ([]*entity.Ticket, error) FilterTicketByPrice(ctx context.Context, min string, max string) ([]*entity.Ticket, error) + FilterTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) + SortTicketByNewest(ctx context.Context) ([]*entity.Ticket, error) + SortTicketByCheapest(ctx context.Context) ([]*entity.Ticket, error) + SortTicketByMostExpensive(ctx context.Context) ([]*entity.Ticket, error) } type TicketRepository interface { @@ -32,6 +35,10 @@ type TicketRepository interface { FilterTicketByCategory(ctx context.Context, category string) ([]*entity.Ticket, error) FilterTicketByRangeTime(ctx context.Context, start string, end string) ([]*entity.Ticket, error) FilterTicketByPrice(ctx context.Context, min string, max string) ([]*entity.Ticket, error) + FilterTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) + SortTicketByNewest(ctx context.Context) ([]*entity.Ticket, error) + SortTicketByCheapest(ctx context.Context) ([]*entity.Ticket, error) + SortTicketByMostExpensive(ctx context.Context) ([]*entity.Ticket, error) } // TicketService is responsible for ticket-related business logic. @@ -69,7 +76,7 @@ func (s *TicketService) SearchTicket(ctx context.Context, search string) ([]*ent return s.Repository.SearchTicket(ctx, search) } -//filter ticket by location +// filter ticket by location func (s *TicketService) FilterTicket(ctx context.Context, location string) ([]*entity.Ticket, error) { return s.Repository.FilterTicket(ctx, location) } @@ -87,4 +94,24 @@ func (s *TicketService) FilterTicketByRangeTime(ctx context.Context, start strin // filter ticket by price (min - max) func (s *TicketService) FilterTicketByPrice(ctx context.Context, min string, max string) ([]*entity.Ticket, error) { return s.Repository.FilterTicketByPrice(ctx, min, max) -} \ No newline at end of file +} + +// filter ticket by most bought +func (s *TicketService) FilterTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) { + return s.Repository.FilterTicketByMostBought(ctx) +} + +// sortir tiket dari yang terbaru +func (s *TicketService) SortTicketByNewest(ctx context.Context) ([]*entity.Ticket, error) { + return s.Repository.SortTicketByNewest(ctx) +} + +// sortir tiket dari yang termurah +func (s *TicketService) SortTicketByCheapest(ctx context.Context) ([]*entity.Ticket, error) { + return s.Repository.SortTicketByCheapest(ctx) +} + +// sortir dari yang termahal +func (s *TicketService) SortTicketByMostExpensive(ctx context.Context) ([]*entity.Ticket, error) { + return s.Repository.SortTicketByMostExpensive(ctx) +} From ebc8fb194a4910a6db192f9680e5a396fd641b58 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Wed, 29 Nov 2023 23:34:27 +0700 Subject: [PATCH 38/85] update route --- internal/http/router/routes.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 53817db..6d483a2 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -50,7 +50,7 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Method: echo.POST, Path: "/users", Handler: UserHandler.CreateUser, - Role: allRoles, + Role: onlyBuyer, }, { @@ -175,7 +175,7 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Method: echo.POST, Path: "/order", Handler: OrderHandler.CreateOrder, - Role: onlyBuyer, + Role: allRoles, }, { From 1be00a17040767c88e865f5194bd3e8a42026eda Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Thu, 30 Nov 2023 00:36:37 +0700 Subject: [PATCH 39/85] auth_handler, user_entity, ticket_handler, tiket_entity, user_handler --- entity/tiket.go | 4 +-- entity/user.go | 36 ++++++++++++------------- internal/http/handler/auth_hendler.go | 21 +++++++-------- internal/http/handler/ticket_handler.go | 13 ++++++++- internal/http/handler/user_hendler.go | 3 ++- 5 files changed, 43 insertions(+), 34 deletions(-) diff --git a/entity/tiket.go b/entity/tiket.go index e2a6a5d..df4186e 100644 --- a/entity/tiket.go +++ b/entity/tiket.go @@ -16,7 +16,7 @@ type Ticket struct { Quota int64 `json:"-"` Category string // e.g., 'music', 'sport', 'conference' // Limit int64 `json:"limit"` // e.g., 1000, 5000, 10000 - CreatedAt time.Time `json:"created_at"` + CreatedAt time.Time `json:"-"` UpdatedAt time.Time `json:"-"` DeletedAt time.Time `json:"-"` } @@ -31,7 +31,6 @@ func NewTicket(image, location, date, title, description, category string, price Category: category, Price: price, Quota: quota, - CreatedAt: time.Now(), } } @@ -46,6 +45,5 @@ func UpdateTicket(id int64, image, location, date, title, description, category Category: category, Price: price, Quota: quota, - CreatedAt: time.Now(), } } diff --git a/entity/user.go b/entity/user.go index 3cd2d49..438cc1b 100644 --- a/entity/user.go +++ b/entity/user.go @@ -5,25 +5,26 @@ import ( ) type User struct { - ID int64 `json:"id"` - Name string `json:"name"` - Email string `json:"email"` - Number string `json:"number"` - Roles string `json:"roles"` - Saldo int64 `json:"saldo"` - Password string `json:"-"` - CreatedAt time.Time `json:"created_at"` - UpdatedAt time.Time `json:"updated_at"` - DeletedAt *time.Time `json:"deleted_at,omitempty"` + ID int64 `json:"id"` + Name string `json:"name"` + Email string `json:"email"` + Number string `json:"number"` + Roles string `json:"roles"` + Saldo int64 `json:"saldo"` + Password string `json:"-"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` + DeletedAt *time.Time `json:"deleted_at,omitempty"` } // Admin New User -func NewUser(name, email, number, password, roles string) *User { +func NewUser(name, email, number, password, roles string, saldo int64) *User { return &User{ Name: name, Email: email, Number: number, Roles: roles, + Saldo: saldo, Password: password, CreatedAt: time.Now(), } @@ -43,12 +44,11 @@ func UpdateUser(id int64, name, email, number, roles, password string) *User { } // Public Register -func Register(name, email, password, roles, number string) *User { +func Register(email, password, roles, number string) *User { return &User{ - Name: name, - Email: email, - Password: password, - Roles: roles, - Number: number, + Email: email, + Password: password, + Roles: roles, + Number: number, } -} \ No newline at end of file +} diff --git a/internal/http/handler/auth_hendler.go b/internal/http/handler/auth_hendler.go index 9446c97..f0acf8b 100644 --- a/internal/http/handler/auth_hendler.go +++ b/internal/http/handler/auth_hendler.go @@ -11,8 +11,8 @@ import ( type AuthHandler struct { registrationService service.RegistrationUseCase // untuk regist - loginService service.LoginUseCase //untuk memanggil service yang ngelakuin pengecekan user. - tokenService service.TokenUsecase //untuk memanggil func akses token + loginService service.LoginUseCase //untuk memanggil service yang ngelakuin pengecekan user. + tokenService service.TokenUsecase //untuk memanggil func akses token } // ini func untuk type AuthHandler @@ -23,8 +23,8 @@ func NewAuthHandler( ) *AuthHandler { return &AuthHandler{ registrationService: registartionService, - loginService: loginService, - tokenService: tokenService, + loginService: loginService, + tokenService: tokenService, } } @@ -62,11 +62,10 @@ func (h *AuthHandler) Login(ctx echo.Context) error { func (h *AuthHandler) Registration(ctx echo.Context) error { //pengecekan request var input struct { - Name string `json:"name" validate:"required"` - Email string `json:"email" validate:"required,email"` - Password string `json:"password" validate:"required,min=8"` - Roles string `json:"roles" validate:"required"` - Number string `json:"number" validate:"required,min=11,max=13"` + Email string `json:"email" validate:"required,email"` + Password string `json:"password" validate:"required,min=8"` + Roles string `json:"roles" validate:"required"` + Number string `json:"number" validate:"required,min=11,max=13"` } if err := ctx.Bind(&input); err != nil { // di cek pake validate buat masukin input @@ -74,7 +73,7 @@ func (h *AuthHandler) Registration(ctx echo.Context) error { } //untuk manggil registration service di folder service - user := entity.Register(input.Name, input.Email, input.Password, input.Roles, input.Number) + user := entity.Register(input.Email, input.Password, input.Roles, input.Number) err := h.registrationService.Registration(ctx.Request().Context(), user) if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, err) @@ -90,4 +89,4 @@ func (h *AuthHandler) Registration(ctx echo.Context) error { "access_token": accessToken, }) -} \ No newline at end of file +} diff --git a/internal/http/handler/ticket_handler.go b/internal/http/handler/ticket_handler.go index 90db3d0..039a98f 100644 --- a/internal/http/handler/ticket_handler.go +++ b/internal/http/handler/ticket_handler.go @@ -152,7 +152,18 @@ func (h *TicketHandler) UpdateTicket(c echo.Context) error { return c.JSON(http.StatusOK, map[string]interface{}{ "message": "Ticket updated successfully", - "ticket": ticket, + "data": map[string]interface{}{ + "id": ticket.ID, + "title": ticket.Title, + "description": ticket.Description, + "image": ticket.Image, + "location": ticket.Location, + "date": ticket.Date, + "price": ticket.Price, + "quota": ticket.Quota, + "category": ticket.Category, + "update": ticket.UpdatedAt, + }, }) } diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 0240f06..689df10 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -41,12 +41,13 @@ func (h *UserHandler) CreateUser(ctx echo.Context) error { Number string `json:"number" validate:"min=11,max=13"` Roles string `json:"roles" validate:"oneof=Admin Buyer"` Password string `json:"password"` + Saldo int64 `json:"saldo"` } //ini func untuk error checking if err := ctx.Bind(&input); err != nil { return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) } - user := entity.NewUser(input.Name, input.Email, input.Number, input.Roles, input.Password) + user := entity.NewUser(input.Name, input.Email, input.Number, input.Roles, input.Password, input.Saldo) err := h.userService.CreateUser(ctx.Request().Context(), user) if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, err) From c199c836d93fa135c04929bf213294406c77c025 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Thu, 30 Nov 2023 06:09:27 +0700 Subject: [PATCH 40/85] update program untuk sort /filter --- .../20231127065951_create_ticket_tabel.up.sql | 1 + entity/tiket.go | 5 +- internal/http/handler/ticket_handler.go | 76 +++++-------------- internal/http/router/routes.go | 20 ++--- internal/repository/ticket_repository.go | 20 ++--- internal/service/ticket_services.go | 29 +++---- 6 files changed, 59 insertions(+), 92 deletions(-) diff --git a/db/migration-golang/20231127065951_create_ticket_tabel.up.sql b/db/migration-golang/20231127065951_create_ticket_tabel.up.sql index 9f31011..230bbcc 100644 --- a/db/migration-golang/20231127065951_create_ticket_tabel.up.sql +++ b/db/migration-golang/20231127065951_create_ticket_tabel.up.sql @@ -10,6 +10,7 @@ CREATE TABLE IF NOT EXISTS "public"."tickets" ( Status TEXT DEFAULT 'available', Quota INT, Category TEXT, + Tersisa INT, Created_At TIMESTAMP, Updated_At TIMESTAMP, Deleted_At TIMESTAMP diff --git a/entity/tiket.go b/entity/tiket.go index df4186e..19a821a 100644 --- a/entity/tiket.go +++ b/entity/tiket.go @@ -15,13 +15,13 @@ type Ticket struct { Status string `json:"-"` // e.g., 'available', 'sold out' Quota int64 `json:"-"` Category string // e.g., 'music', 'sport', 'conference' - // Limit int64 `json:"limit"` // e.g., 1000, 5000, 10000 + Tersisa int64 `json:"-"` // e.g., 1000, 5000, 10000 CreatedAt time.Time `json:"-"` UpdatedAt time.Time `json:"-"` DeletedAt time.Time `json:"-"` } -func NewTicket(image, location, date, title, description, category string, price, quota int64) *Ticket { +func NewTicket(image, location, date, title, description, category string, price, quota, tersisa int64) *Ticket { return &Ticket{ Image: image, Location: location, @@ -31,6 +31,7 @@ func NewTicket(image, location, date, title, description, category string, price Category: category, Price: price, Quota: quota, + Tersisa: tersisa, } } diff --git a/internal/http/handler/ticket_handler.go b/internal/http/handler/ticket_handler.go index 039a98f..7ef1a8a 100644 --- a/internal/http/handler/ticket_handler.go +++ b/internal/http/handler/ticket_handler.go @@ -43,6 +43,7 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Date time.Time `json:"date"` Price float64 `json:"price"` Quota int `json:"quota"` + Tersisa int `json:"tersisa"` Category string `json:"category"` } @@ -63,6 +64,7 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Date: dateStr, // Assign the formatted date string Price: int64(input.Price), Quota: int64(input.Quota), + Tersisa: int64(input.Tersisa), Category: input.Category, CreatedAt: time.Now(), } @@ -289,74 +291,39 @@ func (h *TicketHandler) FilterTicketByPrice(c echo.Context) error { }) } -// filter ticket dari yang paling banyak dibeli -// INI MASIH ERORR PAS RUN TEST POSTMANT!!!!!!!!!!!! -func (h *TicketHandler) FilterTicketByMostBought(c echo.Context) error { - // var input struct { - // Limit int64 `param:"limit" validate:"required"` - // } - +// sortir tiket dari yang terbaru +func (h *TicketHandler) SortTicketByNewest(c echo.Context) error { // Membaca parameter 'sort' dari URL sortParam := c.QueryParam("sort") // Memastikan bahwa parameter sort adalah 'terbaru' - if sortParam != "terfavorit" { + if sortParam != "terbaru" { return c.JSON(http.StatusBadRequest, map[string]string{"error": "Invalid sort parameter"}) } - // if err := c.Bind(&input); err != nil { - // return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) - // } - // Memanggil service untuk mengurutkan tiket tickets, err := h.ticketService.SortTicketByNewest(c.Request().Context()) if err != nil { return c.JSON(http.StatusUnprocessableEntity, err) } - var ticketResponses []map[string]interface{} - for _, ticket := range tickets { - ticketResponses = append(ticketResponses, map[string]interface{}{ - "id": ticket.ID, - "title": ticket.Title, - "description": ticket.Description, - "image": ticket.Image, - "location": ticket.Location, - "date": ticket.Date, - "price": ticket.Price, - "quota": ticket.Quota, - "category": ticket.Category, - "created": ticket.CreatedAt, - }) - } - return c.JSON(http.StatusOK, map[string]interface{}{ - "data": ticketResponses, + "data": tickets, }) } -// tickets, err := h.ticketService.FilterTicketByMostBought(c.Request().Context(), input.Limit) -// if err != nil { -// return c.JSON(http.StatusUnprocessableEntity, err) -// } - -// return c.JSON(http.StatusOK, map[string]interface{}{ -// "data": tickets, -// }) - -// sortir tiket dari yang terbaru -// INI MASIH ERORR PAS RUN TEST POSTMANT!!!!!!!!!!!! -func (h *TicketHandler) SortTicketByNewest(c echo.Context) error { +// sortir dari yang termahal +func (h *TicketHandler) SortTicketByMostExpensive(c echo.Context) error { // Membaca parameter 'sort' dari URL sortParam := c.QueryParam("sort") - // Memastikan bahwa parameter sort adalah 'terbaru' - if sortParam != "terbaru" { + // Memastikan bahwa parameter sort adalah 'termurah' + if sortParam != "termahal" { return c.JSON(http.StatusBadRequest, map[string]string{"error": "Invalid sort parameter"}) } - // Memanggil service untuk mengurutkan tiket - tickets, err := h.ticketService.SortTicketByNewest(c.Request().Context()) + // Memanggil service untuk mengurutkan tiket dari yang termurah + tickets, err := h.ticketService.SortTicketByMostExpensive(c.Request().Context()) if err != nil { return c.JSON(http.StatusUnprocessableEntity, err) } @@ -366,10 +333,8 @@ func (h *TicketHandler) SortTicketByNewest(c echo.Context) error { }) } -// sortir tiket dari yang termurah -// ERROR DI LOGIKA NYA KAYA NYA. +// ticket yang paling banyak dibeli func (h *TicketHandler) SortTicketByCheapest(c echo.Context) error { - // Membaca parameter 'sort' dari URL sortParam := c.QueryParam("sort") // Memastikan bahwa parameter sort adalah 'termurah' @@ -388,18 +353,17 @@ func (h *TicketHandler) SortTicketByCheapest(c echo.Context) error { }) } -// sortir dari yang termahal -func (h *TicketHandler) SortTicketByMostExpensive(c echo.Context) error { - // Membaca parameter 'sort' dari URL +// ticket yang paling banyak dibeli +func (h *TicketHandler) SortTicketByMostBought(c echo.Context) error { sortParam := c.QueryParam("sort") - // Memastikan bahwa parameter sort adalah 'termurah' - if sortParam != "termahal" { + // Memastikan bahwa parameter sort adalah 'terbanyak' + if sortParam != "terbanyak" { return c.JSON(http.StatusBadRequest, map[string]string{"error": "Invalid sort parameter"}) } - // Memanggil service untuk mengurutkan tiket dari yang termurah - tickets, err := h.ticketService.SortTicketByMostExpensive(c.Request().Context()) + // Memanggil service untuk mengurutkan tiket dari yang terbanyak + tickets, err := h.ticketService.SortTicketByMostBought(c.Request().Context()) if err != nil { return c.JSON(http.StatusUnprocessableEntity, err) } @@ -407,4 +371,4 @@ func (h *TicketHandler) SortTicketByMostExpensive(c echo.Context) error { return c.JSON(http.StatusOK, map[string]interface{}{ "data": tickets, }) -} +} \ No newline at end of file diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 6d483a2..aa52807 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -220,32 +220,32 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Handler: TicketHandler.FilterTicketByPrice, Role: allRoles, }, - // filter ticket by most bought + //sortir tiket dari yang terbaru { Method: echo.GET, - Path: "/ticket/most-bought", - Handler: TicketHandler.FilterTicketByMostBought, + Path: "/ticket/terbaru", + Handler: TicketHandler.SortTicketByNewest, Role: allRoles, }, - //sortir tiket dari yang terbaru + //sortir tiket dari yang termahal { Method: echo.GET, - Path: "/tickets", - Handler: TicketHandler.SortTicketByNewest, + Path: "/ticket/most-expensive", + Handler: TicketHandler.SortTicketByMostExpensive, Role: allRoles, }, //sortir tiket dari yang termurah { Method: echo.GET, - Path: "/tickets/cheapest", + Path: "/ticket/cheapest", Handler: TicketHandler.SortTicketByCheapest, Role: allRoles, }, - //sortir tiket dari yang termahal + // filter ticket by most bought { Method: echo.GET, - Path: "/tickets/most-expensive", - Handler: TicketHandler.SortTicketByMostExpensive, + Path: "/ticket/most-bought", + Handler: TicketHandler.SortTicketByMostBought, Role: allRoles, }, } diff --git a/internal/repository/ticket_repository.go b/internal/repository/ticket_repository.go index c3def62..0ce67c1 100644 --- a/internal/repository/ticket_repository.go +++ b/internal/repository/ticket_repository.go @@ -118,20 +118,20 @@ func (r *TicketRepository) FilterTicketByPrice(ctx context.Context, min string, return tickets, nil } -// filter ticket dari yang paling banyak dibeli -func (r *TicketRepository) FilterTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) { +// sortir tiket dari yang terbaru +func (r *TicketRepository) SortTicketByNewest(ctx context.Context) ([]*entity.Ticket, error) { tickets := make([]*entity.Ticket, 0) - result := r.db.WithContext(ctx).Order("quota DESC").Find(&tickets) + result := r.db.WithContext(ctx).Order("created_at DESC").Find(&tickets) if result.Error != nil { return nil, result.Error } return tickets, nil } -// sortir tiket dari yang terbaru -func (r *TicketRepository) SortTicketByNewest(ctx context.Context) ([]*entity.Ticket, error) { +// sortir dari yang termahal +func (r *TicketRepository) SortTicketByMostExpensive(ctx context.Context) ([]*entity.Ticket, error) { tickets := make([]*entity.Ticket, 0) - result := r.db.WithContext(ctx).Order("created_at DESC").Find(&tickets) + result := r.db.WithContext(ctx).Order("price DESC").Find(&tickets) if result.Error != nil { return nil, result.Error } @@ -141,17 +141,17 @@ func (r *TicketRepository) SortTicketByNewest(ctx context.Context) ([]*entity.Ti // sortir tiket dari yang termurah func (r *TicketRepository) SortTicketByCheapest(ctx context.Context) ([]*entity.Ticket, error) { tickets := make([]*entity.Ticket, 0) - result := r.db.WithContext(ctx).Order("price ASC").Find(&tickets) + result := r.db.WithContext(ctx).Order("price DESC").Find(&tickets) if result.Error != nil { return nil, result.Error } return tickets, nil } -// sortir dari yang termahal -func (r *TicketRepository) SortTicketByMostExpensive(ctx context.Context) ([]*entity.Ticket, error) { +// filter ticket dari yang paling banyak dibeli +func (r *TicketRepository) SortTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) { tickets := make([]*entity.Ticket, 0) - result := r.db.WithContext(ctx).Order("price DESC").Find(&tickets) + result := r.db.WithContext(ctx).Order("Tersisa DESC").Find(&tickets) if result.Error != nil { return nil, result.Error } diff --git a/internal/service/ticket_services.go b/internal/service/ticket_services.go index bfcda8c..db6b6a4 100644 --- a/internal/service/ticket_services.go +++ b/internal/service/ticket_services.go @@ -12,16 +12,17 @@ type TicketUseCase interface { CreateTicket(ctx context.Context, ticket *entity.Ticket) error GetTicket(ctx context.Context, id int64) (*entity.Ticket, error) UpdateTicket(ctx context.Context, ticket *entity.Ticket) error - SearchTicket(ctx context.Context, search string) ([]*entity.Ticket, error) DeleteTicket(ctx context.Context, id int64) error + SearchTicket(ctx context.Context, search string) ([]*entity.Ticket, error) FilterTicket(ctx context.Context, location string) ([]*entity.Ticket, error) FilterTicketByCategory(ctx context.Context, category string) ([]*entity.Ticket, error) FilterTicketByRangeTime(ctx context.Context, start string, end string) ([]*entity.Ticket, error) FilterTicketByPrice(ctx context.Context, min string, max string) ([]*entity.Ticket, error) - FilterTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) SortTicketByNewest(ctx context.Context) ([]*entity.Ticket, error) - SortTicketByCheapest(ctx context.Context) ([]*entity.Ticket, error) SortTicketByMostExpensive(ctx context.Context) ([]*entity.Ticket, error) + SortTicketByCheapest(ctx context.Context) ([]*entity.Ticket, error) + SortTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) + } type TicketRepository interface { @@ -35,10 +36,10 @@ type TicketRepository interface { FilterTicketByCategory(ctx context.Context, category string) ([]*entity.Ticket, error) FilterTicketByRangeTime(ctx context.Context, start string, end string) ([]*entity.Ticket, error) FilterTicketByPrice(ctx context.Context, min string, max string) ([]*entity.Ticket, error) - FilterTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) SortTicketByNewest(ctx context.Context) ([]*entity.Ticket, error) - SortTicketByCheapest(ctx context.Context) ([]*entity.Ticket, error) SortTicketByMostExpensive(ctx context.Context) ([]*entity.Ticket, error) + SortTicketByCheapest(ctx context.Context) ([]*entity.Ticket, error) + SortTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) } // TicketService is responsible for ticket-related business logic. @@ -96,22 +97,22 @@ func (s *TicketService) FilterTicketByPrice(ctx context.Context, min string, max return s.Repository.FilterTicketByPrice(ctx, min, max) } -// filter ticket by most bought -func (s *TicketService) FilterTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) { - return s.Repository.FilterTicketByMostBought(ctx) -} - // sortir tiket dari yang terbaru func (s *TicketService) SortTicketByNewest(ctx context.Context) ([]*entity.Ticket, error) { return s.Repository.SortTicketByNewest(ctx) } +// sortir dari yang termahal +func (s *TicketService) SortTicketByMostExpensive(ctx context.Context) ([]*entity.Ticket, error) { + return s.Repository.SortTicketByMostExpensive(ctx) +} + // sortir tiket dari yang termurah func (s *TicketService) SortTicketByCheapest(ctx context.Context) ([]*entity.Ticket, error) { return s.Repository.SortTicketByCheapest(ctx) } -// sortir dari yang termahal -func (s *TicketService) SortTicketByMostExpensive(ctx context.Context) ([]*entity.Ticket, error) { - return s.Repository.SortTicketByMostExpensive(ctx) -} +// filter ticket by most bought +func (s *TicketService) SortTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) { + return s.Repository.SortTicketByMostBought(ctx) +} \ No newline at end of file From ea1f360947521d1b414f926adc7e219e84feb4f1 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Thu, 30 Nov 2023 06:12:33 +0700 Subject: [PATCH 41/85] update readme --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 15405ab..f1ee5a7 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,6 @@ By : Golang - Kelompok 3 -# reza - -======= Dalam proyek capstone ini, tujuan utamanya adalah untuk memberikan pengalaman baru kepada peserta, serta mengimplementasikan Metode Scrum dalam pengembangan produk digital. Proyek ini akan dilakukan dalam bentuk kelompok dan fokus pada pengembangan bagian Back End. ## Tujuan Utama Proyek From ad09fa7a3cf8fabfb9a9e31788e9730cb7c2e81a Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Thu, 30 Nov 2023 06:33:00 +0700 Subject: [PATCH 42/85] update program untuk sort /filter --- entity/tiket.go | 11 ++++++----- internal/repository/ticket_repository.go | 17 +++++++++++------ 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/entity/tiket.go b/entity/tiket.go index 19a821a..e8b3f7e 100644 --- a/entity/tiket.go +++ b/entity/tiket.go @@ -12,10 +12,10 @@ type Ticket struct { Title string `json:"title"` Description string `json:"description"` Price int64 `json:"price"` - Status string `json:"-"` // e.g., 'available', 'sold out' - Quota int64 `json:"-"` - Category string // e.g., 'music', 'sport', 'conference' - Tersisa int64 `json:"-"` // e.g., 1000, 5000, 10000 + Status string `json:"Status"` // e.g., 'available', 'sold out' + Quota int64 `json:"Quota"` + Category string `json:"category"` + Tersisa int64 `json:"Tersisa"` // e.g., 1000, 5000, 10000 CreatedAt time.Time `json:"-"` UpdatedAt time.Time `json:"-"` DeletedAt time.Time `json:"-"` @@ -35,7 +35,7 @@ func NewTicket(image, location, date, title, description, category string, price } } -func UpdateTicket(id int64, image, location, date, title, description, category string, price, quota int64) *Ticket { +func UpdateTicket(id int64, image, location, date, title, description, category string, price, quota, tersisa int64) *Ticket { return &Ticket{ ID: id, Image: image, @@ -46,5 +46,6 @@ func UpdateTicket(id int64, image, location, date, title, description, category Category: category, Price: price, Quota: quota, + Tersisa: tersisa, } } diff --git a/internal/repository/ticket_repository.go b/internal/repository/ticket_repository.go index 0ce67c1..316bd17 100644 --- a/internal/repository/ticket_repository.go +++ b/internal/repository/ticket_repository.go @@ -8,6 +8,7 @@ import ( "Ticketing/entity" "gorm.io/gorm" + "fmt" ) // ticket repository @@ -23,12 +24,16 @@ func NewTicketRepository(db *gorm.DB) *TicketRepository { // GetAllTickets retrieves all tickets from the database. func (r *TicketRepository) GetAllTickets(ctx context.Context) ([]*entity.Ticket, error) { - tickets := make([]*entity.Ticket, 0) - result := r.db.WithContext(ctx).Find(&tickets) - if result.Error != nil { - return nil, result.Error - } - return tickets, nil + tickets := make([]*entity.Ticket, 0) + result := r.db.WithContext(ctx).Find(&tickets) + if result.Error != nil { + return nil, result.Error + } + + // Log untuk memeriksa data sebelum dikembalikan + fmt.Printf("Tickets: %+v\n", tickets) + + return tickets, nil } // CreateTicket saves a new ticket to the database. From 7338b6bb31a1bd3500457caed3a7d7e011abef2c Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Thu, 30 Nov 2023 06:36:41 +0700 Subject: [PATCH 43/85] update program untuk sort /filter --- .../20231127065951_create_ticket_tabel.up.sql | 2 +- entity/tiket.go | 10 +++++----- internal/http/handler/ticket_handler.go | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/db/migration-golang/20231127065951_create_ticket_tabel.up.sql b/db/migration-golang/20231127065951_create_ticket_tabel.up.sql index 230bbcc..748ab4b 100644 --- a/db/migration-golang/20231127065951_create_ticket_tabel.up.sql +++ b/db/migration-golang/20231127065951_create_ticket_tabel.up.sql @@ -10,7 +10,7 @@ CREATE TABLE IF NOT EXISTS "public"."tickets" ( Status TEXT DEFAULT 'available', Quota INT, Category TEXT, - Tersisa INT, + Terjual INT, Created_At TIMESTAMP, Updated_At TIMESTAMP, Deleted_At TIMESTAMP diff --git a/entity/tiket.go b/entity/tiket.go index e8b3f7e..b82dbfb 100644 --- a/entity/tiket.go +++ b/entity/tiket.go @@ -15,13 +15,13 @@ type Ticket struct { Status string `json:"Status"` // e.g., 'available', 'sold out' Quota int64 `json:"Quota"` Category string `json:"category"` - Tersisa int64 `json:"Tersisa"` // e.g., 1000, 5000, 10000 + Terjual int64 `json:"Terjual"` // e.g., 1000, 5000, 10000 CreatedAt time.Time `json:"-"` UpdatedAt time.Time `json:"-"` DeletedAt time.Time `json:"-"` } -func NewTicket(image, location, date, title, description, category string, price, quota, tersisa int64) *Ticket { +func NewTicket(image, location, date, title, description, category string, price, quota, terjual int64) *Ticket { return &Ticket{ Image: image, Location: location, @@ -31,11 +31,11 @@ func NewTicket(image, location, date, title, description, category string, price Category: category, Price: price, Quota: quota, - Tersisa: tersisa, + Terjual: terjual, } } -func UpdateTicket(id int64, image, location, date, title, description, category string, price, quota, tersisa int64) *Ticket { +func UpdateTicket(id int64, image, location, date, title, description, category string, price, quota, terjual int64) *Ticket { return &Ticket{ ID: id, Image: image, @@ -46,6 +46,6 @@ func UpdateTicket(id int64, image, location, date, title, description, category Category: category, Price: price, Quota: quota, - Tersisa: tersisa, + Terjual: terjual, } } diff --git a/internal/http/handler/ticket_handler.go b/internal/http/handler/ticket_handler.go index 7ef1a8a..5009d1c 100644 --- a/internal/http/handler/ticket_handler.go +++ b/internal/http/handler/ticket_handler.go @@ -43,7 +43,7 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Date time.Time `json:"date"` Price float64 `json:"price"` Quota int `json:"quota"` - Tersisa int `json:"tersisa"` + Terjual int `json:"terjual"` Category string `json:"category"` } @@ -64,7 +64,7 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Date: dateStr, // Assign the formatted date string Price: int64(input.Price), Quota: int64(input.Quota), - Tersisa: int64(input.Tersisa), + Terjual: int64(input.Terjual), Category: input.Category, CreatedAt: time.Now(), } From 799f871f4a903a5571a28d79dfde876be92c33be Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Thu, 30 Nov 2023 06:53:55 +0700 Subject: [PATCH 44/85] update program untuk sort /filter --- entity/tiket.go | 2 +- internal/http/handler/ticket_handler.go | 22 ++++++++++++++++++++++ internal/http/router/routes.go | 7 +++++++ internal/repository/ticket_repository.go | 10 ++++++++++ internal/service/ticket_services.go | 7 +++++++ 5 files changed, 47 insertions(+), 1 deletion(-) diff --git a/entity/tiket.go b/entity/tiket.go index b82dbfb..238eca2 100644 --- a/entity/tiket.go +++ b/entity/tiket.go @@ -12,7 +12,7 @@ type Ticket struct { Title string `json:"title"` Description string `json:"description"` Price int64 `json:"price"` - Status string `json:"Status"` // e.g., 'available', 'sold out' + Status string `json:"Status"` // e.g., 'available', 'sold' Quota int64 `json:"Quota"` Category string `json:"category"` Terjual int64 `json:"Terjual"` // e.g., 1000, 5000, 10000 diff --git a/internal/http/handler/ticket_handler.go b/internal/http/handler/ticket_handler.go index 5009d1c..32ff4ae 100644 --- a/internal/http/handler/ticket_handler.go +++ b/internal/http/handler/ticket_handler.go @@ -41,6 +41,7 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Image string `json:"image"` Location string `json:"location"` Date time.Time `json:"date"` + Status string `json:"status"` Price float64 `json:"price"` Quota int `json:"quota"` Terjual int `json:"terjual"` @@ -62,6 +63,7 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Image: input.Image, Location: input.Location, Date: dateStr, // Assign the formatted date string + Status: input.Status, Price: int64(input.Price), Quota: int64(input.Quota), Terjual: int64(input.Terjual), @@ -368,6 +370,26 @@ func (h *TicketHandler) SortTicketByMostBought(c echo.Context) error { return c.JSON(http.StatusUnprocessableEntity, err) } + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": tickets, + }) +} + +// ticket yang masih tersedia +func (h *TicketHandler) SortTicketByAvailable(c echo.Context) error { + sortParam := c.QueryParam("sort") + + // Memastikan bahwa parameter sort adalah 'tersedia' + if sortParam != "tersedia" { + return c.JSON(http.StatusBadRequest, map[string]string{"error": "Invalid sort parameter"}) + } + + // Memanggil service untuk mengurutkan tiket dari yang tersedia + tickets, err := h.ticketService.SortTicketByAvailable(c.Request().Context()) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + return c.JSON(http.StatusOK, map[string]interface{}{ "data": tickets, }) diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index aa52807..960a1d3 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -248,6 +248,13 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Handler: TicketHandler.SortTicketByMostBought, Role: allRoles, }, + // ticket yang masih tersedia + { + Method: echo.GET, + Path: "/ticket/available", + Handler: TicketHandler.SortTicketByAvailable, + Role: allRoles, + }, } } diff --git a/internal/repository/ticket_repository.go b/internal/repository/ticket_repository.go index 316bd17..4a5f552 100644 --- a/internal/repository/ticket_repository.go +++ b/internal/repository/ticket_repository.go @@ -162,3 +162,13 @@ func (r *TicketRepository) SortTicketByMostBought(ctx context.Context) ([]*entit } return tickets, nil } + +// ticket yang masih tersedia +func (r *TicketRepository) SortTicketByAvailable(ctx context.Context) ([]*entity.Ticket, error) { + tickets := make([]*entity.Ticket, 0) + result := r.db.WithContext(ctx).Where("status = ?", "available").Find(&tickets) + if result.Error != nil { + return nil, result.Error + } + return tickets, nil +} \ No newline at end of file diff --git a/internal/service/ticket_services.go b/internal/service/ticket_services.go index db6b6a4..a767397 100644 --- a/internal/service/ticket_services.go +++ b/internal/service/ticket_services.go @@ -22,6 +22,7 @@ type TicketUseCase interface { SortTicketByMostExpensive(ctx context.Context) ([]*entity.Ticket, error) SortTicketByCheapest(ctx context.Context) ([]*entity.Ticket, error) SortTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) + SortTicketByAvailable(ctx context.Context) ([]*entity.Ticket, error) } @@ -40,6 +41,7 @@ type TicketRepository interface { SortTicketByMostExpensive(ctx context.Context) ([]*entity.Ticket, error) SortTicketByCheapest(ctx context.Context) ([]*entity.Ticket, error) SortTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) + SortTicketByAvailable(ctx context.Context) ([]*entity.Ticket, error) } // TicketService is responsible for ticket-related business logic. @@ -115,4 +117,9 @@ func (s *TicketService) SortTicketByCheapest(ctx context.Context) ([]*entity.Tic // filter ticket by most bought func (s *TicketService) SortTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) { return s.Repository.SortTicketByMostBought(ctx) +} + +// ticket yang masih tersedia +func (s *TicketService) SortTicketByAvailable(ctx context.Context) ([]*entity.Ticket, error) { + return s.Repository.SortTicketByAvailable(ctx) } \ No newline at end of file From 1f535f9dc72bfcfbb79b431df748fc64f985a35d Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Thu, 30 Nov 2023 07:35:48 +0700 Subject: [PATCH 45/85] update program untuk sort /filter --- internal/http/router/routes.go | 9 +- internal/repository/ticket_repository.go | 4 +- output/Tiketing.postman_collection.json | 518 ++++++++++++++--------- 3 files changed, 336 insertions(+), 195 deletions(-) diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 960a1d3..e5bde77 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -50,7 +50,7 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Method: echo.POST, Path: "/users", Handler: UserHandler.CreateUser, - Role: onlyBuyer, + Role: allRoles, }, { @@ -101,6 +101,13 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Role: allRoles, }, + { + Method: echo.GET, + Path: "/ticket", + Handler: TicketHandler.GetAllTickets, + Role: onlyBuyer, + }, + { Method: echo.PUT, Path: "/ticket/:id", diff --git a/internal/repository/ticket_repository.go b/internal/repository/ticket_repository.go index 4a5f552..80ef1cc 100644 --- a/internal/repository/ticket_repository.go +++ b/internal/repository/ticket_repository.go @@ -106,7 +106,7 @@ func (r *TicketRepository) FilterTicketByCategory(ctx context.Context, category // filter ticket by range time (start - end) func (r *TicketRepository) FilterTicketByRangeTime(ctx context.Context, start string, end string) ([]*entity.Ticket, error) { tickets := make([]*entity.Ticket, 0) - result := r.db.WithContext(ctx).Where("start_time >= ? AND end_time <= ?", start, end).Find(&tickets) + result := r.db.WithContext(ctx).Where("Date >= ? AND Date <= ?", start, end).Find(&tickets) if result.Error != nil { return nil, result.Error } @@ -156,7 +156,7 @@ func (r *TicketRepository) SortTicketByCheapest(ctx context.Context) ([]*entity. // filter ticket dari yang paling banyak dibeli func (r *TicketRepository) SortTicketByMostBought(ctx context.Context) ([]*entity.Ticket, error) { tickets := make([]*entity.Ticket, 0) - result := r.db.WithContext(ctx).Order("Tersisa DESC").Find(&tickets) + result := r.db.WithContext(ctx).Order("Terjual DESC").Find(&tickets) if result.Error != nil { return nil, result.Error } diff --git a/output/Tiketing.postman_collection.json b/output/Tiketing.postman_collection.json index 76a7a9c..9055f08 100644 --- a/output/Tiketing.postman_collection.json +++ b/output/Tiketing.postman_collection.json @@ -1,10 +1,11 @@ { "info": { - "_postman_id": "843c34b5-2096-432b-ae60-e404f602be20", + "_postman_id": "e1c6a240-018f-499f-afd5-33936e8e924d", "name": "Tiketing", "description": "Projek Capstone Golang Mikti Ticketing", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "26142588" + "_exporter_id": "26142588", + "_collection_link": "https://ticketing-mikti.postman.co/workspace/Ticketing-Workspace~1c7b0ec0-f35f-4273-b1d6-67507ad4c237/collection/26142588-e1c6a240-018f-499f-afd5-33936e8e924d?action=share&source=collection_link&creator=26142588" }, "item": [ { @@ -25,15 +26,37 @@ } }, "url": { - "raw": "http://localhost:8080/api/v1/register", - "protocol": "http", + "raw": "{{url}}/register", "host": [ - "localhost" + "{{url}}" + ], + "path": [ + "register" + ] + } + }, + "response": [] + }, + { + "name": "Register Copy", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"Buyer\",\r\n \"email\" : \"Buyer@gmail.com\",\r\n \"roles\" : \"Buyer\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/register", + "host": [ + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "register" ] } @@ -83,7 +106,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkFkbWluIiwiZW1haWwiOiJBZG1pbkBnbWFpbC5jb20iLCJyb2xlIjoiQWRtaW4iLCJleHAiOjE3MDExOTExMTZ9.a-tEEG2VV0rEbRCblc-V2xsu6N6EQIU7YVQ81kGWTZY", + "value": "{{token}}", "type": "string" } ] @@ -92,7 +115,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"number\": \"896232123123123\",\r\n \"roles\" : \"admin\",\r\n \"password\" : \"123123123123\"\r\n}", + "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"number\": \"1231231231231\",\r\n \"roles\" : \"Admin\",\r\n \"password\" : \"123123123123\"\r\n}", "options": { "raw": { "language": "json" @@ -100,15 +123,11 @@ } }, "url": { - "raw": "http://localhost:8080/api/v1/users", - "protocol": "http", + "raw": "{{url}}/users", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "users" ] } @@ -123,7 +142,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkFkbWluIiwiZW1haWwiOiJBZG1pbkBnbWFpbC5jb20iLCJyb2xlIjoiQWRtaW4iLCJleHAiOjE3MDExOTExMTZ9.a-tEEG2VV0rEbRCblc-V2xsu6N6EQIU7YVQ81kGWTZY", + "value": "{{token}}", "type": "string" } ] @@ -131,15 +150,11 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/users", - "protocol": "http", + "raw": "{{url}}/users", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "users" ] } @@ -154,7 +169,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkFkbWluIiwiZW1haWwiOiJBZG1pbkBnbWFpbC5jb20iLCJyb2xlIjoiQWRtaW4iLCJleHAiOjE3MDExOTExMTZ9.a-tEEG2VV0rEbRCblc-V2xsu6N6EQIU7YVQ81kGWTZY", + "value": "{{token}}", "type": "string" } ] @@ -163,7 +178,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"number\" : \"1234\",\r\n \"roles\" : \"admin\",\r\n \"password\" : \"123123123123\"\r\n}", + "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"number\" : \"123123123123\",\r\n \"roles\" : \"Admin\",\r\n \"password\" : \"123123123123\"\r\n}", "options": { "raw": { "language": "json" @@ -171,15 +186,11 @@ } }, "url": { - "raw": "http://localhost:8080/api/v1/users/1", - "protocol": "http", + "raw": "{{url}}/users/1", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "users", "1" ] @@ -195,7 +206,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", + "value": "{{token}}", "type": "string" } ] @@ -203,15 +214,11 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/users/1", - "protocol": "http", + "raw": "{{url}}/users/1", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "users", "1" ] @@ -227,7 +234,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IiIsImVtYWlsIjoicmV6YTEyMjNAZ21haWwuY29tIiwiZXhwIjoxNzAxMDEyMzQ1fQ.JjGXZDnuJg4-TRyRg3C5RcF7nbgLIwVaAY6Pt1e7kKc", + "value": "{{token}}", "type": "string" } ] @@ -264,7 +271,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTEyMTY4N30.Km19OZ4MOqKcPeZlxus_wOwKNFL9HpjFvHCqyjZIWB8", + "value": "{{token}}", "type": "string" } ] @@ -273,7 +280,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"title\": \"coldplay\",\r\n \"description\": \"penyanyi luar negri\",\r\n \"image\": \"https/image\",\r\n \"location\": \"GBK\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 100\r\n}\r\n", + "raw": "{\r\n \"title\": \"coldplay3\",\r\n \"description\": \"penyanyi luar negri\",\r\n \"image\": \"https/image\",\r\n \"location\": \"GBK\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 100,\r\n \"terjual\": 5,\r\n \"status\": \"available\",\r\n \"category\": \"music\"\r\n}\r\n", "options": { "raw": { "language": "json" @@ -281,15 +288,11 @@ } }, "url": { - "raw": "http://localhost:8080/api/v1/ticket", - "protocol": "http", + "raw": "{{url}}/ticket", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "ticket" ] } @@ -304,7 +307,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTEyMTY4N30.Km19OZ4MOqKcPeZlxus_wOwKNFL9HpjFvHCqyjZIWB8", + "value": "{{token}}", "type": "string" } ] @@ -312,15 +315,11 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/ticket", - "protocol": "http", + "raw": "{{url}}/ticket", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "ticket" ] } @@ -335,7 +334,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTE3MX0.FHzvHoceGp3aKeCbdvHe0eINjFibaHOkyfs_t-Is6Hw", + "value": "{{token}}", "type": "string" } ] @@ -343,15 +342,11 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/ticket/1", - "protocol": "http", + "raw": "{{url}}/ticket/1", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "ticket", "1" ] @@ -367,7 +362,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTU2MX0.thSxHgn3UZVzOjERCK12UXVBqzgPHyYZP5WCUVYrkrg", + "value": "{{token}}", "type": "string" } ] @@ -376,7 +371,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 200\r\n}", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"category\": \"music\",\r\n \"price\": 50.0,\r\n \"quota\": 200\r\n}", "options": { "raw": { "language": "json" @@ -384,15 +379,11 @@ } }, "url": { - "raw": "http://localhost:8080/api/v1/ticket/1", - "protocol": "http", + "raw": "{{url}}/ticket/1", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "ticket", "1" ] @@ -408,7 +399,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMTU2MX0.thSxHgn3UZVzOjERCK12UXVBqzgPHyYZP5WCUVYrkrg", + "value": "{{token}}", "type": "string" } ] @@ -416,15 +407,11 @@ "method": "DELETE", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/ticket/1", - "protocol": "http", + "raw": "{{url}}/ticket/1", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "ticket", "1" ] @@ -440,7 +427,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MywibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzMzUwMn0.W8rTSfdRYgxivpskkme-5hZuEgEnhbPR_Tp4atjVKLU", + "value": "{{token}}", "type": "string" } ] @@ -448,15 +435,11 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/ticket/search/cold", - "protocol": "http", + "raw": "{{url}}/ticket/search/cold", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "ticket", "search", "cold" @@ -473,7 +456,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTE1NTA2OX0.pThwtF2i9GAGbwd-k35HWoOyCgdbZahe-ifUxdJjuGs", + "value": "{{token}}", "type": "string" } ] @@ -481,15 +464,11 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/ticket/location/GBK", - "protocol": "http", + "raw": "{{url}}/ticket/location/GBK", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "ticket", "location", "GBK" @@ -506,7 +485,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTE1NTA2OX0.pThwtF2i9GAGbwd-k35HWoOyCgdbZahe-ifUxdJjuGs", + "value": "{{token}}", "type": "string" } ] @@ -514,24 +493,14 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/ticket/category/:category", - "protocol": "http", + "raw": "{{url}}/ticket/category/music", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "ticket", "category", - ":category" - ], - "variable": [ - { - "key": "category", - "value": "" - } + "music" ] } }, @@ -545,7 +514,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTE1NTA2OX0.pThwtF2i9GAGbwd-k35HWoOyCgdbZahe-ifUxdJjuGs", + "value": "{{token}}", "type": "string" } ] @@ -553,15 +522,11 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/ticket/range/:start/:end", - "protocol": "http", + "raw": "{{url}}/ticket/range/:start/:end", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "ticket", "range", ":start", @@ -589,7 +554,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTE1NTA2OX0.pThwtF2i9GAGbwd-k35HWoOyCgdbZahe-ifUxdJjuGs", + "value": "{{token}}", "type": "string" } ] @@ -597,15 +562,11 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/ticket/price/:min/:max", - "protocol": "http", + "raw": "{{url}}/ticket/price/:min/:max", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "ticket", "price", ":min", @@ -614,11 +575,181 @@ "variable": [ { "key": "min", - "value": "" + "value": "0" }, { "key": "max", - "value": "" + "value": "100" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort By Termurah", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/cheapest?sort=termurah", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "cheapest" + ], + "query": [ + { + "key": "sort", + "value": "termurah" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort By Terlaris", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/most-bought?sort=terbanyak", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "most-bought" + ], + "query": [ + { + "key": "sort", + "value": "terbanyak" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort By Termahal", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/most-expensive?sort=termahal", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "most-expensive" + ], + "query": [ + { + "key": "sort", + "value": "termahal" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort By Terbaru", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/terbaru?sort=terbaru", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "terbaru" + ], + "query": [ + { + "key": "sort", + "value": "terbaru" + } + ] + } + }, + "response": [] + }, + { + "name": "sort By tersedia", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/available?sort=tersedia", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "available" + ], + "query": [ + { + "key": "sort", + "value": "tersedia" } ] } @@ -638,7 +769,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNjU5M30.17LzDHFBUFuVxokdnBAe7o1S5_hIdPp8-N1z_Di6TQQ", + "value": "{{token}}", "type": "string" } ] @@ -655,15 +786,11 @@ } }, "url": { - "raw": "http://localhost:8080/api/v1/blog", - "protocol": "http", + "raw": "{{url}}/blog", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "blog" ] } @@ -678,7 +805,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "value": "{{token}}", "type": "string" } ] @@ -686,15 +813,11 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/blog", - "protocol": "http", + "raw": "{{url}}/blog", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "blog" ] } @@ -709,7 +832,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "value": "{{token}}", "type": "string" } ] @@ -717,15 +840,11 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/blog/1", - "protocol": "http", + "raw": "{{url}}/blog/1", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "blog", "1" ] @@ -741,7 +860,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "value": "{{token}}", "type": "string" } ] @@ -758,16 +877,12 @@ } }, "url": { - "raw": "http://localhost:8080/api/v1/ticket/1", - "protocol": "http", + "raw": "{{url}}/blog/1", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", - "ticket", + "blog", "1" ] } @@ -782,7 +897,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "value": "{{token}}", "type": "string" } ] @@ -790,18 +905,14 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/blog/search/Nama ", - "protocol": "http", + "raw": "{{url}}/blog/search/Nama", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "blog", "search", - "Nama " + "Nama" ] } }, @@ -815,7 +926,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTAzNzA3MH0.UgexFf5RU5v1153PBozAyeO5tbrg7uD1ryzF8Odk2Ms", + "value": "{{token}}", "type": "string" } ] @@ -823,15 +934,11 @@ "method": "DELETE", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/blog/1", - "protocol": "http", + "raw": "{{url}}/blog/1", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "blog", "1" ] @@ -852,7 +959,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTEyMTY4N30.Km19OZ4MOqKcPeZlxus_wOwKNFL9HpjFvHCqyjZIWB8", + "value": "{{token1}}", "type": "string" } ] @@ -861,7 +968,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"ticket_id\": 1,\r\n \"quantity\": 2,\r\n \"user_id\": 1\r\n}", + "raw": "{\r\n \"ticket_id\": 2,\r\n \"quantity\": 2,\r\n \"user_id\": 1\r\n}", "options": { "raw": { "language": "json" @@ -869,15 +976,11 @@ } }, "url": { - "raw": "http://localhost:8080/api/v1/order", - "protocol": "http", + "raw": "{{url}}/order", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "order" ] } @@ -892,7 +995,7 @@ "bearer": [ { "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6InJlemFhYTFhYSIsImVtYWlsIjoicmV6YTEyMjNhQGdtYWlsLmNvbSIsImV4cCI6MTcwMTEyMTY4N30.Km19OZ4MOqKcPeZlxus_wOwKNFL9HpjFvHCqyjZIWB8", + "value": "{{token}}", "type": "string" } ] @@ -900,15 +1003,11 @@ "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/order", - "protocol": "http", + "raw": "{{url}}/order", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "order" ] } @@ -918,26 +1017,26 @@ { "name": "Get Order By User_ID", "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, "method": "GET", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/order/:id", - "protocol": "http", + "raw": "{{url}}/order/1", "host": [ - "localhost" + "{{url}}" ], - "port": "8080", "path": [ - "api", - "v1", "order", - ":id" - ], - "variable": [ - { - "key": "id", - "value": "" - } + "1" ] } }, @@ -949,5 +1048,40 @@ "name": "TOPUP SALDO", "item": [] } + ], + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ], + "variable": [ + { + "key": "baseurl1", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MywibmFtZSI6IiIsImVtYWlsIjoiQWRtaW5AZ21haWwuY29tIiwicm9sZSI6IkFkbWluIiwiZXhwIjoxNzAxMzAzNDExfQ.rhV8vxaJqpzK0E1MwaXAHQxN2_qMIkIZxT5o6D0MYh0", + "disabled": true + }, + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IiIsImVtYWlsIjoiQWRtaW5AZ21haWwuY29tIiwicm9sZSI6IkFkbWluIiwiZXhwIjoxNzAxMzAzNzM5fQ.YZUJ5I9OqsBXPk4yUiQlkT6bDO5OZNfOiLXcvESY9do" + }, + { + "key": "token1", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NSwibmFtZSI6IiIsImVtYWlsIjoiQnV5ZXJAZ21haWwuY29tIiwicm9sZSI6IkJ1eWVyIiwiZXhwIjoxNzAxMzA0ODI5fQ.spGCwbgqvr5r5Q9La9SbBMStsCMd7qfXV9GBL0xVxf8" + } ] } \ No newline at end of file From 605a14d886addd87499d992bb951397c77212c02 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Thu, 30 Nov 2023 21:22:00 +0700 Subject: [PATCH 46/85] Menambahkan Field Tersisa di struct Tiket --- entity/tiket.go | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/entity/tiket.go b/entity/tiket.go index e8b3f7e..29c06fe 100644 --- a/entity/tiket.go +++ b/entity/tiket.go @@ -5,23 +5,23 @@ import ( ) type Ticket struct { - ID int64 `json:"id"` - Image string `json:"image"` - Location string `json:"location"` - Date string // Format: YYYY-MM-DD - Title string `json:"title"` - Description string `json:"description"` - Price int64 `json:"price"` - Status string `json:"Status"` // e.g., 'available', 'sold out' - Quota int64 `json:"Quota"` - Category string `json:"category"` - Tersisa int64 `json:"Tersisa"` // e.g., 1000, 5000, 10000 - CreatedAt time.Time `json:"-"` - UpdatedAt time.Time `json:"-"` - DeletedAt time.Time `json:"-"` + ID int64 `json:"id"` + Image string `json:"image"` + Location string `json:"location"` + Date string // Format: YYYY-MM-DD + Title string `json:"title"` + Description string `json:"description"` + Price int64 `json:"price"` + Status string `json:"Status"` // e.g., 'available', 'sold out' + Quota int64 `json:"Quota"` + Category string `json:"category"` + Tersisa int64 `json:"Tersisa"` // e.g., 1000, 5000, 10000 + CreatedAt time.Time `json:"-"` + UpdatedAt time.Time `json:"-"` + DeletedAt time.Time `json:"-"` } -func NewTicket(image, location, date, title, description, category string, price, quota, tersisa int64) *Ticket { +func NewTicket(image, location, date, title, description, category, status string, price, quota, tersisa int64) *Ticket { return &Ticket{ Image: image, Location: location, @@ -30,6 +30,7 @@ func NewTicket(image, location, date, title, description, category string, price Description: description, Category: category, Price: price, + Status: status, Quota: quota, Tersisa: tersisa, } From 10f507c72f1540c39df4b7d202aca7519ca609e4 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Thu, 30 Nov 2023 21:22:16 +0700 Subject: [PATCH 47/85] memperbaiki koment --- internal/http/handler/ticket_handler.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/internal/http/handler/ticket_handler.go b/internal/http/handler/ticket_handler.go index 7ef1a8a..51b6596 100644 --- a/internal/http/handler/ticket_handler.go +++ b/internal/http/handler/ticket_handler.go @@ -42,8 +42,9 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Location string `json:"location"` Date time.Time `json:"date"` Price float64 `json:"price"` + Status string `json:"status"` Quota int `json:"quota"` - Tersisa int `json:"tersisa"` + Tersisa int `json:"tersisa"` Category string `json:"category"` } @@ -63,6 +64,7 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Location: input.Location, Date: dateStr, // Assign the formatted date string Price: int64(input.Price), + Status: input.Status, Quota: int64(input.Quota), Tersisa: int64(input.Tersisa), Category: input.Category, @@ -123,6 +125,7 @@ func (h *TicketHandler) UpdateTicket(c echo.Context) error { Location string `json:"location"` Date time.Time `json:"date"` Price float64 `json:"price"` + Status string `json:"status"` Quota int `json:"quota"` Category string `json:"category"` } @@ -143,6 +146,7 @@ func (h *TicketHandler) UpdateTicket(c echo.Context) error { Location: input.Location, Date: dateStr, // Assign the formatted date string Price: int64(input.Price), // Convert Price to int64 if needed + Status: input.Status, Quota: int64(input.Quota), // Convert Quota to int64 if needed Category: input.Category, } @@ -333,7 +337,7 @@ func (h *TicketHandler) SortTicketByMostExpensive(c echo.Context) error { }) } -// ticket yang paling banyak dibeli +// ticket yang paling murah func (h *TicketHandler) SortTicketByCheapest(c echo.Context) error { sortParam := c.QueryParam("sort") @@ -371,4 +375,4 @@ func (h *TicketHandler) SortTicketByMostBought(c echo.Context) error { return c.JSON(http.StatusOK, map[string]interface{}{ "data": tickets, }) -} \ No newline at end of file +} From 20aaedda2b5e5ee6e5fa979afddbda33d46cf33d Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Thu, 30 Nov 2023 21:28:54 +0700 Subject: [PATCH 48/85] update respon di get ticket by ID --- internal/http/handler/ticket_handler.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/http/handler/ticket_handler.go b/internal/http/handler/ticket_handler.go index 51b6596..8e89583 100644 --- a/internal/http/handler/ticket_handler.go +++ b/internal/http/handler/ticket_handler.go @@ -108,6 +108,8 @@ func (h *TicketHandler) GetTicket(c echo.Context) error { "location": ticket.Location, "date": ticket.Date, "price": ticket.Price, + "tersisa": ticket.Tersisa, + "status": ticket.Status, "quota": ticket.Quota, "category": ticket.Category, "created": ticket.CreatedAt, From 26dea5f1693f84015cbf7232082f8173488bd0c9 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Thu, 30 Nov 2023 21:43:15 +0700 Subject: [PATCH 49/85] update respon di get ticket by ID --- entity/order.go | 6 +++--- internal/http/handler/order_handler.go | 8 +++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/entity/order.go b/entity/order.go index fc922cf..09339e4 100644 --- a/entity/order.go +++ b/entity/order.go @@ -12,9 +12,9 @@ type Order struct { User User `json:"user"` Quantity int64 `json:"quantity"` Total int64 `json:"total"` - OrderAt time.Time `json:"order_at"` - UpdatedAt time.Time `json:"updated_at"` - DeletedAt *time.Time `json:"deleted_at,omitempty"` + OrderAt time.Time `json:"-"` + UpdatedAt time.Time `json:"-"` + DeletedAt *time.Time `json:"-"` OrderBy string `json:"order_by"` UpdateBy string `json:"-"` DeleteBy string `json:"-"` diff --git a/internal/http/handler/order_handler.go b/internal/http/handler/order_handler.go index 0df5df4..7479778 100644 --- a/internal/http/handler/order_handler.go +++ b/internal/http/handler/order_handler.go @@ -34,8 +34,11 @@ func (h *OrderHandler) CreateOrder(ctx echo.Context) error { return ctx.JSON(http.StatusUnprocessableEntity, err) } - return ctx.JSON(http.StatusCreated, "Order created successfully") - + return ctx.JSON(http.StatusOK, map[string]interface{}{ + "message": "User updated successfully", + "Order": order, + "OrderAt": order.OrderAt, //buat munculin si updateAt nya + }) } // Get All Order @@ -93,4 +96,3 @@ func (h *OrderHandler) GetOrderByUserID(ctx echo.Context) error { "order_details": orderDetails, }) } - From 56edeb97ce2e066bde82bbc6dbc942445a685af2 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Thu, 30 Nov 2023 21:48:02 +0700 Subject: [PATCH 50/85] update respon untuk create new order --- internal/http/handler/order_handler.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/http/handler/order_handler.go b/internal/http/handler/order_handler.go index 7479778..316986b 100644 --- a/internal/http/handler/order_handler.go +++ b/internal/http/handler/order_handler.go @@ -36,7 +36,6 @@ func (h *OrderHandler) CreateOrder(ctx echo.Context) error { return ctx.JSON(http.StatusOK, map[string]interface{}{ "message": "User updated successfully", - "Order": order, "OrderAt": order.OrderAt, //buat munculin si updateAt nya }) } From b33534bafa33122c7febb55153d3fad3cbcb800a Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Thu, 30 Nov 2023 21:52:52 +0700 Subject: [PATCH 51/85] update respon untuk create new order dan dibagian struct order --- internal/http/handler/order_handler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/http/handler/order_handler.go b/internal/http/handler/order_handler.go index 316986b..0e3917d 100644 --- a/internal/http/handler/order_handler.go +++ b/internal/http/handler/order_handler.go @@ -36,7 +36,7 @@ func (h *OrderHandler) CreateOrder(ctx echo.Context) error { return ctx.JSON(http.StatusOK, map[string]interface{}{ "message": "User updated successfully", - "OrderAt": order.OrderAt, //buat munculin si updateAt nya + "OrderAt": order.OrderAt, }) } From e1e306fc8713e32d13e4452b633baf66018305da Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Thu, 30 Nov 2023 22:31:44 +0700 Subject: [PATCH 52/85] update program untuk sort /filter --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f1ee5a7..70e272e 100644 --- a/README.md +++ b/README.md @@ -58,4 +58,5 @@ Proyek ini akan berlangsung selama 2 sprint (2 minggu) dengan penilaian secara b - [x] [Figma](https://www.figma.com/file/BdDlFZ7u3E6upQlSwUcOax/Code-Challenge-Project-Based?type=whiteboard&node-id=0-1&t=Le6Pdip9Patyl5DV-0) - [x] [PPT Document](https://docs.google.com/presentation/d/1vvOwCKjysLxORL7GOtOJbgiW3XAVuYsRK0ccUa8VOzA/edit#slide=id.g21e0640a876_0_25) - [x] [Desain Aplikasi](https://www.figma.com/file/1MtWn0HIt9SidftaQIlrXG/Project-Coding-Challenge-References?type=design&node-id=0-4&mode=design&t=dC1tZcf7zlIMfZBL-0) -- [x] [Notion](https://pouncing-language-444.notion.site/15cb9b14d1cd47f4a355e8b7583b0857?v=e7c8616df95346d7af872d52aba69259&pvs=4) \ No newline at end of file +- [x] [Notion](https://pouncing-language-444.notion.site/15cb9b14d1cd47f4a355e8b7583b0857?v=e7c8616df95346d7af872d52aba69259&pvs=4) +- [x] [Postman](https://trello.com/b/6Z6ZQZ6Z/capstone-3) \ No newline at end of file From 4362e45bb69797066a9b00c1338d4b77fdf66b13 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Thu, 30 Nov 2023 23:50:49 +0700 Subject: [PATCH 53/85] update program push notification --- .../go/bin/pkg/sumdb/sum.golang.org/latest | 5 ++ ...7065901_create_notification_tabel.down.sql | 5 ++ ...127065901_create_notification_tabel.up.sql | 11 ++++ entity/notification.go | 27 ++++++++ go.mod | 4 +- internal/builder/builder.go | 6 +- internal/http/handler/notification_hendler.go | 65 +++++++++++++++++++ internal/http/router/routes.go | 18 ++++- .../repository/notification_repository.go | 38 +++++++++++ internal/service/notification_services.go | 34 ++++++++++ 10 files changed, 209 insertions(+), 4 deletions(-) create mode 100644 %USERPROFILE%/go/bin/pkg/sumdb/sum.golang.org/latest create mode 100644 db/migration-golang/20231127065901_create_notification_tabel.down.sql create mode 100644 db/migration-golang/20231127065901_create_notification_tabel.up.sql create mode 100644 entity/notification.go create mode 100644 internal/http/handler/notification_hendler.go create mode 100644 internal/repository/notification_repository.go create mode 100644 internal/service/notification_services.go diff --git a/%USERPROFILE%/go/bin/pkg/sumdb/sum.golang.org/latest b/%USERPROFILE%/go/bin/pkg/sumdb/sum.golang.org/latest new file mode 100644 index 0000000..8eabf94 --- /dev/null +++ b/%USERPROFILE%/go/bin/pkg/sumdb/sum.golang.org/latest @@ -0,0 +1,5 @@ +go.sum database tree +20857462 +Kn0F1e8O8fQOl6YvfyegETTq1tmu1qpkfDZj5AtvhWI= + +— sum.golang.org Az3gru8zyaj7EuaczqV+hDOTF+63AeV8mvhZHqRv6bbiV3gaYIvN9DnNHoSzVwNBCGSXS7qp50Ui6l9wNpxiJmNpwAc= diff --git a/db/migration-golang/20231127065901_create_notification_tabel.down.sql b/db/migration-golang/20231127065901_create_notification_tabel.down.sql new file mode 100644 index 0000000..2734c73 --- /dev/null +++ b/db/migration-golang/20231127065901_create_notification_tabel.down.sql @@ -0,0 +1,5 @@ +BEGIN; + +DROP TABLE IF EXISTS "public"."notification"; + +COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231127065901_create_notification_tabel.up.sql b/db/migration-golang/20231127065901_create_notification_tabel.up.sql new file mode 100644 index 0000000..a2067dc --- /dev/null +++ b/db/migration-golang/20231127065901_create_notification_tabel.up.sql @@ -0,0 +1,11 @@ +BEGIN; +CREATE TABLE IF NOT EXISTS "public"."notifications" ( + ID SERIAL NOT NULL PRIMARY KEY, + Type TEXT, + Message TEXT, + Is_Read BOOLEAN DEFAULT FALSE, + Created_At TIMESTAMP, + Updated_At TIMESTAMP, + Deleted_At TIMESTAMP +); +COMMIT; \ No newline at end of file diff --git a/entity/notification.go b/entity/notification.go new file mode 100644 index 0000000..1d1ffad --- /dev/null +++ b/entity/notification.go @@ -0,0 +1,27 @@ +package entity + +import ( + "time" +) + +type Notification struct { + ID int `json:"id"` + Type string `json:"type"` + Message string `json:"message"` + IsRead bool `json:"is_read"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` + DeletedAt time.Time `json:"deleted_at"` +} + +func NewNotification(id int, typ, message string, isRead bool, createdAt, updatedAt, deletedAt time.Time) *Notification { + return &Notification{ + ID: id, + Type: typ, + Message: message, + IsRead: isRead, + CreatedAt: createdAt, + UpdatedAt: updatedAt, + DeletedAt: deletedAt, + } +} \ No newline at end of file diff --git a/go.mod b/go.mod index 0a5e672..5b1232f 100644 --- a/go.mod +++ b/go.mod @@ -6,10 +6,12 @@ require ( github.com/caarlos0/env/v6 v6.10.1 github.com/creasty/defaults v1.7.0 github.com/go-playground/validator/v10 v10.16.0 + github.com/golang-jwt/jwt v3.2.2+incompatible github.com/golang-jwt/jwt/v5 v5.0.0 github.com/joho/godotenv v1.5.1 github.com/labstack/echo-jwt/v4 v4.2.0 github.com/labstack/echo/v4 v4.11.3 + golang.org/x/crypto v0.14.0 gorm.io/driver/postgres v1.5.4 gorm.io/gorm v1.25.5 ) @@ -18,7 +20,6 @@ require ( github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/golang-jwt/jwt v3.2.2+incompatible // indirect github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect github.com/jackc/pgx/v5 v5.4.3 // indirect @@ -30,7 +31,6 @@ require ( github.com/mattn/go-isatty v0.0.19 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect - golang.org/x/crypto v0.14.0 // indirect golang.org/x/net v0.17.0 // indirect golang.org/x/sys v0.13.0 // indirect golang.org/x/text v0.13.0 // indirect diff --git a/internal/builder/builder.go b/internal/builder/builder.go index 9b2b314..9ad5ddd 100644 --- a/internal/builder/builder.go +++ b/internal/builder/builder.go @@ -42,6 +42,10 @@ func BuildPrivateRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { OrderService := service.NewOrderService(OrderRepository) OrderHandler := handler.NewOrderHandler(OrderService) + NotificationRepository := repository.NewNotificationRepository(db) + NotificationService := service.NewNotificationService(NotificationRepository) + NotificationHandler := handler.NewNotificationHandler(NotificationService) + // Menggunakan PrivateRoutes dengan kedua handler - return router.PrivateRoutes(userHandler, ticketHandler, BlogHandler, OrderHandler) + return router.PrivateRoutes(userHandler, ticketHandler, BlogHandler, OrderHandler, NotificationHandler) } diff --git a/internal/http/handler/notification_hendler.go b/internal/http/handler/notification_hendler.go new file mode 100644 index 0000000..889f8cb --- /dev/null +++ b/internal/http/handler/notification_hendler.go @@ -0,0 +1,65 @@ +package handler + +import ( + "net/http" + "Ticketing/entity" + "Ticketing/internal/service" + + "github.com/labstack/echo/v4" + "time" + "Ticketing/internal/http/validator" +) + +type NotificationHandler struct { + notificationService service.NotificationUsecase +} + +func NewNotificationHandler(notificationService service.NotificationUsecase) *NotificationHandler { + return &NotificationHandler{notificationService} +} + + +// GetAllNotification +func (h *NotificationHandler) GetAllNotification(c echo.Context) error { + Notifications, err := h.notificationService.GetAllNotification(c.Request().Context()) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": Notifications, + }) +} + + +// func untuk create notification +func (h *NotificationHandler) CreateNotification(c echo.Context) error { + var input struct { + Type string `json:"type" validate:"required"` + Message string `json:"message" validate:"required"` + Is_Read bool `json:"is_read"` + Create_at time.Time `json:"create_at"` + } + + // Input validation + if err := c.Bind(&input); err != nil { + return c.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + // Create a Notification object + Notification := entity.Notification{ + Type: input.Type, + Message: input.Message, + IsRead: input.Is_Read, + CreatedAt: time.Now(), + } + + err := h.notificationService.CreateNotification(c.Request().Context(), &Notification) + if err != nil { + return c.JSON(http.StatusInternalServerError, validator.ValidatorErrors(err)) + } + + return c.JSON(http.StatusCreated, Notification) +} + + + diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index e5bde77..5b39a78 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -44,7 +44,7 @@ func PublicRoutes(authHandler *handler.AuthHandler) []*Route { // membuat fungsi untuk mengembalikan route // pada func ini tdk perlu login krna public -func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.TicketHandler, BlogHandler *handler.BlogHandler, OrderHandler *handler.OrderHandler) []*Route { +func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.TicketHandler, BlogHandler *handler.BlogHandler, OrderHandler *handler.OrderHandler , NotificationHandler *handler.NotificationHandler) []*Route { return []*Route{ { Method: echo.POST, @@ -262,6 +262,22 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Handler: TicketHandler.SortTicketByAvailable, Role: allRoles, }, + + // create notification + { + Method: echo.POST, + Path: "/notification", + Handler: NotificationHandler.CreateNotification, + Role: allRoles, + }, + + // get all notification + { + Method: echo.GET, + Path: "/notification", + Handler: NotificationHandler.GetAllNotification, + Role: allRoles, + }, } } diff --git a/internal/repository/notification_repository.go b/internal/repository/notification_repository.go new file mode 100644 index 0000000..3ee6dc8 --- /dev/null +++ b/internal/repository/notification_repository.go @@ -0,0 +1,38 @@ +package repository + +import ( + "context" + "Ticketing/entity" + "gorm.io/gorm" +) + +type NotificationRepository struct { + db *gorm.DB +} + +func NewNotificationRepository(db *gorm.DB) *NotificationRepository { + return &NotificationRepository{ + db: db, + } +} + +// get all notification +func (r *NotificationRepository) GetAllNotification(ctx context.Context) ([]*entity.Notification, error) { + Notifications := make([]*entity.Notification, 0) + result := r.db.WithContext(ctx).Find(&Notifications) + if result.Error != nil { + return nil, result.Error + } + return Notifications, nil +} +// create notification +func (r *NotificationRepository) CreateNotification(ctx context.Context, Notification *entity.Notification) error { + result := r.db.WithContext(ctx).Create(&Notification) + if result.Error != nil { + return result.Error + } + return nil +} + + + diff --git a/internal/service/notification_services.go b/internal/service/notification_services.go new file mode 100644 index 0000000..8db84e1 --- /dev/null +++ b/internal/service/notification_services.go @@ -0,0 +1,34 @@ +package service + +import ( + "Ticketing/entity" + "context" +) + +type NotificationUsecase interface { + GetAllNotification(ctx context.Context) ([]*entity.Notification, error) + CreateNotification(ctx context.Context, Notification *entity.Notification) error +} + +type NotificationRepository interface { + GetAllNotification(ctx context.Context) ([]*entity.Notification, error) + CreateNotification(ctx context.Context, Notification *entity.Notification) error +} + +type NotificationService struct { + Repository NotificationRepository +} + +func NewNotificationService(Repository NotificationRepository) *NotificationService { + return &NotificationService{Repository: Repository} +} + +// Get All Notification ketika di get maka status notifikasi akan berubah menjadi true +func (s *NotificationService) GetAllNotification(ctx context.Context) ([]*entity.Notification, error) { + return s.Repository.GetAllNotification(ctx) +} + +// func untuk create notification +func (s *NotificationService) CreateNotification(ctx context.Context, Notification *entity.Notification) error { + return s.Repository.CreateNotification(ctx, Notification) +} \ No newline at end of file From d4c06d3f1b926d80ec8f0f33fdad8dee7bcc094f Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Fri, 1 Dec 2023 05:39:35 +0700 Subject: [PATCH 54/85] update topup --- ...20231127065301_create_topup_tabel.down.sql | 5 +++ .../20231127065301_create_topup_tabel.up.sql | 11 +++++ entity/topup.go | 27 ++++++++++++ go.mod | 1 + go.sum | 2 + internal/builder/builder.go | 6 ++- internal/config/config.go | 15 ++++++- internal/http/handler/topup_handler.go | 38 +++++++++++++++++ internal/http/router/routes.go | 16 ++++++- internal/repository/topup_repository.go | 28 +++++++++++++ internal/service/topup_services.go | 42 +++++++++++++++++++ 11 files changed, 188 insertions(+), 3 deletions(-) create mode 100644 db/migration-golang/20231127065301_create_topup_tabel.down.sql create mode 100644 db/migration-golang/20231127065301_create_topup_tabel.up.sql create mode 100644 entity/topup.go create mode 100644 internal/http/handler/topup_handler.go create mode 100644 internal/repository/topup_repository.go create mode 100644 internal/service/topup_services.go diff --git a/db/migration-golang/20231127065301_create_topup_tabel.down.sql b/db/migration-golang/20231127065301_create_topup_tabel.down.sql new file mode 100644 index 0000000..6222119 --- /dev/null +++ b/db/migration-golang/20231127065301_create_topup_tabel.down.sql @@ -0,0 +1,5 @@ +BEGIN; + +DROP TABLE IF EXISTS "public"."topup"; + +COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231127065301_create_topup_tabel.up.sql b/db/migration-golang/20231127065301_create_topup_tabel.up.sql new file mode 100644 index 0000000..4d277ac --- /dev/null +++ b/db/migration-golang/20231127065301_create_topup_tabel.up.sql @@ -0,0 +1,11 @@ +BEGIN; +CREATE TABLE IF NOT EXISTS "public"."topup" ( + "id" varchar(255) NOT NULL PRIMARY KEY, + "user_id" integer NOT NULL, + "amount" integer NOT NULL, + "status" integer default 0, + "snap_url" varchar(255) NOT NULL, + "created_at" timestamp NOT NULL, + "updated_at" timestamp NOT NULL +); +COMMIT; \ No newline at end of file diff --git a/entity/topup.go b/entity/topup.go new file mode 100644 index 0000000..57cf022 --- /dev/null +++ b/entity/topup.go @@ -0,0 +1,27 @@ +package entity + +import ( + "time" +) + +// Topup struct menyimpan data top-up +type Topup struct { + ID string `json:"id" db:"id"` + UserID int `json:"user_id" db:"user_id"` + Amount int `json:"amount" db:"amount"` + Status int `json:"status" db:"status"` + SnapURL string `json:"snap_url" db:"snap_url"` + CreatedAt time.Time `json:"created_at" db:"created_at"` + UpdatedAt time.Time `json:"updated_at" db:"updated_at"` +} + +// TopupStatus struct menyimpan data status top-up +type NewTopup struct { + ID string `json:"id" db:"id"` + UserID int `json:"user_id" db:"user_id"` + Amount int `json:"amount" db:"amount"` + Status int `json:"status" db:"status"` + SnapURL string `json:"snap_url" db:"snap_url"` + CreatedAt time.Time `json:"created_at" db:"created_at"` + UpdatedAt time.Time `json:"updated_at" db:"updated_at"` +} \ No newline at end of file diff --git a/go.mod b/go.mod index 5b1232f..c1830e0 100644 --- a/go.mod +++ b/go.mod @@ -11,6 +11,7 @@ require ( github.com/joho/godotenv v1.5.1 github.com/labstack/echo-jwt/v4 v4.2.0 github.com/labstack/echo/v4 v4.11.3 + github.com/midtrans/midtrans-go v1.3.7 golang.org/x/crypto v0.14.0 gorm.io/driver/postgres v1.5.4 gorm.io/gorm v1.25.5 diff --git a/go.sum b/go.sum index 8030741..b60be13 100644 --- a/go.sum +++ b/go.sum @@ -45,6 +45,8 @@ github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27k github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/midtrans/midtrans-go v1.3.7 h1:3vL9ydlVqp9VfRHDzOG17w1D6X9241jj6LQdPTxVE/g= +github.com/midtrans/midtrans-go v1.3.7/go.mod h1:5hN2oiZDP3/SwSBxHPTg8eC/RVoRE9DXQOY1Ah9au10= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= diff --git a/internal/builder/builder.go b/internal/builder/builder.go index 9ad5ddd..aaf4834 100644 --- a/internal/builder/builder.go +++ b/internal/builder/builder.go @@ -46,6 +46,10 @@ func BuildPrivateRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { NotificationService := service.NewNotificationService(NotificationRepository) NotificationHandler := handler.NewNotificationHandler(NotificationService) + TopupRepository := repository.NewTopupRepository(db) + TopupService := service.NewTopupService(TopupRepository) + TopupHandler := handler.NewTopupHandler(TopupService) + // Menggunakan PrivateRoutes dengan kedua handler - return router.PrivateRoutes(userHandler, ticketHandler, BlogHandler, OrderHandler, NotificationHandler) + return router.PrivateRoutes(userHandler, ticketHandler, BlogHandler, OrderHandler, NotificationHandler, TopupHandler) } diff --git a/internal/config/config.go b/internal/config/config.go index 5d6324e..2fee3b8 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -51,4 +51,17 @@ func parseConfig(envPath string) (*Config, error) { return nil, errors.New("failed to parse config") } return cfg, nil -} \ No newline at end of file +} + +var MidtransConfig struct { + ClientKey string + ServerKey string + IsProduction bool +} + +func init() { + // Isi konfigurasi Midtrans Anda di sini + MidtransConfig.ClientKey = "your_midtrans_client_key" + MidtransConfig.ServerKey = "your_midtrans_server_key" + MidtransConfig.IsProduction = false // Ganti menjadi true jika sudah di production +} diff --git a/internal/http/handler/topup_handler.go b/internal/http/handler/topup_handler.go new file mode 100644 index 0000000..d82e772 --- /dev/null +++ b/internal/http/handler/topup_handler.go @@ -0,0 +1,38 @@ +package handler + +import ( + "Ticketing/entity" + "Ticketing/internal/service" + "net/http" + "github.com/labstack/echo/v4" +) + +type TopupHandler struct { + topupService service.TopupService +} + +func NewTopupHandler(topupService service.TopupService) *TopupHandler { + return &TopupHandler{topupService} +} + +func (h *TopupHandler) CreateTopup(c echo.Context) error { + var topup entity.Topup + if err := c.Bind(&topup); err != nil { + return c.JSON(http.StatusBadRequest, echo.Map{"error": err.Error()}) + } + + chargeResp, err := h.topupService.CreateMidtransCharge(topup.ID, int64(topup.Amount)) + if err != nil { + return c.JSON(http.StatusInternalServerError, echo.Map{"error": err.Error()}) + } + + topup.SnapURL = chargeResp.RedirectURL + + // Perhatikan penambahan c.Request().Context() di sini + newTopup, err := h.topupService.CreateTopup(c.Request().Context(), topup) + if err != nil { + return c.JSON(http.StatusInternalServerError, echo.Map{"error": err.Error()}) + } + + return c.JSON(http.StatusCreated, newTopup) +} diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 5b39a78..a3ef8be 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -44,7 +44,13 @@ func PublicRoutes(authHandler *handler.AuthHandler) []*Route { // membuat fungsi untuk mengembalikan route // pada func ini tdk perlu login krna public -func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.TicketHandler, BlogHandler *handler.BlogHandler, OrderHandler *handler.OrderHandler , NotificationHandler *handler.NotificationHandler) []*Route { +func PrivateRoutes( + UserHandler *handler.UserHandler, + TicketHandler *handler.TicketHandler, + BlogHandler *handler.BlogHandler, + OrderHandler *handler.OrderHandler, + NotificationHandler *handler.NotificationHandler, + TopupHandler *handler.TopupHandler) []*Route { return []*Route{ { Method: echo.POST, @@ -278,6 +284,14 @@ func PrivateRoutes(UserHandler *handler.UserHandler, TicketHandler *handler.Tick Handler: NotificationHandler.GetAllNotification, Role: allRoles, }, + + // topup + { + Method: echo.POST, + Path: "/topup", + Handler: TopupHandler.CreateTopup, + Role: allRoles, + }, } } diff --git a/internal/repository/topup_repository.go b/internal/repository/topup_repository.go new file mode 100644 index 0000000..3a3b94c --- /dev/null +++ b/internal/repository/topup_repository.go @@ -0,0 +1,28 @@ +package repository + +import ( + "Ticketing/entity" + "context" + "gorm.io/gorm" +) + +type TopupRepository interface { + InsertTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) +} + +type topupRepository struct { + db *gorm.DB +} + +func NewTopupRepository(db *gorm.DB) *topupRepository { + return &topupRepository{db} +} + +func (r *topupRepository) InsertTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) { + result := r.db.WithContext(ctx).Create(&topup) + if result.Error != nil { + return entity.Topup{}, result.Error + } + return topup, nil +} + diff --git a/internal/service/topup_services.go b/internal/service/topup_services.go new file mode 100644 index 0000000..6d4760b --- /dev/null +++ b/internal/service/topup_services.go @@ -0,0 +1,42 @@ +package service + +import ( + "context" + "Ticketing/entity" + "Ticketing/internal/repository" + "github.com/midtrans/midtrans-go" + "github.com/midtrans/midtrans-go/coreapi" +) + +type TopupService interface { + CreateTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) + CreateMidtransCharge(orderID string, amount int64) (*coreapi.ChargeResponse, error) +} + +type topupService struct { + topupRepository repository.TopupRepository +} + +func NewTopupService(topupRepository repository.TopupRepository) *topupService { + return &topupService{topupRepository} +} + +func (s *topupService) CreateTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) { + return s.topupRepository.InsertTopup(ctx, topup) +} + +func (s *topupService) CreateMidtransCharge(orderID string, amount int64) (*coreapi.ChargeResponse, error) { + c := coreapi.Client{} + c.New("YOUR-SERVER-KEY", midtrans.Sandbox) // Ganti dengan server key Anda + + chargeReq := &coreapi.ChargeReq{ + PaymentType: coreapi.PaymentTypeBankTransfer, // Sesuaikan dengan jenis pembayaran + TransactionDetails: midtrans.TransactionDetails{ + OrderID: orderID, + GrossAmt: amount, + }, + // Tambahkan detail lainnya sesuai kebutuhan + } + + return c.ChargeTransaction(chargeReq) +} From 2d75732fcbe2910f211cd2242686893ad885b3a1 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Fri, 1 Dec 2023 05:42:38 +0700 Subject: [PATCH 55/85] update db --- .../20231127065301_create_topup_tabel.up.sql | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/db/migration-golang/20231127065301_create_topup_tabel.up.sql b/db/migration-golang/20231127065301_create_topup_tabel.up.sql index 4d277ac..0a67574 100644 --- a/db/migration-golang/20231127065301_create_topup_tabel.up.sql +++ b/db/migration-golang/20231127065301_create_topup_tabel.up.sql @@ -1,11 +1,11 @@ BEGIN; CREATE TABLE IF NOT EXISTS "public"."topup" ( "id" varchar(255) NOT NULL PRIMARY KEY, - "user_id" integer NOT NULL, - "amount" integer NOT NULL, - "status" integer default 0, - "snap_url" varchar(255) NOT NULL, - "created_at" timestamp NOT NULL, - "updated_at" timestamp NOT NULL + "user_id" INT, + "amount" INT, + "status" INT, + "snap_url" varchar(255), + "created_at" TIMESTAMP, + "updated_at" TIMESTAMP ); COMMIT; \ No newline at end of file From 7f1091841e1057485afb69b4a79a9f89d0d2245a Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Fri, 1 Dec 2023 22:04:04 +0700 Subject: [PATCH 56/85] update topup --- internal/config/config.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/config/config.go b/internal/config/config.go index 2fee3b8..adc63db 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -61,7 +61,7 @@ var MidtransConfig struct { func init() { // Isi konfigurasi Midtrans Anda di sini - MidtransConfig.ClientKey = "your_midtrans_client_key" - MidtransConfig.ServerKey = "your_midtrans_server_key" + MidtransConfig.ClientKey = "SB-Mid-client-ZCcoPJr6rlvFrQ3N" + MidtransConfig.ServerKey = "SB-Mid-server-RGIeiP4-kdQSADSfhbpG42B-" MidtransConfig.IsProduction = false // Ganti menjadi true jika sudah di production } From 2dd55fa8d4700cb21a7715f1aa025fac315b6288 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Fri, 1 Dec 2023 22:04:27 +0700 Subject: [PATCH 57/85] update tiket terjual --- .../20231127065951_create_ticket_tabel.up.sql | 2 +- entity/tiket.go | 10 +++++----- go.mod | 4 ++-- internal/http/handler/ticket_handler.go | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/db/migration-golang/20231127065951_create_ticket_tabel.up.sql b/db/migration-golang/20231127065951_create_ticket_tabel.up.sql index 230bbcc..748ab4b 100644 --- a/db/migration-golang/20231127065951_create_ticket_tabel.up.sql +++ b/db/migration-golang/20231127065951_create_ticket_tabel.up.sql @@ -10,7 +10,7 @@ CREATE TABLE IF NOT EXISTS "public"."tickets" ( Status TEXT DEFAULT 'available', Quota INT, Category TEXT, - Tersisa INT, + Terjual INT, Created_At TIMESTAMP, Updated_At TIMESTAMP, Deleted_At TIMESTAMP diff --git a/entity/tiket.go b/entity/tiket.go index e8b3f7e..b82dbfb 100644 --- a/entity/tiket.go +++ b/entity/tiket.go @@ -15,13 +15,13 @@ type Ticket struct { Status string `json:"Status"` // e.g., 'available', 'sold out' Quota int64 `json:"Quota"` Category string `json:"category"` - Tersisa int64 `json:"Tersisa"` // e.g., 1000, 5000, 10000 + Terjual int64 `json:"Terjual"` // e.g., 1000, 5000, 10000 CreatedAt time.Time `json:"-"` UpdatedAt time.Time `json:"-"` DeletedAt time.Time `json:"-"` } -func NewTicket(image, location, date, title, description, category string, price, quota, tersisa int64) *Ticket { +func NewTicket(image, location, date, title, description, category string, price, quota, terjual int64) *Ticket { return &Ticket{ Image: image, Location: location, @@ -31,11 +31,11 @@ func NewTicket(image, location, date, title, description, category string, price Category: category, Price: price, Quota: quota, - Tersisa: tersisa, + Terjual: terjual, } } -func UpdateTicket(id int64, image, location, date, title, description, category string, price, quota, tersisa int64) *Ticket { +func UpdateTicket(id int64, image, location, date, title, description, category string, price, quota, terjual int64) *Ticket { return &Ticket{ ID: id, Image: image, @@ -46,6 +46,6 @@ func UpdateTicket(id int64, image, location, date, title, description, category Category: category, Price: price, Quota: quota, - Tersisa: tersisa, + Terjual: terjual, } } diff --git a/go.mod b/go.mod index 0a5e672..5b1232f 100644 --- a/go.mod +++ b/go.mod @@ -6,10 +6,12 @@ require ( github.com/caarlos0/env/v6 v6.10.1 github.com/creasty/defaults v1.7.0 github.com/go-playground/validator/v10 v10.16.0 + github.com/golang-jwt/jwt v3.2.2+incompatible github.com/golang-jwt/jwt/v5 v5.0.0 github.com/joho/godotenv v1.5.1 github.com/labstack/echo-jwt/v4 v4.2.0 github.com/labstack/echo/v4 v4.11.3 + golang.org/x/crypto v0.14.0 gorm.io/driver/postgres v1.5.4 gorm.io/gorm v1.25.5 ) @@ -18,7 +20,6 @@ require ( github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/golang-jwt/jwt v3.2.2+incompatible // indirect github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect github.com/jackc/pgx/v5 v5.4.3 // indirect @@ -30,7 +31,6 @@ require ( github.com/mattn/go-isatty v0.0.19 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect - golang.org/x/crypto v0.14.0 // indirect golang.org/x/net v0.17.0 // indirect golang.org/x/sys v0.13.0 // indirect golang.org/x/text v0.13.0 // indirect diff --git a/internal/http/handler/ticket_handler.go b/internal/http/handler/ticket_handler.go index 7ef1a8a..5009d1c 100644 --- a/internal/http/handler/ticket_handler.go +++ b/internal/http/handler/ticket_handler.go @@ -43,7 +43,7 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Date time.Time `json:"date"` Price float64 `json:"price"` Quota int `json:"quota"` - Tersisa int `json:"tersisa"` + Terjual int `json:"terjual"` Category string `json:"category"` } @@ -64,7 +64,7 @@ func (h *TicketHandler) CreateTicket(c echo.Context) error { Date: dateStr, // Assign the formatted date string Price: int64(input.Price), Quota: int64(input.Quota), - Tersisa: int64(input.Tersisa), + Terjual: int64(input.Terjual), Category: input.Category, CreatedAt: time.Now(), } From 93fc5fe888c2af4f792fba0dfbc04d482ed48df4 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Fri, 1 Dec 2023 23:13:27 +0700 Subject: [PATCH 58/85] update tiket saldo --- .../20231127160034_create_order_tabel.up.sql | 1 + entity/order.go | 4 +++- internal/http/handler/order_handler.go | 21 +++++++++--------- internal/repository/order_repository.go | 22 ++++++++++++++++++- internal/repository/user_repository.go | 11 ++++++++++ internal/service/order_service.go | 10 +++++++++ internal/service/user_service.go | 7 ++++++ 7 files changed, 64 insertions(+), 12 deletions(-) diff --git a/db/migration-golang/20231127160034_create_order_tabel.up.sql b/db/migration-golang/20231127160034_create_order_tabel.up.sql index 806affb..56d4601 100644 --- a/db/migration-golang/20231127160034_create_order_tabel.up.sql +++ b/db/migration-golang/20231127160034_create_order_tabel.up.sql @@ -6,6 +6,7 @@ CREATE TABLE IF NOT EXISTS "public". "orders" ( user_id INT, quantity INT, total INT, + status VARCHAR(255), order_at TIMESTAMP, updated_at TIMESTAMP, deleted_at TIMESTAMP, diff --git a/entity/order.go b/entity/order.go index fc922cf..9bc119e 100644 --- a/entity/order.go +++ b/entity/order.go @@ -12,6 +12,7 @@ type Order struct { User User `json:"user"` Quantity int64 `json:"quantity"` Total int64 `json:"total"` + Status string `json:"status"` OrderAt time.Time `json:"order_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt *time.Time `json:"deleted_at,omitempty"` @@ -21,11 +22,12 @@ type Order struct { } // membuat func NewOrder dengan memanggil tiketID, quantity, total, dan OrderAt -func NewOrder(ticketID, quantity, userID int64) *Order { +func NewOrder(ticketID, quantity, userID int64, status string) *Order { return &Order{ TicketID: ticketID, Quantity: quantity, UserID: userID, + Status: status, OrderAt: time.Now(), } } diff --git a/internal/http/handler/order_handler.go b/internal/http/handler/order_handler.go index 0df5df4..fac3d6e 100644 --- a/internal/http/handler/order_handler.go +++ b/internal/http/handler/order_handler.go @@ -10,11 +10,11 @@ import ( ) type OrderHandler struct { - orderService service.OrderUsecase + OrderService service.OrderUsecase } -func NewOrderHandler(Orderservice *service.OrderService) *OrderHandler { - return &OrderHandler{Orderservice} +func NewOrderHandler(OrderService service.OrderUsecase) *OrderHandler { + return &OrderHandler{OrderService} } // func untuk create order @@ -23,13 +23,15 @@ func (h *OrderHandler) CreateOrder(ctx echo.Context) error { TicketID int64 `json:"ticket_id" validate:"required"` Quantity int64 `json:"quantity" validate:"required"` UserID int64 `json:"user_id" validate:"required"` + Status string `json:"status" validate:"required"` + } if err := ctx.Bind(&input); err != nil { return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) } - order := entity.NewOrder(input.TicketID, input.Quantity, input.UserID) - err := h.orderService.CreateOrder(ctx.Request().Context(), order) + order := entity.NewOrder(input.TicketID, input.Quantity, input.UserID, input.Status) + err := h.OrderService.CreateOrder(ctx.Request().Context(), order) if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, err) } @@ -41,14 +43,14 @@ func (h *OrderHandler) CreateOrder(ctx echo.Context) error { // Get All Order func (h *OrderHandler) GetAllOrders(ctx echo.Context) error { // Implementasi untuk mendapatkan semua pesanan dari usecase - orders, err := h.orderService.GetOrders(ctx.Request().Context()) + orders, err := h.OrderService.GetOrders(ctx.Request().Context()) if err != nil { return ctx.JSON(http.StatusBadRequest, echo.NewHTTPError(http.StatusBadRequest, err.Error())) } var orderDetails []map[string]interface{} for _, order := range orders { - ticket, err := h.orderService.GetTicketByID(ctx.Request().Context(), order.TicketID) + ticket, err := h.OrderService.GetTicketByID(ctx.Request().Context(), order.TicketID) if err != nil { return ctx.JSON(http.StatusInternalServerError, echo.NewHTTPError(http.StatusInternalServerError, err.Error())) } @@ -69,14 +71,14 @@ func (h *OrderHandler) GetAllOrders(ctx echo.Context) error { // get order by user_id func (h *OrderHandler) GetOrderByUserID(ctx echo.Context) error { // Implementasi untuk mendapatkan semua pesanan dari usecase - orders, err := h.orderService.GetOrders(ctx.Request().Context()) + orders, err := h.OrderService.GetOrders(ctx.Request().Context()) if err != nil { return ctx.JSON(http.StatusBadRequest, echo.NewHTTPError(http.StatusBadRequest, err.Error())) } var orderDetails []map[string]interface{} for _, order := range orders { - ticket, err := h.orderService.GetTicketByID(ctx.Request().Context(), order.TicketID) + ticket, err := h.OrderService.GetTicketByID(ctx.Request().Context(), order.TicketID) if err != nil { return ctx.JSON(http.StatusInternalServerError, echo.NewHTTPError(http.StatusInternalServerError, err.Error())) } @@ -93,4 +95,3 @@ func (h *OrderHandler) GetOrderByUserID(ctx echo.Context) error { "order_details": orderDetails, }) } - diff --git a/internal/repository/order_repository.go b/internal/repository/order_repository.go index c763798..e3e804e 100644 --- a/internal/repository/order_repository.go +++ b/internal/repository/order_repository.go @@ -4,6 +4,7 @@ import ( "Ticketing/entity" "context" "gorm.io/gorm" + // "errors" ) type OrderRepository struct { @@ -70,4 +71,23 @@ func (r *OrderRepository) GetOrderByUserID(ctx context.Context, userID int64) ([ return nil, err } return orders, nil -} \ No newline at end of file +} + +//UpdateUserBalance +// func (r *OrderRepository) UpdateUserBalance(ctx context.Context, userID int64, total int64) error { +// user := new(entity.User) +// if err := r.db.WithContext(ctx).Where("id = ?", userID).First(user).Error; err != nil { +// return err +// } + +// if user.Saldo < total { +// return errors.New("insufficient balance") +// } + +// user.Saldo -= total +// if err := r.db.WithContext(ctx).Model(&entity.User{}).Where("id = ?", userID).Updates(user).Error; err != nil { +// return err +// } + +// return nil +// } \ No newline at end of file diff --git a/internal/repository/user_repository.go b/internal/repository/user_repository.go index a08e345..1a0602d 100644 --- a/internal/repository/user_repository.go +++ b/internal/repository/user_repository.go @@ -93,3 +93,14 @@ func (r *UserRepository) UpdateUserSelf(ctx context.Context, user *entity.User) } return nil } + +// update user balance by id +func (r *UserRepository) UpdateUserBalance(ctx context.Context, user *entity.User) error { + if err := r.db.WithContext(ctx). + Model(&entity.User{}). + Where("id = ?", user.ID). + Updates(&user).Error; err != nil { + return err + } + return nil +} \ No newline at end of file diff --git a/internal/service/order_service.go b/internal/service/order_service.go index 705d292..df60b66 100644 --- a/internal/service/order_service.go +++ b/internal/service/order_service.go @@ -13,6 +13,7 @@ type OrderUsecase interface { GetOrders(ctx context.Context) ([]*entity.Order, error) GetTicketByID(ctx context.Context, id int64) (*entity.Ticket, error) GetOrderByUserID(ctx context.Context, userID int64) ([]*entity.Order, error) + // UpdateUserBalance(ctx context.Context, userID int64, amount int64) error } type OrderRepository interface { @@ -22,6 +23,7 @@ type OrderRepository interface { GetOrders(ctx context.Context) ([]*entity.Order, error) GetTicketByID(ctx context.Context, id int64) (*entity.Ticket, error) GetOrderByUserID(ctx context.Context, userID int64) ([]*entity.Order, error) + // UpdateUserBalance(ctx context.Context, userID int64, amount int64) error } type OrderService struct { @@ -58,6 +60,10 @@ func (s *OrderService) CreateOrder(ctx context.Context, order *entity.Order) err return err } + // Mengurangi saldo pengguna + // if err := s.repository.UpdateUserBalance(ctx, order.UserID, order.Total); err != nil { + // return err + // } // Contoh: Mengupdate informasi pengguna setelah melakukan pembelian // Anda dapat menyesuaikan logika ini sesuai dengan kebutuhan // ... @@ -75,6 +81,10 @@ func (s *OrderService) UpdateTicket(ctx context.Context, ticket *entity.Ticket) return s.repository.UpdateTicket(ctx, ticket) } +// implementasi fungsi update user balance +// func (s *OrderService) UpdateUserBalance(ctx context.Context, userID int64, amount int64) error { +// return s.repository.UpdateUserBalance(ctx, userID, amount) + func (s *OrderService) GetOrders(ctx context.Context) ([]*entity.Order, error) { return s.repository.GetOrders(ctx) } diff --git a/internal/service/user_service.go b/internal/service/user_service.go index 7b60c8c..e4dd53b 100644 --- a/internal/service/user_service.go +++ b/internal/service/user_service.go @@ -17,6 +17,7 @@ type UserUsecase interface { GetUserByID(ctx context.Context, id int64) (*entity.User, error) Delete(ctx context.Context, id int64) error UpdateUserSelf(ctx context.Context, user *entity.User) error + UpdateUserBalance(ctx context.Context, user *entity.User) error } // interface untuk repository @@ -29,6 +30,7 @@ type UserRepository interface { GetUserByID(ctx context.Context, id int64) (*entity.User, error) Delete(ctx context.Context, id int64) error UpdateUserSelf(ctx context.Context, user *entity.User) error + UpdateUserBalance(ctx context.Context, user *entity.User) error } // code di line 23 merupakan dependency injection, karena repository tidak langsung di panggil. @@ -74,3 +76,8 @@ func (s *UserService) Delete(ctx context.Context, id int64) error { func (s *UserService) UpdateUserSelf(ctx context.Context, user *entity.User) error { return s.repository.UpdateUser(ctx, user) } + +// func update saldo user by id +func (s *UserService) UpdateUserBalance(ctx context.Context, user *entity.User) error { + return s.repository.UpdateUserBalance(ctx, user) +} \ No newline at end of file From 7e10ef3062f41651c14ed2aed44aa5ccc93e2045 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Fri, 1 Dec 2023 23:40:48 +0700 Subject: [PATCH 59/85] update tiket saldo --- internal/http/handler/order_handler.go | 61 +++++++++++----- internal/repository/order_repository.go | 56 ++++++++++----- internal/service/order_service.go | 94 +++++++++++++++---------- 3 files changed, 136 insertions(+), 75 deletions(-) diff --git a/internal/http/handler/order_handler.go b/internal/http/handler/order_handler.go index fac3d6e..bc8ed6c 100644 --- a/internal/http/handler/order_handler.go +++ b/internal/http/handler/order_handler.go @@ -5,6 +5,7 @@ import ( "Ticketing/internal/http/validator" "Ticketing/internal/service" "net/http" + "errors" "github.com/labstack/echo/v4" ) @@ -19,25 +20,47 @@ func NewOrderHandler(OrderService service.OrderUsecase) *OrderHandler { // func untuk create order func (h *OrderHandler) CreateOrder(ctx echo.Context) error { - var input struct { - TicketID int64 `json:"ticket_id" validate:"required"` - Quantity int64 `json:"quantity" validate:"required"` - UserID int64 `json:"user_id" validate:"required"` - Status string `json:"status" validate:"required"` - - } - - if err := ctx.Bind(&input); err != nil { - return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) - } - order := entity.NewOrder(input.TicketID, input.Quantity, input.UserID, input.Status) - err := h.OrderService.CreateOrder(ctx.Request().Context(), order) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - return ctx.JSON(http.StatusCreated, "Order created successfully") - + var input struct { + TicketID int64 `json:"ticket_id" validate:"required"` + Quantity int64 `json:"quantity" validate:"required"` + UserID int64 `json:"user_id" validate:"required"` + Status string `json:"status" validate:"required"` + } + + if err := ctx.Bind(&input); err != nil { + return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + // Mendapatkan informasi saldo pengguna sebelum membuat pesanan + userBalance, err := h.OrderService.GetUserBalance(ctx.Request().Context(), input.UserID) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + // Mengambil informasi tiket dari TicketService untuk mendapatkan harga tiket + ticketPrice, err := h.OrderService.GetTicketPrice(ctx.Request().Context(), input.TicketID) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + // Memeriksa apakah saldo cukup untuk membuat pesanan + if userBalance < (input.Quantity * ticketPrice) { + return ctx.JSON(http.StatusUnprocessableEntity, errors.New("insufficient balance")) + } + + order := entity.NewOrder(input.TicketID, input.Quantity, input.UserID, input.Status) + err = h.OrderService.CreateOrder(ctx.Request().Context(), order) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + // Mengurangkan saldo pengguna setelah membuat pesanan + err = h.OrderService.UpdateUserBalance(ctx.Request().Context(), input.UserID, input.Quantity*ticketPrice) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + return ctx.JSON(http.StatusCreated, "Order created successfully") } // Get All Order diff --git a/internal/repository/order_repository.go b/internal/repository/order_repository.go index e3e804e..0d9c2c6 100644 --- a/internal/repository/order_repository.go +++ b/internal/repository/order_repository.go @@ -4,7 +4,7 @@ import ( "Ticketing/entity" "context" "gorm.io/gorm" - // "errors" + "errors" ) type OrderRepository struct { @@ -74,20 +74,40 @@ func (r *OrderRepository) GetOrderByUserID(ctx context.Context, userID int64) ([ } //UpdateUserBalance -// func (r *OrderRepository) UpdateUserBalance(ctx context.Context, userID int64, total int64) error { -// user := new(entity.User) -// if err := r.db.WithContext(ctx).Where("id = ?", userID).First(user).Error; err != nil { -// return err -// } - -// if user.Saldo < total { -// return errors.New("insufficient balance") -// } - -// user.Saldo -= total -// if err := r.db.WithContext(ctx).Model(&entity.User{}).Where("id = ?", userID).Updates(user).Error; err != nil { -// return err -// } - -// return nil -// } \ No newline at end of file +func (r *OrderRepository) UpdateUserBalance(ctx context.Context, userID int64, total int64) error { + user := new(entity.User) + if err := r.db.WithContext(ctx).Where("id = ?", userID).First(user).Error; err != nil { + return err + } + + if user.Saldo < total { + return errors.New("insufficient balance") + } + + user.Saldo -= total + if err := r.db.WithContext(ctx).Model(&entity.User{}).Where("id = ?", userID).Updates(user).Error; err != nil { + return err + } + + return nil +} + +// get user balance +func (r *OrderRepository) GetUserBalance(ctx context.Context, userID int64) (int64, error) { + user := new(entity.User) + if err := r.db.WithContext(ctx).Where("id = ?", userID).First(user).Error; err != nil { + return 0, err + } + + return user.Saldo, nil +} + +// GetTicketPrice +func (r *OrderRepository) GetTicketPrice(ctx context.Context, ticketID int64) (int64, error) { + ticket := new(entity.Ticket) + if err := r.db.WithContext(ctx).Where("id = ?", ticketID).First(ticket).Error; err != nil { + return 0, err + } + + return int64(ticket.Price), nil +} \ No newline at end of file diff --git a/internal/service/order_service.go b/internal/service/order_service.go index df60b66..1d1af6a 100644 --- a/internal/service/order_service.go +++ b/internal/service/order_service.go @@ -13,7 +13,9 @@ type OrderUsecase interface { GetOrders(ctx context.Context) ([]*entity.Order, error) GetTicketByID(ctx context.Context, id int64) (*entity.Ticket, error) GetOrderByUserID(ctx context.Context, userID int64) ([]*entity.Order, error) - // UpdateUserBalance(ctx context.Context, userID int64, amount int64) error + UpdateUserBalance(ctx context.Context, userID int64, amount int64) error + GetUserBalance(ctx context.Context, userID int64) (int64, error) + GetTicketPrice(ctx context.Context, ticketID int64) (int64, error) } type OrderRepository interface { @@ -23,7 +25,9 @@ type OrderRepository interface { GetOrders(ctx context.Context) ([]*entity.Order, error) GetTicketByID(ctx context.Context, id int64) (*entity.Ticket, error) GetOrderByUserID(ctx context.Context, userID int64) ([]*entity.Order, error) - // UpdateUserBalance(ctx context.Context, userID int64, amount int64) error + UpdateUserBalance(ctx context.Context, userID int64, amount int64) error + GetUserBalance(ctx context.Context, userID int64) (int64, error) + GetTicketPrice(ctx context.Context, ticketID int64) (int64, error) } type OrderService struct { @@ -34,43 +38,42 @@ func NewOrderService(repository OrderRepository) *OrderService { return &OrderService{repository} } +// Updated CreateOrder method in OrderService to receive TicketService func (s *OrderService) CreateOrder(ctx context.Context, order *entity.Order) error { - // Mendapatkan informasi tiket berdasarkan ID tiket dalam pesanan - ticket, err := s.repository.GetTicket(ctx, order.TicketID) - if err != nil { - return err - } - - // Memeriksa ketersediaan tiket - if int64(ticket.Quota) < order.Quantity { - return errors.New("ticket is not available") - } - - // Melakukan perhitungan total harga pesanan - order.Total = ticket.Price * int64(order.Quantity) - - // Membuat pesanan - if err := s.repository.CreateOrder(ctx, order); err != nil { - return err - } - - // Mengurangi ketersediaan tiket - ticket.Quota -= order.Quantity - if err := s.repository.UpdateTicket(ctx, ticket); err != nil { - return err - } - - // Mengurangi saldo pengguna - // if err := s.repository.UpdateUserBalance(ctx, order.UserID, order.Total); err != nil { - // return err - // } - // Contoh: Mengupdate informasi pengguna setelah melakukan pembelian - // Anda dapat menyesuaikan logika ini sesuai dengan kebutuhan - // ... - - return nil + // Mendapatkan informasi tiket berdasarkan ID tiket dalam pesanan + ticket, err := s.repository.GetTicket(ctx, order.TicketID) + if err != nil { + return err + } + + // Memeriksa ketersediaan tiket + if int64(ticket.Quota) < order.Quantity { + return errors.New("ticket is not available") + } + + // Melakukan perhitungan total harga pesanan + order.Total = ticket.Price * int64(order.Quantity) + + // Membuat pesanan + if err := s.repository.CreateOrder(ctx, order); err != nil { + return err + } + + // Mengurangi ketersediaan tiket + ticket.Quota -= order.Quantity + if err := s.repository.UpdateTicket(ctx, ticket); err != nil { + return err + } + + // Mengurangi saldo pengguna + if err := s.repository.UpdateUserBalance(ctx, order.UserID, order.Total); err != nil { + return err + } + + return nil } + // Implementasi fungsi GetTicket func (s *OrderService) GetTicket(ctx context.Context, ticketID int64) (*entity.Ticket, error) { return s.repository.GetTicket(ctx, ticketID) @@ -82,8 +85,9 @@ func (s *OrderService) UpdateTicket(ctx context.Context, ticket *entity.Ticket) } // implementasi fungsi update user balance -// func (s *OrderService) UpdateUserBalance(ctx context.Context, userID int64, amount int64) error { -// return s.repository.UpdateUserBalance(ctx, userID, amount) +func (s *OrderService) UpdateUserBalance(ctx context.Context, userID int64, saldo int64) error { + return s.repository.UpdateUserBalance(ctx, userID, saldo) +} func (s *OrderService) GetOrders(ctx context.Context) ([]*entity.Order, error) { return s.repository.GetOrders(ctx) @@ -97,3 +101,17 @@ func (s *OrderService) GetTicketByID(ctx context.Context, id int64) (*entity.Tic func (s *OrderService) GetOrderByUserID(ctx context.Context, userID int64) ([]*entity.Order, error) { return s.repository.GetOrderByUserID(ctx, userID) } + +// get user balance +func (s *OrderService) GetUserBalance(ctx context.Context, userID int64) (int64, error) { + return s.repository.GetUserBalance(ctx, userID) +} + +// GetTicketPrice +func (s *OrderService) GetTicketPrice(ctx context.Context, ticketID int64) (int64, error) { + ticket, err := s.repository.GetTicket(ctx, ticketID) + if err != nil { + return 0, err + } + return int64(ticket.Price), nil +} From 1c71a1cf8e15b55e675d759b8b342872dc3d4af6 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Sat, 2 Dec 2023 00:11:29 +0700 Subject: [PATCH 60/85] update saldo --- entity/user.go | 16 +++++++++++++++- internal/http/handler/user_hendler.go | 7 ++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/entity/user.go b/entity/user.go index 438cc1b..0ee8946 100644 --- a/entity/user.go +++ b/entity/user.go @@ -31,7 +31,7 @@ func NewUser(name, email, number, password, roles string, saldo int64) *User { } // Admin Update User -func UpdateUser(id int64, name, email, number, roles, password string) *User { +func UpdateUser(id int64, name, email, number, roles, password string, saldo int64) *User { return &User{ ID: id, Name: name, @@ -39,6 +39,7 @@ func UpdateUser(id int64, name, email, number, roles, password string) *User { Number: number, Roles: roles, Password: password, + Saldo: saldo, UpdatedAt: time.Now(), } } @@ -52,3 +53,16 @@ func Register(email, password, roles, number string) *User { Number: number, } } + +// user update by self +func UpdateUserSelf(id int64, name, email, number, password, roles string) *User { + return &User{ + ID: id, + Name: name, + Email: email, + Number: number, + Password: password, + Roles: roles, + UpdatedAt: time.Now(), + } +} diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 689df10..0f8cb7d 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -65,13 +65,14 @@ func (h *UserHandler) UpdateUser(ctx echo.Context) error { Number string `json:"number" validate:"min=11,max=13"` Roles string `json:"roles" validate:"oneof=Admin Buyer"` Password string `json:"password"` + Saldo int64 `json:"saldo"` } if err := ctx.Bind(&input); err != nil { return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) } - user := entity.UpdateUser(input.ID, input.Name, input.Email, input.Number, input.Roles, input.Password) + user := entity.UpdateUser(input.ID, input.Name, input.Email, input.Number, input.Roles, input.Password, input.Saldo) err := h.userService.UpdateUser(ctx.Request().Context(), user) if err != nil { @@ -159,10 +160,10 @@ func (h *UserHandler) UpdateUserSelf(ctx echo.Context) error { } // Update user - user := entity.UpdateUser(input.ID, input.Name, input.Email, input.Number, input.Roles, input.Password) + user := entity.UpdateUserSelf(input.ID, input.Name, input.Email, input.Number, input.Roles, input.Password) // Memanggil service untuk update user - err := h.userService.UpdateUser(ctx.Request().Context(), user) + err := h.userService.UpdateUserSelf(ctx.Request().Context(), user) if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) } From f4b2c25bf5562dd265828f47812b6df3c447a520 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Sat, 2 Dec 2023 00:17:57 +0700 Subject: [PATCH 61/85] update saldo --- %USERPROFILE%/go/bin/pkg/sumdb/sum.golang.org/latest | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 %USERPROFILE%/go/bin/pkg/sumdb/sum.golang.org/latest diff --git a/%USERPROFILE%/go/bin/pkg/sumdb/sum.golang.org/latest b/%USERPROFILE%/go/bin/pkg/sumdb/sum.golang.org/latest deleted file mode 100644 index 8eabf94..0000000 --- a/%USERPROFILE%/go/bin/pkg/sumdb/sum.golang.org/latest +++ /dev/null @@ -1,5 +0,0 @@ -go.sum database tree -20857462 -Kn0F1e8O8fQOl6YvfyegETTq1tmu1qpkfDZj5AtvhWI= - -— sum.golang.org Az3gru8zyaj7EuaczqV+hDOTF+63AeV8mvhZHqRv6bbiV3gaYIvN9DnNHoSzVwNBCGSXS7qp50Ui6l9wNpxiJmNpwAc= From 3a8c94a141f2ff90b55adf24724ba0fc0548096d Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Sat, 2 Dec 2023 00:19:06 +0700 Subject: [PATCH 62/85] update saldo --- entity/order.go | 2 +- entity/tiket.go | 21 ------- internal/http/handler/order_handler.go | 87 +++++++++++++------------- 3 files changed, 43 insertions(+), 67 deletions(-) diff --git a/entity/order.go b/entity/order.go index a2ec0e4..9bc119e 100644 --- a/entity/order.go +++ b/entity/order.go @@ -12,7 +12,7 @@ type Order struct { User User `json:"user"` Quantity int64 `json:"quantity"` Total int64 `json:"total"` - Status string `json:"status"` + Status string `json:"status"` OrderAt time.Time `json:"order_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt *time.Time `json:"deleted_at,omitempty"` diff --git a/entity/tiket.go b/entity/tiket.go index 96a645c..238eca2 100644 --- a/entity/tiket.go +++ b/entity/tiket.go @@ -5,7 +5,6 @@ import ( ) type Ticket struct { -<<<<<<< HEAD ID int64 `json:"id"` Image string `json:"image"` Location string `json:"location"` @@ -23,25 +22,6 @@ type Ticket struct { } func NewTicket(image, location, date, title, description, category string, price, quota, terjual int64) *Ticket { -======= - ID int64 `json:"id"` - Image string `json:"image"` - Location string `json:"location"` - Date string // Format: YYYY-MM-DD - Title string `json:"title"` - Description string `json:"description"` - Price int64 `json:"price"` - Status string `json:"Status"` // e.g., 'available', 'sold out' - Quota int64 `json:"Quota"` - Category string `json:"category"` - Tersisa int64 `json:"Tersisa"` // e.g., 1000, 5000, 10000 - CreatedAt time.Time `json:"-"` - UpdatedAt time.Time `json:"-"` - DeletedAt time.Time `json:"-"` -} - -func NewTicket(image, location, date, title, description, category, status string, price, quota, tersisa int64) *Ticket { ->>>>>>> b33534bafa33122c7febb55153d3fad3cbcb800a return &Ticket{ Image: image, Location: location, @@ -50,7 +30,6 @@ func NewTicket(image, location, date, title, description, category, status strin Description: description, Category: category, Price: price, - Status: status, Quota: quota, Terjual: terjual, } diff --git a/internal/http/handler/order_handler.go b/internal/http/handler/order_handler.go index 1307508..bc8ed6c 100644 --- a/internal/http/handler/order_handler.go +++ b/internal/http/handler/order_handler.go @@ -4,8 +4,8 @@ import ( "Ticketing/entity" "Ticketing/internal/http/validator" "Ticketing/internal/service" - "errors" "net/http" + "errors" "github.com/labstack/echo/v4" ) @@ -20,50 +20,47 @@ func NewOrderHandler(OrderService service.OrderUsecase) *OrderHandler { // func untuk create order func (h *OrderHandler) CreateOrder(ctx echo.Context) error { - var input struct { - TicketID int64 `json:"ticket_id" validate:"required"` - Quantity int64 `json:"quantity" validate:"required"` - UserID int64 `json:"user_id" validate:"required"` - Status string `json:"status" validate:"required"` - } - - if err := ctx.Bind(&input); err != nil { - return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) - } - - // Mendapatkan informasi saldo pengguna sebelum membuat pesanan - userBalance, err := h.OrderService.GetUserBalance(ctx.Request().Context(), input.UserID) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - // Mengambil informasi tiket dari TicketService untuk mendapatkan harga tiket - ticketPrice, err := h.OrderService.GetTicketPrice(ctx.Request().Context(), input.TicketID) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - // Memeriksa apakah saldo cukup untuk membuat pesanan - if userBalance < (input.Quantity * ticketPrice) { - return ctx.JSON(http.StatusUnprocessableEntity, errors.New("insufficient balance")) - } - - order := entity.NewOrder(input.TicketID, input.Quantity, input.UserID, input.Status) - err = h.OrderService.CreateOrder(ctx.Request().Context(), order) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - // Mengurangkan saldo pengguna setelah membuat pesanan - err = h.OrderService.UpdateUserBalance(ctx.Request().Context(), input.UserID, input.Quantity*ticketPrice) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - return ctx.JSON(http.StatusOK, map[string]interface{}{ - "message": "User updated successfully", - "OrderAt": order.OrderAt, - }) + var input struct { + TicketID int64 `json:"ticket_id" validate:"required"` + Quantity int64 `json:"quantity" validate:"required"` + UserID int64 `json:"user_id" validate:"required"` + Status string `json:"status" validate:"required"` + } + + if err := ctx.Bind(&input); err != nil { + return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + // Mendapatkan informasi saldo pengguna sebelum membuat pesanan + userBalance, err := h.OrderService.GetUserBalance(ctx.Request().Context(), input.UserID) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + // Mengambil informasi tiket dari TicketService untuk mendapatkan harga tiket + ticketPrice, err := h.OrderService.GetTicketPrice(ctx.Request().Context(), input.TicketID) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + // Memeriksa apakah saldo cukup untuk membuat pesanan + if userBalance < (input.Quantity * ticketPrice) { + return ctx.JSON(http.StatusUnprocessableEntity, errors.New("insufficient balance")) + } + + order := entity.NewOrder(input.TicketID, input.Quantity, input.UserID, input.Status) + err = h.OrderService.CreateOrder(ctx.Request().Context(), order) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + // Mengurangkan saldo pengguna setelah membuat pesanan + err = h.OrderService.UpdateUserBalance(ctx.Request().Context(), input.UserID, input.Quantity*ticketPrice) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + return ctx.JSON(http.StatusCreated, "Order created successfully") } // Get All Order From 9456d5dd64de0a1fcc33500b64f90468a253b304 Mon Sep 17 00:00:00 2001 From: ravitasmii <115474684+RavitaNRL@users.noreply.github.com> Date: Sat, 2 Dec 2023 00:19:42 +0700 Subject: [PATCH 63/85] update saldo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 70e272e..f75579e 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ By : Golang - Kelompok 3 +test Dalam proyek capstone ini, tujuan utamanya adalah untuk memberikan pengalaman baru kepada peserta, serta mengimplementasikan Metode Scrum dalam pengembangan produk digital. Proyek ini akan dilakukan dalam bentuk kelompok dan fokus pada pengembangan bagian Back End. ## Tujuan Utama Proyek From 8ab3cd7a22d81d911a1dd0c0461c87eaf67df4ba Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sat, 2 Dec 2023 03:43:30 +0700 Subject: [PATCH 64/85] update tiket saldo --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index f75579e..70e272e 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@ By : Golang - Kelompok 3 -test Dalam proyek capstone ini, tujuan utamanya adalah untuk memberikan pengalaman baru kepada peserta, serta mengimplementasikan Metode Scrum dalam pengembangan produk digital. Proyek ini akan dilakukan dalam bentuk kelompok dan fokus pada pengembangan bagian Back End. ## Tujuan Utama Proyek From 34882263c440bdc460aef06741fc8699c6251d15 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sat, 2 Dec 2023 04:48:33 +0700 Subject: [PATCH 65/85] update tiket postman --- .../go/bin/pkg/sumdb/sum.golang.org/latest | 5 + internal/builder/builder.go | 16 +- internal/http/router/routes.go | 12 +- .../Backend Ticketing.postman_collection.json | 2263 +++++++++++++++++ output/Tiketing.postman_collection.json | 1087 -------- 5 files changed, 2293 insertions(+), 1090 deletions(-) create mode 100644 %USERPROFILE%/go/bin/pkg/sumdb/sum.golang.org/latest create mode 100644 output/Backend Ticketing.postman_collection.json delete mode 100644 output/Tiketing.postman_collection.json diff --git a/%USERPROFILE%/go/bin/pkg/sumdb/sum.golang.org/latest b/%USERPROFILE%/go/bin/pkg/sumdb/sum.golang.org/latest new file mode 100644 index 0000000..8eabf94 --- /dev/null +++ b/%USERPROFILE%/go/bin/pkg/sumdb/sum.golang.org/latest @@ -0,0 +1,5 @@ +go.sum database tree +20857462 +Kn0F1e8O8fQOl6YvfyegETTq1tmu1qpkfDZj5AtvhWI= + +— sum.golang.org Az3gru8zyaj7EuaczqV+hDOTF+63AeV8mvhZHqRv6bbiV3gaYIvN9DnNHoSzVwNBCGSXS7qp50Ui6l9wNpxiJmNpwAc= diff --git a/internal/builder/builder.go b/internal/builder/builder.go index aaf4834..999ea02 100644 --- a/internal/builder/builder.go +++ b/internal/builder/builder.go @@ -13,14 +13,26 @@ import ( func BuildPublicRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { registrationRepository := repository.NewRegistrationRepository(db) registrationService := service.NewRegistrationService(registrationRepository) - userRepository := repository.NewUserRepository(db) // kenapa make ini? karena nge find email nya dari user_repository + + userRepository := repository.NewUserRepository(db) loginService := service.NewLoginService(userRepository) tokenService := service.NewTokenService(cfg) + + BlogRepository := repository.NewBlogRepository(db) + BlogService := service.NewBlogService(BlogRepository) + BlogHandler := handler.NewBlogHandler(BlogService) + + ticketRepository := repository.NewTicketRepository(db) + ticketService := service.NewTicketService(ticketRepository) + ticketHandler := handler.NewTicketHandler(ticketService) + authHandler := handler.NewAuthHandler(registrationService, loginService, tokenService) - return router.PublicRoutes(authHandler) + // Update the line below with the additional TicketHandler argument + return router.PublicRoutes(authHandler, ticketHandler, BlogHandler) // Update this line } + func BuildPrivateRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { // Create a user handler userRepository := repository.NewUserRepository(db) diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index a3ef8be..f35787b 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -27,7 +27,7 @@ type Route struct { // membuat fungsi untuk mengembalikan route // pada func ini perlu login krna private -func PublicRoutes(authHandler *handler.AuthHandler) []*Route { +func PublicRoutes(authHandler *handler.AuthHandler, TicketHandler *handler.TicketHandler, BlogHandler *handler.BlogHandler) []*Route { return []*Route{ { Method: echo.POST, @@ -39,6 +39,16 @@ func PublicRoutes(authHandler *handler.AuthHandler) []*Route { Path: "/register", Handler: authHandler.Registration, }, + { + Method: echo.GET, + Path: "/public/blog", + Handler: BlogHandler.GetAllBlogs, + }, + { + Method: echo.GET, + Path: "/public/ticket", + Handler: TicketHandler.GetAllTickets, + }, } } diff --git a/output/Backend Ticketing.postman_collection.json b/output/Backend Ticketing.postman_collection.json new file mode 100644 index 0000000..12bcaef --- /dev/null +++ b/output/Backend Ticketing.postman_collection.json @@ -0,0 +1,2263 @@ +{ + "info": { + "_postman_id": "475ee4c6-91f3-44de-bd51-5cdc49298a10", + "name": "Backend Ticketing", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "_exporter_id": "26142588", + "_collection_link": "https://ticketing-mikti.postman.co/workspace/Ticketing-Workspace~1c7b0ec0-f35f-4273-b1d6-67507ad4c237/collection/26142588-475ee4c6-91f3-44de-bd51-5cdc49298a10?action=share&source=collection_link&creator=26142588" + }, + "item": [ + { + "name": "Admin", + "item": [ + { + "name": "User", + "item": [ + { + "name": "Create User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"number\": \"1231231231231\",\r\n \"roles\" : \"Admin\",\r\n \"password\" : \"123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/users", + "host": [ + "{{url}}" + ], + "path": [ + "users" + ] + } + }, + "response": [] + }, + { + "name": "Get All User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/users", + "host": [ + "{{url}}" + ], + "path": [ + "users" + ] + } + }, + "response": [] + }, + { + "name": "Get User By ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/users/1", + "host": [ + "{{url}}" + ], + "path": [ + "users", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Edit User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"ravita\",\r\n \"email\": \"Admin@gmail.com\",\r\n \"number\": \"00000000000\",\r\n \"roles\": \"Admin\",\r\n \"saldo\": 11111111110\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/users/1", + "host": [ + "{{url}}" + ], + "path": [ + "users", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Delete User", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users/2", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "2" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Ticket", + "item": [ + { + "name": "Create Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"coldplay3\",\r\n \"description\": \"penyanyi luar negri\",\r\n \"image\": \"https/image\",\r\n \"location\": \"GBK\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 100,\r\n \"terjual\": 5,\r\n \"status\": \"available\",\r\n \"category\": \"music\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/ticket", + "host": [ + "{{url}}" + ], + "path": [ + "ticket" + ] + } + }, + "response": [] + }, + { + "name": "Get All Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket", + "host": [ + "{{url}}" + ], + "path": [ + "ticket" + ] + } + }, + "response": [] + }, + { + "name": "Get Ticket By ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/1", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Update Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"category\": \"music\",\r\n \"price\": 50.0,\r\n \"quota\": 200\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/ticket/1", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Delete Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "{{url}}/ticket/1", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "1" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Blog", + "item": [ + { + "name": "Create Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/blog", + "host": [ + "{{url}}" + ], + "path": [ + "blog" + ] + } + }, + "response": [] + }, + { + "name": "Get All Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/blog", + "host": [ + "{{url}}" + ], + "path": [ + "blog" + ] + } + }, + "response": [] + }, + { + "name": "Update Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/blog/1", + "host": [ + "{{url}}" + ], + "path": [ + "blog", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Delete Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "{{url}}/blog/1", + "host": [ + "{{url}}" + ], + "path": [ + "blog", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Search Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/blog/search/Nama", + "host": [ + "{{url}}" + ], + "path": [ + "blog", + "search", + "Nama" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Order", + "item": [ + { + "name": "Create Order", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"ticket_id\": 1,\r\n \"quantity\": 2,\r\n \"user_id\": 1,\r\n \"status\": \"seleseai\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/order", + "host": [ + "{{url}}" + ], + "path": [ + "order" + ] + } + }, + "response": [] + }, + { + "name": "Get All Order", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/order", + "host": [ + "{{url}}" + ], + "path": [ + "order" + ] + } + }, + "response": [] + }, + { + "name": "Get Order ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/order/1", + "host": [ + "{{url}}" + ], + "path": [ + "order", + "1" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Notification", + "item": [ + { + "name": "Create Notification", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"type\": \"Info\",\r\n \"message\": \"This is a sample notification\",\r\n \"is_read\": false,\r\n \"create_at\": \"2023-11-30T12:34:56Z\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/notification", + "host": [ + "{{url}}" + ], + "path": [ + "notification" + ] + } + }, + "response": [] + }, + { + "name": "Get Notification", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/notification", + "host": [ + "{{url}}" + ], + "path": [ + "notification" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Topup Saldo", + "item": [ + { + "name": "Topup Saldo Copy", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"id\": \"topup123\",\r\n \"user_id\": 1,\r\n \"amount\": 10000,\r\n \"status\": 0\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/topup", + "host": [ + "{{url}}" + ], + "path": [ + "topup" + ] + } + }, + "response": [] + } + ] + } + ] + }, + { + "name": "User", + "item": [ + { + "name": "Profile", + "item": [ + { + "name": "Update Profile", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"ravita\",\r\n \"email\": \"Admin@gmail.com\",\r\n \"number\": \"00000000000\",\r\n \"roles\": \"Admin\",\r\n \"saldo\": 11111111110\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/users/1", + "host": [ + "{{url}}" + ], + "path": [ + "users", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Delete Profile", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users/2", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "2" + ] + } + }, + "response": [] + }, + { + "name": "Get Profile", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/users/1", + "host": [ + "{{url}}" + ], + "path": [ + "users", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Get Saldo", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/users/1", + "host": [ + "{{url}}" + ], + "path": [ + "users", + "1" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Ticket", + "item": [ + { + "name": "Get Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket", + "host": [ + "{{url}}" + ], + "path": [ + "ticket" + ] + } + }, + "response": [] + }, + { + "name": "Get Ticket ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/1", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Search", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/search/Nama", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "search", + "Nama" + ] + } + }, + "response": [] + }, + { + "name": "FIlter Location", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/location/GBK", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "location", + "GBK" + ] + } + }, + "response": [] + }, + { + "name": "Filter Category", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/category/music", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "category", + "music" + ] + } + }, + "response": [] + }, + { + "name": "Filter Time", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/range/:start/:end", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "range", + ":start", + ":end" + ], + "variable": [ + { + "key": "start", + "value": "" + }, + { + "key": "end", + "value": "" + } + ] + } + }, + "response": [] + }, + { + "name": "Filter Price", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/price/:min/:max", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "price", + ":min", + ":max" + ], + "variable": [ + { + "key": "min", + "value": "0" + }, + { + "key": "max", + "value": "100" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort Cheap", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/cheapest?sort=termurah", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "cheapest" + ], + "query": [ + { + "key": "sort", + "value": "termurah" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort Bestseller", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/most-bought?sort=terbanyak", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "most-bought" + ], + "query": [ + { + "key": "sort", + "value": "terbanyak" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort Expenive", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/most-expensive?sort=termahal", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "most-expensive" + ], + "query": [ + { + "key": "sort", + "value": "termahal" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort Lastest", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/terbaru?sort=terbaru", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "terbaru" + ], + "query": [ + { + "key": "sort", + "value": "terbaru" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort Avaliable", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/available?sort=tersedia", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "available" + ], + "query": [ + { + "key": "sort", + "value": "tersedia" + } + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Blog", + "item": [ + { + "name": "Get All Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/blog", + "host": [ + "{{url}}" + ], + "path": [ + "blog" + ] + } + }, + "response": [] + }, + { + "name": "Get Blog By ID", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/blog/1", + "host": [ + "{{url}}" + ], + "path": [ + "blog", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Search Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/blog/search/Nama", + "host": [ + "{{url}}" + ], + "path": [ + "blog", + "search", + "Nama" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Order", + "item": [ + { + "name": "Create Order", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"ticket_id\": 1,\r\n \"quantity\": 2,\r\n \"user_id\": 1,\r\n \"status\": \"seleseai\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/order", + "host": [ + "{{url}}" + ], + "path": [ + "order" + ] + } + }, + "response": [] + }, + { + "name": "Get History Order", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/order/1", + "host": [ + "{{url}}" + ], + "path": [ + "order", + "1" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Notification", + "item": [ + { + "name": "Get Notification", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/notification", + "host": [ + "{{url}}" + ], + "path": [ + "notification" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Topup Saldo", + "item": [ + { + "name": "Topup Saldo", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"id\": \"topup123\",\r\n \"user_id\": 1,\r\n \"amount\": 10000,\r\n \"status\": 0\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/topup", + "host": [ + "{{url}}" + ], + "path": [ + "topup" + ] + } + }, + "response": [] + } + ] + } + ] + }, + { + "name": "Public", + "item": [ + { + "name": "Ticket", + "item": [ + { + "name": "Search Ticket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/search/Nama", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "search", + "Nama" + ] + } + }, + "response": [] + }, + { + "name": "Filter Location", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/location/GBK", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "location", + "GBK" + ] + } + }, + "response": [] + }, + { + "name": "Fileter Category", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/category/music", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "category", + "music" + ] + } + }, + "response": [] + }, + { + "name": "Filter Time", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/range/:start/:end", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "range", + ":start", + ":end" + ], + "variable": [ + { + "key": "start", + "value": "" + }, + { + "key": "end", + "value": "" + } + ] + } + }, + "response": [] + }, + { + "name": "Filter Price", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/price/:min/:max", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "price", + ":min", + ":max" + ], + "variable": [ + { + "key": "min", + "value": "0" + }, + { + "key": "max", + "value": "100" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort Cheap", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/cheapest?sort=termurah", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "cheapest" + ], + "query": [ + { + "key": "sort", + "value": "termurah" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort Bestseller", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/most-bought?sort=terbanyak", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "most-bought" + ], + "query": [ + { + "key": "sort", + "value": "terbanyak" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort Expensive", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/most-expensive?sort=termahal", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "most-expensive" + ], + "query": [ + { + "key": "sort", + "value": "termahal" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort Latest", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/terbaru?sort=terbaru", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "terbaru" + ], + "query": [ + { + "key": "sort", + "value": "terbaru" + } + ] + } + }, + "response": [] + }, + { + "name": "Sort Available", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/available?sort=tersedia", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "available" + ], + "query": [ + { + "key": "sort", + "value": "tersedia" + } + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Blog", + "item": [ + { + "name": "Search Blog", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/blog/search/Nama", + "host": [ + "{{url}}" + ], + "path": [ + "blog", + "search", + "Nama" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Admin_Login", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\" : \"Admin@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/login", + "host": [ + "{{url}}" + ], + "path": [ + "login" + ] + } + }, + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\" : \"Admin@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/login", + "host": [ + "{{URL}}" + ], + "path": [ + "login" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 21:00:34 GMT" + }, + { + "key": "Content-Length", + "value": "203" + } + ], + "cookie": [], + "body": "{\n \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IiIsImVtYWlsIjoiQWRtaW5AZ21haWwuY29tIiwicm9sZSI6IkFkbWluIiwiZXhwIjoxNzAxNDY1MDM0fQ.vnFmFEyiIVKQRYM8f3hv38hWM9CXbDq_2PUe4Kfsvw8\"\n}" + } + ] + }, + { + "name": "Admin_Register", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"Admin\",\r\n \"email\" : \"Admin@gmail.com\",\r\n \"roles\" : \"Admin\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/register", + "host": [ + "{{URL}}" + ], + "path": [ + "register" + ] + } + }, + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"Admin\",\r\n \"email\" : \"Admin@gmail.com\",\r\n \"roles\" : \"Admin\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/register", + "host": [ + "{{URL}}" + ], + "path": [ + "register" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 21:00:08 GMT" + }, + { + "key": "Content-Length", + "value": "246" + } + ], + "cookie": [], + "body": "{\n \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MywibmFtZSI6IiIsImVtYWlsIjoiQWRtaW5AZ21haWwuY29tIiwicm9sZSI6IkFkbWluIiwiZXhwIjoxNzAxNDY1MDA4fQ.lXziH4jyjrRA4kVv6URMIVRNJRvmQCQ0yxR7j-2sOuk\",\n \"message\": \"User registration successfully\"\n}" + } + ] + }, + { + "name": "Buyer_Register", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"Buyer\",\r\n \"email\" : \"Buyer@gmail.com\",\r\n \"roles\" : \"Buyer\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/register", + "host": [ + "{{URL}}" + ], + "path": [ + "register" + ] + } + }, + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"Buyer\",\r\n \"email\" : \"Buyer@gmail.com\",\r\n \"roles\" : \"Buyer\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/register", + "host": [ + "{{URL}}" + ], + "path": [ + "register" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 21:00:49 GMT" + }, + { + "key": "Content-Length", + "value": "246" + } + ], + "cookie": [], + "body": "{\n \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6IiIsImVtYWlsIjoiQnV5ZXJAZ21haWwuY29tIiwicm9sZSI6IkJ1eWVyIiwiZXhwIjoxNzAxNDY1MDQ5fQ.JDFd9WwL6kkwY5N8gkVjFCRQiRguwknrjHOW1EkD24E\",\n \"message\": \"User registration successfully\"\n}" + } + ] + }, + { + "name": "Buyer_Login", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\" : \"Buyer@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/login", + "host": [ + "{{URL}}" + ], + "path": [ + "login" + ] + } + }, + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\" : \"Buyer@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/login", + "host": [ + "{{URL}}" + ], + "path": [ + "login" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 21:01:09 GMT" + }, + { + "key": "Content-Length", + "value": "203" + } + ], + "cookie": [], + "body": "{\n \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6IiIsImVtYWlsIjoiQnV5ZXJAZ21haWwuY29tIiwicm9sZSI6IkJ1eWVyIiwiZXhwIjoxNzAxNDY1MDY5fQ.snjN9_7b9EnViKmDNyDAw5oO4290DLCAF1IowwOXOaA\"\n}" + } + ] + }, + { + "name": "Blog", + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/public/blog", + "host": [ + "{{URL}}" + ], + "path": [ + "public", + "blog" + ] + } + }, + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/public/blog", + "host": [ + "{{URL}}" + ], + "path": [ + "public", + "blog" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 21:18:24 GMT" + }, + { + "key": "Content-Length", + "value": "244" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"ID\": 1,\n \"Image\": \"https/image\",\n \"Date\": \"2023-12-02T00:00:00Z\",\n \"Title\": \"Nama Tiket\",\n \"Description\": \"Deskripsi Tiket\",\n \"CreatedAt\": \"2023-12-02T04:13:07.807064Z\",\n \"UpdatedAt\": \"2023-12-02T04:13:07.807064Z\",\n \"DeletedAt\": \"0001-01-01T00:00:00Z\"\n }\n ]\n}" + } + ] + }, + { + "name": "Ticket", + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/public/ticket", + "host": [ + "{{URL}}" + ], + "path": [ + "public", + "ticket" + ] + } + }, + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/public/ticket", + "host": [ + "{{URL}}" + ], + "path": [ + "public", + "ticket" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 21:18:03 GMT" + }, + { + "key": "Content-Length", + "value": "428" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay3\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 96,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 2,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay3\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] + } + ] + } + ], + "variable": [ + { + "key": "URL", + "value": " http://localhost:8080/api/v1" + } + ] +} \ No newline at end of file diff --git a/output/Tiketing.postman_collection.json b/output/Tiketing.postman_collection.json deleted file mode 100644 index 9055f08..0000000 --- a/output/Tiketing.postman_collection.json +++ /dev/null @@ -1,1087 +0,0 @@ -{ - "info": { - "_postman_id": "e1c6a240-018f-499f-afd5-33936e8e924d", - "name": "Tiketing", - "description": "Projek Capstone Golang Mikti Ticketing", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "26142588", - "_collection_link": "https://ticketing-mikti.postman.co/workspace/Ticketing-Workspace~1c7b0ec0-f35f-4273-b1d6-67507ad4c237/collection/26142588-e1c6a240-018f-499f-afd5-33936e8e924d?action=share&source=collection_link&creator=26142588" - }, - "item": [ - { - "name": "LOG REG", - "item": [ - { - "name": "Register", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\" : \"Admin\",\r\n \"email\" : \"Admin@gmail.com\",\r\n \"roles\" : \"Admin\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{url}}/register", - "host": [ - "{{url}}" - ], - "path": [ - "register" - ] - } - }, - "response": [] - }, - { - "name": "Register Copy", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\" : \"Buyer\",\r\n \"email\" : \"Buyer@gmail.com\",\r\n \"roles\" : \"Buyer\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{url}}/register", - "host": [ - "{{url}}" - ], - "path": [ - "register" - ] - } - }, - "response": [] - }, - { - "name": "LOGIN", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"email\" : \"Admin@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://localhost:8080/api/v1/login", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "login" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "USER", - "item": [ - { - "name": "Admin Create User", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"number\": \"1231231231231\",\r\n \"roles\" : \"Admin\",\r\n \"password\" : \"123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{url}}/users", - "host": [ - "{{url}}" - ], - "path": [ - "users" - ] - } - }, - "response": [] - }, - { - "name": "Admin Cek User", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/users", - "host": [ - "{{url}}" - ], - "path": [ - "users" - ] - } - }, - "response": [] - }, - { - "name": "Admin Update user", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\" : \"rezaupdate\",\r\n \"email\" : \"reza@gmail.com\",\r\n \"number\" : \"123123123123\",\r\n \"roles\" : \"Admin\",\r\n \"password\" : \"123123123123\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{url}}/users/1", - "host": [ - "{{url}}" - ], - "path": [ - "users", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Get ID", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/users/1", - "host": [ - "{{url}}" - ], - "path": [ - "users", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Delet User", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "DELETE", - "header": [], - "url": { - "raw": "http://localhost:8080/api/v1/users/2", - "protocol": "http", - "host": [ - "localhost" - ], - "port": "8080", - "path": [ - "api", - "v1", - "users", - "2" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "TICKET", - "item": [ - { - "name": "Admin create tiket", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"title\": \"coldplay3\",\r\n \"description\": \"penyanyi luar negri\",\r\n \"image\": \"https/image\",\r\n \"location\": \"GBK\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 100,\r\n \"terjual\": 5,\r\n \"status\": \"available\",\r\n \"category\": \"music\"\r\n}\r\n", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{url}}/ticket", - "host": [ - "{{url}}" - ], - "path": [ - "ticket" - ] - } - }, - "response": [] - }, - { - "name": "Admin Get All Ticket", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket", - "host": [ - "{{url}}" - ], - "path": [ - "ticket" - ] - } - }, - "response": [] - }, - { - "name": "Admin Get Ticket By ID", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/1", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Update Ticket", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"category\": \"music\",\r\n \"price\": 50.0,\r\n \"quota\": 200\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{url}}/ticket/1", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Delete Ticket", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "DELETE", - "header": [], - "url": { - "raw": "{{url}}/ticket/1", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Search", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/search/cold", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "search", - "cold" - ] - } - }, - "response": [] - }, - { - "name": "Filter Location Ticket", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/location/GBK", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "location", - "GBK" - ] - } - }, - "response": [] - }, - { - "name": "Filter Ticket By Category", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/category/music", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "category", - "music" - ] - } - }, - "response": [] - }, - { - "name": "Filter Ticket By Time", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/range/:start/:end", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "range", - ":start", - ":end" - ], - "variable": [ - { - "key": "start", - "value": "" - }, - { - "key": "end", - "value": "" - } - ] - } - }, - "response": [] - }, - { - "name": "Filter Ticket By Price", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/price/:min/:max", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "price", - ":min", - ":max" - ], - "variable": [ - { - "key": "min", - "value": "0" - }, - { - "key": "max", - "value": "100" - } - ] - } - }, - "response": [] - }, - { - "name": "Sort By Termurah", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/cheapest?sort=termurah", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "cheapest" - ], - "query": [ - { - "key": "sort", - "value": "termurah" - } - ] - } - }, - "response": [] - }, - { - "name": "Sort By Terlaris", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/most-bought?sort=terbanyak", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "most-bought" - ], - "query": [ - { - "key": "sort", - "value": "terbanyak" - } - ] - } - }, - "response": [] - }, - { - "name": "Sort By Termahal", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/most-expensive?sort=termahal", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "most-expensive" - ], - "query": [ - { - "key": "sort", - "value": "termahal" - } - ] - } - }, - "response": [] - }, - { - "name": "Sort By Terbaru", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/terbaru?sort=terbaru", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "terbaru" - ], - "query": [ - { - "key": "sort", - "value": "terbaru" - } - ] - } - }, - "response": [] - }, - { - "name": "sort By tersedia", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/available?sort=tersedia", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "available" - ], - "query": [ - { - "key": "sort", - "value": "tersedia" - } - ] - } - }, - "response": [] - } - ] - }, - { - "name": "BLOG", - "item": [ - { - "name": "Admin Create Blog", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{url}}/blog", - "host": [ - "{{url}}" - ], - "path": [ - "blog" - ] - } - }, - "response": [] - }, - { - "name": "Admin Get All Blog", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/blog", - "host": [ - "{{url}}" - ], - "path": [ - "blog" - ] - } - }, - "response": [] - }, - { - "name": "Admin Get Blog By ID", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/blog/1", - "host": [ - "{{url}}" - ], - "path": [ - "blog", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Update Blog", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{url}}/blog/1", - "host": [ - "{{url}}" - ], - "path": [ - "blog", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Admin Search Blog", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/blog/search/Nama", - "host": [ - "{{url}}" - ], - "path": [ - "blog", - "search", - "Nama" - ] - } - }, - "response": [] - }, - { - "name": "Admin Delete Blog", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "DELETE", - "header": [], - "url": { - "raw": "{{url}}/blog/1", - "host": [ - "{{url}}" - ], - "path": [ - "blog", - "1" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "ORDER", - "item": [ - { - "name": "Admin Create order", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token1}}", - "type": "string" - } - ] - }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"ticket_id\": 2,\r\n \"quantity\": 2,\r\n \"user_id\": 1\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{url}}/order", - "host": [ - "{{url}}" - ], - "path": [ - "order" - ] - } - }, - "response": [] - }, - { - "name": "Get All Order", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/order", - "host": [ - "{{url}}" - ], - "path": [ - "order" - ] - } - }, - "response": [] - }, - { - "name": "Get Order By User_ID", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/order/1", - "host": [ - "{{url}}" - ], - "path": [ - "order", - "1" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "TOPUP SALDO", - "item": [] - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "variable": [ - { - "key": "baseurl1", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MywibmFtZSI6IiIsImVtYWlsIjoiQWRtaW5AZ21haWwuY29tIiwicm9sZSI6IkFkbWluIiwiZXhwIjoxNzAxMzAzNDExfQ.rhV8vxaJqpzK0E1MwaXAHQxN2_qMIkIZxT5o6D0MYh0", - "disabled": true - }, - { - "key": "token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IiIsImVtYWlsIjoiQWRtaW5AZ21haWwuY29tIiwicm9sZSI6IkFkbWluIiwiZXhwIjoxNzAxMzAzNzM5fQ.YZUJ5I9OqsBXPk4yUiQlkT6bDO5OZNfOiLXcvESY9do" - }, - { - "key": "token1", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NSwibmFtZSI6IiIsImVtYWlsIjoiQnV5ZXJAZ21haWwuY29tIiwicm9sZSI6IkJ1eWVyIiwiZXhwIjoxNzAxMzA0ODI5fQ.spGCwbgqvr5r5Q9La9SbBMStsCMd7qfXV9GBL0xVxf8" - } - ] -} \ No newline at end of file From 10d5b07eff975816f8a76bb6d3ec7fc7227214f6 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sat, 2 Dec 2023 05:47:23 +0700 Subject: [PATCH 66/85] update tiket roles --- internal/http/router/routes.go | 161 +++++++++++++++------------------ 1 file changed, 74 insertions(+), 87 deletions(-) diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index f35787b..d66946c 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -27,7 +27,10 @@ type Route struct { // membuat fungsi untuk mengembalikan route // pada func ini perlu login krna private -func PublicRoutes(authHandler *handler.AuthHandler, TicketHandler *handler.TicketHandler, BlogHandler *handler.BlogHandler) []*Route { +func PublicRoutes( + authHandler *handler.AuthHandler, + TicketHandler *handler.TicketHandler, + BlogHandler *handler.BlogHandler) []*Route { return []*Route{ { Method: echo.POST, @@ -49,6 +52,75 @@ func PublicRoutes(authHandler *handler.AuthHandler, TicketHandler *handler.Ticke Path: "/public/ticket", Handler: TicketHandler.GetAllTickets, }, + { + Method: echo.GET, + Path: "/blog", + Handler: BlogHandler.GetAllBlogs, + }, + { + Method: echo.GET, + Path: "/blog/:id", + Handler: BlogHandler.GetBlog, + }, + { + Method: echo.GET, + Path: "/blog/search/:search", + Handler: BlogHandler.SearchBlog, + }, + //filter ticket by location + { + Method: echo.GET, + Path: "/ticket/location/:location", + Handler: TicketHandler.FilterTicket, + }, + // filter ticket by category + { + Method: echo.GET, + Path: "/ticket/category/:category", + Handler: TicketHandler.FilterTicketByCategory, + }, + // filter ticket by range time (start - end) + { + Method: echo.GET, + Path: "/ticket/range/:start/:end", + Handler: TicketHandler.FilterTicketByRangeTime, + }, + // filter ticket by price (min - max) + { + Method: echo.GET, + Path: "/ticket/price/:min/:max", + Handler: TicketHandler.FilterTicketByPrice, + }, + //sortir tiket dari yang terbaru + { + Method: echo.GET, + Path: "/ticket/terbaru", + Handler: TicketHandler.SortTicketByNewest, + }, + //sortir tiket dari yang termahal + { + Method: echo.GET, + Path: "/ticket/most-expensive", + Handler: TicketHandler.SortTicketByMostExpensive, + }, + //sortir tiket dari yang termurah + { + Method: echo.GET, + Path: "/ticket/cheapest", + Handler: TicketHandler.SortTicketByCheapest, + }, + // filter ticket by most bought + { + Method: echo.GET, + Path: "/ticket/most-bought", + Handler: TicketHandler.SortTicketByMostBought, + }, + // ticket yang masih tersedia + { + Method: echo.GET, + Path: "/ticket/available", + Handler: TicketHandler.SortTicketByAvailable, + }, } } @@ -159,13 +231,6 @@ func PrivateRoutes( Role: onlyAdmin, }, - { - Method: echo.GET, - Path: "/blog", - Handler: BlogHandler.GetAllBlogs, - Role: allRoles, - }, - { Method: echo.PUT, Path: "/blog/:id", @@ -173,13 +238,6 @@ func PrivateRoutes( Role: onlyAdmin, }, - { - Method: echo.GET, - Path: "/blog/:id", - Handler: BlogHandler.GetBlog, - Role: allRoles, - }, - { Method: echo.DELETE, Path: "/blog/:id", @@ -187,13 +245,6 @@ func PrivateRoutes( Role: onlyAdmin, }, - { - Method: echo.GET, - Path: "/blog/search/:search", - Handler: BlogHandler.SearchBlog, - Role: allRoles, - }, - { Method: echo.POST, Path: "/order", @@ -205,7 +256,7 @@ func PrivateRoutes( Method: echo.GET, Path: "/order", Handler: OrderHandler.GetAllOrders, - Role: allRoles, + Role: onlyAdmin, }, { @@ -215,70 +266,6 @@ func PrivateRoutes( Role: allRoles, }, - //filter ticket by location - { - Method: echo.GET, - Path: "/ticket/location/:location", - Handler: TicketHandler.FilterTicket, - Role: allRoles, - }, - // filter ticket by category - { - Method: echo.GET, - Path: "/ticket/category/:category", - Handler: TicketHandler.FilterTicketByCategory, - Role: allRoles, - }, - // filter ticket by range time (start - end) - { - Method: echo.GET, - Path: "/ticket/range/:start/:end", - Handler: TicketHandler.FilterTicketByRangeTime, - Role: allRoles, - }, - // filter ticket by price (min - max) - { - Method: echo.GET, - Path: "/ticket/price/:min/:max", - Handler: TicketHandler.FilterTicketByPrice, - Role: allRoles, - }, - //sortir tiket dari yang terbaru - { - Method: echo.GET, - Path: "/ticket/terbaru", - Handler: TicketHandler.SortTicketByNewest, - Role: allRoles, - }, - //sortir tiket dari yang termahal - { - Method: echo.GET, - Path: "/ticket/most-expensive", - Handler: TicketHandler.SortTicketByMostExpensive, - Role: allRoles, - }, - //sortir tiket dari yang termurah - { - Method: echo.GET, - Path: "/ticket/cheapest", - Handler: TicketHandler.SortTicketByCheapest, - Role: allRoles, - }, - // filter ticket by most bought - { - Method: echo.GET, - Path: "/ticket/most-bought", - Handler: TicketHandler.SortTicketByMostBought, - Role: allRoles, - }, - // ticket yang masih tersedia - { - Method: echo.GET, - Path: "/ticket/available", - Handler: TicketHandler.SortTicketByAvailable, - Role: allRoles, - }, - // create notification { Method: echo.POST, From 3ecc2f474b21f419c582039efbc8083620107d0f Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sat, 2 Dec 2023 06:19:35 +0700 Subject: [PATCH 67/85] update tiket postman --- internal/http/router/routes.go | 4 +- .../Backend Ticketing.postman_collection.json | 1162 +++++++++++++++-- 2 files changed, 1066 insertions(+), 100 deletions(-) diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index d66946c..794b3b5 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -184,9 +184,9 @@ func PrivateRoutes( { Method: echo.GET, - Path: "/ticket", + Path: "/ticketa", Handler: TicketHandler.GetAllTickets, - Role: allRoles, + Role: onlyAdmin, }, { diff --git a/output/Backend Ticketing.postman_collection.json b/output/Backend Ticketing.postman_collection.json index 12bcaef..3b3502d 100644 --- a/output/Backend Ticketing.postman_collection.json +++ b/output/Backend Ticketing.postman_collection.json @@ -21,7 +21,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -30,7 +30,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"name\" : \"rr1\",\r\n \"email\" : \"reza1@gmail.com\",\r\n \"number\": \"1231231231231\",\r\n \"roles\" : \"Admin\",\r\n \"password\" : \"123123123123\"\r\n}", + "raw": "{\r\n \"name\" : \"Reza\",\r\n \"email\" : \"RezaHidayat@Gmail.com\",\r\n \"number\": \"082210811378\",\r\n \"roles\" : \"Admin\",\r\n \"password\" : \"Djarum76\",\r\n \"saldo\": 1000\r\n}", "options": { "raw": { "language": "json" @@ -38,16 +38,65 @@ } }, "url": { - "raw": "{{url}}/users", + "raw": "{{URL}}/users", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "users" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\" : \"Reza\",\r\n \"email\" : \"RezaHidayat@Gmail.com\",\r\n \"number\": \"082210811378\",\r\n \"roles\" : \"Admin\",\r\n \"password\" : \"Djarum76\",\r\n \"saldo\": 1000\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/users", + "host": [ + "{{url}}" + ], + "path": [ + "users" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 22:51:08 GMT" + }, + { + "key": "Content-Length", + "value": "28" + } + ], + "cookie": [], + "body": "\"User created successfully\"" + } + ] }, { "name": "Get All User", @@ -57,7 +106,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -65,16 +114,56 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/users", + "raw": "{{URL}}/users", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "users" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/users", + "host": [ + "{{url}}" + ], + "path": [ + "users" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 22:51:40 GMT" + }, + { + "key": "Content-Length", + "value": "980" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 2,\n \"name\": \"\",\n \"email\": \"Admin@gmail.com\",\n \"number\": \"00000000000\",\n \"roles\": \"Admin\",\n \"saldo\": 0,\n \"created_at\": \"2023-12-01T23:38:43.332476+07:00\",\n \"updated_at\": \"2023-12-01T23:38:43.332476+07:00\"\n },\n {\n \"id\": 1,\n \"name\": \"\",\n \"email\": \"Admin@gmail.com\",\n \"number\": \"00000000000\",\n \"roles\": \"Admin\",\n \"saldo\": 9999800,\n \"created_at\": \"2023-12-01T22:19:22.698594+07:00\",\n \"updated_at\": \"2023-12-01T23:40:34.288419+07:00\"\n },\n {\n \"id\": 3,\n \"name\": \"\",\n \"email\": \"Admin@gmail.com\",\n \"number\": \"00000000000\",\n \"roles\": \"Admin\",\n \"saldo\": 0,\n \"created_at\": \"2023-12-02T04:00:08.15209+07:00\",\n \"updated_at\": \"2023-12-02T04:00:08.15209+07:00\"\n },\n {\n \"id\": 4,\n \"name\": \"\",\n \"email\": \"Buyer@gmail.com\",\n \"number\": \"00000000000\",\n \"roles\": \"Buyer\",\n \"saldo\": 0,\n \"created_at\": \"2023-12-02T04:00:49.67267+07:00\",\n \"updated_at\": \"2023-12-02T04:00:49.67267+07:00\"\n },\n {\n \"id\": 5,\n \"name\": \"Reza\",\n \"email\": \"RezaHidayat@Gmail.com\",\n \"number\": \"082210811378\",\n \"roles\": \"Djarum76\",\n \"saldo\": 1000,\n \"created_at\": \"2023-12-02T05:51:08.376309+07:00\",\n \"updated_at\": \"2023-12-02T05:51:08.390398+07:00\"\n }\n ]\n}" + } + ] }, { "name": "Get User By ID", @@ -84,7 +173,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -92,9 +181,9 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/users/1", + "raw": "{{URL}}/users/1", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "users", @@ -102,7 +191,48 @@ ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/users/1", + "host": [ + "{{url}}" + ], + "path": [ + "users", + "1" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 22:52:21 GMT" + }, + { + "key": "Content-Length", + "value": "241" + } + ], + "cookie": [], + "body": "{\n \"data\": {\n \"created\": \"2023-12-01T22:19:22.698594+07:00\",\n \"email\": \"Admin@gmail.com\",\n \"id\": 1,\n \"name\": \"\",\n \"number\": \"00000000000\",\n \"password\": \"$2a$10$c8VMh9ruzUM.rEr5PJk1GOY75G0OXXtOo2VkLIfHgiM6FDLb96JEO\",\n \"updated\": \"2023-12-01T23:40:34.288419+07:00\"\n }\n}" + } + ] }, { "name": "Edit User", @@ -112,7 +242,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -121,7 +251,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"ravita\",\r\n \"email\": \"Admin@gmail.com\",\r\n \"number\": \"00000000000\",\r\n \"roles\": \"Admin\",\r\n \"saldo\": 11111111110\r\n}", + "raw": "{\r\n \"name\": \"Ravita\",\r\n \"email\": \"Ravita@gmail.com\",\r\n \"number\": \"082210811377\",\r\n \"roles\": \"Buyer\",\r\n \"saldo\": 100\r\n}", "options": { "raw": { "language": "json" @@ -129,9 +259,9 @@ } }, "url": { - "raw": "{{url}}/users/1", + "raw": "{{URL}}/users/1", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "users", @@ -139,7 +269,57 @@ ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"Ravita\",\r\n \"email\": \"Ravita@gmail.com\",\r\n \"number\": \"082210811377\",\r\n \"roles\": \"Buyer\",\r\n \"saldo\": 100\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/users/1", + "host": [ + "{{url}}" + ], + "path": [ + "users", + "1" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 22:54:02 GMT" + }, + { + "key": "Content-Length", + "value": "38" + } + ], + "cookie": [], + "body": "{\n \"success\": \"succesfully update user\"\n}" + } + ] }, { "name": "Delete User", @@ -149,7 +329,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -157,21 +337,62 @@ "method": "DELETE", "header": [], "url": { - "raw": "http://localhost:8080/api/v1/users/2", - "protocol": "http", + "raw": "{{URL}}/users/2", "host": [ - "localhost" + "{{URL}}" ], - "port": "8080", "path": [ - "api", - "v1", "users", "2" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "DELETE", + "header": [], + "url": { + "raw": "http://localhost:8080/api/v1/users/2", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "v1", + "users", + "2" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 22:54:27 GMT" + }, + { + "key": "Content-Length", + "value": "40" + } + ], + "cookie": [], + "body": "{\n \"message\": \"User deleted successfully\"\n}" + } + ] } ] }, @@ -186,7 +407,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -195,7 +416,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"title\": \"coldplay3\",\r\n \"description\": \"penyanyi luar negri\",\r\n \"image\": \"https/image\",\r\n \"location\": \"GBK\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"price\": 50.0,\r\n \"quota\": 100,\r\n \"terjual\": 5,\r\n \"status\": \"available\",\r\n \"category\": \"music\"\r\n}\r\n", + "raw": "{\r\n \"title\": \"coldplay\",\r\n \"description\": \"penyanyi luar negri\",\r\n \"image\": \"https/image\",\r\n \"location\": \"GBK\",\r\n \"date\": \"2023-12-31T18:00:01Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"status\": \"available\",\r\n \"price\": 50.0,\r\n \"quota\": 100,\r\n \"terjual\": 5,\r\n \"category\": \"music\"\r\n}\r\n", "options": { "raw": { "language": "json" @@ -203,16 +424,65 @@ } }, "url": { - "raw": "{{url}}/ticket", + "raw": "{{URL}}/ticket", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"coldplay\",\r\n \"description\": \"penyanyi luar negri\",\r\n \"image\": \"https/image\",\r\n \"location\": \"GBK\",\r\n \"date\": \"2023-12-31T18:00:01Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"status\": \"available\",\r\n \"price\": 50.0,\r\n \"quota\": 100,\r\n \"terjual\": 5,\r\n \"category\": \"music\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/ticket", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 22:58:11 GMT" + }, + { + "key": "Content-Length", + "value": "30" + } + ], + "cookie": [], + "body": "\"Ticket created successfully\"" + } + ] }, { "name": "Get All Ticket", @@ -222,7 +492,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -230,16 +500,56 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket", + "raw": "{{URL}}/ticketa", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ - "ticket" + "ticketa" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticketa", + "host": [ + "{{URL}}" + ], + "path": [ + "ticketa" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:01:27 GMT" + }, + { + "key": "Content-Length", + "value": "636" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay3\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 96,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 2,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay3\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Get Ticket By ID", @@ -249,7 +559,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -257,9 +567,9 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/1", + "raw": "{{URL}}/ticket/1", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -267,7 +577,48 @@ ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/1", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "1" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:01:43 GMT" + }, + { + "key": "Content-Length", + "value": "224" + } + ], + "cookie": [], + "body": "{\n \"data\": {\n \"category\": \"music\",\n \"created\": \"2023-12-01T22:20:09.060639Z\",\n \"date\": \"2023-12-31T00:00:00Z\",\n \"description\": \"penyanyi luar negri\",\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"price\": 50,\n \"quota\": 96,\n \"title\": \"coldplay3\"\n }\n}" + } + ] }, { "name": "Update Ticket", @@ -277,7 +628,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -286,7 +637,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"location\": \"Lokasi Acara\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"category\": \"music\",\r\n \"price\": 50.0,\r\n \"quota\": 200\r\n}", + "raw": "{\r\n \"title\": \"Dragon\",\r\n \"description\": \"konser lagu edm terbaik\",\r\n \"image\": \"https/image\",\r\n \"location\": \"bekasi\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"category\": \"music\",\r\n \"price\": 50.0,\r\n \"quota\": 200\r\n}", "options": { "raw": { "language": "json" @@ -294,9 +645,9 @@ } }, "url": { - "raw": "{{url}}/ticket/1", + "raw": "{{URL}}/ticket/1", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -304,7 +655,57 @@ ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Dragon\",\r\n \"description\": \"konser lagu edm terbaik\",\r\n \"image\": \"https/image\",\r\n \"location\": \"bekasi\",\r\n \"date\": \"2023-12-31T18:00:00Z\", // Format tanggal dan waktu sesuai dengan RFC3339\r\n \"category\": \"music\",\r\n \"price\": 50.0,\r\n \"quota\": 200\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/ticket/1", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "1" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:03:34 GMT" + }, + { + "key": "Content-Length", + "value": "261" + } + ], + "cookie": [], + "body": "{\n \"data\": {\n \"category\": \"music\",\n \"date\": \"2023-12-31T18:00:00Z\",\n \"description\": \"konser lagu edm terbaik\",\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"price\": 50,\n \"quota\": 200,\n \"title\": \"Dragon\",\n \"update\": \"0001-01-01T00:00:00Z\"\n },\n \"message\": \"Ticket updated successfully\"\n}" + } + ] }, { "name": "Delete Ticket", @@ -314,7 +715,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -322,9 +723,9 @@ "method": "DELETE", "header": [], "url": { - "raw": "{{url}}/ticket/1", + "raw": "{{URL}}/ticket/1", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -332,7 +733,48 @@ ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "DELETE", + "header": [], + "url": { + "raw": "{{URL}}/ticket/2", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "2" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:03:55 GMT" + }, + { + "key": "Content-Length", + "value": "42" + } + ], + "cookie": [], + "body": "{\n \"message\": \"Ticket deleted successfully\"\n}" + } + ] } ] }, @@ -347,7 +789,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -356,7 +798,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", + "raw": "{\r\n \"title\": \"Kerusuhan DI Konser jakarta\",\r\n \"description\": \"beberapa orang menjadi tersangka\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", "options": { "raw": { "language": "json" @@ -364,16 +806,65 @@ } }, "url": { - "raw": "{{url}}/blog", + "raw": "{{URL}}/blog", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "blog" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Kerusuhan DI Konser jakarta\",\r\n \"description\": \"beberapa orang menjadi tersangka\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/blog", + "host": [ + "{{URL}}" + ], + "path": [ + "blog" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:06:46 GMT" + }, + { + "key": "Content-Length", + "value": "28" + } + ], + "cookie": [], + "body": "\"Blog created successfully\"" + } + ] }, { "name": "Get All Blog", @@ -383,7 +874,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -391,16 +882,56 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/blog", + "raw": "{{URL}}/blog", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "blog" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/blog", + "host": [ + "{{URL}}" + ], + "path": [ + "blog" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:07:02 GMT" + }, + { + "key": "Content-Length", + "value": "742" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"ID\": 1,\n \"Image\": \"https/image\",\n \"Date\": \"2023-12-02T00:00:00Z\",\n \"Title\": \"Nama Tiket\",\n \"Description\": \"Deskripsi Tiket\",\n \"CreatedAt\": \"2023-12-02T04:13:07.807064Z\",\n \"UpdatedAt\": \"2023-12-02T04:13:07.807064Z\",\n \"DeletedAt\": \"0001-01-01T00:00:00Z\"\n },\n {\n \"ID\": 2,\n \"Image\": \"https/image\",\n \"Date\": \"2023-12-02T00:00:00Z\",\n \"Title\": \"Nama Tiket\",\n \"Description\": \"Deskripsi Tiket\",\n \"CreatedAt\": \"2023-12-02T06:05:44.914708Z\",\n \"UpdatedAt\": \"2023-12-02T06:05:44.914708Z\",\n \"DeletedAt\": \"0001-01-01T00:00:00Z\"\n },\n {\n \"ID\": 3,\n \"Image\": \"https/image\",\n \"Date\": \"2023-12-02T00:00:00Z\",\n \"Title\": \"Kerusuhan DI Konser jakarta\",\n \"Description\": \"beberapa orang menjadi tersangka\",\n \"CreatedAt\": \"2023-12-02T06:06:46.56004Z\",\n \"UpdatedAt\": \"2023-12-02T06:06:46.56004Z\",\n \"DeletedAt\": \"0001-01-01T00:00:00Z\"\n }\n ]\n}" + } + ] }, { "name": "Update Blog", @@ -410,7 +941,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -419,7 +950,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"title\": \"Nama Tiket\",\r\n \"description\": \"Deskripsi Tiket\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", + "raw": "{\r\n \"title\": \"Konser Tersukses\",\r\n \"description\": \"dikatakan oleh produser menjadi konser tersukses sepanjang masa\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", "options": { "raw": { "language": "json" @@ -427,9 +958,9 @@ } }, "url": { - "raw": "{{url}}/blog/1", + "raw": "{{URL}}/blog/1", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "blog", @@ -437,7 +968,57 @@ ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"title\": \"Konser Tersukses\",\r\n \"description\": \"dikatakan oleh produser menjadi konser tersukses sepanjang masa\",\r\n \"image\": \"https/image\",\r\n \"date\": \"2023-12-31T18:00:00Z\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/blog/1", + "host": [ + "{{URL}}" + ], + "path": [ + "blog", + "1" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:07:55 GMT" + }, + { + "key": "Content-Length", + "value": "320" + } + ], + "cookie": [], + "body": "{\n \"Blog\": {\n \"ID\": 1,\n \"Image\": \"https/image\",\n \"Date\": \"2023-12-31T18:00:00Z\",\n \"Title\": \"Konser Tersukses\",\n \"Description\": \"dikatakan oleh produser menjadi konser tersukses sepanjang masa\",\n \"CreatedAt\": \"0001-01-01T00:00:00Z\",\n \"UpdatedAt\": \"0001-01-01T00:00:00Z\",\n \"DeletedAt\": \"0001-01-01T00:00:00Z\"\n },\n \"message\": \"Blog updated successfully\"\n}" + } + ] }, { "name": "Delete Blog", @@ -447,7 +1028,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -455,17 +1036,58 @@ "method": "DELETE", "header": [], "url": { - "raw": "{{url}}/blog/1", + "raw": "{{URL}}/blog/2", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "blog", - "1" + "2" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "DELETE", + "header": [], + "url": { + "raw": "{{URL}}/blog/2", + "host": [ + "{{URL}}" + ], + "path": [ + "blog", + "2" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:08:57 GMT" + }, + { + "key": "Content-Length", + "value": "40" + } + ], + "cookie": [], + "body": "{\n \"message\": \"Blog deleted successfully\"\n}" + } + ] }, { "name": "Search Blog", @@ -475,7 +1097,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -483,18 +1105,60 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/blog/search/Nama", + "raw": "{{URL}}/blog/search/Kerusuhan", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "blog", "search", - "Nama" + "Kerusuhan" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/blog/search/Kerusuhan", + "host": [ + "{{URL}}" + ], + "path": [ + "blog", + "search", + "Kerusuhan" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:08:32 GMT" + }, + { + "key": "Content-Length", + "value": "276" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"ID\": 3,\n \"Image\": \"https/image\",\n \"Date\": \"2023-12-02T00:00:00Z\",\n \"Title\": \"Kerusuhan DI Konser jakarta\",\n \"Description\": \"beberapa orang menjadi tersangka\",\n \"CreatedAt\": \"2023-12-02T06:06:46.56004Z\",\n \"UpdatedAt\": \"2023-12-02T06:06:46.56004Z\",\n \"DeletedAt\": \"0001-01-01T00:00:00Z\"\n }\n ]\n}" + } + ] } ] }, @@ -509,7 +1173,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -518,7 +1182,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"ticket_id\": 1,\r\n \"quantity\": 2,\r\n \"user_id\": 1,\r\n \"status\": \"seleseai\"\r\n}", + "raw": "{\r\n \"ticket_id\": 1,\r\n \"quantity\": 2,\r\n \"user_id\": 5,\r\n \"status\": \"seleseai\"\r\n}", "options": { "raw": { "language": "json" @@ -526,16 +1190,65 @@ } }, "url": { - "raw": "{{url}}/order", + "raw": "{{URL}}/order", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "order" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"ticket_id\": 1,\r\n \"quantity\": 2,\r\n \"user_id\": 5,\r\n \"status\": \"seleseai\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/order", + "host": [ + "{{URL}}" + ], + "path": [ + "order" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:13:23 GMT" + }, + { + "key": "Content-Length", + "value": "29" + } + ], + "cookie": [], + "body": "\"Order created successfully\"" + } + ] }, { "name": "Get All Order", @@ -545,7 +1258,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -553,16 +1266,56 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/order", + "raw": "{{URL}}/order", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "order" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/order", + "host": [ + "{{URL}}" + ], + "path": [ + "order" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:14:57 GMT" + }, + { + "key": "Content-Length", + "value": "763" + } + ], + "cookie": [], + "body": "{\n \"message\": \"Get all orders success\",\n \"order_details\": [\n {\n \"ticket\": {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n \"user_id\": 1\n },\n {\n \"ticket\": {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n \"user_id\": 1\n },\n {\n \"ticket\": {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n \"user_id\": 5\n }\n ]\n}" + } + ] }, { "name": "Get Order ID", @@ -572,7 +1325,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -580,9 +1333,9 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/order/1", + "raw": "{{URL}}/order/1", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "order", @@ -590,7 +1343,48 @@ ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/order/1", + "host": [ + "{{URL}}" + ], + "path": [ + "order", + "1" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:15:21 GMT" + }, + { + "key": "Content-Length", + "value": "763" + } + ], + "cookie": [], + "body": "{\n \"message\": \"Get all orders success\",\n \"order_details\": [\n {\n \"ticket\": {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n \"user_id\": 1\n },\n {\n \"ticket\": {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n \"user_id\": 1\n },\n {\n \"ticket\": {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n \"user_id\": 5\n }\n ]\n}" + } + ] } ] }, @@ -605,7 +1399,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -614,7 +1408,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"type\": \"Info\",\r\n \"message\": \"This is a sample notification\",\r\n \"is_read\": false,\r\n \"create_at\": \"2023-11-30T12:34:56Z\"\r\n}", + "raw": "{\r\n \"type\": \"Diskon Ticket\",\r\n \"message\": \"ada diskon loh cek berikut\",\r\n \"is_read\": false,\r\n \"create_at\": \"2023-11-30T12:34:56Z\"\r\n}", "options": { "raw": { "language": "json" @@ -622,16 +1416,65 @@ } }, "url": { - "raw": "{{url}}/notification", + "raw": "{{URL}}/notification", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "notification" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"type\": \"Diskon Ticket\",\r\n \"message\": \"ada diskon loh cek berikut\",\r\n \"is_read\": false,\r\n \"create_at\": \"2023-11-30T12:34:56Z\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/notification", + "host": [ + "{{URL}}" + ], + "path": [ + "notification" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:17:03 GMT" + }, + { + "key": "Content-Length", + "value": "220" + } + ], + "cookie": [], + "body": "{\n \"id\": 1,\n \"type\": \"Diskon Ticket\",\n \"message\": \"ada diskon loh cek berikut\",\n \"is_read\": false,\n \"created_at\": \"2023-12-02T06:17:03.6441118+07:00\",\n \"updated_at\": \"2023-12-02T06:17:03.647676+07:00\",\n \"deleted_at\": \"0001-01-01T00:00:00Z\"\n}" + } + ] }, { "name": "Get Notification", @@ -641,7 +1484,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Admin}}", "type": "string" } ] @@ -649,16 +1492,56 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/notification", + "raw": "{{URL}}/notification", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "notification" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/notification", + "host": [ + "{{URL}}" + ], + "path": [ + "notification" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:17:16 GMT" + }, + { + "key": "Content-Length", + "value": "220" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 1,\n \"type\": \"Diskon Ticket\",\n \"message\": \"ada diskon loh cek berikut\",\n \"is_read\": false,\n \"created_at\": \"2023-12-02T06:17:03.644111Z\",\n \"updated_at\": \"2023-12-02T06:17:03.647676Z\",\n \"deleted_at\": \"0001-01-01T00:00:00Z\"\n }\n ]\n}" + } + ] } ] }, @@ -668,6 +1551,16 @@ { "name": "Topup Saldo Copy", "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Admin}}", + "type": "string" + } + ] + }, "method": "POST", "header": [], "body": { @@ -680,16 +1573,65 @@ } }, "url": { - "raw": "{{url}}/topup", + "raw": "{{URL}}/topup", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "topup" ] } }, - "response": [] + "response": [ + { + "name": "Example", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"id\": \"topup123\",\r\n \"user_id\": 1,\r\n \"amount\": 10000,\r\n \"status\": 0\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/topup", + "host": [ + "{{URL}}" + ], + "path": [ + "topup" + ] + } + }, + "status": "Internal Server Error", + "code": 500, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Fri, 01 Dec 2023 23:17:59 GMT" + }, + { + "key": "Content-Length", + "value": "415" + } + ], + "cookie": [], + "body": "{\n \"error\": \"Midtrans API is returning API error. HTTP status code: 401 API response: {\\\"status_code\\\":\\\"401\\\",\\\"status_message\\\":\\\"Unknown Merchant server_key/id\\\",\\\"id\\\":\\\"8cc092fc-f1eb-4d4e-9f03-f9b1b29c094d\\\"}: Midtrans API is returning API error. HTTP status code: 401 API response: {\\\"status_code\\\":\\\"401\\\",\\\"status_message\\\":\\\"Unknown Merchant server_key/id\\\",\\\"id\\\":\\\"8cc092fc-f1eb-4d4e-9f03-f9b1b29c094d\\\"}\"\n}" + } + ] } ] } @@ -2254,10 +3196,34 @@ ] } ], + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ], "variable": [ { "key": "URL", "value": " http://localhost:8080/api/v1" + }, + { + "key": "Token-Admin", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IiIsImVtYWlsIjoiQWRtaW5AZ21haWwuY29tIiwicm9sZSI6IkFkbWluIiwiZXhwIjoxNzAxNDcxNTAzfQ.7njlsyp_kFCSby44lBnzcEDjze3OZoKj5Ow4EcooCMs" } ] } \ No newline at end of file From 8c1c80c126d18d9c1220e4c46dc7af9b2d0c91cd Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sun, 3 Dec 2023 04:19:40 +0700 Subject: [PATCH 68/85] update tiket userprofile --- entity/user.go | 8 +++ go.mod | 2 +- internal/http/handler/auth_hendler.go | 1 + internal/http/handler/user_hendler.go | 73 +++++++++++++++++++++++++- internal/http/router/routes.go | 16 ++++++ internal/http/server/server.go | 1 + internal/repository/user_repository.go | 24 ++++++++- internal/service/user_service.go | 16 +++++- 8 files changed, 137 insertions(+), 4 deletions(-) diff --git a/entity/user.go b/entity/user.go index 0ee8946..f0a8278 100644 --- a/entity/user.go +++ b/entity/user.go @@ -66,3 +66,11 @@ func UpdateUserSelf(id int64, name, email, number, password, roles string) *User UpdatedAt: time.Now(), } } + +// Update the return type to be *User +func DeleteUserSelfByEmail(email string) *User { + return &User{ + Email: email, + DeletedAt: nil, + } +} diff --git a/go.mod b/go.mod index c1830e0..20d5513 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,6 @@ require ( github.com/caarlos0/env/v6 v6.10.1 github.com/creasty/defaults v1.7.0 github.com/go-playground/validator/v10 v10.16.0 - github.com/golang-jwt/jwt v3.2.2+incompatible github.com/golang-jwt/jwt/v5 v5.0.0 github.com/joho/godotenv v1.5.1 github.com/labstack/echo-jwt/v4 v4.2.0 @@ -21,6 +20,7 @@ require ( github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/golang-jwt/jwt v3.2.2+incompatible // indirect github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect github.com/jackc/pgx/v5 v5.4.3 // indirect diff --git a/internal/http/handler/auth_hendler.go b/internal/http/handler/auth_hendler.go index f0acf8b..08e1c94 100644 --- a/internal/http/handler/auth_hendler.go +++ b/internal/http/handler/auth_hendler.go @@ -90,3 +90,4 @@ func (h *AuthHandler) Registration(ctx echo.Context) error { }) } + diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 0f8cb7d..d4065f7 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -6,10 +6,11 @@ import ( "Ticketing/entity" "Ticketing/internal/http/validator" "Ticketing/internal/service" + "Ticketing/common" "net/http" "strconv" - "github.com/golang-jwt/jwt" + "github.com/golang-jwt/jwt/v5" "github.com/labstack/echo/v4" ) @@ -170,3 +171,73 @@ func (h *UserHandler) UpdateUserSelf(ctx echo.Context) error { return ctx.JSON(http.StatusOK, map[string]string{"success": "successfully update user"}) } + +func (h *UserHandler) GetProfile(ctx echo.Context) error { + // Retrieve user claims from the JWT token + claims, ok := ctx.Get("user").(*jwt.Token) + if !ok { + return ctx.JSON(http.StatusInternalServerError, "unable to get user claims") + } + + // Extract user information from claims + claimsData, ok := claims.Claims.(*common.JwtCustomClaims) + if !ok { + return ctx.JSON(http.StatusInternalServerError, "unable to get user information from claims") + } + + // Fetch user profile using the user ID + user, err := h.userService.GetProfile(ctx.Request().Context(), claimsData.ID) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) + } + + // Return the user profile + return ctx.JSON(http.StatusOK, user) +} + + + +// delete user self common.JwtCustomClaims +// func (h *UserHandler) DeleteUserSelf(ctx echo.Context) error { +// // Pengecekan request +// var input struct { +// Email string `param:"email" validate:"required,email"` +// } + +// if err := ctx.Bind(&input); err != nil { +// return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) +// } + +// // Mengambil nilai 'claims' dari JWT token +// claims, ok := ctx.Get("user").(*jwt.Token) +// if !ok { +// return ctx.JSON(http.StatusInternalServerError, "unable to get user claims") +// } + +// // Mendapatkan nilai 'email' dari klaim +// jwtClaims, ok := claims.Claims.(*jwt.MapClaims) +// if !ok { +// return ctx.JSON(http.StatusInternalServerError, "unable to get user email from claims") +// } + +// // Membandingkan email yang diterima dari input dengan email dari klaim +// userEmail, ok := (*jwtClaims)["email"].(string) +// if !ok { +// return ctx.JSON(http.StatusInternalServerError, "unable to get user email from claims") +// } + +// if userEmail != input.Email { +// return ctx.JSON(http.StatusUnprocessableEntity, "you can't delete this user") +// } + +// // Delete user +// user := entity.DeleteUserSelfByEmail(input.Email) + +// // Memanggil service untuk delete user +// err := h.userService.DeleteUserSelfByEmail(ctx.Request().Context(), user) +// if err != nil { +// return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) +// } + +// return ctx.JSON(http.StatusOK, map[string]string{"success": "successfully delete user"}) +// } diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 794b3b5..c480572 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -289,6 +289,22 @@ func PrivateRoutes( Handler: TopupHandler.CreateTopup, Role: allRoles, }, + + // delete user self + // { + // Method: echo.DELETE, + // Path: "/users/self/:id", + // Handler: UserHandler.DeleteUserSelf, + // Role: allRoles, + // }, + + // getprofile + { + Method: echo.GET, + Path: "/users/profile", + Handler: UserHandler.GetProfile, + Role: allRoles, + }, } } diff --git a/internal/http/server/server.go b/internal/http/server/server.go index 1ba9b7e..ed231cc 100644 --- a/internal/http/server/server.go +++ b/internal/http/server/server.go @@ -102,3 +102,4 @@ func contains(slice []string, s string) bool { } return false } + diff --git a/internal/repository/user_repository.go b/internal/repository/user_repository.go index 1a0602d..dada6c9 100644 --- a/internal/repository/user_repository.go +++ b/internal/repository/user_repository.go @@ -103,4 +103,26 @@ func (r *UserRepository) UpdateUserBalance(ctx context.Context, user *entity.Use return err } return nil -} \ No newline at end of file +} + +// GetProfile retrieves the user profile by ID from the database +func (r *UserRepository) GetProfile(ctx context.Context, userID int64) (*entity.User, error) { + var user entity.User + err := r.db.WithContext(ctx).First(&user, userID).Error + if err != nil { + return nil, err + } + return &user, nil +} + +// DeleteUserSelfByEmail +// func (r *UserRepository) DeleteUserSelfByEmail(ctx context.Context, email string) error { +// if err := r.db.WithContext(ctx). +// Model(&entity.User{}). +// Where("Email = ?", email). +// Delete(nil). +// Error; err != nil { +// return err +// } +// return nil +// } diff --git a/internal/service/user_service.go b/internal/service/user_service.go index e4dd53b..2935475 100644 --- a/internal/service/user_service.go +++ b/internal/service/user_service.go @@ -18,6 +18,8 @@ type UserUsecase interface { Delete(ctx context.Context, id int64) error UpdateUserSelf(ctx context.Context, user *entity.User) error UpdateUserBalance(ctx context.Context, user *entity.User) error + GetProfile(ctx context.Context, userID int64) (*entity.User, error) + // DeleteUserSelfByEmail(ctx context.Context, user *entity.User) error } // interface untuk repository @@ -31,6 +33,8 @@ type UserRepository interface { Delete(ctx context.Context, id int64) error UpdateUserSelf(ctx context.Context, user *entity.User) error UpdateUserBalance(ctx context.Context, user *entity.User) error + GetProfile(ctx context.Context, userID int64) (*entity.User, error) + // DeleteUserSelfByEmail(ctx context.Context, user *entity.User) error } // code di line 23 merupakan dependency injection, karena repository tidak langsung di panggil. @@ -80,4 +84,14 @@ func (s *UserService) UpdateUserSelf(ctx context.Context, user *entity.User) err // func update saldo user by id func (s *UserService) UpdateUserBalance(ctx context.Context, user *entity.User) error { return s.repository.UpdateUserBalance(ctx, user) -} \ No newline at end of file +} + +// GetProfile retrieves the user profile by ID +func (s *UserService) GetProfile(ctx context.Context, userID int64) (*entity.User, error) { + return s.repository.GetProfile(ctx, userID) +} + +// DeleteUserSelfByEmail +// func (s *UserService) DeleteUserSelfByEmail(ctx context.Context, user *entity.User) error { +// return s.repository.DeleteUserSelfByEmail(ctx, user) +// } From 7b43c2f107463360c1c4ca508081ce7f072c1b9d Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sun, 3 Dec 2023 05:51:34 +0700 Subject: [PATCH 69/85] update tiket userprofile --- entity/user.go | 3 +- internal/http/handler/auth_hendler.go | 38 +++++++- internal/http/handler/topup_handler.go | 16 +++ internal/http/handler/user_hendler.go | 123 +++++++++++++++--------- internal/http/router/routes.go | 70 ++++++++------ internal/repository/topup_repository.go | 8 ++ internal/repository/user_repository.go | 34 +++++-- internal/service/auth_service.go | 29 ++++++ internal/service/topup_services.go | 10 ++ internal/service/user_service.go | 39 +++++--- 10 files changed, 272 insertions(+), 98 deletions(-) diff --git a/entity/user.go b/entity/user.go index f0a8278..63c87ac 100644 --- a/entity/user.go +++ b/entity/user.go @@ -55,14 +55,13 @@ func Register(email, password, roles, number string) *User { } // user update by self -func UpdateUserSelf(id int64, name, email, number, password, roles string) *User { +func UpdateProfile(id int64, name, email, number, password string) *User { return &User{ ID: id, Name: name, Email: email, Number: number, Password: password, - Roles: roles, UpdatedAt: time.Now(), } } diff --git a/internal/http/handler/auth_hendler.go b/internal/http/handler/auth_hendler.go index 08e1c94..3978a2a 100644 --- a/internal/http/handler/auth_hendler.go +++ b/internal/http/handler/auth_hendler.go @@ -13,6 +13,7 @@ type AuthHandler struct { registrationService service.RegistrationUseCase // untuk regist loginService service.LoginUseCase //untuk memanggil service yang ngelakuin pengecekan user. tokenService service.TokenUsecase //untuk memanggil func akses token + // buyercreateaccountService service.BuyerCreateAccountUseCase } // ini func untuk type AuthHandler @@ -20,11 +21,13 @@ func NewAuthHandler( registartionService service.RegistrationUseCase, loginService service.LoginUseCase, tokenService service.TokenUsecase, + // buyercreateaccountService service.BuyerCreateAccountUseCase, ) *AuthHandler { return &AuthHandler{ registrationService: registartionService, loginService: loginService, tokenService: tokenService, + // buyercreateaccountService: buyercreateaccountService, } } @@ -64,7 +67,7 @@ func (h *AuthHandler) Registration(ctx echo.Context) error { var input struct { Email string `json:"email" validate:"required,email"` Password string `json:"password" validate:"required,min=8"` - Roles string `json:"roles" validate:"required"` + Roles string `json:"roles" default:"Buyer"` Number string `json:"number" validate:"required,min=11,max=13"` } @@ -91,3 +94,36 @@ func (h *AuthHandler) Registration(ctx echo.Context) error { } +// BuyerCreateAccount +// func (h *AuthHandler) BuyerCreateAccount(ctx echo.Context) error { +// // Pengecekan request +// var input struct { +// Name string `json:"name" validate:"required"` +// Email string `json:"email" validate:"required,email"` +// Number string `json:"number" validate:"required,min=11,max=13"` +// Password string `json:"password" validate:"required,min=8"` +// } + +// if err := ctx.Bind(&input); err != nil { // Di cek pake validate buat masukin input +// return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) +// } + +// // Untuk manggil BuyerCreateAccount service di folder service +// user := entity.Register(input.Email, input.Password, "Buyer", input.Number) +// err := h.buyercreateaccountService.BuyerCreateAccount(ctx.Request().Context(), user) +// if err != nil { +// return ctx.JSON(http.StatusUnprocessableEntity, err) +// } + +// accessToken, err := h.tokenService.GenerateAccessToken(ctx.Request().Context(), user) +// if err != nil { +// return ctx.JSON(http.StatusUnprocessableEntity, err) +// } + +// return ctx.JSON(http.StatusOK, map[string]interface{}{ +// "message": "Buyer account created successfully", +// "access_token": accessToken, +// }) +// } + + diff --git a/internal/http/handler/topup_handler.go b/internal/http/handler/topup_handler.go index d82e772..d3fe167 100644 --- a/internal/http/handler/topup_handler.go +++ b/internal/http/handler/topup_handler.go @@ -36,3 +36,19 @@ func (h *TopupHandler) CreateTopup(c echo.Context) error { return c.JSON(http.StatusCreated, newTopup) } + + +// topup saldo sederhana +// func (h *TopupHandler) TopupSaldo(c echo.Context) error { +// var topup entity.Topup +// if err := c.Bind(&topup); err != nil { +// return c.JSON(http.StatusBadRequest, echo.Map{"error": err.Error()}) +// } + +// newTopup, err := h.topupService.TopupSaldo(c.Request().Context(), topup) +// if err != nil { +// return c.JSON(http.StatusInternalServerError, echo.Map{"error": err.Error()}) +// } + +// return c.JSON(http.StatusCreated, newTopup) +// } \ No newline at end of file diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index d4065f7..1ceeaa8 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -133,14 +133,14 @@ func (h *UserHandler) DeleteUser(ctx echo.Context) error { } // Update User Self -func (h *UserHandler) UpdateUserSelf(ctx echo.Context) error { +func (h *UserHandler) UpdateProfile(ctx echo.Context) error { var input struct { - ID int64 `param:"id" validate:"required"` + ID int64 Name string `json:"name"` Email string `json:"email" validate:"email"` - Number string `json:"number" ate:"min=11,max=13"` - Roles string `json:"roles" validate:"oneof=Admin Buyer"` + Number string `json:"number" validate:"min=11,max=13"` Password string `json:"password"` + Saldo int64 `json:"saldo"` } // Mengambil nilai 'claims' dari JWT token @@ -149,22 +149,20 @@ func (h *UserHandler) UpdateUserSelf(ctx echo.Context) error { return ctx.JSON(http.StatusInternalServerError, "unable to get user claims") } - // Mendapatkan nilai 'ID' dari klaim - userID, ok := claims.Claims.(jwt.MapClaims)["id"].(float64) + // Extract user information from claims + claimsData, ok := claims.Claims.(*common.JwtCustomClaims) if !ok { - return ctx.JSON(http.StatusInternalServerError, "unable to get user ID from claims") + return ctx.JSON(http.StatusInternalServerError, "unable to get user information from claims") } - // Membandingkan ID yang diterima dari input dengan ID dari klaim - if int64(userID) != input.ID { - return ctx.JSON(http.StatusUnprocessableEntity, "you can't update this user") - } + // Mengisi ID dari klaim ke input + input.ID = claimsData.ID // Update user - user := entity.UpdateUserSelf(input.ID, input.Name, input.Email, input.Number, input.Roles, input.Password) + user := entity.UpdateProfile(input.ID, input.Name, input.Email, input.Number, input.Password) // Memanggil service untuk update user - err := h.userService.UpdateUserSelf(ctx.Request().Context(), user) + err := h.userService.UpdateProfile(ctx.Request().Context(), user) if err != nil { return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) } @@ -172,6 +170,7 @@ func (h *UserHandler) UpdateUserSelf(ctx echo.Context) error { return ctx.JSON(http.StatusOK, map[string]string{"success": "successfully update user"}) } +// get profile func (h *UserHandler) GetProfile(ctx echo.Context) error { // Retrieve user claims from the JWT token claims, ok := ctx.Get("user").(*jwt.Token) @@ -195,49 +194,79 @@ func (h *UserHandler) GetProfile(ctx echo.Context) error { return ctx.JSON(http.StatusOK, user) } +// Get user balance +func (h *UserHandler) GetUserBalance(ctx echo.Context) error { + // Retrieve user claims from the JWT token + claims, ok := ctx.Get("user").(*jwt.Token) + if !ok { + return ctx.JSON(http.StatusInternalServerError, "unable to get user claims") + } + // Extract user information from claims + claimsData, ok := claims.Claims.(*common.JwtCustomClaims) + if !ok { + return ctx.JSON(http.StatusInternalServerError, "unable to get user information from claims") + } -// delete user self common.JwtCustomClaims -// func (h *UserHandler) DeleteUserSelf(ctx echo.Context) error { -// // Pengecekan request -// var input struct { -// Email string `param:"email" validate:"required,email"` -// } + // Fetch user balance using the user ID + balance, err := h.userService.GetUserBalance(ctx.Request().Context(), claimsData.ID) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) + } -// if err := ctx.Bind(&input); err != nil { -// return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) -// } + // Return the user balance + return ctx.JSON(http.StatusOK, balance.Saldo) +} -// // Mengambil nilai 'claims' dari JWT token -// claims, ok := ctx.Get("user").(*jwt.Token) -// if !ok { -// return ctx.JSON(http.StatusInternalServerError, "unable to get user claims") -// } +//delete account +func (h *UserHandler) DeleteAccount(ctx echo.Context) error { + claims, ok := ctx.Get("user").(*jwt.Token) + if !ok { + return ctx.JSON(http.StatusInternalServerError, "unable to get user claims") + } -// // Mendapatkan nilai 'email' dari klaim -// jwtClaims, ok := claims.Claims.(*jwt.MapClaims) -// if !ok { -// return ctx.JSON(http.StatusInternalServerError, "unable to get user email from claims") -// } + // Extract user information from claims + claimsData, ok := claims.Claims.(*common.JwtCustomClaims) + if !ok { + return ctx.JSON(http.StatusInternalServerError, "unable to get user information from claims") + } -// // Membandingkan email yang diterima dari input dengan email dari klaim -// userEmail, ok := (*jwtClaims)["email"].(string) -// if !ok { -// return ctx.JSON(http.StatusInternalServerError, "unable to get user email from claims") -// } + // Menggunakan ID dari klaim JWT + idToDelete := claimsData.ID -// if userEmail != input.Email { -// return ctx.JSON(http.StatusUnprocessableEntity, "you can't delete this user") -// } + err := h.userService.Delete(ctx.Request().Context(), idToDelete) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } -// // Delete user -// user := entity.DeleteUserSelfByEmail(input.Email) + return ctx.JSON(http.StatusOK, map[string]interface{}{ + "message": "User deleted successfully", + }) +} -// // Memanggil service untuk delete user -// err := h.userService.DeleteUserSelfByEmail(ctx.Request().Context(), user) +// buyer create account +// func (h *UserHandler) BuyerCreateAccount(ctx echo.Context) error { +// var input struct { +// Name string `json:"name" validate:"required"` +// Email string `json:"email" validate:"email"` +// Number string `json:"number" validate:"min=11,max=13"` +// Roles string `json:"roles" default:"Buyer"` +// Password string `json:"password"` +// Saldo int64 `json:"saldo" default:"0"` +// } +// //ini func untuk error checking +// if err := ctx.Bind(&input); err != nil { +// return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) +// } +// user := entity.NewUser(input.Name, input.Email, input.Number, input.Roles, input.Password, input.Saldo) +// err := h.userService.CreateUser(ctx.Request().Context(), user) // if err != nil { -// return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) +// return ctx.JSON(http.StatusUnprocessableEntity, err) // } - -// return ctx.JSON(http.StatusOK, map[string]string{"success": "successfully delete user"}) +// //kalau retrun nya kaya gini akan tampil pesan "User created successfully" +// return ctx.JSON(http.StatusCreated, "User created successfully") // } + + + + diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index c480572..bbf62d3 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -67,6 +67,16 @@ func PublicRoutes( Path: "/blog/search/:search", Handler: BlogHandler.SearchBlog, }, + { + Method: echo.GET, + Path: "/ticket/:id", + Handler: TicketHandler.GetTicket, + }, + { + Method: echo.GET, + Path: "/ticket", + Handler: TicketHandler.GetAllTickets, + }, //filter ticket by location { Method: echo.GET, @@ -121,6 +131,16 @@ func PublicRoutes( Path: "/ticket/available", Handler: TicketHandler.SortTicketByAvailable, }, + { + Method: echo.GET, + Path: "/ticket/search/:search", + Handler: TicketHandler.SearchTicket, + }, + // { + // Method: echo.POST, + // Path: "/users/register/buyer", + // Handler: authHandler.BuyerCreateAccount, + // }, } } @@ -169,12 +189,6 @@ func PrivateRoutes( Role: onlyAdmin, }, - { - Method: echo.PUT, - Path: "/users/self", - Handler: UserHandler.UpdateUserSelf, - Role: allRoles, - }, { Method: echo.POST, Path: "/ticket", @@ -189,12 +203,7 @@ func PrivateRoutes( Role: onlyAdmin, }, - { - Method: echo.GET, - Path: "/ticket", - Handler: TicketHandler.GetAllTickets, - Role: onlyBuyer, - }, + { Method: echo.PUT, @@ -203,12 +212,6 @@ func PrivateRoutes( Role: onlyAdmin, }, - { - Method: echo.GET, - Path: "/ticket/:id", - Handler: TicketHandler.GetTicket, - Role: allRoles, - }, { Method: echo.DELETE, @@ -217,13 +220,6 @@ func PrivateRoutes( Role: onlyAdmin, }, - { - Method: echo.GET, - Path: "/ticket/search/:search", - Handler: TicketHandler.SearchTicket, - Role: allRoles, - }, - { Method: echo.POST, Path: "/blog", @@ -271,13 +267,13 @@ func PrivateRoutes( Method: echo.POST, Path: "/notification", Handler: NotificationHandler.CreateNotification, - Role: allRoles, + Role: onlyAdmin, }, // get all notification { Method: echo.GET, - Path: "/notification", + Path: "/notifications", Handler: NotificationHandler.GetAllNotification, Role: allRoles, }, @@ -305,6 +301,26 @@ func PrivateRoutes( Handler: UserHandler.GetProfile, Role: allRoles, }, + + // update profile + { + Method: echo.PUT, + Path: "/users/profile", + Handler: UserHandler.UpdateProfile, + Role: allRoles, + }, + { + Method: echo.GET, + Path: "/users/balance", + Handler: UserHandler.GetUserBalance, + Role: onlyBuyer, + }, + { + Method: echo.DELETE, + Path: "/users/deleteprofile", + Handler: UserHandler.DeleteAccount, + Role: allRoles, + }, } } diff --git a/internal/repository/topup_repository.go b/internal/repository/topup_repository.go index 3a3b94c..f8ec1d1 100644 --- a/internal/repository/topup_repository.go +++ b/internal/repository/topup_repository.go @@ -26,3 +26,11 @@ func (r *topupRepository) InsertTopup(ctx context.Context, topup entity.Topup) ( return topup, nil } +// topup saldo sederhana +// func (r *topupRepository) TopupSaldo(ctx context.Context, topup entity.Topup) (entity.Topup, error) { +// result := r.db.WithContext(ctx).Create(&topup) +// if result.Error != nil { +// return entity.Topup{}, result.Error +// } +// return topup, nil +// } diff --git a/internal/repository/user_repository.go b/internal/repository/user_repository.go index dada6c9..22dcd98 100644 --- a/internal/repository/user_repository.go +++ b/internal/repository/user_repository.go @@ -84,7 +84,7 @@ func (r *UserRepository) GetByEmail(ctx context.Context, email string) (*entity. } // Update User Self -func (r *UserRepository) UpdateUserSelf(ctx context.Context, user *entity.User) error { +func (r *UserRepository) UpdateProfile(ctx context.Context, user *entity.User) error { if err := r.db.WithContext(ctx). Model(&entity.User{}). Where("id = ?", user.ID). @@ -115,14 +115,30 @@ func (r *UserRepository) GetProfile(ctx context.Context, userID int64) (*entity. return &user, nil } -// DeleteUserSelfByEmail -// func (r *UserRepository) DeleteUserSelfByEmail(ctx context.Context, email string) error { -// if err := r.db.WithContext(ctx). -// Model(&entity.User{}). -// Where("Email = ?", email). -// Delete(nil). -// Error; err != nil { +// GetUserBalance +func (r *UserRepository) GetUserBalance(ctx context.Context, userID int64) (*entity.User, error) { + var user entity.User + err := r.db.WithContext(ctx).First(&user, userID).Error + if err != nil { + return nil, err + } + return &user, nil +} + +// DeleteAccount +func (r *UserRepository) DeleteAccount(ctx context.Context, email string) error { + if err := r.db.WithContext(ctx).Delete(&entity.User{}, email).Error; err != nil { + return err + } + return nil +} + +//BuyerCreateAccount +// func (r *UserRepository) BuyerCreateAccount(ctx context.Context, user *entity.User) error { +// //menggunakan db untuk melakukan query ke database +// err := r.db.WithContext(ctx).Create(&user).Error // pada line ini akan melakukan query "INSERT INTO users" +// if err != nil { // return err // } // return nil -// } +// } \ No newline at end of file diff --git a/internal/service/auth_service.go b/internal/service/auth_service.go index 748d617..aaff9f4 100644 --- a/internal/service/auth_service.go +++ b/internal/service/auth_service.go @@ -78,3 +78,32 @@ func (s *registrationService) Registration(ctx context.Context, user *entity.Use user.Password = string(hashedPassword) return s.repository.Registration(ctx, user) } + +// BuyerCreateAccount +type BuyerCreateAccountUseCase interface { + BuyerCreateAccount(ctx context.Context, user *entity.User) error +} + +type BuyerCreateAccountRepository interface { + BuyerCreateAccount(ctx context.Context, user *entity.User) error +} + +type buyercreateaccountService struct { + repository BuyerCreateAccountRepository +} + +func NewBuyerCreateAccountService(repository BuyerCreateAccountRepository) *buyercreateaccountService { + return &buyercreateaccountService{ + repository: repository, + } +} + +// func (s *buyercreateaccountService) BuyerCreateAccount(ctx context.Context, user *entity.User) error { +// hashedPassword, err := bcrypt.GenerateFromPassword([]byte(user.Password), bcrypt.DefaultCost) +// if err != nil { +// return err +// } + +// user.Password = string(hashedPassword) +// return s.repository.BuyerCreateAccount(ctx, user) +// } \ No newline at end of file diff --git a/internal/service/topup_services.go b/internal/service/topup_services.go index 6d4760b..6797f2f 100644 --- a/internal/service/topup_services.go +++ b/internal/service/topup_services.go @@ -11,12 +11,17 @@ import ( type TopupService interface { CreateTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) CreateMidtransCharge(orderID string, amount int64) (*coreapi.ChargeResponse, error) + // TopupSaldo(ctx context.Context, topup entity.Topup) (entity.Topup, error) } type topupService struct { topupRepository repository.TopupRepository } +// type TopupRepository interface { +// TopupSaldo(ctx context.Context, topup entity.Topup) (entity.Topup, error) +// } + func NewTopupService(topupRepository repository.TopupRepository) *topupService { return &topupService{topupRepository} } @@ -40,3 +45,8 @@ func (s *topupService) CreateMidtransCharge(orderID string, amount int64) (*core return c.ChargeTransaction(chargeReq) } + +// topup saldo sederhana +// func (s *topupService) TopupSaldo(ctx context.Context, topup entity.Topup) (entity.Topup, error) { +// return s.topupRepository.TopupSaldo(ctx, topup) +// } \ No newline at end of file diff --git a/internal/service/user_service.go b/internal/service/user_service.go index 2935475..6954ec5 100644 --- a/internal/service/user_service.go +++ b/internal/service/user_service.go @@ -16,10 +16,12 @@ type UserUsecase interface { UpdateUser(ctx context.Context, user *entity.User) error GetUserByID(ctx context.Context, id int64) (*entity.User, error) Delete(ctx context.Context, id int64) error - UpdateUserSelf(ctx context.Context, user *entity.User) error + UpdateProfile(ctx context.Context, user *entity.User) error UpdateUserBalance(ctx context.Context, user *entity.User) error GetProfile(ctx context.Context, userID int64) (*entity.User, error) - // DeleteUserSelfByEmail(ctx context.Context, user *entity.User) error + GetUserBalance(ctx context.Context, userID int64) (*entity.User, error) + DeleteAccount(ctx context.Context, email string) error + // BuyerCreateAccount(ctx context.Context, user *entity.User) error } // interface untuk repository @@ -31,10 +33,12 @@ type UserRepository interface { UpdateUser(ctx context.Context, user *entity.User) error GetUserByID(ctx context.Context, id int64) (*entity.User, error) Delete(ctx context.Context, id int64) error - UpdateUserSelf(ctx context.Context, user *entity.User) error + UpdateProfile(ctx context.Context, user *entity.User) error UpdateUserBalance(ctx context.Context, user *entity.User) error GetProfile(ctx context.Context, userID int64) (*entity.User, error) - // DeleteUserSelfByEmail(ctx context.Context, user *entity.User) error + GetUserBalance(ctx context.Context, userID int64) (*entity.User, error) + DeleteAccount(ctx context.Context, email string) error + // BuyerCreateAccount(ctx context.Context, user *entity.User) error } // code di line 23 merupakan dependency injection, karena repository tidak langsung di panggil. @@ -76,22 +80,33 @@ func (s *UserService) Delete(ctx context.Context, id int64) error { return s.repository.Delete(ctx, id) } -// Update User Self -func (s *UserService) UpdateUserSelf(ctx context.Context, user *entity.User) error { - return s.repository.UpdateUser(ctx, user) -} // func update saldo user by id func (s *UserService) UpdateUserBalance(ctx context.Context, user *entity.User) error { return s.repository.UpdateUserBalance(ctx, user) } +// Update User Self +func (s *UserService) UpdateProfile(ctx context.Context, user *entity.User) error { + return s.repository.UpdateProfile(ctx, user) +} + // GetProfile retrieves the user profile by ID func (s *UserService) GetProfile(ctx context.Context, userID int64) (*entity.User, error) { return s.repository.GetProfile(ctx, userID) } -// DeleteUserSelfByEmail -// func (s *UserService) DeleteUserSelfByEmail(ctx context.Context, user *entity.User) error { -// return s.repository.DeleteUserSelfByEmail(ctx, user) -// } +// GetUserBalance +func (s *UserService) GetUserBalance(ctx context.Context, userID int64) (*entity.User, error) { + return s.repository.GetUserBalance(ctx, userID) +} + +//DeleteAccount +func (s *UserService) DeleteAccount(ctx context.Context, email string) error { + return s.repository.DeleteAccount(ctx, email) +} + +//BuyerCreateAccount +// func (s *UserService) BuyerCreateAccount(ctx context.Context, user *entity.User) error { +// return s.repository.CreateUser(ctx, user) +// } \ No newline at end of file From 5779904ed60e9ac82470aa142d74fc70f1a34cf2 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Mon, 4 Dec 2023 02:51:00 +0700 Subject: [PATCH 70/85] update tiket order history --- entity/order.go | 12 +- entity/tiket.go | 36 +- go.mod | 8 +- go.sum | 16 +- internal/http/handler/notification_hendler.go | 37 +- internal/http/handler/order_handler.go | 189 +- internal/http/router/routes.go | 33 +- internal/repository/order_repository.go | 26 +- internal/service/order_service.go | 109 +- .../Backend Ticketing.postman_collection.json | 1932 ++++++++++++++--- 10 files changed, 1930 insertions(+), 468 deletions(-) diff --git a/entity/order.go b/entity/order.go index 9bc119e..e4f6f0e 100644 --- a/entity/order.go +++ b/entity/order.go @@ -12,7 +12,7 @@ type Order struct { User User `json:"user"` Quantity int64 `json:"quantity"` Total int64 `json:"total"` - Status string `json:"status"` + Status string `json:"status"` OrderAt time.Time `json:"order_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt *time.Time `json:"deleted_at,omitempty"` @@ -31,3 +31,13 @@ func NewOrder(ticketID, quantity, userID int64, status string) *Order { OrderAt: time.Now(), } } + +type OrderDetail struct { + UserID int64 `json:"user_id"` + Quantity int64 `json:"quantity"` + Total int `json:"total"` + Status string `json:"status"` + OrderAt time.Time `json:"order_at"` + UpdatedAt time.Time `json:"updated_at"` + Ticket TicketDetail `json:"ticket"` +} diff --git a/entity/tiket.go b/entity/tiket.go index 238eca2..d2d4f7c 100644 --- a/entity/tiket.go +++ b/entity/tiket.go @@ -5,20 +5,20 @@ import ( ) type Ticket struct { - ID int64 `json:"id"` - Image string `json:"image"` - Location string `json:"location"` - Date string // Format: YYYY-MM-DD - Title string `json:"title"` - Description string `json:"description"` - Price int64 `json:"price"` - Status string `json:"Status"` // e.g., 'available', 'sold' - Quota int64 `json:"Quota"` - Category string `json:"category"` - Terjual int64 `json:"Terjual"` // e.g., 1000, 5000, 10000 - CreatedAt time.Time `json:"-"` - UpdatedAt time.Time `json:"-"` - DeletedAt time.Time `json:"-"` + ID int64 `json:"id"` + Image string `json:"image"` + Location string `json:"location"` + Date string // Format: YYYY-MM-DD + Title string `json:"title"` + Description string `json:"description"` + Price int64 `json:"price"` + Status string `json:"Status"` // e.g., 'available', 'sold' + Quota int64 `json:"Quota"` + Category string `json:"category"` + Terjual int64 `json:"Terjual"` // e.g., 1000, 5000, 10000 + CreatedAt time.Time `json:"-"` + UpdatedAt time.Time `json:"-"` + DeletedAt time.Time `json:"-"` } func NewTicket(image, location, date, title, description, category string, price, quota, terjual int64) *Ticket { @@ -49,3 +49,11 @@ func UpdateTicket(id int64, image, location, date, title, description, category Terjual: terjual, } } + +type TicketDetail struct { + Image string `json:"image"` + Location string `json:"location"` + Date time.Time `json:"date"` + Title string `json:"title"` + Description string `json:"description"` +} diff --git a/go.mod b/go.mod index 20d5513..a10461b 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/labstack/echo-jwt/v4 v4.2.0 github.com/labstack/echo/v4 v4.11.3 github.com/midtrans/midtrans-go v1.3.7 - golang.org/x/crypto v0.14.0 + golang.org/x/crypto v0.16.0 gorm.io/driver/postgres v1.5.4 gorm.io/gorm v1.25.5 ) @@ -32,8 +32,8 @@ require ( github.com/mattn/go-isatty v0.0.19 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect - golang.org/x/net v0.17.0 // indirect - golang.org/x/sys v0.13.0 // indirect - golang.org/x/text v0.13.0 // indirect + golang.org/x/net v0.19.0 // indirect + golang.org/x/sys v0.15.0 // indirect + golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.3.0 // indirect ) diff --git a/go.sum b/go.sum index b60be13..a12ad9e 100644 --- a/go.sum +++ b/go.sum @@ -63,19 +63,19 @@ github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyC github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY= +golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/internal/http/handler/notification_hendler.go b/internal/http/handler/notification_hendler.go index 889f8cb..092c5ca 100644 --- a/internal/http/handler/notification_hendler.go +++ b/internal/http/handler/notification_hendler.go @@ -1,13 +1,14 @@ package handler import ( - "net/http" "Ticketing/entity" "Ticketing/internal/service" + "net/http" - "github.com/labstack/echo/v4" - "time" "Ticketing/internal/http/validator" + "time" + + "github.com/labstack/echo/v4" ) type NotificationHandler struct { @@ -18,7 +19,6 @@ func NewNotificationHandler(notificationService service.NotificationUsecase) *No return &NotificationHandler{notificationService} } - // GetAllNotification func (h *NotificationHandler) GetAllNotification(c echo.Context) error { Notifications, err := h.notificationService.GetAllNotification(c.Request().Context()) @@ -30,14 +30,13 @@ func (h *NotificationHandler) GetAllNotification(c echo.Context) error { }) } - // func untuk create notification func (h *NotificationHandler) CreateNotification(c echo.Context) error { var input struct { - Type string `json:"type" validate:"required"` - Message string `json:"message" validate:"required"` - Is_Read bool `json:"is_read"` - Create_at time.Time `json:"create_at"` + Type string `json:"type" validate:"required"` + Message string `json:"message" validate:"required"` + Is_Read bool `json:"is_read"` + Create_at time.Time `json:"create_at"` } // Input validation @@ -47,10 +46,10 @@ func (h *NotificationHandler) CreateNotification(c echo.Context) error { // Create a Notification object Notification := entity.Notification{ - Type: input.Type, - Message: input.Message, - IsRead: input.Is_Read, - CreatedAt: time.Now(), + Type: input.Type, + Message: input.Message, + IsRead: input.Is_Read, + CreatedAt: time.Now(), } err := h.notificationService.CreateNotification(c.Request().Context(), &Notification) @@ -61,5 +60,13 @@ func (h *NotificationHandler) CreateNotification(c echo.Context) error { return c.JSON(http.StatusCreated, Notification) } - - +// get notification after get chage value isRead to true and only get notification if isread false +func (h *NotificationHandler) UserGetNotification(c echo.Context) error { + Notifications, err := h.notificationService.UserGetNotification(c.Request().Context()) + if err != nil { + return c.JSON(http.StatusUnprocessableEntity, err) + } + return c.JSON(http.StatusOK, map[string]interface{}{ + "data": Notifications, + }) +} diff --git a/internal/http/handler/order_handler.go b/internal/http/handler/order_handler.go index bc8ed6c..767e86a 100644 --- a/internal/http/handler/order_handler.go +++ b/internal/http/handler/order_handler.go @@ -1,12 +1,14 @@ package handler import ( + "Ticketing/common" "Ticketing/entity" "Ticketing/internal/http/validator" "Ticketing/internal/service" - "net/http" "errors" + "net/http" + "github.com/golang-jwt/jwt/v5" "github.com/labstack/echo/v4" ) @@ -20,47 +22,47 @@ func NewOrderHandler(OrderService service.OrderUsecase) *OrderHandler { // func untuk create order func (h *OrderHandler) CreateOrder(ctx echo.Context) error { - var input struct { - TicketID int64 `json:"ticket_id" validate:"required"` - Quantity int64 `json:"quantity" validate:"required"` - UserID int64 `json:"user_id" validate:"required"` - Status string `json:"status" validate:"required"` - } - - if err := ctx.Bind(&input); err != nil { - return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) - } - - // Mendapatkan informasi saldo pengguna sebelum membuat pesanan - userBalance, err := h.OrderService.GetUserBalance(ctx.Request().Context(), input.UserID) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - // Mengambil informasi tiket dari TicketService untuk mendapatkan harga tiket - ticketPrice, err := h.OrderService.GetTicketPrice(ctx.Request().Context(), input.TicketID) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - // Memeriksa apakah saldo cukup untuk membuat pesanan - if userBalance < (input.Quantity * ticketPrice) { - return ctx.JSON(http.StatusUnprocessableEntity, errors.New("insufficient balance")) - } - - order := entity.NewOrder(input.TicketID, input.Quantity, input.UserID, input.Status) - err = h.OrderService.CreateOrder(ctx.Request().Context(), order) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - // Mengurangkan saldo pengguna setelah membuat pesanan - err = h.OrderService.UpdateUserBalance(ctx.Request().Context(), input.UserID, input.Quantity*ticketPrice) - if err != nil { - return ctx.JSON(http.StatusUnprocessableEntity, err) - } - - return ctx.JSON(http.StatusCreated, "Order created successfully") + var input struct { + TicketID int64 `json:"ticket_id" validate:"required"` + Quantity int64 `json:"quantity" validate:"required"` + UserID int64 `json:"user_id" validate:"required"` + Status string `json:"status" validate:"required"` + } + + if err := ctx.Bind(&input); err != nil { + return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + // Mendapatkan informasi saldo pengguna sebelum membuat pesanan + userBalance, err := h.OrderService.GetUserBalance(ctx.Request().Context(), input.UserID) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + // Mengambil informasi tiket dari TicketService untuk mendapatkan harga tiket + ticketPrice, err := h.OrderService.GetTicketPrice(ctx.Request().Context(), input.TicketID) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + // Memeriksa apakah saldo cukup untuk membuat pesanan + if userBalance < (input.Quantity * ticketPrice) { + return ctx.JSON(http.StatusUnprocessableEntity, errors.New("insufficient balance")) + } + + order := entity.NewOrder(input.TicketID, input.Quantity, input.UserID, input.Status) + err = h.OrderService.CreateOrder(ctx.Request().Context(), order) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + // Mengurangkan saldo pengguna setelah membuat pesanan + err = h.OrderService.UpdateUserBalance(ctx.Request().Context(), input.UserID, input.Quantity*ticketPrice) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + return ctx.JSON(http.StatusCreated, "Order created successfully") } // Get All Order @@ -118,3 +120,106 @@ func (h *OrderHandler) GetOrderByUserID(ctx echo.Context) error { "order_details": orderDetails, }) } + +// user create order +func (h *OrderHandler) UserCreateOrder(ctx echo.Context) error { + var input struct { + UserID int64 + TicketID int64 `json:"ticket_id" validate:"required"` + Quantity int64 `json:"quantity" validate:"required"` + Status string `json:"status" default:"success"` + } + + // Get JWT token from the context + token, ok := ctx.Get("user").(*jwt.Token) + if !ok { + return ctx.JSON(http.StatusUnauthorized, errors.New("missing or invalid token")) + } + + // Extract claims from the JWT token + claims, ok := token.Claims.(*common.JwtCustomClaims) + if !ok { + return ctx.JSON(http.StatusUnauthorized, errors.New("invalid token claims")) + } + + // Assign UserID from the JWT claims to the input struct + input.UserID = claims.ID + + if err := ctx.Bind(&input); err != nil { + return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + // Remaining code remains the same... + + // Mendapatkan informasi saldo pengguna sebelum membuat pesanan + userBalance, err := h.OrderService.GetUserBalance(ctx.Request().Context(), input.UserID) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + // Mengambil informasi tiket dari TicketService untuk mendapatkan harga tiket + ticketPrice, err := h.OrderService.GetTicketPrice(ctx.Request().Context(), input.TicketID) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + // Memeriksa apakah saldo cukup untuk membuat pesanan + if userBalance < (input.Quantity * ticketPrice) { + return ctx.JSON(http.StatusUnprocessableEntity, errors.New("insufficient balance")) + } + + order := entity.NewOrder(input.TicketID, input.Quantity, input.UserID, input.Status) + err = h.OrderService.CreateOrder(ctx.Request().Context(), order) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + // Mengurangkan saldo pengguna setelah membuat pesanan + err = h.OrderService.UpdateUserBalance(ctx.Request().Context(), input.UserID, input.Quantity*ticketPrice) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err) + } + + // Remaining code remains the same... + return ctx.JSON(http.StatusCreated, "Order created successfully") +} + +// Get order History by jwt +func (h *OrderHandler) GetOrderHistory(ctx echo.Context) error { + // Get JWT token from the context + token, ok := ctx.Get("user").(*jwt.Token) + if !ok { + return ctx.JSON(http.StatusUnauthorized, errors.New("missing or invalid token")) + } + + // Extract claims from the JWT token + claims, ok := token.Claims.(*common.JwtCustomClaims) + if !ok { + return ctx.JSON(http.StatusUnauthorized, errors.New("invalid token claims")) + } + + // Get all orders by user ID + orders, err := h.OrderService.GetOrderByUserID(ctx.Request().Context(), claims.ID) + if err != nil { + return ctx.JSON(http.StatusBadRequest, echo.NewHTTPError(http.StatusBadRequest, err.Error())) + } + + var orderDetails []map[string]interface{} + for _, order := range orders { + ticket, err := h.OrderService.GetTicketByID(ctx.Request().Context(), order.TicketID) + if err != nil { + return ctx.JSON(http.StatusInternalServerError, echo.NewHTTPError(http.StatusInternalServerError, err.Error())) + } + + orderDetail := map[string]interface{}{ + "user_id": order.UserID, + "ticket": ticket, + } + orderDetails = append(orderDetails, orderDetail) + } + + return ctx.JSON(http.StatusOK, map[string]interface{}{ + "message": "Get all orders success", + "order_details": orderDetails, + }) +} diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index bbf62d3..ea9ebc2 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -28,8 +28,8 @@ type Route struct { // membuat fungsi untuk mengembalikan route // pada func ini perlu login krna private func PublicRoutes( - authHandler *handler.AuthHandler, - TicketHandler *handler.TicketHandler, + authHandler *handler.AuthHandler, + TicketHandler *handler.TicketHandler, BlogHandler *handler.BlogHandler) []*Route { return []*Route{ { @@ -147,11 +147,11 @@ func PublicRoutes( // membuat fungsi untuk mengembalikan route // pada func ini tdk perlu login krna public func PrivateRoutes( - UserHandler *handler.UserHandler, - TicketHandler *handler.TicketHandler, - BlogHandler *handler.BlogHandler, - OrderHandler *handler.OrderHandler, - NotificationHandler *handler.NotificationHandler, + UserHandler *handler.UserHandler, + TicketHandler *handler.TicketHandler, + BlogHandler *handler.BlogHandler, + OrderHandler *handler.OrderHandler, + NotificationHandler *handler.NotificationHandler, TopupHandler *handler.TopupHandler) []*Route { return []*Route{ { @@ -203,8 +203,6 @@ func PrivateRoutes( Role: onlyAdmin, }, - - { Method: echo.PUT, Path: "/ticket/:id", @@ -212,7 +210,6 @@ func PrivateRoutes( Role: onlyAdmin, }, - { Method: echo.DELETE, Path: "/ticket/:id", @@ -301,7 +298,7 @@ func PrivateRoutes( Handler: UserHandler.GetProfile, Role: allRoles, }, - + // update profile { Method: echo.PUT, @@ -321,6 +318,20 @@ func PrivateRoutes( Handler: UserHandler.DeleteAccount, Role: allRoles, }, + //UserCreateOrder + { + Method: echo.POST, + Path: "user/order", + Handler: OrderHandler.UserCreateOrder, + Role: onlyBuyer, + }, + //GetOrderHistory + { + Method: echo.GET, + Path: "user/order", + Handler: OrderHandler.GetOrderHistory, + Role: onlyBuyer, + }, } } diff --git a/internal/repository/order_repository.go b/internal/repository/order_repository.go index 0d9c2c6..72f8bc3 100644 --- a/internal/repository/order_repository.go +++ b/internal/repository/order_repository.go @@ -3,8 +3,9 @@ package repository import ( "Ticketing/entity" "context" - "gorm.io/gorm" "errors" + + "gorm.io/gorm" ) type OrderRepository struct { @@ -73,7 +74,7 @@ func (r *OrderRepository) GetOrderByUserID(ctx context.Context, userID int64) ([ return orders, nil } -//UpdateUserBalance +// UpdateUserBalance func (r *OrderRepository) UpdateUserBalance(ctx context.Context, userID int64, total int64) error { user := new(entity.User) if err := r.db.WithContext(ctx).Where("id = ?", userID).First(user).Error; err != nil { @@ -110,4 +111,23 @@ func (r *OrderRepository) GetTicketPrice(ctx context.Context, ticketID int64) (i } return int64(ticket.Price), nil -} \ No newline at end of file +} + +// UserCreateOrder +func (r *OrderRepository) UserCreateOrder(ctx context.Context, order *entity.Order) error { + err := r.db.WithContext(ctx).Create(&order).Error + if err != nil { + return err + } + return nil +} + +// GetOrderHistory +func (r *OrderRepository) GetOrderHistory(ctx context.Context, userID int64) ([]*entity.Order, error) { + orders := make([]*entity.Order, 0) + err := r.db.WithContext(ctx).Preload("Ticket").Where("user_id = ?", userID).Find(&orders).Error + if err != nil { + return nil, err + } + return orders, nil +} diff --git a/internal/service/order_service.go b/internal/service/order_service.go index 1d1af6a..5116d58 100644 --- a/internal/service/order_service.go +++ b/internal/service/order_service.go @@ -16,6 +16,8 @@ type OrderUsecase interface { UpdateUserBalance(ctx context.Context, userID int64, amount int64) error GetUserBalance(ctx context.Context, userID int64) (int64, error) GetTicketPrice(ctx context.Context, ticketID int64) (int64, error) + UserCreateOrder(ctx context.Context, order *entity.Order) error + GetOrderHistory(ctx context.Context, userID int64) ([]*entity.Order, error) } type OrderRepository interface { @@ -28,6 +30,8 @@ type OrderRepository interface { UpdateUserBalance(ctx context.Context, userID int64, amount int64) error GetUserBalance(ctx context.Context, userID int64) (int64, error) GetTicketPrice(ctx context.Context, ticketID int64) (int64, error) + UserCreateOrder(ctx context.Context, order *entity.Order) error + GetOrderHistory(ctx context.Context, userID int64) ([]*entity.Order, error) } type OrderService struct { @@ -40,39 +44,38 @@ func NewOrderService(repository OrderRepository) *OrderService { // Updated CreateOrder method in OrderService to receive TicketService func (s *OrderService) CreateOrder(ctx context.Context, order *entity.Order) error { - // Mendapatkan informasi tiket berdasarkan ID tiket dalam pesanan - ticket, err := s.repository.GetTicket(ctx, order.TicketID) - if err != nil { - return err - } - - // Memeriksa ketersediaan tiket - if int64(ticket.Quota) < order.Quantity { - return errors.New("ticket is not available") - } - - // Melakukan perhitungan total harga pesanan - order.Total = ticket.Price * int64(order.Quantity) - - // Membuat pesanan - if err := s.repository.CreateOrder(ctx, order); err != nil { - return err - } - - // Mengurangi ketersediaan tiket - ticket.Quota -= order.Quantity - if err := s.repository.UpdateTicket(ctx, ticket); err != nil { - return err - } - - // Mengurangi saldo pengguna - if err := s.repository.UpdateUserBalance(ctx, order.UserID, order.Total); err != nil { - return err - } - - return nil -} + // Mendapatkan informasi tiket berdasarkan ID tiket dalam pesanan + ticket, err := s.repository.GetTicket(ctx, order.TicketID) + if err != nil { + return err + } + + // Memeriksa ketersediaan tiket + if int64(ticket.Quota) < order.Quantity { + return errors.New("ticket is not available") + } + + // Melakukan perhitungan total harga pesanan + order.Total = ticket.Price * int64(order.Quantity) + + // Membuat pesanan + if err := s.repository.CreateOrder(ctx, order); err != nil { + return err + } + // Mengurangi ketersediaan tiket + ticket.Quota -= order.Quantity + if err := s.repository.UpdateTicket(ctx, ticket); err != nil { + return err + } + + // Mengurangi saldo pengguna + if err := s.repository.UpdateUserBalance(ctx, order.UserID, order.Total); err != nil { + return err + } + + return nil +} // Implementasi fungsi GetTicket func (s *OrderService) GetTicket(ctx context.Context, ticketID int64) (*entity.Ticket, error) { @@ -114,4 +117,44 @@ func (s *OrderService) GetTicketPrice(ctx context.Context, ticketID int64) (int6 return 0, err } return int64(ticket.Price), nil -} +} + +// UserCreateOrder +func (s *OrderService) UserCreateOrder(ctx context.Context, order *entity.Order) error { + // Mendapatkan informasi tiket berdasarkan ID tiket dalam pesanan + ticket, err := s.repository.GetTicket(ctx, order.TicketID) + if err != nil { + return err + } + + // Memeriksa ketersediaan tiket + if int64(ticket.Quota) < order.Quantity { + return errors.New("ticket is not available") + } + + // Melakukan perhitungan total harga pesanan + order.Total = ticket.Price * int64(order.Quantity) + + // Membuat pesanan + if err := s.repository.CreateOrder(ctx, order); err != nil { + return err + } + + // Mengurangi ketersediaan tiket + ticket.Quota -= order.Quantity + if err := s.repository.UpdateTicket(ctx, ticket); err != nil { + return err + } + + // Mengurangi saldo pengguna + if err := s.repository.UpdateUserBalance(ctx, order.UserID, order.Total); err != nil { + return err + } + + return nil +} + +// GetOrderHistory +func (s *OrderService) GetOrderHistory(ctx context.Context, userID int64) ([]*entity.Order, error) { + return s.repository.GetOrderByUserID(ctx, userID) +} diff --git a/output/Backend Ticketing.postman_collection.json b/output/Backend Ticketing.postman_collection.json index 3b3502d..62f383c 100644 --- a/output/Backend Ticketing.postman_collection.json +++ b/output/Backend Ticketing.postman_collection.json @@ -1651,7 +1651,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Buyer}}", "type": "string" } ] @@ -1660,7 +1660,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"ravita\",\r\n \"email\": \"Admin@gmail.com\",\r\n \"number\": \"00000000000\",\r\n \"roles\": \"Admin\",\r\n \"saldo\": 11111111110\r\n}", + "raw": "{\r\n \"name\": \"John Doe\",\r\n \"email\" : \"Buyer1@gmail.com\",\r\n \"number\": \"12345678901\",\r\n \"password\" : \"123123123123123123\"\r\n}", "options": { "raw": { "language": "json" @@ -1668,17 +1668,67 @@ } }, "url": { - "raw": "{{url}}/users/1", + "raw": "{{URL}}/users/profile", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "users", - "1" + "profile" ] } }, - "response": [] + "response": [ + { + "name": "Update Profile", + "originalRequest": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"John Doe\",\r\n \"email\" : \"Buyer1@gmail.com\",\r\n \"number\": \"12345678901\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/users/profile", + "host": [ + "{{URL}}" + ], + "path": [ + "users", + "profile" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 21:43:48 GMT" + }, + { + "key": "Content-Length", + "value": "39" + } + ], + "cookie": [], + "body": "{\n \"success\": \"successfully update user\"\n}" + } + ] }, { "name": "Delete Profile", @@ -1688,39 +1738,94 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Buyer}}", "type": "string" } ] }, "method": "DELETE", "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"id\": 9\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, "url": { - "raw": "http://localhost:8080/api/v1/users/2", - "protocol": "http", + "raw": "{{URL}}/users/deleteprofile", "host": [ - "localhost" + "{{URL}}" ], - "port": "8080", "path": [ - "api", - "v1", "users", - "2" + "deleteprofile" ] } }, - "response": [] + "response": [ + { + "name": "Delete Profile", + "originalRequest": { + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"id\": 9\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/users/deleteprofile", + "host": [ + "{{URL}}" + ], + "path": [ + "users", + "deleteprofile" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 21:54:29 GMT" + }, + { + "key": "Content-Length", + "value": "40" + } + ], + "cookie": [], + "body": "{\n \"message\": \"User deleted successfully\"\n}" + } + ] }, { - "name": "Get Profile", + "name": "Get Saldo", "request": { "auth": { "type": "bearer", "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Buyer}}", "type": "string" } ] @@ -1728,27 +1833,68 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/users/1", + "raw": "{{URL}}/users/balance", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "users", - "1" + "balance" ] } }, - "response": [] + "response": [ + { + "name": "Get Saldo", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/users/balance", + "host": [ + "{{URL}}" + ], + "path": [ + "users", + "balance" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 21:49:43 GMT" + }, + { + "key": "Content-Length", + "value": "7" + } + ], + "cookie": [], + "body": "100000" + } + ] }, { - "name": "Get Saldo", + "name": "Get Profile", "request": { "auth": { "type": "bearer", "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Buyer}}", "type": "string" } ] @@ -1756,17 +1902,58 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/users/1", + "raw": "{{URL}}/users/profile", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "users", - "1" + "profile" ] } }, - "response": [] + "response": [ + { + "name": "Get Profile", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/users/profile", + "host": [ + "{{URL}}" + ], + "path": [ + "users", + "profile" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 21:36:00 GMT" + }, + { + "key": "Content-Length", + "value": "191" + } + ], + "cookie": [], + "body": "{\n \"id\": 9,\n \"name\": \"\",\n \"email\": \"Buyer1@gmail.com\",\n \"number\": \"00000000000\",\n \"roles\": \"Buyer\",\n \"saldo\": 0,\n \"created_at\": \"2023-12-03T01:29:58.477828+07:00\",\n \"updated_at\": \"2023-12-03T01:29:58.477828+07:00\"\n}" + } + ] } ] }, @@ -1777,48 +1964,74 @@ "name": "Get Ticket", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket", + "raw": "{{URL}}/ticket", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket" ] } }, - "response": [] + "response": [ + { + "name": "Get Ticket", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:35:09 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Get Ticket ID", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/1", + "raw": "{{URL}}/ticket/1", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -1826,27 +2039,61 @@ ] } }, - "response": [] - }, - { + "response": [ + { + "name": "Get Ticket ID", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/1", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "1" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:35:20 GMT" + }, + { + "key": "Content-Length", + "value": "229" + } + ], + "cookie": [], + "body": "{\n \"data\": {\n \"category\": \"music\",\n \"created\": \"2023-12-01T22:20:09.060639Z\",\n \"date\": \"2023-12-31T00:00:00Z\",\n \"description\": \"konser lagu edm terbaik\",\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"price\": 50,\n \"quota\": 198,\n \"title\": \"Dragon\"\n }\n}" + } + ] + }, + { "name": "Search", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/search/Nama", + "raw": "{{URL}}/ticket/search/Nama", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -1855,27 +2102,62 @@ ] } }, - "response": [] + "response": [ + { + "name": "Search", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/search/cold", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "search", + "cold" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:35:42 GMT" + }, + { + "key": "Content-Length", + "value": "219" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "FIlter Location", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/location/GBK", + "raw": "{{URL}}/ticket/location/GBK", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -1884,27 +2166,62 @@ ] } }, - "response": [] + "response": [ + { + "name": "FIlter Location", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/location/GBK", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "location", + "GBK" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:35:58 GMT" + }, + { + "key": "Content-Length", + "value": "219" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Filter Category", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/category/music", + "raw": "{{URL}}/ticket/category/music", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -1913,27 +2230,62 @@ ] } }, - "response": [] + "response": [ + { + "name": "Filter Category", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/category/music", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "category", + "music" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:36:07 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Filter Time", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/range/:start/:end", + "raw": "{{URL}}/ticket/range/:start/:end", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -1944,36 +2296,82 @@ "variable": [ { "key": "start", - "value": "" + "value": "2023-12-31" }, { "key": "end", - "value": "" + "value": "2024-12-31" } ] } }, - "response": [] + "response": [ + { + "name": "Filter Time", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/range/:start/:end", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "range", + ":start", + ":end" + ], + "variable": [ + { + "key": "start", + "value": "2023-12-31" + }, + { + "key": "end", + "value": "2024-12-31" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:36:50 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Filter Price", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/price/:min/:max", + "raw": "{{URL}}/ticket/price/:min/:max", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -1993,27 +2391,73 @@ ] } }, - "response": [] - }, - { - "name": "Sort Cheap", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, + "response": [ + { + "name": "Filter Price", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/price/:min/:max", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "price", + ":min", + ":max" + ], + "variable": [ + { + "key": "min", + "value": "0" + }, + { + "key": "max", + "value": "100" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:37:03 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] + }, + { + "name": "Sort Cheap", + "request": { + "auth": { + "type": "noauth" + }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/cheapest?sort=termurah", + "raw": "{{URL}}/ticket/cheapest?sort=termurah", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -2027,27 +2471,67 @@ ] } }, - "response": [] + "response": [ + { + "name": "Sort Cheap", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/cheapest?sort=termurah", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "cheapest" + ], + "query": [ + { + "key": "sort", + "value": "termurah" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:37:14 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Sort Bestseller", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/most-bought?sort=terbanyak", + "raw": "{{URL}}/ticket/most-bought?sort=terbanyak", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -2061,20 +2545,60 @@ ] } }, - "response": [] + "response": [ + { + "name": "Sort Bestseller", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/ticket/most-bought?sort=terbanyak", + "host": [ + "{{url}}" + ], + "path": [ + "ticket", + "most-bought" + ], + "query": [ + { + "key": "sort", + "value": "terbanyak" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:37:21 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Sort Expenive", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], @@ -2095,27 +2619,67 @@ ] } }, - "response": [] + "response": [ + { + "name": "Sort Expenive", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/most-expensive?sort=termahal", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "most-expensive" + ], + "query": [ + { + "key": "sort", + "value": "termahal" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:37:27 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Sort Lastest", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/terbaru?sort=terbaru", + "raw": "{{URL}}/ticket/terbaru?sort=terbaru", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -2129,41 +2693,128 @@ ] } }, - "response": [] + "response": [ + { + "name": "Sort Lastest", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/terbaru?sort=terbaru", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "terbaru" + ], + "query": [ + { + "key": "sort", + "value": "terbaru" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:37:49 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Sort Avaliable", "request": { "auth": { - "type": "bearer", - "bearer": [ + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/available?sort=tersedia", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "available" + ], + "query": [ + { + "key": "sort", + "value": "tersedia" + } + ] + } + }, + "response": [ + { + "name": "Sort Avaliable", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/available?sort=tersedia", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "available" + ], + "query": [ + { + "key": "sort", + "value": "tersedia" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:38:00 GMT" + }, { - "key": "token", - "value": "{{token}}", - "type": "string" + "key": "Content-Length", + "value": "432" } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/available?sort=tersedia", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "available" ], - "query": [ - { - "key": "sort", - "value": "tersedia" - } - ] + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" } - }, - "response": [] + ] } ] }, @@ -2174,48 +2825,74 @@ "name": "Get All Blog", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/blog", + "raw": "{{URL}}/blog", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "blog" ] } }, - "response": [] + "response": [ + { + "name": "Get All Blog", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/blog", + "host": [ + "{{URL}}" + ], + "path": [ + "blog" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:38:18 GMT" + }, + { + "key": "Content-Length", + "value": "563" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"ID\": 3,\n \"Image\": \"https/image\",\n \"Date\": \"2023-12-02T00:00:00Z\",\n \"Title\": \"Kerusuhan DI Konser jakarta\",\n \"Description\": \"beberapa orang menjadi tersangka\",\n \"CreatedAt\": \"2023-12-02T06:06:46.56004Z\",\n \"UpdatedAt\": \"2023-12-02T06:06:46.56004Z\",\n \"DeletedAt\": \"0001-01-01T00:00:00Z\"\n },\n {\n \"ID\": 1,\n \"Image\": \"https/image\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"Title\": \"Konser Tersukses\",\n \"Description\": \"dikatakan oleh produser menjadi konser tersukses sepanjang masa\",\n \"CreatedAt\": \"2023-12-02T04:13:07.807064Z\",\n \"UpdatedAt\": \"2023-12-02T06:07:55.103818Z\",\n \"DeletedAt\": \"0001-01-01T00:00:00Z\"\n }\n ]\n}" + } + ] }, { "name": "Get Blog By ID", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/blog/1", + "raw": "{{URL}}/blog/1", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "blog", @@ -2223,36 +2900,112 @@ ] } }, - "response": [] + "response": [ + { + "name": "Get Blog By ID", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/blog/1", + "host": [ + "{{URL}}" + ], + "path": [ + "blog", + "1" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:38:35 GMT" + }, + { + "key": "Content-Length", + "value": "217" + } + ], + "cookie": [], + "body": "{\n \"data\": {\n \"created\": \"2023-12-02T04:13:07.807064Z\",\n \"date\": \"2023-12-31T00:00:00Z\",\n \"description\": \"dikatakan oleh produser menjadi konser tersukses sepanjang masa\",\n \"id\": 1,\n \"image\": \"https/image\",\n \"title\": \"Konser Tersukses\"\n }\n}" + } + ] }, { "name": "Search Blog", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/blog/search/Nama", + "raw": "{{URL}}/blog/search/Kons", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "blog", "search", - "Nama" + "Kons" ] } }, - "response": [] + "response": [ + { + "name": "Search Blog", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{url}}/blog/search/Kons", + "host": [ + "{{url}}" + ], + "path": [ + "blog", + "search", + "Kons" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:39:08 GMT" + }, + { + "key": "Content-Length", + "value": "563" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"ID\": 3,\n \"Image\": \"https/image\",\n \"Date\": \"2023-12-02T00:00:00Z\",\n \"Title\": \"Kerusuhan DI Konser jakarta\",\n \"Description\": \"beberapa orang menjadi tersangka\",\n \"CreatedAt\": \"2023-12-02T06:06:46.56004Z\",\n \"UpdatedAt\": \"2023-12-02T06:06:46.56004Z\",\n \"DeletedAt\": \"0001-01-01T00:00:00Z\"\n },\n {\n \"ID\": 1,\n \"Image\": \"https/image\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"Title\": \"Konser Tersukses\",\n \"Description\": \"dikatakan oleh produser menjadi konser tersukses sepanjang masa\",\n \"CreatedAt\": \"2023-12-02T04:13:07.807064Z\",\n \"UpdatedAt\": \"2023-12-02T06:07:55.103818Z\",\n \"DeletedAt\": \"0001-01-01T00:00:00Z\"\n }\n ]\n}" + } + ] } ] }, @@ -2336,7 +3089,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Buyer}}", "type": "string" } ] @@ -2344,16 +3097,56 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/notification", + "raw": "{{URL}}/notifications", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ - "notification" + "notifications" ] } }, - "response": [] + "response": [ + { + "name": "Get Notification", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/notifications", + "host": [ + "{{URL}}" + ], + "path": [ + "notifications" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:47:25 GMT" + }, + { + "key": "Content-Length", + "value": "220" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 1,\n \"type\": \"Diskon Ticket\",\n \"message\": \"ada diskon loh cek berikut\",\n \"is_read\": false,\n \"created_at\": \"2023-12-02T06:17:03.644111Z\",\n \"updated_at\": \"2023-12-02T06:17:03.647676Z\",\n \"deleted_at\": \"0001-01-01T00:00:00Z\"\n }\n ]\n}" + } + ] } ] }, @@ -2400,50 +3193,78 @@ "name": "Search Ticket", "request": { "auth": { - "type": "bearer", - "bearer": [ + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/search/col", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "search", + "col" + ] + } + }, + "response": [ + { + "name": "Search Ticket", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/search/col", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "search", + "col" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, { - "key": "token", - "value": "{{token}}", - "type": "string" + "key": "Date", + "value": "Sat, 02 Dec 2023 22:52:52 GMT" + }, + { + "key": "Content-Length", + "value": "219" } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/search/Nama", - "host": [ - "{{url}}" ], - "path": [ - "ticket", - "search", - "Nama" - ] + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" } - }, - "response": [] + ] }, { "name": "Filter Location", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/location/GBK", + "raw": "{{URL}}/ticket/location/GBK", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -2452,27 +3273,62 @@ ] } }, - "response": [] + "response": [ + { + "name": "Filter Location", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/location/GBK", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "location", + "GBK" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:53:09 GMT" + }, + { + "key": "Content-Length", + "value": "219" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Fileter Category", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/category/music", + "raw": "{{URL}}/ticket/category/music", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -2481,27 +3337,62 @@ ] } }, - "response": [] + "response": [ + { + "name": "Fileter Category", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/category/music", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "category", + "music" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:53:26 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Filter Time", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/range/:start/:end", + "raw": "{{URL}}/ticket/range/:start/:end", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -2512,16 +3403,69 @@ "variable": [ { "key": "start", - "value": "" + "value": "2023-12-31" }, { "key": "end", - "value": "" + "value": "2024-12-31" } ] } }, - "response": [] + "response": [ + { + "name": "Filter Time", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/range/:start/:end", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "range", + ":start", + ":end" + ], + "variable": [ + { + "key": "start", + "value": "2023-12-31" + }, + { + "key": "end", + "value": "2024-12-31" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:54:03 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Filter Price", @@ -2539,9 +3483,9 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/price/:min/:max", + "raw": "{{URL}}/ticket/price/:min/:max", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -2561,41 +3505,134 @@ ] } }, - "response": [] + "response": [ + { + "name": "Filter Price", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/price/:min/:max", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "price", + ":min", + ":max" + ], + "variable": [ + { + "key": "min", + "value": "0" + }, + { + "key": "max", + "value": "100" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:54:20 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Sort Cheap", "request": { "auth": { - "type": "bearer", - "bearer": [ + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/cheapest?sort=termurah", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "cheapest" + ], + "query": [ + { + "key": "sort", + "value": "termurah" + } + ] + } + }, + "response": [ + { + "name": "Sort Cheap", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/cheapest?sort=termurah", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "cheapest" + ], + "query": [ + { + "key": "sort", + "value": "termurah" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{url}}/ticket/cheapest?sort=termurah", - "host": [ - "{{url}}" - ], - "path": [ - "ticket", - "cheapest" - ], - "query": [ + "key": "Date", + "value": "Sat, 02 Dec 2023 22:54:34 GMT" + }, { - "key": "sort", - "value": "termurah" + "key": "Content-Length", + "value": "432" } - ] + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" } - }, - "response": [] + ] }, { "name": "Sort Bestseller", @@ -2613,9 +3650,9 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/most-bought?sort=terbanyak", + "raw": "{{URL}}/ticket/most-bought?sort=terbanyak", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -2629,27 +3666,67 @@ ] } }, - "response": [] + "response": [ + { + "name": "Sort Bestseller", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/most-bought?sort=terbanyak", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "most-bought" + ], + "query": [ + { + "key": "sort", + "value": "terbanyak" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:54:47 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Sort Expensive", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/most-expensive?sort=termahal", + "raw": "{{URL}}/ticket/most-expensive?sort=termahal", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -2663,7 +3740,54 @@ ] } }, - "response": [] + "response": [ + { + "name": "Sort Expensive", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/most-expensive?sort=termahal", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "most-expensive" + ], + "query": [ + { + "key": "sort", + "value": "termahal" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:55:02 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Sort Latest", @@ -2681,9 +3805,9 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/terbaru?sort=terbaru", + "raw": "{{URL}}/ticket/terbaru?sort=terbaru", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -2697,27 +3821,67 @@ ] } }, - "response": [] + "response": [ + { + "name": "Sort Latest", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/terbaru?sort=terbaru", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "terbaru" + ], + "query": [ + { + "key": "sort", + "value": "terbaru" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:55:15 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] }, { "name": "Sort Available", "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{token}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], "url": { - "raw": "{{url}}/ticket/available?sort=tersedia", + "raw": "{{URL}}/ticket/available?sort=tersedia", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "ticket", @@ -2731,7 +3895,54 @@ ] } }, - "response": [] + "response": [ + { + "name": "Sort Available", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/ticket/available?sort=tersedia", + "host": [ + "{{URL}}" + ], + "path": [ + "ticket", + "available" + ], + "query": [ + { + "key": "sort", + "value": "tersedia" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:55:31 GMT" + }, + { + "key": "Content-Length", + "value": "432" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"id\": 3,\n \"image\": \"https/image\",\n \"location\": \"GBK\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"coldplay\",\n \"description\": \"penyanyi luar negri\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 100,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 198,\n \"category\": \"music\",\n \"Terjual\": 5\n }\n ]\n}" + } + ] } ] }, @@ -2754,18 +3965,60 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/blog/search/Nama", + "raw": "{{URL}}/blog/search/Ker", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "blog", "search", - "Nama" + "Ker" ] } }, - "response": [] + "response": [ + { + "name": "Search Blog", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/blog/search/Ker", + "host": [ + "{{URL}}" + ], + "path": [ + "blog", + "search", + "Ker" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 22:56:35 GMT" + }, + { + "key": "Content-Length", + "value": "276" + } + ], + "cookie": [], + "body": "{\n \"data\": [\n {\n \"ID\": 3,\n \"Image\": \"https/image\",\n \"Date\": \"2023-12-02T00:00:00Z\",\n \"Title\": \"Kerusuhan DI Konser jakarta\",\n \"Description\": \"beberapa orang menjadi tersangka\",\n \"CreatedAt\": \"2023-12-02T06:06:46.56004Z\",\n \"UpdatedAt\": \"2023-12-02T06:06:46.56004Z\",\n \"DeletedAt\": \"0001-01-01T00:00:00Z\"\n }\n ]\n}" + } + ] } ] }, @@ -2926,7 +4179,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"name\" : \"Buyer\",\r\n \"email\" : \"Buyer@gmail.com\",\r\n \"roles\" : \"Buyer\",\r\n \"number\" : \"00000000000\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "raw": "{\r\n \"name\": \"Buyer\",\r\n \"email\": \"Buyer1@gmail.com\",\r\n \"number\": \"12345678901\",\r\n \"password\": \"123123123123123123\"\r\n}", "options": { "raw": { "language": "json" @@ -3001,7 +4254,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"email\" : \"Buyer@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", + "raw": "{\r\n \"email\" : \"Buyer1@gmail.com\",\r\n \"password\" : \"123123123123123123\"\r\n}", "options": { "raw": { "language": "json" @@ -3224,6 +4477,11 @@ { "key": "Token-Admin", "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IiIsImVtYWlsIjoiQWRtaW5AZ21haWwuY29tIiwicm9sZSI6IkFkbWluIiwiZXhwIjoxNzAxNDcxNTAzfQ.7njlsyp_kFCSby44lBnzcEDjze3OZoKj5Ow4EcooCMs" + }, + { + "key": "Token-Buyer", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NywibmFtZSI6IiIsImVtYWlsIjoiQnV5ZXIxQGdtYWlsLmNvbSIsInJvbGUiOiJCdXllciIsImV4cCI6MTcwMTU0MjA2OH0.6vamjQugLq5kOXi12XJNxpLp3QD2fwKMRLmRS9W5rcE", + "type": "string" } ] } \ No newline at end of file From 583911274785f79330bd4d937805fdf2cc5edc88 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Mon, 4 Dec 2023 03:00:08 +0700 Subject: [PATCH 71/85] update tiket order --- internal/http/handler/topup_handler.go | 69 ++++++++++--------- internal/http/router/routes.go | 7 ++ .../repository/notification_repository.go | 31 ++++++++- internal/service/notification_services.go | 9 ++- 4 files changed, 80 insertions(+), 36 deletions(-) diff --git a/internal/http/handler/topup_handler.go b/internal/http/handler/topup_handler.go index d3fe167..88dfe2e 100644 --- a/internal/http/handler/topup_handler.go +++ b/internal/http/handler/topup_handler.go @@ -1,54 +1,55 @@ package handler import ( - "Ticketing/entity" - "Ticketing/internal/service" - "net/http" - "github.com/labstack/echo/v4" + "Ticketing/entity" + "Ticketing/internal/service" + "net/http" + + "github.com/labstack/echo/v4" ) type TopupHandler struct { - topupService service.TopupService + topupService service.TopupService } func NewTopupHandler(topupService service.TopupService) *TopupHandler { - return &TopupHandler{topupService} + return &TopupHandler{topupService} } func (h *TopupHandler) CreateTopup(c echo.Context) error { - var topup entity.Topup - if err := c.Bind(&topup); err != nil { - return c.JSON(http.StatusBadRequest, echo.Map{"error": err.Error()}) - } + var topup entity.Topup + if err := c.Bind(&topup); err != nil { + return c.JSON(http.StatusBadRequest, echo.Map{"error": err.Error()}) + } - chargeResp, err := h.topupService.CreateMidtransCharge(topup.ID, int64(topup.Amount)) - if err != nil { - return c.JSON(http.StatusInternalServerError, echo.Map{"error": err.Error()}) - } + chargeResp, err := h.topupService.CreateMidtransCharge(topup.ID, int64(topup.Amount)) + if err != nil { + return c.JSON(http.StatusInternalServerError, echo.Map{"error": err.Error()}) + } - topup.SnapURL = chargeResp.RedirectURL + topup.SnapURL = chargeResp.RedirectURL - // Perhatikan penambahan c.Request().Context() di sini - newTopup, err := h.topupService.CreateTopup(c.Request().Context(), topup) - if err != nil { - return c.JSON(http.StatusInternalServerError, echo.Map{"error": err.Error()}) - } + // Perhatikan penambahan c.Request().Context() di sini + newTopup, err := h.topupService.CreateTopup(c.Request().Context(), topup) + if err != nil { + return c.JSON(http.StatusInternalServerError, echo.Map{"error": err.Error()}) + } - return c.JSON(http.StatusCreated, newTopup) + return c.JSON(http.StatusCreated, newTopup) } +// topup saldo by jwt token +func (h *TopupHandler) UserTopup(c echo.Context) error { + var topup entity.Topup + if err := c.Bind(&topup); err != nil { + return c.JSON(http.StatusBadRequest, echo.Map{"error": err.Error()}) + } -// topup saldo sederhana -// func (h *TopupHandler) TopupSaldo(c echo.Context) error { -// var topup entity.Topup -// if err := c.Bind(&topup); err != nil { -// return c.JSON(http.StatusBadRequest, echo.Map{"error": err.Error()}) -// } - -// newTopup, err := h.topupService.TopupSaldo(c.Request().Context(), topup) -// if err != nil { -// return c.JSON(http.StatusInternalServerError, echo.Map{"error": err.Error()}) -// } + // Perhatikan penambahan c.Request().Context() di sini + newTopup, err := h.topupService.UserTopup(c.Request().Context(), topup) + if err != nil { + return c.JSON(http.StatusInternalServerError, echo.Map{"error": err.Error()}) + } -// return c.JSON(http.StatusCreated, newTopup) -// } \ No newline at end of file + return c.JSON(http.StatusCreated, newTopup) +} diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index ea9ebc2..561e172 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -332,6 +332,13 @@ func PrivateRoutes( Handler: OrderHandler.GetOrderHistory, Role: onlyBuyer, }, + //UserGetNotification + { + Method: echo.GET, + Path: "user/notification", + Handler: NotificationHandler.UserGetNotification, + Role: allRoles, + }, } } diff --git a/internal/repository/notification_repository.go b/internal/repository/notification_repository.go index 3ee6dc8..e23e4fb 100644 --- a/internal/repository/notification_repository.go +++ b/internal/repository/notification_repository.go @@ -1,8 +1,9 @@ package repository import ( - "context" "Ticketing/entity" + "context" + "gorm.io/gorm" ) @@ -25,6 +26,7 @@ func (r *NotificationRepository) GetAllNotification(ctx context.Context) ([]*ent } return Notifications, nil } + // create notification func (r *NotificationRepository) CreateNotification(ctx context.Context, Notification *entity.Notification) error { result := r.db.WithContext(ctx).Create(&Notification) @@ -34,5 +36,32 @@ func (r *NotificationRepository) CreateNotification(ctx context.Context, Notific return nil } +// get notification after get change value isRead to true and only get notification if is_read false UserGetNotification +func (r *NotificationRepository) UserGetNotification(ctx context.Context) ([]*entity.Notification, error) { + Notifications := make([]*entity.Notification, 0) + + // Retrieve notifications with is_read = false + result := r.db.WithContext(ctx).Where("is_read = ?", false).Find(&Notifications) + if result.Error != nil { + return nil, result.Error + } + + // Mark retrieved notifications as read + for _, notification := range Notifications { + // Assuming you have a method to update the is_read field + err := r.MarkNotificationAsRead(ctx, notification.ID) + if err != nil { + return nil, err + } + } + return Notifications, nil +} +func (r *NotificationRepository) MarkNotificationAsRead(ctx context.Context, notificationID int) error { + result := r.db.WithContext(ctx).Model(&entity.Notification{}).Where("id = ?", notificationID).Update("is_read", true) + if result.Error != nil { + return result.Error + } + return nil +} diff --git a/internal/service/notification_services.go b/internal/service/notification_services.go index 8db84e1..363a2ba 100644 --- a/internal/service/notification_services.go +++ b/internal/service/notification_services.go @@ -8,11 +8,13 @@ import ( type NotificationUsecase interface { GetAllNotification(ctx context.Context) ([]*entity.Notification, error) CreateNotification(ctx context.Context, Notification *entity.Notification) error + UserGetNotification(ctx context.Context) ([]*entity.Notification, error) } type NotificationRepository interface { GetAllNotification(ctx context.Context) ([]*entity.Notification, error) CreateNotification(ctx context.Context, Notification *entity.Notification) error + UserGetNotification(ctx context.Context) ([]*entity.Notification, error) } type NotificationService struct { @@ -31,4 +33,9 @@ func (s *NotificationService) GetAllNotification(ctx context.Context) ([]*entity // func untuk create notification func (s *NotificationService) CreateNotification(ctx context.Context, Notification *entity.Notification) error { return s.Repository.CreateNotification(ctx, Notification) -} \ No newline at end of file +} + +// get notification after get chage value isRead to true and only get notification if isread false UserGetNotification +func (s *NotificationService) UserGetNotification(ctx context.Context) ([]*entity.Notification, error) { + return s.Repository.UserGetNotification(ctx) +} From 98a2044ebe42e0e951503c0e7da9d2878b4a8299 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Mon, 4 Dec 2023 03:31:11 +0700 Subject: [PATCH 72/85] update tiket payment masih error --- internal/http/handler/topup_handler.go | 32 +++- internal/http/router/routes.go | 6 + internal/repository/topup_repository.go | 63 +++++-- internal/service/topup_services.go | 86 +++++---- .../Backend Ticketing.postman_collection.json | 167 +++++++++++++++--- 5 files changed, 281 insertions(+), 73 deletions(-) diff --git a/internal/http/handler/topup_handler.go b/internal/http/handler/topup_handler.go index 88dfe2e..73088a7 100644 --- a/internal/http/handler/topup_handler.go +++ b/internal/http/handler/topup_handler.go @@ -5,6 +5,7 @@ import ( "Ticketing/internal/service" "net/http" + "github.com/golang-jwt/jwt/v5" "github.com/labstack/echo/v4" ) @@ -38,18 +39,43 @@ func (h *TopupHandler) CreateTopup(c echo.Context) error { return c.JSON(http.StatusCreated, newTopup) } +// topup saldo by jwt token // topup saldo by jwt token func (h *TopupHandler) UserTopup(c echo.Context) error { + // Get JWT token from the context + token, ok := c.Get("user").(*jwt.Token) + if !ok { + return c.JSON(http.StatusUnauthorized, echo.Map{"error": "missing or invalid token"}) + } + + // Extract claims from the JWT token + claims, ok := token.Claims.(jwt.MapClaims) + if !ok { + return c.JSON(http.StatusUnauthorized, echo.Map{"error": "invalid token claims"}) + } + + // Get user ID from the JWT claims + userID := int(claims["user_id"].(float64)) + var topup entity.Topup if err := c.Bind(&topup); err != nil { return c.JSON(http.StatusBadRequest, echo.Map{"error": err.Error()}) } - // Perhatikan penambahan c.Request().Context() di sini - newTopup, err := h.topupService.UserTopup(c.Request().Context(), topup) + // Update user saldo + userSaldo, err := h.topupService.UpdateUserSaldo(c.Request().Context(), userID, int64(topup.Amount)) if err != nil { return c.JSON(http.StatusInternalServerError, echo.Map{"error": err.Error()}) } - return c.JSON(http.StatusCreated, newTopup) + // Create topup record + newTopup, err := h.topupService.UserTopup(c.Request().Context(), userID, topup) + if err != nil { + return c.JSON(http.StatusInternalServerError, echo.Map{"error": err.Error()}) + } + + return c.JSON(http.StatusCreated, echo.Map{ + "user_saldo": userSaldo, + "topup_data": newTopup, + }) } diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 561e172..a36f693 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -339,6 +339,12 @@ func PrivateRoutes( Handler: NotificationHandler.UserGetNotification, Role: allRoles, }, + { + Method: echo.POST, + Path: "/user/topup", + Handler: TopupHandler.UserTopup, + Role: onlyBuyer, + }, } } diff --git a/internal/repository/topup_repository.go b/internal/repository/topup_repository.go index f8ec1d1..2432d89 100644 --- a/internal/repository/topup_repository.go +++ b/internal/repository/topup_repository.go @@ -1,36 +1,61 @@ package repository import ( - "Ticketing/entity" - "context" - "gorm.io/gorm" + "Ticketing/entity" + "context" + + "gorm.io/gorm" ) type TopupRepository interface { - InsertTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) + InsertTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) + UserTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) + GetUserByID(ctx context.Context, id int) (*entity.User, error) + UpdateUser(ctx context.Context, user *entity.User) error } type topupRepository struct { - db *gorm.DB + db *gorm.DB } func NewTopupRepository(db *gorm.DB) *topupRepository { - return &topupRepository{db} + return &topupRepository{db} } func (r *topupRepository) InsertTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) { - result := r.db.WithContext(ctx).Create(&topup) - if result.Error != nil { - return entity.Topup{}, result.Error - } - return topup, nil + result := r.db.WithContext(ctx).Create(&topup) + if result.Error != nil { + return entity.Topup{}, result.Error + } + return topup, nil +} + +// UserTopup +func (r *topupRepository) UserTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) { + result := r.db.WithContext(ctx).Create(&topup) + if result.Error != nil { + return entity.Topup{}, result.Error + } + return topup, nil } -// topup saldo sederhana -// func (r *topupRepository) TopupSaldo(ctx context.Context, topup entity.Topup) (entity.Topup, error) { -// result := r.db.WithContext(ctx).Create(&topup) -// if result.Error != nil { -// return entity.Topup{}, result.Error -// } -// return topup, nil -// } +// GetUserByID +func (r *topupRepository) GetUserByID(ctx context.Context, id int) (*entity.User, error) { + user := new(entity.User) + result := r.db.WithContext(ctx).First(&user, id) + if result.Error != nil { + return nil, result.Error + } + return user, nil +} + +// UpdateUser updates the user information +func (r *topupRepository) UpdateUser(ctx context.Context, user *entity.User) error { + if err := r.db.WithContext(ctx). + Model(&entity.User{}). + Where("id = ?", user.ID). + Updates(user).Error; err != nil { + return err + } + return nil +} diff --git a/internal/service/topup_services.go b/internal/service/topup_services.go index 6797f2f..13b647e 100644 --- a/internal/service/topup_services.go +++ b/internal/service/topup_services.go @@ -1,52 +1,78 @@ package service import ( - "context" - "Ticketing/entity" - "Ticketing/internal/repository" - "github.com/midtrans/midtrans-go" - "github.com/midtrans/midtrans-go/coreapi" + "Ticketing/entity" + "Ticketing/internal/repository" + "context" + + "github.com/midtrans/midtrans-go" + "github.com/midtrans/midtrans-go/coreapi" ) type TopupService interface { - CreateTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) - CreateMidtransCharge(orderID string, amount int64) (*coreapi.ChargeResponse, error) - // TopupSaldo(ctx context.Context, topup entity.Topup) (entity.Topup, error) + CreateTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) + CreateMidtransCharge(orderID string, amount int64) (*coreapi.ChargeResponse, error) + UpdateUserSaldo(ctx context.Context, userID int, amount int64) (int64, error) + UserTopup(ctx context.Context, userID int, topup entity.Topup) (entity.Topup, error) + + // TopupSaldo(ctx context.Context, topup entity.Topup) (entity.Topup, error) } type topupService struct { - topupRepository repository.TopupRepository + topupRepository repository.TopupRepository } -// type TopupRepository interface { -// TopupSaldo(ctx context.Context, topup entity.Topup) (entity.Topup, error) -// } +type TopupRepository interface { + UserTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) + UpdateUserSaldo(ctx context.Context, userID int, amount int64) (int64, error) +} +type TopupUsecase interface { + UserTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) + UpdateUserSaldo(ctx context.Context, userID int, amount int64) (int64, error) +} func NewTopupService(topupRepository repository.TopupRepository) *topupService { - return &topupService{topupRepository} + return &topupService{topupRepository} } - func (s *topupService) CreateTopup(ctx context.Context, topup entity.Topup) (entity.Topup, error) { - return s.topupRepository.InsertTopup(ctx, topup) + return s.topupRepository.InsertTopup(ctx, topup) } func (s *topupService) CreateMidtransCharge(orderID string, amount int64) (*coreapi.ChargeResponse, error) { - c := coreapi.Client{} - c.New("YOUR-SERVER-KEY", midtrans.Sandbox) // Ganti dengan server key Anda + c := coreapi.Client{} + c.New("YOUR-SERVER-KEY", midtrans.Sandbox) // Ganti dengan server key Anda - chargeReq := &coreapi.ChargeReq{ - PaymentType: coreapi.PaymentTypeBankTransfer, // Sesuaikan dengan jenis pembayaran - TransactionDetails: midtrans.TransactionDetails{ - OrderID: orderID, - GrossAmt: amount, - }, - // Tambahkan detail lainnya sesuai kebutuhan - } + chargeReq := &coreapi.ChargeReq{ + PaymentType: coreapi.PaymentTypeBankTransfer, // Sesuaikan dengan jenis pembayaran + TransactionDetails: midtrans.TransactionDetails{ + OrderID: orderID, + GrossAmt: amount, + }, + // Tambahkan detail lainnya sesuai kebutuhan + } - return c.ChargeTransaction(chargeReq) + return c.ChargeTransaction(chargeReq) } -// topup saldo sederhana -// func (s *topupService) TopupSaldo(ctx context.Context, topup entity.Topup) (entity.Topup, error) { -// return s.topupRepository.TopupSaldo(ctx, topup) -// } \ No newline at end of file +// UserTopup +func (s *topupService) UserTopup(ctx context.Context, userID int, topup entity.Topup) (entity.Topup, error) { + return s.topupRepository.UserTopup(ctx, topup) +} + +// TopupService method for updating user saldo +func (s *topupService) UpdateUserSaldo(ctx context.Context, userID int, amount int64) (int64, error) { + user, err := s.topupRepository.GetUserByID(ctx, userID) + if err != nil { + return 0, err + } + + // Update user saldo + user.Saldo += amount + + // Save the updated user information + if err := s.topupRepository.UpdateUser(ctx, user); err != nil { + return 0, err + } + + return user.Saldo, nil +} diff --git a/output/Backend Ticketing.postman_collection.json b/output/Backend Ticketing.postman_collection.json index 62f383c..5247d00 100644 --- a/output/Backend Ticketing.postman_collection.json +++ b/output/Backend Ticketing.postman_collection.json @@ -3020,7 +3020,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Buyer}}", "type": "string" } ] @@ -3029,7 +3029,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"ticket_id\": 1,\r\n \"quantity\": 2,\r\n \"user_id\": 1,\r\n \"status\": \"seleseai\"\r\n}", + "raw": "{\r\n \"ticket_id\": 1,\r\n \"quantity\": 2,\r\n \"status\": \"seleseai\"\r\n}", "options": { "raw": { "language": "json" @@ -3037,16 +3037,65 @@ } }, "url": { - "raw": "{{url}}/order", + "raw": "{{URL}}user/order", "host": [ - "{{url}}" + "{{URL}}user" ], "path": [ "order" ] } }, - "response": [] + "response": [ + { + "name": "Create Order", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"ticket_id\": 1,\r\n \"quantity\": 2,\r\n \"status\": \"seleseai\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}user/order", + "host": [ + "{{URL}}user" + ], + "path": [ + "order" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sun, 03 Dec 2023 19:48:47 GMT" + }, + { + "key": "Content-Length", + "value": "29" + } + ], + "cookie": [], + "body": "\"Order created successfully\"" + } + ] }, { "name": "Get History Order", @@ -3056,7 +3105,7 @@ "bearer": [ { "key": "token", - "value": "{{token}}", + "value": "{{Token-Buyer}}", "type": "string" } ] @@ -3064,17 +3113,56 @@ "method": "GET", "header": [], "url": { - "raw": "{{url}}/order/1", + "raw": "{{URL}}user/order", "host": [ - "{{url}}" + "{{URL}}user" ], "path": [ - "order", - "1" + "order" ] } }, - "response": [] + "response": [ + { + "name": "Get History Order", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}user/order", + "host": [ + "{{URL}}user" + ], + "path": [ + "order" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sun, 03 Dec 2023 19:48:32 GMT" + }, + { + "key": "Content-Length", + "value": "529" + } + ], + "cookie": [], + "body": "{\n \"message\": \"Get all orders success\",\n \"order_details\": [\n {\n \"ticket\": {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 194,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n \"user_id\": 10\n },\n {\n \"ticket\": {\n \"id\": 1,\n \"image\": \"https/image\",\n \"location\": \"bekasi\",\n \"Date\": \"2023-12-31T00:00:00Z\",\n \"title\": \"Dragon\",\n \"description\": \"konser lagu edm terbaik\",\n \"price\": 50,\n \"Status\": \"available\",\n \"Quota\": 194,\n \"category\": \"music\",\n \"Terjual\": 5\n },\n \"user_id\": 10\n }\n ]\n}" + } + ] } ] }, @@ -3082,7 +3170,7 @@ "name": "Notification", "item": [ { - "name": "Get Notification", + "name": "User Get Notification", "request": { "auth": { "type": "bearer", @@ -3097,28 +3185,28 @@ "method": "GET", "header": [], "url": { - "raw": "{{URL}}/notifications", + "raw": "{{URL}}user/notification", "host": [ - "{{URL}}" + "{{URL}}user" ], "path": [ - "notifications" + "notification" ] } }, "response": [ { - "name": "Get Notification", + "name": "User Get Notification", "originalRequest": { "method": "GET", "header": [], "url": { - "raw": "{{URL}}/notifications", + "raw": "{{URL}}user/notification", "host": [ - "{{URL}}" + "{{URL}}user" ], "path": [ - "notifications" + "notification" ] } }, @@ -3136,7 +3224,7 @@ }, { "key": "Date", - "value": "Sat, 02 Dec 2023 22:47:25 GMT" + "value": "Sun, 03 Dec 2023 19:57:58 GMT" }, { "key": "Content-Length", @@ -3144,7 +3232,7 @@ } ], "cookie": [], - "body": "{\n \"data\": [\n {\n \"id\": 1,\n \"type\": \"Diskon Ticket\",\n \"message\": \"ada diskon loh cek berikut\",\n \"is_read\": false,\n \"created_at\": \"2023-12-02T06:17:03.644111Z\",\n \"updated_at\": \"2023-12-02T06:17:03.647676Z\",\n \"deleted_at\": \"0001-01-01T00:00:00Z\"\n }\n ]\n}" + "body": "{\n \"data\": [\n {\n \"id\": 1,\n \"type\": \"Diskon Ticket\",\n \"message\": \"ada diskon loh cek berikut\",\n \"is_read\": false,\n \"created_at\": \"2023-12-02T06:17:03.644111Z\",\n \"updated_at\": \"2023-12-04T02:57:43.787024Z\",\n \"deleted_at\": \"0001-01-01T00:00:00Z\"\n }\n ]\n}" } ] } @@ -3178,6 +3266,43 @@ } }, "response": [] + }, + { + "name": "User Topup", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Buyer}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"amount\": 1000 \r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/user/topup", + "host": [ + "{{URL}}" + ], + "path": [ + "user", + "topup" + ] + } + }, + "response": [] } ] } From 7626b1bdc66b9332d2f0167129d4df3133859320 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Tue, 5 Dec 2023 03:09:09 +0700 Subject: [PATCH 73/85] update log out --- entity/user.go | 14 +++++ internal/http/handler/user_hendler.go | 82 +++++++++++++++++++++++--- internal/http/router/routes.go | 12 ++++ internal/repository/user_repository.go | 24 +++++++- internal/service/user_service.go | 19 +++++- 5 files changed, 140 insertions(+), 11 deletions(-) diff --git a/entity/user.go b/entity/user.go index 63c87ac..049f394 100644 --- a/entity/user.go +++ b/entity/user.go @@ -73,3 +73,17 @@ func DeleteUserSelfByEmail(email string) *User { DeletedAt: nil, } } + +func UpgradeSaldo(id int64, saldo int64) *User { + return &User{ + ID: id, + Saldo: saldo, + } +} + +// user logout +func UserLogout(id int64) *User { + return &User{ + ID: id, + } +} diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 1ceeaa8..881e028 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -3,10 +3,10 @@ package handler //NOTE : // FOLDER INI UNTUK MEMANGGIL SERVICE DAN REPOSITORY import ( + "Ticketing/common" "Ticketing/entity" "Ticketing/internal/http/validator" "Ticketing/internal/service" - "Ticketing/common" "net/http" "strconv" @@ -135,7 +135,7 @@ func (h *UserHandler) DeleteUser(ctx echo.Context) error { // Update User Self func (h *UserHandler) UpdateProfile(ctx echo.Context) error { var input struct { - ID int64 + ID int64 Name string `json:"name"` Email string `json:"email" validate:"email"` Number string `json:"number" validate:"min=11,max=13"` @@ -218,7 +218,7 @@ func (h *UserHandler) GetUserBalance(ctx echo.Context) error { return ctx.JSON(http.StatusOK, balance.Saldo) } -//delete account +// delete account func (h *UserHandler) DeleteAccount(ctx echo.Context) error { claims, ok := ctx.Get("user").(*jwt.Token) if !ok { @@ -244,6 +244,78 @@ func (h *UserHandler) DeleteAccount(ctx echo.Context) error { }) } +// upgrade saldo +func (h *UserHandler) UpgradeSaldo(ctx echo.Context) error { + // Retrieve user ID from JWT claims + claims, ok := ctx.Get("user").(*jwt.Token) + if !ok { + return ctx.JSON(http.StatusInternalServerError, "unable to get user claims") + } + + // Extract user information from claims + claimsData, ok := claims.Claims.(*common.JwtCustomClaims) + if !ok { + return ctx.JSON(http.StatusInternalServerError, "unable to get user information from claims") + } + + userID := claimsData.ID + + // Fetch current saldo for the user + currentUser, err := h.userService.GetUserByID(ctx.Request().Context(), userID) + if err != nil { + return ctx.JSON(http.StatusInternalServerError, "unable to fetch user information") + } + + // Extract input data + var input struct { + Saldo int64 `json:"saldo"` + } + + if err := ctx.Bind(&input); err != nil { + return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + // Add the new saldo to the current saldo + newSaldo := currentUser.Saldo + input.Saldo + + // Update user saldo + currentUser.Saldo = newSaldo + err = h.userService.UpgradeSaldo(ctx.Request().Context(), currentUser) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) + } + + return ctx.JSON(http.StatusOK, map[string]string{"success": "successfully updated user saldo"}) +} + +// logout +func (h *UserHandler) UserLogout(ctx echo.Context) error { + // Retrieve user claims from the JWT token + claims, ok := ctx.Get("user").(*jwt.Token) + if !ok { + return ctx.JSON(http.StatusInternalServerError, "unable to get user claims") + } + + // Extract user information from claims + claimsData, ok := claims.Claims.(*common.JwtCustomClaims) + if !ok { + return ctx.JSON(http.StatusInternalServerError, "unable to get user information from claims") + } + + userID := claimsData.ID + + // Create a *entity.User instance with the userID + user := &entity.User{ID: userID} + + // Invalidate the JWT token + err := h.userService.UserLogout(ctx.Request().Context(), user) + if err != nil { + return ctx.JSON(http.StatusInternalServerError, "unable to invalidate JWT token") + } + + return ctx.JSON(http.StatusOK, map[string]string{"success": "successfully logged out"}) +} + // buyer create account // func (h *UserHandler) BuyerCreateAccount(ctx echo.Context) error { // var input struct { @@ -266,7 +338,3 @@ func (h *UserHandler) DeleteAccount(ctx echo.Context) error { // //kalau retrun nya kaya gini akan tampil pesan "User created successfully" // return ctx.JSON(http.StatusCreated, "User created successfully") // } - - - - diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index a36f693..cdbbcd1 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -345,6 +345,18 @@ func PrivateRoutes( Handler: TopupHandler.UserTopup, Role: onlyBuyer, }, + { + Method: echo.POST, + Path: "/user/upgrade", + Handler: UserHandler.UpgradeSaldo, + Role: onlyBuyer, + }, + { + Method: echo.POST, + Path: "/user/logout", + Handler: UserHandler.UserLogout, + Role: allRoles, + }, } } diff --git a/internal/repository/user_repository.go b/internal/repository/user_repository.go index 22dcd98..ef4763d 100644 --- a/internal/repository/user_repository.go +++ b/internal/repository/user_repository.go @@ -133,6 +133,28 @@ func (r *UserRepository) DeleteAccount(ctx context.Context, email string) error return nil } +// upgrade saldo +func (r *UserRepository) UpgradeSaldo(ctx context.Context, user *entity.User) error { + if err := r.db.WithContext(ctx). + Model(&entity.User{}). + Where("id = ?", user.ID). + Updates(&user).Error; err != nil { + return err + } + return nil +} + +// logout +func (r *UserRepository) UserLogout(ctx context.Context, user *entity.User) error { + if err := r.db.WithContext(ctx). + Model(&entity.User{}). + Where("id = ?", user.ID). + Updates(&user).Error; err != nil { + return err + } + return nil +} + //BuyerCreateAccount // func (r *UserRepository) BuyerCreateAccount(ctx context.Context, user *entity.User) error { // //menggunakan db untuk melakukan query ke database @@ -141,4 +163,4 @@ func (r *UserRepository) DeleteAccount(ctx context.Context, email string) error // return err // } // return nil -// } \ No newline at end of file +// } diff --git a/internal/service/user_service.go b/internal/service/user_service.go index 6954ec5..40a6da0 100644 --- a/internal/service/user_service.go +++ b/internal/service/user_service.go @@ -21,6 +21,8 @@ type UserUsecase interface { GetProfile(ctx context.Context, userID int64) (*entity.User, error) GetUserBalance(ctx context.Context, userID int64) (*entity.User, error) DeleteAccount(ctx context.Context, email string) error + UpgradeSaldo(ctx context.Context, user *entity.User) error + UserLogout(ctx context.Context, user *entity.User) error // BuyerCreateAccount(ctx context.Context, user *entity.User) error } @@ -38,6 +40,8 @@ type UserRepository interface { GetProfile(ctx context.Context, userID int64) (*entity.User, error) GetUserBalance(ctx context.Context, userID int64) (*entity.User, error) DeleteAccount(ctx context.Context, email string) error + UpgradeSaldo(ctx context.Context, user *entity.User) error + UserLogout(ctx context.Context, user *entity.User) error // BuyerCreateAccount(ctx context.Context, user *entity.User) error } @@ -80,7 +84,6 @@ func (s *UserService) Delete(ctx context.Context, id int64) error { return s.repository.Delete(ctx, id) } - // func update saldo user by id func (s *UserService) UpdateUserBalance(ctx context.Context, user *entity.User) error { return s.repository.UpdateUserBalance(ctx, user) @@ -101,12 +104,22 @@ func (s *UserService) GetUserBalance(ctx context.Context, userID int64) (*entity return s.repository.GetUserBalance(ctx, userID) } -//DeleteAccount +// DeleteAccount func (s *UserService) DeleteAccount(ctx context.Context, email string) error { return s.repository.DeleteAccount(ctx, email) } +// upgrade saldo +func (s *UserService) UpgradeSaldo(ctx context.Context, user *entity.User) error { + return s.repository.UpgradeSaldo(ctx, user) +} + +// logout +func (s *UserService) UserLogout(ctx context.Context, user *entity.User) error { + return s.repository.UserLogout(ctx, user) +} + //BuyerCreateAccount // func (s *UserService) BuyerCreateAccount(ctx context.Context, user *entity.User) error { // return s.repository.CreateUser(ctx, user) -// } \ No newline at end of file +// } From b13b017d45342c5d3e1b96c94bfdad22dd26ab89 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Tue, 5 Dec 2023 03:21:53 +0700 Subject: [PATCH 74/85] update payment --- internal/http/handler/topup_handler.go | 1 - internal/service/topup_services.go | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/http/handler/topup_handler.go b/internal/http/handler/topup_handler.go index 73088a7..49b3bc9 100644 --- a/internal/http/handler/topup_handler.go +++ b/internal/http/handler/topup_handler.go @@ -39,7 +39,6 @@ func (h *TopupHandler) CreateTopup(c echo.Context) error { return c.JSON(http.StatusCreated, newTopup) } -// topup saldo by jwt token // topup saldo by jwt token func (h *TopupHandler) UserTopup(c echo.Context) error { // Get JWT token from the context diff --git a/internal/service/topup_services.go b/internal/service/topup_services.go index 13b647e..2bd8bd5 100644 --- a/internal/service/topup_services.go +++ b/internal/service/topup_services.go @@ -40,7 +40,7 @@ func (s *topupService) CreateTopup(ctx context.Context, topup entity.Topup) (ent func (s *topupService) CreateMidtransCharge(orderID string, amount int64) (*coreapi.ChargeResponse, error) { c := coreapi.Client{} - c.New("YOUR-SERVER-KEY", midtrans.Sandbox) // Ganti dengan server key Anda + c.New("SB-Mid-server-RGIeiP4-kdQSADSfhbpG42B-", midtrans.Sandbox) // Ganti dengan server key Anda chargeReq := &coreapi.ChargeReq{ PaymentType: coreapi.PaymentTypeBankTransfer, // Sesuaikan dengan jenis pembayaran From d14c2e54b6ab17e4ba3bf081bbf606d21c26e979 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Tue, 5 Dec 2023 03:43:00 +0700 Subject: [PATCH 75/85] update ai --- internal/http/handler/user_hendler.go | 21 +++++++++++++++++++++ internal/repository/user_repository.go | 5 +++++ internal/service/user_service.go | 10 ++++++++++ 3 files changed, 36 insertions(+) diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index 881e028..ac18f5a 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -316,6 +316,27 @@ func (h *UserHandler) UserLogout(ctx echo.Context) error { return ctx.JSON(http.StatusOK, map[string]string{"success": "successfully logged out"}) } +// TanyaAI +// func (h *UserHandler) TanyaAI(c echo.Context) error { +// // Baca data masukan dari body request +// var requestBody struct { +// Pertanyaan string `json:"pertanyaan"` +// } + +// if err := c.Bind(&requestBody); err != nil { +// return c.JSON(http.StatusBadRequest, map[string]string{"error": err.Error()}) +// } + +// // Panggil fungsi AI untuk menjawab pertanyaan +// jawaban, err := h.aiService.TanyaAI(context.Background(), requestBody.Pertanyaan) +// if err != nil { +// return c.JSON(http.StatusInternalServerError, map[string]string{"error": err.Error()}) +// } + +// // Kirim jawaban ke client +// return c.JSON(http.StatusOK, map[string]string{"jawaban": jawaban}) +// } + // buyer create account // func (h *UserHandler) BuyerCreateAccount(ctx echo.Context) error { // var input struct { diff --git a/internal/repository/user_repository.go b/internal/repository/user_repository.go index ef4763d..e5c3a4a 100644 --- a/internal/repository/user_repository.go +++ b/internal/repository/user_repository.go @@ -155,6 +155,11 @@ func (r *UserRepository) UserLogout(ctx context.Context, user *entity.User) erro return nil } +// TanyaAI +// func (r *UserRepository) TanyaAI(ctx context.Context, user *entity.User) error { +// return nil +// } + //BuyerCreateAccount // func (r *UserRepository) BuyerCreateAccount(ctx context.Context, user *entity.User) error { // //menggunakan db untuk melakukan query ke database diff --git a/internal/service/user_service.go b/internal/service/user_service.go index 40a6da0..07b150a 100644 --- a/internal/service/user_service.go +++ b/internal/service/user_service.go @@ -119,6 +119,16 @@ func (s *UserService) UserLogout(ctx context.Context, user *entity.User) error { return s.repository.UserLogout(ctx, user) } +// TanyaAI +// func (s *UserService) TanyaAI(ctx context.Context, pertanyaan string) (string, error) { +// // Implementasi logika untuk bertanya ke AI di sini +// // Misalnya, menggunakan paket go-openai atau alat pemrosesan bahasa alami lainnya +// // ... + +// // Sebagai contoh, kita akan menggunakan jawaban statis +// return "Jawaban dari AI untuk pertanyaan: " + pertanyaan, nil +// } + //BuyerCreateAccount // func (s *UserService) BuyerCreateAccount(ctx context.Context, user *entity.User) error { // return s.repository.CreateUser(ctx, user) From f3a0b3b0c1a71fe1ca357bb00657c59762839f79 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Tue, 5 Dec 2023 05:14:29 +0700 Subject: [PATCH 76/85] update ai --- go.mod | 1 + go.sum | 2 + internal/http/handler/user_hendler.go | 43 +++ internal/http/router/routes.go | 6 + .../Backend Ticketing.postman_collection.json | 364 +++++++++++++++++- 5 files changed, 396 insertions(+), 20 deletions(-) diff --git a/go.mod b/go.mod index a10461b..bb5d7b0 100644 --- a/go.mod +++ b/go.mod @@ -30,6 +30,7 @@ require ( github.com/leodido/go-urn v1.2.4 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.19 // indirect + github.com/sashabaranov/go-openai v1.17.9 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect golang.org/x/net v0.19.0 // indirect diff --git a/go.sum b/go.sum index a12ad9e..d1137f9 100644 --- a/go.sum +++ b/go.sum @@ -49,6 +49,8 @@ github.com/midtrans/midtrans-go v1.3.7 h1:3vL9ydlVqp9VfRHDzOG17w1D6X9241jj6LQdPT github.com/midtrans/midtrans-go v1.3.7/go.mod h1:5hN2oiZDP3/SwSBxHPTg8eC/RVoRE9DXQOY1Ah9au10= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/sashabaranov/go-openai v1.17.9 h1:QEoBiGKWW68W79YIfXWEFZ7l5cEgZBV4/Ow3uy+5hNY= +github.com/sashabaranov/go-openai v1.17.9/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= diff --git a/internal/http/handler/user_hendler.go b/internal/http/handler/user_hendler.go index ac18f5a..a05e33f 100644 --- a/internal/http/handler/user_hendler.go +++ b/internal/http/handler/user_hendler.go @@ -316,6 +316,49 @@ func (h *UserHandler) UserLogout(ctx echo.Context) error { return ctx.JSON(http.StatusOK, map[string]string{"success": "successfully logged out"}) } +// func DiagnosticAI(userInput, openAIKey string) (string, error) { +// ctx := context.Background() +// client := openai.NewClient(openAIKey) +// model := openai.GPT3Dot5Turbo +// messages := []openai.ChatCompletionMessage{ +// { +// Role: openai.ChatMessageRoleSystem, +// Content: "Siswa menanyakan soal. Jawablah dengan materi tentang soal dan jangan berikan jawaban secara langsung", +// }, +// { +// Role: openai.ChatMessageRoleUser, +// Content: userInput, +// }, +// } + +// resp, err := getCompletionFromMessages(ctx, client, messages, model) +// if err != nil { +// return "", err +// } +// answer := resp.Choices[0].Message.Content +// return answer, nil +// } + +// func getCompletionFromMessages( +// ctx context.Context, +// client *openai.Client, +// messages []openai.ChatCompletionMessage, +// model string, +// ) (openai.ChatCompletionResponse, error) { +// if model == "" { +// model = openai.GPT3Dot5Turbo +// } + +// resp, err := client.CreateChatCompletion( +// ctx, +// openai.ChatCompletionRequest{ +// Model: model, +// Messages: messages, +// }, +// ) +// return resp, err +// } + // TanyaAI // func (h *UserHandler) TanyaAI(c echo.Context) error { // // Baca data masukan dari body request diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index cdbbcd1..1537e31 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -357,6 +357,12 @@ func PrivateRoutes( Handler: UserHandler.UserLogout, Role: allRoles, }, + // { + // Method: http.MethodPost, + // Path: "/diagnostic-ai", + // Handler: UserHandler.DiagnosticAI, + // Role: allRoles, + // }, } } diff --git a/output/Backend Ticketing.postman_collection.json b/output/Backend Ticketing.postman_collection.json index 5247d00..1e26ea2 100644 --- a/output/Backend Ticketing.postman_collection.json +++ b/output/Backend Ticketing.postman_collection.json @@ -2,6 +2,7 @@ "info": { "_postman_id": "475ee4c6-91f3-44de-bd51-5cdc49298a10", "name": "Backend Ticketing", + "description": "Documentation API untuk program aplikasi pembayaran tiket menggunakan bahasa Go", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "26142588", "_collection_link": "https://ticketing-mikti.postman.co/workspace/Ticketing-Workspace~1c7b0ec0-f35f-4273-b1d6-67507ad4c237/collection/26142588-475ee4c6-91f3-44de-bd51-5cdc49298a10?action=share&source=collection_link&creator=26142588" @@ -45,7 +46,8 @@ "path": [ "users" ] - } + }, + "description": "berikut merupakan endpoint untuk membuat data atau akun user." }, "response": [ { @@ -121,7 +123,8 @@ "path": [ "users" ] - } + }, + "description": "berikut merupakan endpoint untuk menampilkan seluruh data user" }, "response": [ { @@ -189,7 +192,8 @@ "users", "1" ] - } + }, + "description": "berikut merupakan endpoint untuk menampilkan data user berdasarkan ID yang ingin diinginkan." }, "response": [ { @@ -267,7 +271,8 @@ "users", "1" ] - } + }, + "description": "berikut merupakan endpoint untuk mengupdate atau memperbarui data user berdasarkan ID user." }, "response": [ { @@ -345,7 +350,8 @@ "users", "2" ] - } + }, + "description": "berikut merupakan endpoint untuk menghapus secara permanen data user berdasarkan ID, ketika data atau akun tersebut sudah tidak terpakai." }, "response": [ { @@ -393,8 +399,78 @@ "body": "{\n \"message\": \"User deleted successfully\"\n}" } ] + }, + { + "name": "Logout Copy", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Admin}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "url": { + "raw": "{{URL}}/user/logout", + "host": [ + "{{URL}}" + ], + "path": [ + "user", + "logout" + ] + } + }, + "response": [ + { + "name": "Logout", + "originalRequest": { + "method": "POST", + "header": [], + "url": { + "raw": "{{URL}}/user/logout", + "host": [ + "{{URL}}" + ], + "path": [ + "user", + "logout" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Mon, 04 Dec 2023 20:08:02 GMT" + }, + { + "key": "Content-Length", + "value": "38" + } + ], + "cookie": [], + "body": "{\n \"success\": \"successfully logged out\"\n}" + } + ] } - ] + ], + "description": "Folder ini berfungsi untuk membuat akun user, update data user, get all data user, get user by ID, dan delete user pada bagian atau sisi admin." }, { "name": "Ticket", @@ -431,7 +507,8 @@ "path": [ "ticket" ] - } + }, + "description": "berikut merupakan endpoint untuk membuat data atau daftar tiket yang akan dijual oleh seorang admin." }, "response": [ { @@ -507,7 +584,8 @@ "path": [ "ticketa" ] - } + }, + "description": "berikut merupakan endpoint untuk melihat secara keseluruhan daftar tiket yang ada pada program ini." }, "response": [ { @@ -575,7 +653,8 @@ "ticket", "1" ] - } + }, + "description": "berikut merupakan endpoint untuk melihat daftar tiket yang ada berdasarkan ID tiket." }, "response": [ { @@ -653,7 +732,8 @@ "ticket", "1" ] - } + }, + "description": "berikut merupakan endpoint untuk memperbarui data tiket yang ada berdasarkan ID tiket yang sudah terdaftar sebelumnya." }, "response": [ { @@ -731,7 +811,8 @@ "ticket", "1" ] - } + }, + "description": "berikut merupakan endpoint untuk menghapus data tiket yang ada pada daftar tiket, ketika data tiket tersebut sudah tidak digunakan kembali." }, "response": [ { @@ -776,7 +857,8 @@ } ] } - ] + ], + "description": "Folder ini berfungsi ketika seorang admin ingin membuat daftar tiket baru, melihat seluruh daftar tiket, melihat daftar tiket berdasrkan ID tiket yang diinginkan, memperbarui data tiket, dan menghapus data tiket yang sudah tidak digunakan." }, { "name": "Blog", @@ -813,7 +895,8 @@ "path": [ "blog" ] - } + }, + "description": "berikut merupakan endpoint untuk membuat blog baru mengenai event atau tiket yang sedang ada pada program tersebut." }, "response": [ { @@ -889,7 +972,8 @@ "path": [ "blog" ] - } + }, + "description": "berikut merupakan endpoint untuk menampilkan seluruh daftar blog yang sudah dibuat sebelumnya oleh admin." }, "response": [ { @@ -966,7 +1050,8 @@ "blog", "1" ] - } + }, + "description": "berikut merupakan endpoint untuk memperbarui data atau daftar blog yang sudah terdaftar berdasarkan ID blog." }, "response": [ { @@ -1044,7 +1129,8 @@ "blog", "2" ] - } + }, + "description": "berikut merupakan endpoint untuk menghapus salah satu daftar blog yang sudah terdaftar." }, "response": [ { @@ -1114,7 +1200,8 @@ "search", "Kerusuhan" ] - } + }, + "description": "berikut merupakan endpoint untuk melakukan pencarian blog berdasarkan keyword." }, "response": [ { @@ -1160,7 +1247,8 @@ } ] } - ] + ], + "description": "Folder ini berfungsi ketika admin ingin membuat data blog, mengupdate atau memperbarui data blog, menghapus data blog, dan melakukan pencarian blog, serta menampilkan data blog secara keseluruhan yang sudah berhasil dibuat atau terdaftar." }, { "name": "Order", @@ -1182,7 +1270,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"ticket_id\": 1,\r\n \"quantity\": 2,\r\n \"user_id\": 5,\r\n \"status\": \"seleseai\"\r\n}", + "raw": "{\r\n \"ticket_id\": 3,\r\n \"quantity\": 2,\r\n \"user_id\": 10,\r\n \"status\": \"seleseai\"\r\n}", "options": { "raw": { "language": "json" @@ -1635,7 +1723,8 @@ } ] } - ] + ], + "description": "Folder ini menyimpan API untuk fitur yang dapat diakses oleh admin. serta untuk mengakses atau menggunakan endpoint pada folder ini diharuskan memiliki token sesuai dengan role." }, { "name": "User", @@ -1954,6 +2043,75 @@ "body": "{\n \"id\": 9,\n \"name\": \"\",\n \"email\": \"Buyer1@gmail.com\",\n \"number\": \"00000000000\",\n \"roles\": \"Buyer\",\n \"saldo\": 0,\n \"created_at\": \"2023-12-03T01:29:58.477828+07:00\",\n \"updated_at\": \"2023-12-03T01:29:58.477828+07:00\"\n}" } ] + }, + { + "name": "Logout", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Buyer}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "url": { + "raw": "{{URL}}/user/logout", + "host": [ + "{{URL}}" + ], + "path": [ + "user", + "logout" + ] + } + }, + "response": [ + { + "name": "Logout", + "originalRequest": { + "method": "POST", + "header": [], + "url": { + "raw": "{{URL}}/user/logout", + "host": [ + "{{URL}}" + ], + "path": [ + "user", + "logout" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Mon, 04 Dec 2023 20:08:02 GMT" + }, + { + "key": "Content-Length", + "value": "38" + } + ], + "cookie": [], + "body": "{\n \"success\": \"successfully logged out\"\n}" + } + ] } ] }, @@ -3244,6 +3402,16 @@ { "name": "Topup Saldo", "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Buyer}}", + "type": "string" + } + ] + }, "method": "POST", "header": [], "body": { @@ -3303,6 +3471,162 @@ } }, "response": [] + }, + { + "name": "Topup Saldo", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Buyer}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"saldo\" : 1000\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/user/upgrade", + "host": [ + "{{URL}}" + ], + "path": [ + "user", + "upgrade" + ] + } + }, + "response": [ + { + "name": "topup sederhana", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"saldo\" : 1000\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/user/upgrade", + "host": [ + "{{URL}}" + ], + "path": [ + "user", + "upgrade" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Mon, 04 Dec 2023 19:50:33 GMT" + }, + { + "key": "Content-Length", + "value": "46" + } + ], + "cookie": [], + "body": "{\n \"success\": \"successfully updated user saldo\"\n}" + } + ] + }, + { + "name": "Cek Saldo", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Buyer}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/users/balance", + "host": [ + "{{URL}}" + ], + "path": [ + "users", + "balance" + ] + } + }, + "response": [ + { + "name": "Get Saldo", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/users/balance", + "host": [ + "{{URL}}" + ], + "path": [ + "users", + "balance" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Sat, 02 Dec 2023 21:49:43 GMT" + }, + { + "key": "Content-Length", + "value": "7" + } + ], + "cookie": [], + "body": "100000" + } + ] } ] } From b33a15955e96175f7044c8a5f85b7e38e46dbea8 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Tue, 5 Dec 2023 05:18:47 +0700 Subject: [PATCH 77/85] update db --- output/backupdb/blogs.sql | 2 ++ output/backupdb/notifications.sql | 1 + output/backupdb/orders.sql | 4 ++++ output/backupdb/schema_migrations.sql | 1 + output/backupdb/tickets.sql | 2 ++ output/backupdb/topup.sql | 0 output/backupdb/users.sql | 2 ++ 7 files changed, 12 insertions(+) create mode 100644 output/backupdb/blogs.sql create mode 100644 output/backupdb/notifications.sql create mode 100644 output/backupdb/orders.sql create mode 100644 output/backupdb/schema_migrations.sql create mode 100644 output/backupdb/tickets.sql create mode 100644 output/backupdb/topup.sql create mode 100644 output/backupdb/users.sql diff --git a/output/backupdb/blogs.sql b/output/backupdb/blogs.sql new file mode 100644 index 0000000..51bda87 --- /dev/null +++ b/output/backupdb/blogs.sql @@ -0,0 +1,2 @@ +INSERT INTO "blogs" ("id", "image", "date", "title", "description", "created_at", "updated_at", "deleted_at") VALUES (3, 'https/image', '2023-12-02', 'Kerusuhan DI Konser jakarta', 'beberapa orang menjadi tersangka', '2023-12-02 06:06:46.56004', '2023-12-02 06:06:46.56004', '0001-01-01 00:00:00'); +INSERT INTO "blogs" ("id", "image", "date", "title", "description", "created_at", "updated_at", "deleted_at") VALUES (1, 'https/image', '2023-12-31', 'Konser Tersukses', 'dikatakan oleh produser menjadi konser tersukses sepanjang masa', '2023-12-02 04:13:07.807064', '2023-12-02 06:07:55.103818', '0001-01-01 00:00:00'); diff --git a/output/backupdb/notifications.sql b/output/backupdb/notifications.sql new file mode 100644 index 0000000..8ee7c5e --- /dev/null +++ b/output/backupdb/notifications.sql @@ -0,0 +1 @@ +INSERT INTO "notifications" ("id", "type", "message", "is_read", "created_at", "updated_at", "deleted_at") VALUES (1, 'Diskon Ticket', 'ada diskon loh cek berikut', 't', '2023-12-02 06:17:03.644111', '2023-12-04 02:57:58.692812', '0001-01-01 00:00:00'); diff --git a/output/backupdb/orders.sql b/output/backupdb/orders.sql new file mode 100644 index 0000000..39e99a7 --- /dev/null +++ b/output/backupdb/orders.sql @@ -0,0 +1,4 @@ +INSERT INTO "orders" ("id", "ticket_id", "user_id", "quantity", "total", "status", "order_at", "updated_at", "deleted_at", "order_by", "update_by", "delete_by") VALUES (4, 1, 10, 2, 100, 'seleseai', '2023-12-04 02:13:26.064555', '2023-12-04 02:13:26.071624', NULL, '', '', ''); +INSERT INTO "orders" ("id", "ticket_id", "user_id", "quantity", "total", "status", "order_at", "updated_at", "deleted_at", "order_by", "update_by", "delete_by") VALUES (5, 1, 10, 2, 100, 'seleseai', '2023-12-04 02:16:57.451074', '2023-12-04 02:16:57.453216', NULL, '', '', ''); +INSERT INTO "orders" ("id", "ticket_id", "user_id", "quantity", "total", "status", "order_at", "updated_at", "deleted_at", "order_by", "update_by", "delete_by") VALUES (6, 1, 10, 2, 100, 'seleseai', '2023-12-04 02:48:47.038808', '2023-12-04 02:48:47.041164', NULL, '', '', ''); +INSERT INTO "orders" ("id", "ticket_id", "user_id", "quantity", "total", "status", "order_at", "updated_at", "deleted_at", "order_by", "update_by", "delete_by") VALUES (7, 3, 10, 2, 100, 'seleseai', '2023-12-05 02:37:03.546694', '2023-12-05 02:37:03.553886', NULL, '', '', ''); diff --git a/output/backupdb/schema_migrations.sql b/output/backupdb/schema_migrations.sql new file mode 100644 index 0000000..244f121 --- /dev/null +++ b/output/backupdb/schema_migrations.sql @@ -0,0 +1 @@ +INSERT INTO "schema_migrations" ("version", "dirty") VALUES (20231127160034, 'f'); diff --git a/output/backupdb/tickets.sql b/output/backupdb/tickets.sql new file mode 100644 index 0000000..e99ea94 --- /dev/null +++ b/output/backupdb/tickets.sql @@ -0,0 +1,2 @@ +INSERT INTO "tickets" ("id", "image", "location", "date", "title", "description", "price", "status", "quota", "category", "terjual", "created_at", "updated_at", "deleted_at") VALUES (1, 'https/image', 'bekasi', '2023-12-31', 'Dragon', 'konser lagu edm terbaik', 50, 'available', 192, 'music', 5, '2023-12-01 22:20:09.060639', '2023-12-04 02:48:47.046753', '0001-01-01 00:00:00'); +INSERT INTO "tickets" ("id", "image", "location", "date", "title", "description", "price", "status", "quota", "category", "terjual", "created_at", "updated_at", "deleted_at") VALUES (3, 'https/image', 'GBK', '2023-12-31', 'coldplay', 'penyanyi luar negri', 50, 'available', 98, 'music', 5, '2023-12-02 05:58:11.779525', '2023-12-05 02:37:03.566609', '0001-01-01 00:00:00'); diff --git a/output/backupdb/topup.sql b/output/backupdb/topup.sql new file mode 100644 index 0000000..e69de29 diff --git a/output/backupdb/users.sql b/output/backupdb/users.sql new file mode 100644 index 0000000..d42c66a --- /dev/null +++ b/output/backupdb/users.sql @@ -0,0 +1,2 @@ +INSERT INTO "users" ("id", "name", "email", "number", "roles", "password", "saldo", "created_at", "updated_at", "deleted_at") VALUES (12, '', 'Admin@gmail.com', '00000000000', 'Admin', '$2a$10$ExuW4yqrh6aqVXwicsqtT.S/rhyXw8oGVn6yPOUA5N8.SlOAevyv.', 0, '2023-12-04 19:35:14.953697+00', '2023-12-04 19:35:14.953697+00', NULL); +INSERT INTO "users" ("id", "name", "email", "number", "roles", "password", "saldo", "created_at", "updated_at", "deleted_at") VALUES (10, '', 'Buyer1@gmail.com', '12345678901', 'Buyer', '$2a$10$ZmeCfVg8g4pGofxJu0H0U.lcpnnCpYy/CP401phabScNkW90L6E4S', 1002200, '2023-12-02 22:30:06.783922+00', '2023-12-04 20:08:40.249843+00', NULL); From 914ff462bd7dc982e3dc0c4d840ae67e99731fe3 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Tue, 5 Dec 2023 23:31:23 +0700 Subject: [PATCH 78/85] update payment Mindtrans --- .env | 4 +- cmd/server/main.go | 21 +++- ...05131102_create_table_transaction.down.sql | 5 + ...1205131102_create_table_transaction.up.sql | 18 +++ entity/midtrans.go | 23 ++++ entity/payment.go | 19 ++++ entity/transaction.go | 18 +++ entity/user.go | 8 ++ go.mod | 2 +- go.sum | 4 +- internal/builder/builder.go | 27 ++++- internal/config/config.go | 33 +++--- internal/http/handler/transaction.handler.go | 104 ++++++++++++++++++ internal/http/router/routes.go | 15 ++- internal/repository/transaction.repository.go | 47 ++++++++ internal/repository/user_repository.go | 20 ++++ internal/service/payment.service.go | 43 ++++++++ internal/service/transaction.service.go | 45 ++++++++ internal/service/user_service.go | 14 +++ 19 files changed, 442 insertions(+), 28 deletions(-) create mode 100644 db/migration-golang/20231205131102_create_table_transaction.down.sql create mode 100644 db/migration-golang/20231205131102_create_table_transaction.up.sql create mode 100644 entity/midtrans.go create mode 100644 entity/payment.go create mode 100644 entity/transaction.go create mode 100644 internal/http/handler/transaction.handler.go create mode 100644 internal/repository/transaction.repository.go create mode 100644 internal/service/payment.service.go create mode 100644 internal/service/transaction.service.go diff --git a/.env b/.env index 37b1257..d3173a2 100644 --- a/.env +++ b/.env @@ -1,10 +1,12 @@ PORT=8080 +ENV="development" POSTGRES_HOST=localhost POSTGRES_PORT=5432 POSTGRES_USER=postgres POSTGRES_PASSWORD=mysecretpassword POSTGRES_DATABASE=Tiketing JWT_SECRET_KEY=secret - +MIDTRANS_CLIENT_KEY="SB-Mid-client-ZCcoPJr6rlvFrQ3N" +MIDTRANS_SERVER_KEY="SB-Mid-server-RGIeiP4-kdQSADSfhbpG42B-" diff --git a/cmd/server/main.go b/cmd/server/main.go index f7cf002..75c0115 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -15,6 +15,8 @@ import ( "time" "github.com/labstack/echo/v4" + "github.com/midtrans/midtrans-go" + "github.com/midtrans/midtrans-go/snap" "gorm.io/driver/postgres" "gorm.io/gorm" "gorm.io/gorm/logger" @@ -30,8 +32,10 @@ func main() { db, err := buildGormDB(cfg.Postgres) checkError(err) - publicRoutes := builder.BuildPublicRoutes(cfg, db) - privateRoutes := builder.BuildPrivateRoutes(cfg, db) + midtransClient := initMidtrans(cfg) + + publicRoutes := builder.BuildPublicRoutes(cfg, db, midtransClient) + privateRoutes := builder.BuildPrivateRoutes(cfg, db, midtransClient) echoBinder := &echo.DefaultBinder{} formValidator := validator.NewFormValidator() @@ -49,6 +53,18 @@ func main() { waitForShutdown(srv) } +func initMidtrans(cfg *config.Config) snap.Client { + snapClient := snap.Client{} + + if cfg.Env == "development" { + snapClient.New(cfg.MidtransConfig.ServerKey, midtrans.Sandbox) + } else { + snapClient.New(cfg.MidtransConfig.ServerKey, midtrans.Production) + } + + return snapClient +} + func runServer(srv *server.Server, port string) { go func() { err := srv.Start(fmt.Sprintf(":%s", port)) @@ -104,4 +120,3 @@ func checkError(err error) { panic(err) } } - diff --git a/db/migration-golang/20231205131102_create_table_transaction.down.sql b/db/migration-golang/20231205131102_create_table_transaction.down.sql new file mode 100644 index 0000000..18ab5f2 --- /dev/null +++ b/db/migration-golang/20231205131102_create_table_transaction.down.sql @@ -0,0 +1,5 @@ +BEGIN; + +DROP TABLE IF EXISTS "public"."transactions"; + +COMMIT; \ No newline at end of file diff --git a/db/migration-golang/20231205131102_create_table_transaction.up.sql b/db/migration-golang/20231205131102_create_table_transaction.up.sql new file mode 100644 index 0000000..e2cf32f --- /dev/null +++ b/db/migration-golang/20231205131102_create_table_transaction.up.sql @@ -0,0 +1,18 @@ +BEGIN; + +CREATE TABLE IF NOT EXISTS "public"."transactions" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "order_id" varchar(255) NOT NULL, + "user_id" INT NOT NULL, + "amount" INT NULL, + "status" varchar(255) NOT NULL + -- "id" varchar(255) NOT NULL PRIMARY KEY, + -- "user_id" INT, + -- "amount" INT, + -- "status" INT, + -- "snap_url" varchar(255), + -- "created_at" TIMESTAMP, + -- "updated_at" TIMESTAMP +); + +COMMIT; \ No newline at end of file diff --git a/entity/midtrans.go b/entity/midtrans.go new file mode 100644 index 0000000..8797dba --- /dev/null +++ b/entity/midtrans.go @@ -0,0 +1,23 @@ +package entity + +type MidtransRequest struct { + VaNumbers []struct { + VaNumber string `json:"va_number"` + Bank string `json:"bank"` + } `json:"va_numbers"` + TransactionTime string `json:"transaction_time"` + TransactionStatus string `json:"transaction_status"` + TransactionID string `json:"transaction_id"` + StatusMessage string `json:"status_message"` + StatusCode string `json:"status_code"` + SignatureKey string `json:"signature_key"` + SettlementTime string `json:"settlement_time"` + PaymentType string `json:"payment_type"` + PaymentAmounts []interface{} `json:"payment_amounts"` + OrderID string `json:"order_id"` + MerchantID string `json:"merchant_id"` + GrossAmount string `json:"gross_amount"` + FraudStatus string `json:"fraud_status"` + ExpiryTime string `json:"expiry_time"` + Currency string `json:"currency"` +} diff --git a/entity/payment.go b/entity/payment.go new file mode 100644 index 0000000..012a6be --- /dev/null +++ b/entity/payment.go @@ -0,0 +1,19 @@ +package entity + +type PaymentRequest struct { + OrderID string + Amount int64 + FirstName string + LastName string + Email string +} + +func NewPaymentRequest(orderID string, amount int64, firstName, lastName, email string) *PaymentRequest { + return &PaymentRequest{ + OrderID: orderID, + Amount: amount, + FirstName: firstName, + LastName: lastName, + Email: email, + } +} diff --git a/entity/transaction.go b/entity/transaction.go new file mode 100644 index 0000000..a264125 --- /dev/null +++ b/entity/transaction.go @@ -0,0 +1,18 @@ +package entity + +type Transaction struct { + ID int64 + OrderID string + UserID int64 + Amount int64 + Status string +} + +func NewTransaction(orderID string, userID int64, amount int64, status string) *Transaction { + return &Transaction{ + OrderID: orderID, + UserID: userID, + Amount: amount, + Status: status, + } +} diff --git a/entity/user.go b/entity/user.go index 049f394..f70fc99 100644 --- a/entity/user.go +++ b/entity/user.go @@ -87,3 +87,11 @@ func UserLogout(id int64) *User { ID: id, } } + +// updatesaldo +func UpdateSaldo(id int64, saldo int64) *User { + return &User{ + ID: id, + Saldo: saldo, + } +} diff --git a/go.mod b/go.mod index bb5d7b0..ac66a72 100644 --- a/go.mod +++ b/go.mod @@ -11,6 +11,7 @@ require ( github.com/labstack/echo-jwt/v4 v4.2.0 github.com/labstack/echo/v4 v4.11.3 github.com/midtrans/midtrans-go v1.3.7 + github.com/zhikariz/weather-app v0.0.0-20231205134708-aadb44694e44 golang.org/x/crypto v0.16.0 gorm.io/driver/postgres v1.5.4 gorm.io/gorm v1.25.5 @@ -30,7 +31,6 @@ require ( github.com/leodido/go-urn v1.2.4 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.19 // indirect - github.com/sashabaranov/go-openai v1.17.9 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect golang.org/x/net v0.19.0 // indirect diff --git a/go.sum b/go.sum index d1137f9..e64217e 100644 --- a/go.sum +++ b/go.sum @@ -49,8 +49,6 @@ github.com/midtrans/midtrans-go v1.3.7 h1:3vL9ydlVqp9VfRHDzOG17w1D6X9241jj6LQdPT github.com/midtrans/midtrans-go v1.3.7/go.mod h1:5hN2oiZDP3/SwSBxHPTg8eC/RVoRE9DXQOY1Ah9au10= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/sashabaranov/go-openai v1.17.9 h1:QEoBiGKWW68W79YIfXWEFZ7l5cEgZBV4/Ow3uy+5hNY= -github.com/sashabaranov/go-openai v1.17.9/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -65,6 +63,8 @@ github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyC github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/zhikariz/weather-app v0.0.0-20231205134708-aadb44694e44 h1:CJuyXVSmaBFrmRObMJ3umd47aLM3DhMBGv78/A0kZEs= +github.com/zhikariz/weather-app v0.0.0-20231205134708-aadb44694e44/go.mod h1:+dVsK3JyKP6D25PJHuD09eg3NA5/pSAYmiCrU0nOH1g= golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY= golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= diff --git a/internal/builder/builder.go b/internal/builder/builder.go index 999ea02..0d9eb55 100644 --- a/internal/builder/builder.go +++ b/internal/builder/builder.go @@ -7,16 +7,25 @@ import ( "Ticketing/internal/repository" "Ticketing/internal/service" + "github.com/midtrans/midtrans-go/snap" "gorm.io/gorm" ) -func BuildPublicRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { +func BuildPublicRoutes(cfg *config.Config, db *gorm.DB, midtransClient snap.Client) []*router.Route { registrationRepository := repository.NewRegistrationRepository(db) registrationService := service.NewRegistrationService(registrationRepository) + transactionRepository := repository.NewTransactionRepository(db) userRepository := repository.NewUserRepository(db) loginService := service.NewLoginService(userRepository) tokenService := service.NewTokenService(cfg) + transactionService := service.NewTransactionService(transactionRepository) + paymentService := service.NewPaymentService(midtransClient) + + // Create and initialize userService + userService := service.NewUserService(userRepository) + + transactionHandler := handler.NewTransactionHandler(transactionService, paymentService, userService) BlogRepository := repository.NewBlogRepository(db) BlogService := service.NewBlogService(BlogRepository) @@ -29,16 +38,22 @@ func BuildPublicRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { authHandler := handler.NewAuthHandler(registrationService, loginService, tokenService) // Update the line below with the additional TicketHandler argument - return router.PublicRoutes(authHandler, ticketHandler, BlogHandler) // Update this line + return router.PublicRoutes(authHandler, ticketHandler, BlogHandler, transactionHandler) } - -func BuildPrivateRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { +func BuildPrivateRoutes(cfg *config.Config, db *gorm.DB, midtransClient snap.Client) []*router.Route { // Create a user handler userRepository := repository.NewUserRepository(db) userService := service.NewUserService(userRepository) userHandler := handler.NewUserHandler(userService) + transactionRepository := repository.NewTransactionRepository(db) + paymentService := service.NewPaymentService(midtransClient) + transactionService := service.NewTransactionService(transactionRepository) + + // Create and initialize transactionHandler with userService + transactionHandler := handler.NewTransactionHandler(transactionService, paymentService, userService) + // Create a ticket handler ticketRepository := repository.NewTicketRepository(db) ticketService := service.NewTicketService(ticketRepository) @@ -60,8 +75,10 @@ func BuildPrivateRoutes(cfg *config.Config, db *gorm.DB) []*router.Route { TopupRepository := repository.NewTopupRepository(db) TopupService := service.NewTopupService(TopupRepository) + + // Create and initialize TopupHandler with TopupService TopupHandler := handler.NewTopupHandler(TopupService) // Menggunakan PrivateRoutes dengan kedua handler - return router.PrivateRoutes(userHandler, ticketHandler, BlogHandler, OrderHandler, NotificationHandler, TopupHandler) + return router.PrivateRoutes(userHandler, ticketHandler, BlogHandler, OrderHandler, NotificationHandler, transactionHandler, TopupHandler) } diff --git a/internal/config/config.go b/internal/config/config.go index adc63db..3a9fa10 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -1,4 +1,5 @@ package config + //NOTE : // direktory ini berfungsi untuk konfigurasi database, port, dan lain-lain import ( @@ -10,9 +11,17 @@ import ( // Config adalah konfigurasi untuk aplikasi type Config struct { - Port string `env:"PORT" envDefault:"8080"` - Postgres PostgresConfig `envPrefix:"POSTGRES_"` - JWT JwtConfig `envPrefix:"JWT_"` + Env string `env:"ENV" envDefault:"development"` + Port string `env:"PORT" envDefault:"8080"` + Postgres PostgresConfig `envPrefix:"POSTGRES_"` + JWT JwtConfig `envPrefix:"JWT_"` + MidtransConfig MidtransConfig `envPrefix:"MIDTRANS_"` +} + +type MidtransConfig struct { + BaseURL string `env:"BASE_URL"` + ClientKey string `env:"CLIENT_KEY"` + ServerKey string `env:"SERVER_KEY"` } // JwtConfig adalah konfigurasi untuk JWT @@ -53,15 +62,9 @@ func parseConfig(envPath string) (*Config, error) { return cfg, nil } -var MidtransConfig struct { - ClientKey string - ServerKey string - IsProduction bool -} - -func init() { - // Isi konfigurasi Midtrans Anda di sini - MidtransConfig.ClientKey = "SB-Mid-client-ZCcoPJr6rlvFrQ3N" - MidtransConfig.ServerKey = "SB-Mid-server-RGIeiP4-kdQSADSfhbpG42B-" - MidtransConfig.IsProduction = false // Ganti menjadi true jika sudah di production -} +// func init() { +// // Isi konfigurasi Midtrans Anda di sini +// MidtransConfig.ClientKey = "" +// MidtransConfig.ServerKey = "" +// MidtransConfig.IsProduction = false // Ganti menjadi true jika sudah di production +// } diff --git a/internal/http/handler/transaction.handler.go b/internal/http/handler/transaction.handler.go new file mode 100644 index 0000000..a646c84 --- /dev/null +++ b/internal/http/handler/transaction.handler.go @@ -0,0 +1,104 @@ +package handler + +import ( + "net/http" + + "Ticketing/entity" + + "Ticketing/common" + "Ticketing/internal/http/validator" + "Ticketing/internal/service" + + "github.com/golang-jwt/jwt/v5" + "github.com/labstack/echo/v4" +) + +type TransactionHandler struct { + transactionService service.TransactionUseCase + paymentService service.PaymentUseCase + userService service.UserUsecase +} + +func NewTransactionHandler(transactionService service.TransactionUseCase, paymentService service.PaymentUseCase, userService service.UserUsecase) *TransactionHandler { + return &TransactionHandler{ + transactionService: transactionService, + paymentService: paymentService, + userService: userService, + } +} + +func (h *TransactionHandler) CreateOrder(ctx echo.Context) error { + var input struct { + OrderID string `json:"order_id" validate:"required"` + Amount int64 `json:"amount" validate:"required"` + } + + if err := ctx.Bind(&input); err != nil { + return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + dataUser, _ := ctx.Get("user").(*jwt.Token) + claims := dataUser.Claims.(*common.JwtCustomClaims) + + transaction := entity.NewTransaction(input.OrderID, claims.ID, input.Amount, "unpaid") + + err := h.transactionService.Create(ctx.Request().Context(), transaction) + + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) + } + + paymentRequest := entity.NewPaymentRequest(transaction.OrderID, transaction.Amount, claims.Name, "", claims.Email) + + payment, err := h.paymentService.CreateTransaction(ctx.Request().Context(), paymentRequest) + + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) + } + + return ctx.JSON(http.StatusCreated, map[string]string{"url_pembayaran": payment}) +} + +func (h *TransactionHandler) WebHookTransaction(ctx echo.Context) error { + var input entity.MidtransRequest + + if err := ctx.Bind(&input); err != nil { + return ctx.JSON(http.StatusBadRequest, validator.ValidatorErrors(err)) + } + + // Cari transaksi berdasarkan order ID untuk mendapatkan ID pengguna (user ID) + transaction, err := h.transactionService.FindByOrderID(ctx.Request().Context(), input.OrderID) + + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) + } + + // Tentukan status default + status := "unpaid" + + // Jika status transaksi adalah "settlement", ubah status menjadi "paid" + if input.TransactionStatus == "settlement" { + status = "paid" + + // Update status transaksi di database + err = h.transactionService.UpdateStatus(ctx.Request().Context(), transaction.OrderID, status) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) + } + + // Tambahkan saldo ke user jika status transaksi adalah "paid" + user, err := h.userService.FindByID(ctx.Request().Context(), transaction.UserID) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) + } + + // Tambahkan saldo ke user + updatedSaldo := user.Saldo + transaction.Amount + err = h.userService.UpdateSaldo(ctx.Request().Context(), user.ID, updatedSaldo) + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) + } + } + + return ctx.JSON(http.StatusOK, map[string]string{"message": "success"}) +} diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 1537e31..1702cec 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -30,7 +30,8 @@ type Route struct { func PublicRoutes( authHandler *handler.AuthHandler, TicketHandler *handler.TicketHandler, - BlogHandler *handler.BlogHandler) []*Route { + BlogHandler *handler.BlogHandler, + transactionHandler *handler.TransactionHandler) []*Route { return []*Route{ { Method: echo.POST, @@ -136,6 +137,11 @@ func PublicRoutes( Path: "/ticket/search/:search", Handler: TicketHandler.SearchTicket, }, + { + Method: echo.POST, + Path: "/transactions/webhook", + Handler: transactionHandler.WebHookTransaction, + }, // { // Method: echo.POST, // Path: "/users/register/buyer", @@ -152,6 +158,7 @@ func PrivateRoutes( BlogHandler *handler.BlogHandler, OrderHandler *handler.OrderHandler, NotificationHandler *handler.NotificationHandler, + transactionHandler *handler.TransactionHandler, TopupHandler *handler.TopupHandler) []*Route { return []*Route{ { @@ -357,6 +364,12 @@ func PrivateRoutes( Handler: UserHandler.UserLogout, Role: allRoles, }, + { + Method: echo.POST, + Path: "/transactions", + Handler: transactionHandler.CreateOrder, + Role: allRoles, + }, // { // Method: http.MethodPost, // Path: "/diagnostic-ai", diff --git a/internal/repository/transaction.repository.go b/internal/repository/transaction.repository.go new file mode 100644 index 0000000..a58e68b --- /dev/null +++ b/internal/repository/transaction.repository.go @@ -0,0 +1,47 @@ +package repository + +import ( + "context" + + "Ticketing/entity" + + "gorm.io/gorm" +) + +type TransactionRepository struct { + db *gorm.DB +} + +func NewTransactionRepository(db *gorm.DB) *TransactionRepository { + return &TransactionRepository{db: db} +} + +func (r *TransactionRepository) Create(ctx context.Context, transaction *entity.Transaction) error { + if err := r.db.WithContext(ctx).Create(&transaction).Error; err != nil { + return err + } + return nil +} + +func (r *TransactionRepository) FindByOrderID(ctx context.Context, orderID string) (*entity.Transaction, error) { + transaction := new(entity.Transaction) + if err := r.db.WithContext(ctx).Where("order_id = ?", orderID).First(&transaction).Error; err != nil { + return nil, err + } + return transaction, nil +} + +func (r *TransactionRepository) FindByUserID(ctx context.Context, userID int64) ([]*entity.Transaction, error) { + transactions := make([]*entity.Transaction, 0) + if err := r.db.WithContext(ctx).Where("user_id = ?", userID).Find(&transactions).Error; err != nil { + return nil, err + } + return transactions, nil +} + +func (r *TransactionRepository) UpdateStatus(ctx context.Context, orderID string, status string) error { + if err := r.db.WithContext(ctx).Model(&entity.Transaction{}).Where("order_id = ?", orderID).Update("status", status).Error; err != nil { + return err + } + return nil +} diff --git a/internal/repository/user_repository.go b/internal/repository/user_repository.go index e5c3a4a..40ec63d 100644 --- a/internal/repository/user_repository.go +++ b/internal/repository/user_repository.go @@ -155,6 +155,26 @@ func (r *UserRepository) UserLogout(ctx context.Context, user *entity.User) erro return nil } +// UpdateSaldo +// UpdateSaldo updates the saldo of a user by ID +func (r *UserRepository) UpdateSaldo(ctx context.Context, userID int64, updatedSaldo int64) error { + user := &entity.User{ID: userID, Saldo: updatedSaldo} + + if err := r.db.WithContext(ctx).Model(&entity.User{}).Where("id = ?", userID).Updates(&user).Error; err != nil { + return err + } + return nil +} + +// FindByID +func (r *UserRepository) FindByID(ctx context.Context, id int64) (*entity.User, error) { + user := new(entity.User) + if err := r.db.WithContext(ctx).Where("id = ?", id).First(&user).Error; err != nil { + return nil, err + } + return user, nil +} + // TanyaAI // func (r *UserRepository) TanyaAI(ctx context.Context, user *entity.User) error { // return nil diff --git a/internal/service/payment.service.go b/internal/service/payment.service.go new file mode 100644 index 0000000..d90ee3b --- /dev/null +++ b/internal/service/payment.service.go @@ -0,0 +1,43 @@ +package service + +import ( + "context" + + "Ticketing/entity" + + "github.com/midtrans/midtrans-go" + "github.com/midtrans/midtrans-go/snap" +) + +type PaymentUseCase interface { + CreateTransaction(ctx context.Context, paymentRequest *entity.PaymentRequest) (string, error) +} + +type PaymentService struct { + client snap.Client +} + +func NewPaymentService(client snap.Client) *PaymentService { + return &PaymentService{client: client} +} + +func (s *PaymentService) CreateTransaction(ctx context.Context, paymentRequest *entity.PaymentRequest) (string, error) { + request := &snap.Request{ + TransactionDetails: midtrans.TransactionDetails{ + OrderID: paymentRequest.OrderID, + GrossAmt: paymentRequest.Amount, + }, + CustomerDetail: &midtrans.CustomerDetails{ + FName: paymentRequest.FirstName, + LName: paymentRequest.LastName, + Email: paymentRequest.Email, + }, + } + + snapResponse, err := s.client.CreateTransaction(request) + if err != nil { + return "", err + } + + return snapResponse.RedirectURL, nil +} diff --git a/internal/service/transaction.service.go b/internal/service/transaction.service.go new file mode 100644 index 0000000..af68cfd --- /dev/null +++ b/internal/service/transaction.service.go @@ -0,0 +1,45 @@ +package service + +import ( + "context" + + "Ticketing/entity" +) + +type TransactionUseCase interface { + Create(ctx context.Context, transaction *entity.Transaction) error + FindByOrderID(ctx context.Context, orderID string) (*entity.Transaction, error) + FindByUserID(ctx context.Context, userID int64) ([]*entity.Transaction, error) + UpdateStatus(ctx context.Context, orderID string, status string) error +} + +type TransactionRepository interface { + Create(ctx context.Context, transaction *entity.Transaction) error + FindByOrderID(ctx context.Context, orderID string) (*entity.Transaction, error) + FindByUserID(ctx context.Context, userID int64) ([]*entity.Transaction, error) + UpdateStatus(ctx context.Context, orderID string, status string) error +} + +type TransactionService struct { + repo TransactionRepository +} + +func NewTransactionService(repo TransactionRepository) *TransactionService { + return &TransactionService{repo: repo} +} + +func (s *TransactionService) Create(ctx context.Context, transaction *entity.Transaction) error { + return s.repo.Create(ctx, transaction) +} + +func (s *TransactionService) FindByOrderID(ctx context.Context, orderID string) (*entity.Transaction, error) { + return s.repo.FindByOrderID(ctx, orderID) +} + +func (s *TransactionService) FindByUserID(ctx context.Context, userID int64) ([]*entity.Transaction, error) { + return s.repo.FindByUserID(ctx, userID) +} + +func (s *TransactionService) UpdateStatus(ctx context.Context, orderID string, status string) error { + return s.repo.UpdateStatus(ctx, orderID, status) +} diff --git a/internal/service/user_service.go b/internal/service/user_service.go index 07b150a..0bd0145 100644 --- a/internal/service/user_service.go +++ b/internal/service/user_service.go @@ -23,6 +23,8 @@ type UserUsecase interface { DeleteAccount(ctx context.Context, email string) error UpgradeSaldo(ctx context.Context, user *entity.User) error UserLogout(ctx context.Context, user *entity.User) error + UpdateSaldo(ctx context.Context, userID int64, updatedSaldo int64) error + FindByID(ctx context.Context, id int64) (*entity.User, error) // BuyerCreateAccount(ctx context.Context, user *entity.User) error } @@ -42,6 +44,8 @@ type UserRepository interface { DeleteAccount(ctx context.Context, email string) error UpgradeSaldo(ctx context.Context, user *entity.User) error UserLogout(ctx context.Context, user *entity.User) error + UpdateSaldo(ctx context.Context, userID int64, updatedSaldo int64) error + FindByID(ctx context.Context, id int64) (*entity.User, error) // BuyerCreateAccount(ctx context.Context, user *entity.User) error } @@ -119,6 +123,16 @@ func (s *UserService) UserLogout(ctx context.Context, user *entity.User) error { return s.repository.UserLogout(ctx, user) } +// UpdateSaldo updates the saldo of a user by ID +func (s *UserService) UpdateSaldo(ctx context.Context, userID int64, updatedSaldo int64) error { + return s.repository.UpdateSaldo(ctx, userID, updatedSaldo) +} + +// FindByID +func (s *UserService) FindByID(ctx context.Context, id int64) (*entity.User, error) { + return s.repository.FindByID(ctx, id) +} + // TanyaAI // func (s *UserService) TanyaAI(ctx context.Context, pertanyaan string) (string, error) { // // Implementasi logika untuk bertanya ke AI di sini From 5c37d162ff70851516984fe3870eafa9603f1eeb Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Wed, 6 Dec 2023 00:01:26 +0700 Subject: [PATCH 79/85] update payment Mindtrans --- .../Backend Ticketing.postman_collection.json | 277 ++++++++++++++---- 1 file changed, 213 insertions(+), 64 deletions(-) diff --git a/output/Backend Ticketing.postman_collection.json b/output/Backend Ticketing.postman_collection.json index 1e26ea2..cb04464 100644 --- a/output/Backend Ticketing.postman_collection.json +++ b/output/Backend Ticketing.postman_collection.json @@ -1285,7 +1285,8 @@ "path": [ "order" ] - } + }, + "description": "berikut merupakan endpoint ketika admin ingin membuat new order untuk customer yang tidak bisa order secara mandiri." }, "response": [ { @@ -1361,7 +1362,8 @@ "path": [ "order" ] - } + }, + "description": "berikut merupakan endpoint untuk menampilkan seluruh data order yang sudah dibuat baik oleh admin maupun pembeli." }, "response": [ { @@ -1429,7 +1431,8 @@ "order", "1" ] - } + }, + "description": "berikut merupakan endpoint untuk menampilkan data order bersadarkan ID yang sudah terdaftar pada database order." }, "response": [ { @@ -1474,7 +1477,8 @@ } ] } - ] + ], + "description": "Folder ini berfungsi ketika admin ingin membuat new order, menampilkan seluruh data order, dan menampilkan data order berdasarkan ID." }, { "name": "Notification", @@ -1511,7 +1515,8 @@ "path": [ "notification" ] - } + }, + "description": "berikut merupakan endpoint ketika admin ingin membuat notifikasi." }, "response": [ { @@ -1587,7 +1592,8 @@ "path": [ "notification" ] - } + }, + "description": "berikut merupakan endpoint yang digunakan untuk nampilkan notifikasi" }, "response": [ { @@ -1631,13 +1637,14 @@ } ] } - ] + ], + "description": "Folder ini berfungsi ketika admin ingin membuat suatu notifikasi yang nanti nya akan tampil di layar pembeli dan melihat notifikasi apa saja yang akan muncul." }, { "name": "Topup Saldo", "item": [ { - "name": "Topup Saldo Copy", + "name": "Topup Saldo", "request": { "auth": { "type": "bearer", @@ -1668,7 +1675,8 @@ "path": [ "topup" ] - } + }, + "description": "berikut merupakan endpoint untuk menambahkan saldo pada suatu akun dari sisi admin." }, "response": [ { @@ -1721,7 +1729,8 @@ } ] } - ] + ], + "description": "Folder ini berfungsi ketika admin ingin menambahkan saldo pada akun yang saldo nya ingin ditambahkan." } ], "description": "Folder ini menyimpan API untuk fitur yang dapat diakses oleh admin. serta untuk mengakses atau menggunakan endpoint pada folder ini diharuskan memiliki token sesuai dengan role." @@ -1765,7 +1774,8 @@ "users", "profile" ] - } + }, + "description": "berikut merupakan endpoint untuk melakukan update profile dari sisi pembeli." }, "response": [ { @@ -1852,7 +1862,8 @@ "users", "deleteprofile" ] - } + }, + "description": "berikut merupakan endpoint untuk menghapus profile pembeli." }, "response": [ { @@ -1930,7 +1941,8 @@ "users", "balance" ] - } + }, + "description": "endpoint berikut ini digunakan untuk melihat saldi yang dimiliki oleh pembeli." }, "response": [ { @@ -1999,7 +2011,8 @@ "users", "profile" ] - } + }, + "description": "endpoint berikut ini digunakan untuk melihat profile" }, "response": [ { @@ -2068,7 +2081,8 @@ "user", "logout" ] - } + }, + "description": "endpoint diatas digunakan untuk melakukan logout akun." }, "response": [ { @@ -2113,7 +2127,8 @@ } ] } - ] + ], + "description": "Folder ini berfungsi ketika pembeli ingin melakukan update, delete, melihat saldo, dan melihat profile mereka." }, { "name": "Ticket", @@ -2134,7 +2149,8 @@ "path": [ "ticket" ] - } + }, + "description": "endpoint diatas digunakan untuk melihat tiket secara keseluruhan tanpa adanya penyortiran." }, "response": [ { @@ -2195,7 +2211,8 @@ "ticket", "1" ] - } + }, + "description": "endpoint ini berfungsi untuk melihat tiket berdasarkan ID" }, "response": [ { @@ -2258,7 +2275,8 @@ "search", "Nama" ] - } + }, + "description": "endpoing ini digunakan ketika pembeli ingin melakukan pecarian di button search." }, "response": [ { @@ -2322,7 +2340,8 @@ "location", "GBK" ] - } + }, + "description": "endpoint ini berfungsi untuk menampilkan data tiket atau event yang sedang berlangsung berdasarkan lokasi." }, "response": [ { @@ -2386,7 +2405,8 @@ "category", "music" ] - } + }, + "description": "endpoint diatas gunakan untuk menampikan data tiket berdasarkan category tiket yang tersedia." }, "response": [ { @@ -2461,7 +2481,8 @@ "value": "2024-12-31" } ] - } + }, + "description": "endpoint ini berfungsi untuk menampilkan data tiket yang tersedia berdasarka waktu." }, "response": [ { @@ -2547,7 +2568,8 @@ "value": "100" } ] - } + }, + "description": "endpoint ini berfungsi untuk menampilkan range harga tiket yang tersedia." }, "response": [ { @@ -2627,7 +2649,8 @@ "value": "termurah" } ] - } + }, + "description": "endpoint ini berfungsi untuk menampilkan data tiket mulai dari yang termurah." }, "response": [ { @@ -2701,7 +2724,8 @@ "value": "terbanyak" } ] - } + }, + "description": "endpoint ini berfungsi untuk menampilkan data tiket dengan pembeli terbanyak atau terfavorit." }, "response": [ { @@ -2775,7 +2799,8 @@ "value": "termahal" } ] - } + }, + "description": "endpoint ini berfungsi untuk melihat daftar tiket dengan harga termahal." }, "response": [ { @@ -2849,7 +2874,8 @@ "value": "terbaru" } ] - } + }, + "description": "endpoint diatas digunakan untuk menampilkan data tiket yang paling baru atau terbaru." }, "response": [ { @@ -2923,7 +2949,8 @@ "value": "tersedia" } ] - } + }, + "description": "endpoint ini berfungsi untuk menampilkan data tiket yang masih tersedia." }, "response": [ { @@ -2974,7 +3001,8 @@ } ] } - ] + ], + "description": "Folder ini berfungsi ketika pembeli ingin melihat daftar tiket secara keseluruhan, berdasarkan filter dan sortir mulai dari berdasarkan lokasi, kategori, waktu, harga, terfavorit, termurah, termahal, tersedia, dsb." }, { "name": "Blog", @@ -2995,7 +3023,8 @@ "path": [ "blog" ] - } + }, + "description": "endpoin ini berfungsi untuk menampikan seluruh blog yang tersedia pada aplikasi ini." }, "response": [ { @@ -3056,7 +3085,8 @@ "blog", "1" ] - } + }, + "description": "endpoint ini berfungsi untuk melihat blog berdasarkan ID" }, "response": [ { @@ -3119,7 +3149,8 @@ "search", "Kons" ] - } + }, + "description": "endpoint ini berfungsi ketika pembeli ingin melakukan pencarian pada button search menggunkan sebuah keyword." }, "response": [ { @@ -3165,7 +3196,8 @@ } ] } - ] + ], + "description": "Folder ini digunakan ketika pembeli ingin melihat blog atau mencari blog berdasarkan keyword." }, { "name": "Order", @@ -3202,7 +3234,8 @@ "path": [ "order" ] - } + }, + "description": "endpoint ini berfungsi untuk membuat new order oleh pembeli." }, "response": [ { @@ -3278,7 +3311,8 @@ "path": [ "order" ] - } + }, + "description": "endpoint ini berfungsi untuk melihat history order yang sudah pernah dilakukan." }, "response": [ { @@ -3322,7 +3356,8 @@ } ] } - ] + ], + "description": "Folder ini berfungsi ketika pembeli membuat new order, dan melihat history order" }, { "name": "Notification", @@ -3350,7 +3385,8 @@ "path": [ "notification" ] - } + }, + "description": "endpoint ini berfungsi untuk menampilkan notifikasi." }, "response": [ { @@ -3394,7 +3430,8 @@ } ] } - ] + ], + "description": "Folder ini digunakan ketika untuk menampilkan notifikasi dilayar pembeli." }, { "name": "Topup Saldo", @@ -3431,7 +3468,8 @@ "path": [ "topup" ] - } + }, + "description": "endpoin ini digunakan ketika pembeli ingin melakukan top up saldo." }, "response": [] }, @@ -3468,7 +3506,8 @@ "user", "topup" ] - } + }, + "description": "**INI BELUM TAU FUNGSI NYA.**" }, "response": [] }, @@ -3505,7 +3544,8 @@ "user", "upgrade" ] - } + }, + "description": "endpoint ini berfungsi untuk melakukan upgrade pada saldo yang dimiliki oleh pembeli." }, "response": [ { @@ -3583,7 +3623,8 @@ "users", "balance" ] - } + }, + "description": "endpoint ini berfungsi untuk melihat jumlah saldo yang dimiliki." }, "response": [ { @@ -3627,10 +3668,98 @@ "body": "100000" } ] + }, + { + "name": "midtrans", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Buyer}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"order_id\": \"topup\",\r\n\t\"amount\": 50000\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/transactions", + "host": [ + "{{URL}}" + ], + "path": [ + "transactions" + ] + }, + "description": "**INI GATAU**" + }, + "response": [ + { + "name": "midtrans", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"order_id\": \"topup\",\r\n\t\"amount\": 50000\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/transactions", + "host": [ + "{{URL}}" + ], + "path": [ + "transactions" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Tue, 05 Dec 2023 16:29:17 GMT" + }, + { + "key": "Content-Length", + "value": "111" + } + ], + "cookie": [], + "body": "{\n \"url_pembayaran\": \"https://app.sandbox.midtrans.com/snap/v3/redirection/17f57236-6ef2-4deb-a044-e4724a5c291e\"\n}" + } + ] } - ] + ], + "description": "Folder ini digunakan ketika pembeli ingin melakukan top up, cek saldo, dsb." } - ] + ], + "description": "Folder ini menyimpan API untuk fitur yang dapat diakses oleh pembeli. serta untuk mengakses atau menggunakan endpoint pada folder ini diharuskan memiliki token sesuai dengan role sebagai buyer/pembeli." }, { "name": "Public", @@ -3656,7 +3785,8 @@ "search", "col" ] - } + }, + "description": "endpoint ini digunakan untuk melakukan pencarian pada button search menggunakan suaty keyword." }, "response": [ { @@ -3720,7 +3850,8 @@ "location", "GBK" ] - } + }, + "description": "endpoint ini untuk menampilkan data berdaskan lokasi event." }, "response": [ { @@ -3784,7 +3915,8 @@ "category", "music" ] - } + }, + "description": "endpoint ini berfungsi untuk menampilkan data berdasarkan kategori tiket atau event." }, "response": [ { @@ -3859,7 +3991,8 @@ "value": "2024-12-31" } ] - } + }, + "description": "endpoint ini berfungsi untuk menampilkan seluruh data tiket atau event berdasarkan waktu." }, "response": [ { @@ -3952,7 +4085,8 @@ "value": "100" } ] - } + }, + "description": "endpoint ini berfungsi untuk menampilkan data tiket berdasarkan range harga yang tersedia." }, "response": [ { @@ -4032,7 +4166,8 @@ "value": "termurah" } ] - } + }, + "description": "endpoint ini berfungsi untuk menampilkan data tiket berdasarkan harga termurah." }, "response": [ { @@ -4113,7 +4248,8 @@ "value": "terbanyak" } ] - } + }, + "description": "endpoint ini berfungsi untuk menampikan data tiket berdasarkan terfavorit atau terbnyak di beli." }, "response": [ { @@ -4187,7 +4323,8 @@ "value": "termahal" } ] - } + }, + "description": "endpoint ini berfungsi untuk menampikan data tiket berdasarkan harga termahal." }, "response": [ { @@ -4268,7 +4405,8 @@ "value": "terbaru" } ] - } + }, + "description": "endpoint ini berfungsi untuk menampikan data tiket berdasarkan terbaru" }, "response": [ { @@ -4342,7 +4480,8 @@ "value": "tersedia" } ] - } + }, + "description": "endpoint ini berfungsi untuk menampikan data tiket yang masih tersedia." }, "response": [ { @@ -4393,7 +4532,8 @@ } ] } - ] + ], + "description": "Folder ini berisikan endpoint yang dapat digunakan untuk melakukan search, filter, dan sortir," }, { "name": "Blog", @@ -4423,7 +4563,8 @@ "search", "Ker" ] - } + }, + "description": "endpoint untuk melakukan pencarian di button search berdasarkan keyword." }, "response": [ { @@ -4469,7 +4610,8 @@ } ] } - ] + ], + "description": "Folder ini berfungsi untuk menyimpan endpoint get atau menampilkan data mengenai blog yang ada pada aplikasi tersebut." }, { "name": "Admin_Login", @@ -4493,7 +4635,8 @@ "path": [ "login" ] - } + }, + "description": "endpoint ini digunakan admin untuk melakukan login atau sign in." }, "response": [ { @@ -4568,7 +4711,8 @@ "path": [ "register" ] - } + }, + "description": "endpoint ini digunakan untuk melakukan register atau sign up oleh admin." }, "response": [ { @@ -4643,7 +4787,8 @@ "path": [ "register" ] - } + }, + "description": "endpoint ini digunakan untuk melakukan register atau sign up oleh oleh pembeli" }, "response": [ { @@ -4718,7 +4863,8 @@ "path": [ "login" ] - } + }, + "description": "endpoint ini digunakan untuk melakukan login atau sign in oleh pembeli." }, "response": [ { @@ -4788,7 +4934,8 @@ "public", "blog" ] - } + }, + "description": "endpoint ini digunakn untuk menampilkan seluruh blog yang tersedia pada bagian homepage" }, "response": [ { @@ -4850,7 +4997,8 @@ "public", "ticket" ] - } + }, + "description": "endpoint ini digunakan untuk menampilkan seluruh data tiket pada bagian homepage." }, "response": [ { @@ -4895,7 +5043,8 @@ } ] } - ] + ], + "description": "Folder ini digunakan untuk memanpilkan seluruh data atau homepage yang berisikan tiket, blog, sign in , dan sign up." } ], "event": [ From c15bed4b16df1be7aaa7e11b9705ebe71d57b55c Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Wed, 6 Dec 2023 00:09:47 +0700 Subject: [PATCH 80/85] update payment Mindtrans --- internal/http/handler/transaction.handler.go | 14 + internal/http/router/routes.go | 6 + internal/repository/transaction.repository.go | 9 + internal/service/transaction.service.go | 7 + .../Backend Ticketing.postman_collection.json | 497 +++++++++++++----- 5 files changed, 399 insertions(+), 134 deletions(-) diff --git a/internal/http/handler/transaction.handler.go b/internal/http/handler/transaction.handler.go index a646c84..4de668f 100644 --- a/internal/http/handler/transaction.handler.go +++ b/internal/http/handler/transaction.handler.go @@ -102,3 +102,17 @@ func (h *TransactionHandler) WebHookTransaction(ctx echo.Context) error { return ctx.JSON(http.StatusOK, map[string]string{"message": "success"}) } + +// history transaction +func (h *TransactionHandler) HistoryTransaction(ctx echo.Context) error { + dataUser, _ := ctx.Get("user").(*jwt.Token) + claims := dataUser.Claims.(*common.JwtCustomClaims) + + transactions, err := h.transactionService.FindByUserID(ctx.Request().Context(), claims.ID) + + if err != nil { + return ctx.JSON(http.StatusUnprocessableEntity, err.Error()) + } + + return ctx.JSON(http.StatusOK, transactions) +} diff --git a/internal/http/router/routes.go b/internal/http/router/routes.go index 1702cec..ce018b5 100644 --- a/internal/http/router/routes.go +++ b/internal/http/router/routes.go @@ -370,6 +370,12 @@ func PrivateRoutes( Handler: transactionHandler.CreateOrder, Role: allRoles, }, + { + Method: echo.GET, + Path: "/transactions/history", + Handler: transactionHandler.HistoryTransaction, + Role: allRoles, + }, // { // Method: http.MethodPost, // Path: "/diagnostic-ai", diff --git a/internal/repository/transaction.repository.go b/internal/repository/transaction.repository.go index a58e68b..9e97ce0 100644 --- a/internal/repository/transaction.repository.go +++ b/internal/repository/transaction.repository.go @@ -45,3 +45,12 @@ func (r *TransactionRepository) UpdateStatus(ctx context.Context, orderID string } return nil } + +// HistoryTransaction +func (r *TransactionRepository) HistoryTransaction(ctx context.Context, userID int64) ([]*entity.Transaction, error) { + transactions := make([]*entity.Transaction, 0) + if err := r.db.WithContext(ctx).Where("user_id = ?", userID).Find(&transactions).Error; err != nil { + return nil, err + } + return transactions, nil +} diff --git a/internal/service/transaction.service.go b/internal/service/transaction.service.go index af68cfd..0c512b1 100644 --- a/internal/service/transaction.service.go +++ b/internal/service/transaction.service.go @@ -11,6 +11,7 @@ type TransactionUseCase interface { FindByOrderID(ctx context.Context, orderID string) (*entity.Transaction, error) FindByUserID(ctx context.Context, userID int64) ([]*entity.Transaction, error) UpdateStatus(ctx context.Context, orderID string, status string) error + HistoryTransaction(ctx context.Context, userID int64) ([]*entity.Transaction, error) } type TransactionRepository interface { @@ -18,6 +19,7 @@ type TransactionRepository interface { FindByOrderID(ctx context.Context, orderID string) (*entity.Transaction, error) FindByUserID(ctx context.Context, userID int64) ([]*entity.Transaction, error) UpdateStatus(ctx context.Context, orderID string, status string) error + HistoryTransaction(ctx context.Context, userID int64) ([]*entity.Transaction, error) } type TransactionService struct { @@ -43,3 +45,8 @@ func (s *TransactionService) FindByUserID(ctx context.Context, userID int64) ([] func (s *TransactionService) UpdateStatus(ctx context.Context, orderID string, status string) error { return s.repo.UpdateStatus(ctx, orderID, status) } + +// HistoryTransaction +func (s *TransactionService) HistoryTransaction(ctx context.Context, userID int64) ([]*entity.Transaction, error) { + return s.repo.FindByUserID(ctx, userID) +} diff --git a/output/Backend Ticketing.postman_collection.json b/output/Backend Ticketing.postman_collection.json index cb04464..efa8f5d 100644 --- a/output/Backend Ticketing.postman_collection.json +++ b/output/Backend Ticketing.postman_collection.json @@ -1728,6 +1728,161 @@ "body": "{\n \"error\": \"Midtrans API is returning API error. HTTP status code: 401 API response: {\\\"status_code\\\":\\\"401\\\",\\\"status_message\\\":\\\"Unknown Merchant server_key/id\\\",\\\"id\\\":\\\"8cc092fc-f1eb-4d4e-9f03-f9b1b29c094d\\\"}: Midtrans API is returning API error. HTTP status code: 401 API response: {\\\"status_code\\\":\\\"401\\\",\\\"status_message\\\":\\\"Unknown Merchant server_key/id\\\",\\\"id\\\":\\\"8cc092fc-f1eb-4d4e-9f03-f9b1b29c094d\\\"}\"\n}" } ] + }, + { + "name": "History TopUP", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Admin}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/transactions/history", + "host": [ + "{{URL}}" + ], + "path": [ + "transactions", + "history" + ] + } + }, + "response": [ + { + "name": "History TopUP", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/transactions/history", + "host": [ + "{{URL}}" + ], + "path": [ + "transactions", + "history" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Tue, 05 Dec 2023 17:07:13 GMT" + }, + { + "key": "Content-Length", + "value": "140" + } + ], + "cookie": [], + "body": "[\n {\n \"ID\": 1,\n \"OrderID\": \"topup\",\n \"UserID\": 1,\n \"Amount\": 10000,\n \"Status\": \"paid\"\n },\n {\n \"ID\": 2,\n \"OrderID\": \"topup\",\n \"UserID\": 1,\n \"Amount\": 50000,\n \"Status\": \"paid\"\n }\n]" + } + ] + }, + { + "name": "midtrans", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Admin}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"order_id\": \"topup\",\r\n\t\"amount\": 50000\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/transactions", + "host": [ + "{{URL}}" + ], + "path": [ + "transactions" + ] + }, + "description": "**INI GATAU**" + }, + "response": [ + { + "name": "midtrans", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"order_id\": \"topup\",\r\n\t\"amount\": 50000\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/transactions", + "host": [ + "{{URL}}" + ], + "path": [ + "transactions" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Tue, 05 Dec 2023 16:29:17 GMT" + }, + { + "key": "Content-Length", + "value": "111" + } + ], + "cookie": [], + "body": "{\n \"url_pembayaran\": \"https://app.sandbox.midtrans.com/snap/v3/redirection/17f57236-6ef2-4deb-a044-e4724a5c291e\"\n}" + } + ] } ], "description": "Folder ini berfungsi ketika admin ingin menambahkan saldo pada akun yang saldo nya ingin ditambahkan." @@ -3437,120 +3592,96 @@ "name": "Topup Saldo", "item": [ { - "name": "Topup Saldo", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{Token-Buyer}}", - "type": "string" - } - ] - }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"id\": \"topup123\",\r\n \"user_id\": 1,\r\n \"amount\": 10000,\r\n \"status\": 0\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{url}}/topup", - "host": [ - "{{url}}" - ], - "path": [ - "topup" - ] - }, - "description": "endpoin ini digunakan ketika pembeli ingin melakukan top up saldo." - }, - "response": [] - }, - { - "name": "User Topup", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{Token-Buyer}}", - "type": "string" - } - ] - }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"amount\": 1000 \r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{URL}}/user/topup", - "host": [ - "{{URL}}" - ], - "path": [ - "user", - "topup" - ] - }, - "description": "**INI BELUM TAU FUNGSI NYA.**" - }, - "response": [] - }, - { - "name": "Topup Saldo", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{Token-Buyer}}", - "type": "string" - } - ] - }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"saldo\" : 1000\r\n}", - "options": { - "raw": { - "language": "json" - } - } + "name": "Manual Topup", + "item": [ + { + "name": "Topup Saldo", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Buyer}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"id\": \"topup123\",\r\n \"user_id\": 1,\r\n \"amount\": 10000,\r\n \"status\": 0\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/topup", + "host": [ + "{{url}}" + ], + "path": [ + "topup" + ] + }, + "description": "endpoin ini digunakan ketika pembeli ingin melakukan top up saldo." + }, + "response": [] }, - "url": { - "raw": "{{URL}}/user/upgrade", - "host": [ - "{{URL}}" - ], - "path": [ - "user", - "upgrade" - ] + { + "name": "User Topup", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Buyer}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"amount\": 1000 \r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/user/topup", + "host": [ + "{{URL}}" + ], + "path": [ + "user", + "topup" + ] + }, + "description": "**INI BELUM TAU FUNGSI NYA.**" + }, + "response": [] }, - "description": "endpoint ini berfungsi untuk melakukan upgrade pada saldo yang dimiliki oleh pembeli." - }, - "response": [ { - "name": "topup sederhana", - "originalRequest": { + "name": "Topup Saldo", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Buyer}}", + "type": "string" + } + ] + }, "method": "POST", "header": [], "body": { @@ -3571,31 +3702,60 @@ "user", "upgrade" ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json; charset=UTF-8" - }, - { - "key": "Vary", - "value": "Origin" }, - { - "key": "Date", - "value": "Mon, 04 Dec 2023 19:50:33 GMT" - }, - { - "key": "Content-Length", - "value": "46" + "description": "endpoint ini berfungsi untuk melakukan upgrade pada saldo yang dimiliki oleh pembeli." + }, + "response": [ + { + "name": "topup sederhana", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"saldo\" : 1000\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{URL}}/user/upgrade", + "host": [ + "{{URL}}" + ], + "path": [ + "user", + "upgrade" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Mon, 04 Dec 2023 19:50:33 GMT" + }, + { + "key": "Content-Length", + "value": "46" + } + ], + "cookie": [], + "body": "{\n \"success\": \"successfully updated user saldo\"\n}" } - ], - "cookie": [], - "body": "{\n \"success\": \"successfully updated user saldo\"\n}" + ] } ] }, @@ -3754,6 +3914,75 @@ "body": "{\n \"url_pembayaran\": \"https://app.sandbox.midtrans.com/snap/v3/redirection/17f57236-6ef2-4deb-a044-e4724a5c291e\"\n}" } ] + }, + { + "name": "History TopUP", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{Token-Buyer}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/transactions/history", + "host": [ + "{{URL}}" + ], + "path": [ + "transactions", + "history" + ] + } + }, + "response": [ + { + "name": "History TopUP", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{URL}}/transactions/history", + "host": [ + "{{URL}}" + ], + "path": [ + "transactions", + "history" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=UTF-8" + }, + { + "key": "Vary", + "value": "Origin" + }, + { + "key": "Date", + "value": "Tue, 05 Dec 2023 17:07:13 GMT" + }, + { + "key": "Content-Length", + "value": "140" + } + ], + "cookie": [], + "body": "[\n {\n \"ID\": 1,\n \"OrderID\": \"topup\",\n \"UserID\": 1,\n \"Amount\": 10000,\n \"Status\": \"paid\"\n },\n {\n \"ID\": 2,\n \"OrderID\": \"topup\",\n \"UserID\": 1,\n \"Amount\": 50000,\n \"Status\": \"paid\"\n }\n]" + } + ] } ], "description": "Folder ini digunakan ketika pembeli ingin melakukan top up, cek saldo, dsb." From 196f6d16e4d6c8eb9e2917b4db27095a8c109e64 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Wed, 6 Dec 2023 07:02:33 +0700 Subject: [PATCH 81/85] update payment Mindtrans --- .env | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index d3173a2..79493ba 100644 --- a/.env +++ b/.env @@ -6,7 +6,7 @@ POSTGRES_USER=postgres POSTGRES_PASSWORD=mysecretpassword POSTGRES_DATABASE=Tiketing JWT_SECRET_KEY=secret -MIDTRANS_CLIENT_KEY="SB-Mid-client-ZCcoPJr6rlvFrQ3N" -MIDTRANS_SERVER_KEY="SB-Mid-server-RGIeiP4-kdQSADSfhbpG42B-" +MIDTRANS_CLIENT_KEY="" +MIDTRANS_SERVER_KEY="" From 73c874b1f5cc3e0b14169b22f21335dcc8349aaf Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Thu, 7 Dec 2023 07:14:32 +0700 Subject: [PATCH 82/85] update docker --- dockerfile | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 dockerfile diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..9c2cbcb --- /dev/null +++ b/dockerfile @@ -0,0 +1,13 @@ +FROM golang:1.21-alpine + +COPY . /app + +WORKDIR /app + +RUN go mod tidy + +RUN migrate -database "postgres://postgres:mysecretpassword@localhost:5432/Tiketing?sslmode=disable" -path db/migration-golang up + +RUN go build -o app . + +CMD ["/app/app"] \ No newline at end of file From e2831194b9bedf79da08ebc049f23c0c166c60c9 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Fri, 8 Dec 2023 20:39:48 +0700 Subject: [PATCH 83/85] update readme md --- README.md | 6 ++++++ .../Backend Ticketing.postman_collection.json | 18 +++++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 70e272e..6cb33f6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ # Capstone-3: Aplikasi Backend Pemesanan Tiket By : Golang - Kelompok 3 +Anggota : +- [x] [Rio] +- [x] [Reza] +- [x] [Rahma] +- [x] [Ravita] +- [x] [Sandhya] Dalam proyek capstone ini, tujuan utamanya adalah untuk memberikan pengalaman baru kepada peserta, serta mengimplementasikan Metode Scrum dalam pengembangan produk digital. Proyek ini akan dilakukan dalam bentuk kelompok dan fokus pada pengembangan bagian Back End. diff --git a/output/Backend Ticketing.postman_collection.json b/output/Backend Ticketing.postman_collection.json index efa8f5d..3872f29 100644 --- a/output/Backend Ticketing.postman_collection.json +++ b/output/Backend Ticketing.postman_collection.json @@ -424,7 +424,8 @@ "user", "logout" ] - } + }, + "description": "Endpoint ini digunakan untuk melakukan logout ketika sudah tidak ingin menggunakan program atau aplikasi tersebut." }, "response": [ { @@ -1753,7 +1754,8 @@ "transactions", "history" ] - } + }, + "description": "Endpoint ini digunakan untuk melakukan cek atau melihat history top up yang dilakukan oleh admin." }, "response": [ { @@ -1831,7 +1833,7 @@ "transactions" ] }, - "description": "**INI GATAU**" + "description": "**Endpoin ini digunakan untuk top up saldo menggunakan midtrans**\n\nMASIH BELUM PASTI" }, "response": [ { @@ -3665,7 +3667,7 @@ "topup" ] }, - "description": "**INI BELUM TAU FUNGSI NYA.**" + "description": "ini untuk topup manual tidak menggunakan midtrans jadi si user bisa menambahkan saldo menggunakan jwt untuk mendeketsi id nya kemudian menambahkan saldo nya" }, "response": [] }, @@ -3757,7 +3759,8 @@ } ] } - ] + ], + "description": "Folder untuk top up dari sisi user atau pembeli tanpa menggunakan midtrans." }, { "name": "Cek Saldo", @@ -3862,7 +3865,7 @@ "transactions" ] }, - "description": "**INI GATAU**" + "description": "endpoint topup menggunakan midtrans" }, "response": [ { @@ -3939,7 +3942,8 @@ "transactions", "history" ] - } + }, + "description": "Endpoint ini berfungsi untuk melihat history top up menggunakan midtrans." }, "response": [ { From 7a28ab04976eb8c527ec9a6a3c6d14e7fb98b013 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Sun, 10 Dec 2023 22:08:19 +0700 Subject: [PATCH 84/85] done --- Materi/erd.jpg | Bin 0 -> 157835 bytes README.md | 1 + 2 files changed, 1 insertion(+) create mode 100644 Materi/erd.jpg diff --git a/Materi/erd.jpg b/Materi/erd.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ea7d5bd0695600d75654bd7e6e77cc21125ba7f2 GIT binary patch literal 157835 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 f{_M|lHgwym7Ep%{-R2qp@-v ![Figma](https://raw.githubusercontent.com/Capstone-Mikti/Capstone-3/main/Materi/flow%201.png) ![Figma](https://raw.githubusercontent.com/Capstone-Mikti/Capstone-3/main/Materi/flow%202.png) +![ERD](https://raw.githubusercontent.com/Capstone-Mikti/Capstone-3/main/Materi/erd.jpg) From afc737db74299cfe5c3798aa4ccf4e8441606821 Mon Sep 17 00:00:00 2001 From: Reza Hidayat Date: Mon, 11 Dec 2023 19:12:52 +0700 Subject: [PATCH 85/85] done --- README.md | 2 +- .../Backend Ticketing.postman_collection.json | 26 ++++++++----------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 8a679f1..c0a8892 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ By : Golang - Kelompok 3 Anggota : - [x] [Rio] - [x] [Reza] -- [x] [Rahma] - [x] [Ravita] +- [x] [Rahma] - [x] [Sandhya] Dalam proyek capstone ini, tujuan utamanya adalah untuk memberikan pengalaman baru kepada peserta, serta mengimplementasikan Metode Scrum dalam pengembangan produk digital. Proyek ini akan dilakukan dalam bentuk kelompok dan fokus pada pengembangan bagian Back End. diff --git a/output/Backend Ticketing.postman_collection.json b/output/Backend Ticketing.postman_collection.json index 3872f29..582626f 100644 --- a/output/Backend Ticketing.postman_collection.json +++ b/output/Backend Ticketing.postman_collection.json @@ -1,11 +1,11 @@ { "info": { - "_postman_id": "475ee4c6-91f3-44de-bd51-5cdc49298a10", + "_postman_id": "5d86b314-1544-438b-a2a6-5a7179ccb076", "name": "Backend Ticketing", "description": "Documentation API untuk program aplikasi pembayaran tiket menggunakan bahasa Go", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "26142588", - "_collection_link": "https://ticketing-mikti.postman.co/workspace/Ticketing-Workspace~1c7b0ec0-f35f-4273-b1d6-67507ad4c237/collection/26142588-475ee4c6-91f3-44de-bd51-5cdc49298a10?action=share&source=collection_link&creator=26142588" + "_collection_link": "https://ticketing-mikti.postman.co/workspace/Ticketing-Workspace~1c7b0ec0-f35f-4273-b1d6-67507ad4c237/collection/30169354-5d86b314-1544-438b-a2a6-5a7179ccb076?action=share&source=collection_link&creator=26142588" }, "item": [ { @@ -424,8 +424,7 @@ "user", "logout" ] - }, - "description": "Endpoint ini digunakan untuk melakukan logout ketika sudah tidak ingin menggunakan program atau aplikasi tersebut." + } }, "response": [ { @@ -1754,8 +1753,7 @@ "transactions", "history" ] - }, - "description": "Endpoint ini digunakan untuk melakukan cek atau melihat history top up yang dilakukan oleh admin." + } }, "response": [ { @@ -1833,7 +1831,7 @@ "transactions" ] }, - "description": "**Endpoin ini digunakan untuk top up saldo menggunakan midtrans**\n\nMASIH BELUM PASTI" + "description": "**INI GATAU**" }, "response": [ { @@ -3667,7 +3665,7 @@ "topup" ] }, - "description": "ini untuk topup manual tidak menggunakan midtrans jadi si user bisa menambahkan saldo menggunakan jwt untuk mendeketsi id nya kemudian menambahkan saldo nya" + "description": "**INI BELUM TAU FUNGSI NYA.**" }, "response": [] }, @@ -3759,8 +3757,7 @@ } ] } - ], - "description": "Folder untuk top up dari sisi user atau pembeli tanpa menggunakan midtrans." + ] }, { "name": "Cek Saldo", @@ -3865,7 +3862,7 @@ "transactions" ] }, - "description": "endpoint topup menggunakan midtrans" + "description": "**INI GATAU**" }, "response": [ { @@ -3942,8 +3939,7 @@ "transactions", "history" ] - }, - "description": "Endpoint ini berfungsi untuk melihat history top up menggunakan midtrans." + } }, "response": [ { @@ -4861,9 +4857,9 @@ } }, "url": { - "raw": "{{url}}/login", + "raw": "{{URL}}/login", "host": [ - "{{url}}" + "{{URL}}" ], "path": [ "login"

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%0AvBbuA-O?=h+UBk{&;Hpzz7@!xmMQ7^$8xrk^ zqrT&RwdFL>Y&N!-d0|e*8yn@6^i&m7+?d#0WErf`;KS5pcuLYr6hNdNV;~QJxRt;f z2NRfp*(ACOWizP>zw^?SH#N(gAs_q>_rjUDh`(d35y@ zO6n*D$KCOSdkskmLsBzi>9pU?4U1GZ)yBp0+GQ0CWb`(AG-+}SmcYFo=|vtKsYzO# zVQ?(_Wlp3p2ujRT+LL2wjo_5XmWYl2Rv5y+lUfS4klREA45(cVUV8-`pVnWT-fxbc4YsGn;gh zWq&ehUjs5iBE9*9W*2bq z=X%*bAReVleEo?JW<5222s1Gx~reS&C z0p*RA*O8isbDIt9Q)}ru13%mOqB_z+e^si&!q3WzMS>_^7@d_UMKTgn<<>Mp^67by zR_Bh#elMrRhYe-h&l6KOk8xhZ%fo%XvC0$IFCGir8z-s;>*zUT)&^Imq0S75Y0TTP z9?4ErJV@*x#>dAR&qvR*mjkL7SEQB7f67eRI(*fS`+3-4^v!`X^R~IxX5}N1`ael{ z2phITKItAMUj4Wko3L^OJ;hnc$Rs!MZ)$T2HLxuE2N6(=9j{qG!BYr)XEj0 zf*!S;i*lg$mSO61YQ?jmV-Q{rkBo`j7Ign^MS2NClzfin(prTtNq$7c_BU+hG5uIX zXZmR1c9?lk@c@sJ?}|=^3Ry+!b^qNo0*MygkgS00M!g>O1cd0FLJ}t!r$_p!be;vo zB2d^R&#U}}=znZZUE-?4C3vDwU>JUj9}YLi%UqPuIS)WigfFQOY3)7Ut(lZx4c)?~sd z;f%c8{!mC{=If&V?vX!C7b+SfL%***qDQia&?2aCn9hqy2k_7# z-Jy+&v%TD9Uwg`iATVP_r0Ouo$YZSZ)%UFzSZ=}ZHkvPEU+@GD<#L6P5~f_qRe+B@ z${#C8braKYuObG~4Yw6h?fwPpaQ)S+7St(u=aFPvL7Mh3CIQ;cZsq#lcadKHW*aZFtc2U<+<6{!kryT z-_7n#&dUu#wqgG2NPK2>Akis@2voE$YBaNkL3(_3dHbb=?czX=%!M({@-6S z0h$%(#*p61DT7S7+!g5VHWi3oA~F)_@NxJy^LDw>qXDTi=Bxr(S(v(x7_`Igl|o4) zPI6m?<+^rN<2qIjbEQ(CJDPaOg_oWPYY>lET3=kMZDrTMbFeRUjlxmX5;yz|n_QZP zNe9jN1V)zk*PeoO;{1%1mdTaLBtpaqi1J|^f@tgh1Ck0+n&)Ea>sDWOj`>N~rFG04 zjboZ>_;F~Ntt4U*eM-ZPEzcj)Wugd4B&-&eX7%SIu#^;$!I6wtC!OuCt*JV03n-M# z-4}{Iq1PXb7J5?`IT)e)lf`~inXa0H#Az!%nA>?o>*_dXx^*-m(aQj)z--atVvchK z@cK*56*16MjZ=n$CBPAP;22GsB;7n!E#XYQmYm1Ye;I;2L8RsAw2j zW6xZs%Xc7!3z^cK$?bAO-Qt(9+jSfNF=sL@PRu8T3UUQZR^6(SL-9d++sreYKkeD9 zvM2CH!y13*R+?Kk+ZdTVUkQhg_jYz(bhp>N(pvE)hKG97zLTh!;KTB+)`dsONY0hQ zqdi~B^R%=w_G>|&<~n;r>v(fI_qJxIU@A-8LhwQ9r`TyYm-k~0lg)qoi;f*8TXtC1 zONQXguZ4&em@BA%kK#>;K;XIdDT%=DlX27yT-e-QRK6yxHasSK?B~^JpsR7jdeKEN z>15G21F#-Aju9J9Ic!OR304ss{pC`JX!_St&Iw7>{7QI4!E};r4RZzmiPY`o$}ZJ+ z{mFGp-Rug$tG>0<+zO>kQE_hUUQKphZZX?meQgQC)RM@pJlza(FM4{-wsI972Lt;m zn{J0C(&+Y;B(I@*VWaAyxLK&Z*-Rd#d8&Y#7BXSQJZ%D6+%bdm@+B9Ly~#7NX7NW_ z=E(P4+ea)Ut%$SsXq-i!{_Lg%$T^mD)(sh$wY61sO*vh4v6GU?ZJS5pK1me6JW^E- zQ>VFyv-@1GYoXuN(o2&@iKH!EE;zz}>w@FB6x;4`ds zSis7|rFt{Z0u2Rd6{{86o8)e-h)CI++Z%_8gygJ(ciMd4AJy6^H&qIGCmO~dkm80bnpp=1;Y5mW z@EG_;>`!MO@*w&oCl(t8)Gm5(FWP3>uedG^y2lR^^VWJ&IUYs}r8NJVM*?SHC-jTC zV_Bftal|wN&rwqK4GX7scANleA$g3L@jZ4ByCL(R$B?+7EbEztUMA# z)li4LYpr!`P~XQE;J;q-5R@GwPA>Qt(HL!&ww3Z2UdQhRBAm2zV$F=_jL>`5YIb8O zcwP-mg3YlYCl`zD_9cy*PTPeo;>9%jW9y$T&9Y&_j9^)HH$&C7a%)e?0^oVz&&AS` zB!Q*M+>y zZLdxLw&xIqkSSSEAzXZJ{&E7v2aWhNQ6KB;kTuOU$V7f3Iat(!#&t>snj|zEVvu|# z5q-P?$zX+dR-n+o9PJ-Rz$*Np<9)%|RvnjxMNLBk+RU;bk+zV}&HYd%z+@#QAveRt zwUN&hBmev-#&r^F*%F=$YSd|ukBZ8Cv@sNxbBX_eTN3oPH*Z`|^W=hCRqk?tusx!4 zf->j?3yV?RxOlHwE&G{^X$&9akOIqZf{gI=d4KpkhT)SKIm$se@Dobdm)52vG!^0J z`Mcg$=0Ka}(6KDL@JNLH1A+*x{^*35FkuMB&*;C(4{rj4k{gPn4X{EnMoExa6pVEs zhuWqheh@9&sQ0Ml{EpX6tZG<83B3oKsvfcHcZ%V2*tJiu$t>B)5ImnWEoqspvrTk} zRYb~UZY-$*(e7`Bw}2+w>JL7eg~brIRVH6XLMdL=OeaN-$;B)T9HfPvwb-sG_1|yW zMCjtu28P~{ja8i8b~fjwmRuW73vKk@M}l&~&Wao@uSAb-5CP#@YE=!Odg0Fwg_M{& zdd$)7a1QcgzRXCgg{g8H9gbL|63vbrA$r2LwrOHw^VRW70bN+r8gQ>ht9FHnx+!6j z0d8tZf~Lt#fwx*$8l_m05Uns^iA z+gG%uy=Kny>tSHhVKN$`bkls^#++OHfZv?x49|I&o`U@$#m3;Ns7QZp`!KR{QZh)E zI78K}TZ%A*?WAaonjxAB_IC`hSX@_3F(#X_u-=B+VH7)LJbf|Tp|B(?r^t0)L02gV?mB%IX;a!eS7xux!lDBYru+mmYzHhN}+2zQzu%SB|lpwbAoff!9 zi1>JdkI#MLZ}wMA6Tg)dyHmWcg~XtsmC4EBEiDuA8){n9r!g?a=lc)yHE?DQW718x1)J*pQ8Vtx#G`eACwvKXIcr z3oelwT#&Pc*MvfRcUsfTrNpzm=J-f7U)S?$S7QKUy!ZrMa<^+o9`tlfB%kHyL6GO< zmecocS}4VVI8^2DQ?jaTOdlzrP&dhg(yj`qt>PjHfWrxZ9`+9$q-~-o`zO_B#Uk@I zll-zIhz8$jicd*;3x6Wo&@XCGnW; z;-##nj+!#ku7sOU9~>F-#yU7Q)j!Hdx!WT>R>^Rf&$S1}`w{}Iz--Vqj_MKClGVtl zA+>J50Nh%isn>{2(hp6{JV3M8NQpAde8XG>EVCX>mHDe%uhCdhvEj5T;Xd9(>hO4J z{0nFsS(5#BU)>Dl1vl|Whg-|bC(wz)kz6bVkLx*&G|IETKi9Z*v@Tc30c!RrNXqxe z01@_T+2{)FbZg|4Zq;uM?9Yqs7Wu0y&?VU8=4AOQ%3PmKii^YK$--TBMx#Ivx51w5YEJT&#XSZT4~iKZV0kKk34SgUrd z=aeEMv5|d*3t*wy{ECB@&x&PPv(DS;lFwBl1E2VIgQ{Z1Jox)kNzxWCb4sbtSU#ni z)Ea17eW3ky=vcg1P1VDfY=1bQ&`Vu+^$O%rK!ANP$Q_tM@xN+Z=ynp1eEWflq`VKgD1YYDCERShp0H$p z5Pc$8RtnhDr0=ic*N=zdY2rjhz+J?29-nm7nX~X>MyE*-*JXPUUw}l8xB)XHlKLQwKye$v{{W@XLR$vpsoZLE zs>grlc1nzSkBV%pUG3^5jM-AtU;y^?pUZp}JZ_)V$t;ETDIMa%a9%s|b>(C!11ZiXdhtOQ)FiQv? zA&bEuU;u3FgcxvW^?v*lV4c;VDhnw2tkj*4B!@LMS~(C8J(H<;3`@$g|KvsvWG?;3 zRcz>Zk5?$I$smJmx%QXD7aVnM?w<@Sk36pD;@&tE>H5$~lxn1_ll*ZI73OeKfJ1{+ z9j$$W{CyHo1Vn+k}XzC=cEP(b}Ee?w&* z%J&pN$D>FCpYdHDw)k(2{*6qLww=R)EjVSjIbKpyTm5=FapqXy*5D}^n6ek)=rRf9 zlxa@I1u+(h;$KNUo#FB`d77p zYY&0!8zed)Q05RQBF^s}(`*&M9q`%k%UX2*4;Oi+bdNq{JEpoKHjR{EQE^VtlDQ}* zMputS{*Ng&D+9{QA^fhuB7GE&(5BqX!{4JTbv7#kgC{xZ9@D!z8Yh|IKJcE&Y+XO8 zu;x_|Fv&C@-fY(w(=}PJ1oChHu=M3Mm8mU&Cq^dniZto4z;t8@Qy+u8sNqmX)nM>* z$0fk?>`(K$o~^WipJ?gE2nSr;0=-WuC_qGCa6!J@XKU|!~eeB zzFq0fsrs_6J-La9zQy!B?vcGeZe6)?_@Vdz4{5C9_59o`y{_l=aY5^Opw`>#^!;*} zto!i=dG55PC&K{7omV+iso8s?W7a8%PZo+|C{40ceooYuhYJpH$`S}zSX5|$4;%1> zXgtZ;emEfTkxZ=($k?vnbSXvso;^9v7;>No=9PT)y(_(d%ga@)y$p=a9vjI0Dk({wvI5D=ZtE(o+m7?uILIlTZy?dMwZJ&%9o$zBywhN7Qb?a0 zQD|yx6;E2AYGCWGE~vkbhM%P<<#Y@d=GIGu6mZ)c)wl;TBsx1QIB6xMo(yuW*AWch?$+8WB$qHCm!#gl!zrVY9R<1L>h#jqMip}j9A{9rDJTDyLRm0OF~en42MQte+Ro#$L-n+54LSB)^>6l1EM zCHI4Aml~qY*~vb3QGXqAkJ{WV$Jw>Sm*6av;_--yUAw*UcD(AE4cShw!nTpQu2}(g z0V?^|o@VmQs|Z9VGBVPrC=~bFoy9votbx;t3;oZ}lgnShU9T^{gD0-MM7mp^*9zBC zdV>#tzul~Ln{X`V19x*SNX2VD;jW%tpbFyV`cjyoJ$FbW#OrsI@w$=2I-^ZE>f5q4 z`BTLV4_+XBFGH6!YxjSVIVPEM4cS;mNp|w>V!HI5lrA1{aAAMmrc*|Byo#lb61C3@ zgK~C4gXr%i5zyeWa-j&0VI;-4F6GFTi8mvOEI&_l?HDR6t#&^jJDs;fs+lcaT%51} z5j^tARRPf!t&#MC8u$O?B^=1iohvrlJ=has{UjruQa*fRCTbKV&9f0VuQ_?1gb8nh zMrm*+K_TKf&Gq#XS|_=el$P`vj}Qciegz3t%=)f4lggS)@ zQgAU1{syT$;i|TZJP4A-rxVSnUmGz08z-H~>W}^6c-1o@*_-}(C8?2O#>tv_&n9Hl$pEcUf0eVTvEO&=Sw9ExfM62#z#F4`lU`%2!?Y9{`>zu@-^Su2NC$ zX$-0*w60p#W&PTYKf~nm>+tbXt~B0&QvF}#wDAVC3RAT(-F4)iT8^7lJJP4-KQ6>~ zAIjm+pA@sl3SyeLZ`~^*I&GuG&Ey%&9w092hGK>zcOrha)p-g376b>^%jI@_*5UaQ zW5k_TA{yYo`{wuV@sP8@^Wgak4%`UzJXpDU zsPqJ^r?POBxJEf}H45M~Hh6D4J-+Qq1ijzAC_ed>kj#JbwQzMj^k*BOOfiezY6-Jx z#ia~sMS$xaRG2)Sv|Bm`&vMf*X49wABO|SX1SD?TqIM+29IA`EurrM_-C`?D+yRd~ zT5Y8T^Wn6I?DJPW;F)VE+J`*+xLbGmJ57k)NY}E|q#qF2b!d+i@3U45hvG>2o%G+A z&(VIchlut)IkXuCT5>D-Wr{l6WfO(w1?+7a=r#6~6&P04(~Fc9WFb5U`RgViEl~3r zg3ie`Ys${*Z?zK717VrXc*kE8`AwZhn{-o}Rv_MD88L2+!|gsKYq8?u2=l})H7e1P zQRWm{!22)RBj8Tpp!$*aB;={-1xNXX3K&B@K_RVF^;09IuI4h~tL6w!!-M|PR}mF< zo0Ypd?-d%#TDDM5o$l~R zkg{2NRz~adrIv!S&(MFmsFppi zcGjM?jm3cM5!d^2${)^}kc~XcCOa2hSD2@Y=EJOsubQ&l?{1#{MEVRn&JeT0>r{)6 zVxM6QhpNEKs*O7vFSSn@@4veEm)`FJpK71I-mbMG-d}oro}WdB->*ai9|oS^&I2Cq z@g7g!2?HNH_E*XNM4;0;GL_?re}h=Z%fyO-)(1JvY|4 zt{sui!ip;YYgS}ty0QuWv5T_6HEk_AqeN~Z1~L)+MxU2b;hYY# zZuj@McY)==_wKce;ua^W8o>hJh{e-C0UMz{;;VYNTOMF}&%yPj{oAXhLjGHOpt#aE zU8~6Ulrx`pJCuvf&0KA#sps_uF4T+rjt8>#xrltdrW(FuuL}>)*>hu$-+|AfO@YrB zkMFNJ=%N7+GXhVS4Q4H?E#Fr5C+{%0u7GIUS+LX&cH*VN<`a4mVK)thti0Vx<%$AW zDc{mRc__`fxmJ>sg-Z@l{S@D`a<2t}D*VBFiqdedikWVtZgWVUJ2ul`hQd;tr|_`a zx@#bA;h5_{ESx5=B}KcA(|-6Yo5oD~AiD|(=AWYXEJ1rZAC!tq*?e$6EL~Ew?!xeaNSbi(k?Qx6ZBCYw;=yffTzK0 z;Mfu=6d~8;R$^1`lJld_{gWNh#EBAdl%hfN_l`ID&=>`gGRpGGUY8G8C?~~ox~D&} z?2t<^Y@hAEbQQZUfETj zbI6^-r@qW~H@lr?oJq2?+a?pUv&jZnVzIrD+#Lg`U1_+;9iMlxVDL!}s(i~H7{hZ> zQrAQP>yW7C1L}nfaJ-kyJO?^`oW8DE5WGe{d{M@s-TCzvu|J^;ULAq^I|an z5RB&Hvi@0=Jp}*W$W+{YtP@i;bC-;D7TWUCs@eu zk$j?K9}1baKf~%AJynEJl}{tr?K%wsQZV@2Un)75wW!y8UrBRIjk`5rVd2mea@j!`R?!Jxz@wKucd74tksXBfhbv&)@Uo%CQNAhZZuSfs+!Mum~A* z4Kn=qs(EyB}}r& z75LI-g^MTK7jK?i*4+;WkB#uZL|=-ZezO|ob=MO39sIby0{3*d@7#}G@1JPZ+0m(* zS=%|wZ+3W+a_hMVfc8SZts8x5XlwO)vh}|o-gqCs0}2cKx2<)YwfB|-#Y<+Q&!o?5zf%T(W1?TD-*Y`cObGe%knWFHU8aHI4tU}eVA zy!6fm*SU_9r3;8%Jfg5kM^=h$sY`wI%Bqeoj*n-ZT3cSpXYXM{#oo6nOHFBiosp@o z1ZcP$%B_g#iF8+fF89&0c~*}rdex|PtE{DRh&U`o7j{s&0yWOvpAUfZT;vszsMgb3 z@)!!R%|ux3(x)CY(;Tz6;q)WWCMZw+k*V4<&7rrq20J}0P%o$w57VRlQbN|{uDzQL zqG*g3oFY39IVpFT$ys}?^eHo!^SmW|Nj?ptwf0tw#F;HZ4tYI|g+ri=IO-7ogB3(c z1hSu3aVS>VbM4T}8e~zPs<4;(%WUbGJ%s;NL!-Ece5_$nfV~~GEh$ei4!7Vh>Q<5& z)~Ve}r07)&(@mTNRar?`*`^nYw?k)?EVR-7mBC0am(?uxE4mg#Ce(FeRFU2IYgKc+ z-H%lfrtu<;gj6?OdDx&u0pT&5>>=H%=5r8ts+T7>)t4T!dPBnVsX>;TV+!g5eAjP0 zL;!|y4r7LLGJvm}gZB~jkVZf%|6G!`ylwZ%&s+VXTDy|ei^FweVf=c-$0%Nh_Gx}P zZd{34WW8lrn_;sxid&(@wG?-E zC{EGf?(PyO6n7~UEiT0^xNDK%QoJ}MSaA#PdU*G@_qopg&iu)b z{dO+kO~iZSl9S19O|ZpZXS=(up{9#QtS{Hy`Y(f~_=f`!oBO-lU0ZRk-Gg#^$7S zmw9o{H#f!?=_&~%XM?p5R>JIf4s^ZaC**qu_ovk|Mu#fpoj0D~>L!Mn#@|7y8m_<; zcBV+4;bt5&TUoOaZY6uRDr-k`HnTS&4iLhN6XJa<=FOQ=&4m?4>S*HMqO-HR)=K2* z=kELBsEOzsIIqM9!s()Pd^YFY1di}xR<-C5k|AJHXP#QGg=@@i|c)hW8F@JP1 zf3O)JRQEfmd&&9W-ty_>cDU7fy0yFXr>Yv1OqJrY`|0U8W|*VbtLqYMczaSc8qVgT zWBQa5^s<$1`gAj*?&0Ut6w0=Iyf(6d>=AxOKX=>Q7|rx$>ALw6u$El{-A<7xT!dOg zpMD{e&j+*6CGwpD1C*eO<{YtHiGsi47ui$lvlgal zCWDc&md$GK2Sk@FTzPqt!e*D;-2!ZZNYn`C564!EPCp!b?*6{(V%R6; z*$w8I8~25>>Sx>RGg~0ko*^R$H)>Gywzxt0d3kv zmCw#w_)9=e@C8K^%8npHL`(_!v$mzMq(A{qF3$r4wFMtTo10IZ ziG0qcuDG%EBRNg>#sXZQ6F#8R`YN{NMTBAq@CUf_YJD?PqKr+w%5sJHQ{phrmj!$~ z!+RTr1ujUl@?!IuUzvYH@c(baC}N7<@0zo_60>#ug2dJFawf*zKDWzLV)KHYs*1-!r*8nM&Ew;J~hB zFauCb)~27gpPY~br(AP!@+RD>zh;8DA0;Te*93=&Rb z(cf_QbM2{`_m_dW*-5@a3r`8?QkU|Q=_9j&Vh0`ZpEbQ}s%w0u^}g}Vd64T>sF&2$ z_J?Q;wq1sCCHVsosT(^|B#cO9UD}^ji!5$Y2EP4^irP*K86*q6m8)@+E6DDT9-FxJ zGb09niP}>Mj87!9!(Q`@^mZoN(6mtp@%vixjX-^~rhtT*)OxxVTyfg6Oft^%vk1IE z%K>Z;SdiV~<_O0q&!vrFdZmSC*6bo5pZn3xL}N@z)z$7w;QiyQ@a<^FhlzAk5wPp6 zUv1FC%>Kpp?zuj=&HLtXXym*aRc`&EXrgh^<@fJOqK8SjtA6ozSGTIb*TJmCBY~%i zd-x#t`qeJMfXl-wpR@DfVS)5gBHJeqAPGf~0kfuBuNr0pB?1l_W*WmyEx{yPy}g8z znFgFt0ZkWjkDp=QiSIm&+$f}#eD(dNQjOO$H|?3^7$p#nr>Z#`i>#-I^mjR&O&z(= zy6S+ml6$!z(%{na*A`CY=_O@N!yZz<`f~mB9dP{5?nk+pMWWL9yiWGIr~T=$n0I2r z{i{C?|9Ktdy{;ywtFG0FwmqItoW4W`UB(b~@-ws&1zjw*ioLc81!;)ir9EsXZ~0Mx zg~W6|yty=|Utg0ozwGXUi{iTjq)n6AU}2{g`fuE3Ma*x$>}?4beng9@NPyec?%R&s zcz)=`a$6w+qn+jWeHJY4Vt@9OkR#7T~ zC)wn;L?80KB<1vV3+--$rqpj|%70=ED7YFwzy~U~EzXbl9t-%-d(M&1*Ce{HHLeHC#n>Z_e&g~0^Rk$A^gIZ_s*I%9)$s9hrp7CU%rn( zip@W^x;*-~eO+aXaFr_L7Ec>efwFVX;TSI;Z1oXe55TGrzhzD0JHl+k=IH?Xy5rd%i zGeQ2mAsoIieF<#;i0{>Q6r+`QRpZ4(5N9El3kq9!P;G_>L2w)sEA zt}`*UxBi0{0@38-EY_qth&LnvRcXYp{9|Z}td6k3Xf(LBK`WilS@Zp=vfMp}!#9wI zRcHWeY(OdZVdu`z=>h^K)m%(r|8GT2BSAYq@Gt!7xJMOqQzh!Y#E)d+SqD<;SuJ9B zkZTTDK7+Z)Tryj{YM-9 z*r9iNgbI5N$sFNA(`Q*0*u}CEW@uV@YCZ zR3-eBlf$t$zday!*&6rFu13owUlBIe9aPMA7B|?SK+Phn1;~P6P$(IL+%1JudU(J^ z$AnAJ<9y!pNPqmN@=^{~Kw!Z6_C(1HS$4qBn2D@-@o5Tik%w)+hwi8CIrc-t*7Wt4 z-f6F(;JlZsP2FyvhaFwjn1=hx*PY4JZvXpu@kfVm&VhGDs0IX8aRnX)?>JfNn2(*| zKOr#=3-Clrj^YIwe|;WXKuC*>ip=lbsQ2oz4C2NKK+OKkqOA!A)(WWByLH(9`o$0v z|7)2Pt`4~hg$bmHV93eCbyaAvuo8?O%Dd3C~ed2Z@| zb%qmgPZ0U_#pcp0=rv1sDmwm?zwhPR#3B9bmbjQ{?cy7qGz@xPCl9)5wKWZ@fBAPb zxc=12(0cL-2Y6kmmM=i03SZdpcYda<+92CiKk$0|<$1kZOx*Eg#h74tjP0!U{ru|7T{hNA0oukE>)Z&MAH4gY!di*P) z%GGbf&%sxi2KXWE=wm0-JOAj{HAnePi#mdi&qfV-QdC|W-Kzg4Wf%7%B7!d=>j=DISlXp+MWLF-WO zdbzq5DZXR|PF=Y~XMM4s6P0Tg>!_!>D zPhnV`axM9aUEcfYP`aB;X!M0Qy;bm51dyiCZ9YWV%CgZYNDFQ>c zEJYsMnbOnnKLxnCz3y-CeDi;K95xkyZg=J%+oFTFC9);Tdeb_R<2uy>oSrj}KSPgT@IadH;57^=g6r5d_fD z!0YX!#oF?EnYMhlax%@ug{27oiLCiUq)h%2lSLP;Ha3k4VZdG2_ro5KfK&0G00})_)KcSQ#6BR0^Z2KNdBL7IvV%f62U+s^> zT|n+c%BZy@A;X~NA2JIz(A~ZTCQLQMZ2dU40mXb>q@2lG;ro}B+y-TQd5m@>`O`B( z1awu|;yKJf(8?1h`W%f(*zL=Ux#^ctD;ELa2V9tQxdKb5BrtIA$WHRWFzlR9T2IZW zFM#A1?QJ{=71wR4og}JUHs33OUe<1I2)0TH{;c3D2>g(IOiI^+`t}PI-@wX*aXZ=j zXg_GdF7E72&19LUwN=v=LI(htkhiufqn=`YP#ZNEc=i{h?72WdIunceqZ2OAHBJp6 z3dc6Tt zxLKK6VokukB4?-{pCS@DRnz2&e4Y4%pJnNR(!8ggIRmb5LV7_$yuSW zhd0x~eg(JV(~a)U`peYeuCf13R*dQMlLEN>FwSJfV70B;`#~sC^!`#@{H0O+@or@C zDJD<+<*;(TNLA&hj{DI<^=MjcS6}7c-QDBw+l__vZgIm}*z`rojBmYO%8o^Vd9GM* zp|pBrqZe%6AAob(a+s`vd=(N?fR~?A*nq@~^L2uT^oI|0WDrg5L?`HN*=z_O6X_1G zPH&Q9GFwJ(@haO%42CUPV>P_76MvlzgP_;6|8 z|3+qsY{g&B->BE|w(9FufeqN`BT;51mRY>&&rj?`t@s$hAv2`a`CPwq`r~;&1==V% zSQL+y`8iPji=Ed3fByWrPmdC3KexMvGo15PNc1TogGj%vB>v~mlA*xdS_R<5O^c>x zTmBzfELX?qMRIw0>bHM7i)x$O4FjEL{i$vU=fyu|X&PretFK2!Mq;}>Ex&nEQdN?& z5hy@^*nPD~xoj!QAnG%BhPkrP>uadt zyjmuVEX^wn^qK^FSz%4*BS|i zqpfiu@}?_Ni1wly6NCIJQ8uaB{nTY&)pC`3-#nTzD6`j~9fZO8rTocql`@c5-N(`QP0)%M z--Q;R0RYB%tsWWm_4$U(%h2}5(>GdKB6CpQCAtBHLt^)2*g%J4=__O<&}!t0>#an# zA8Pm>0m)7!A{rbkJ?#AwaLFEcA5Y|BLO6EHq3X;b_B!6>6O~M-4d}hdS|n=bQq9YK zz3R>u4|2WQFPgvkk@s||YAP0VF_R4;i-CSP`L|hBvv_C~t}5Q9>GHBYG`+cR2S4WI z<8>_zXM-IXiJ#%xb3Sb~jSVlojl5Ys>fMWft@vv1`R&{SR*4e44gQFv@i*9pnsW(Z z6pWJF17{Zi52|!f&{EU?$mFzWdv*A0xl@f|wPQWoIHSGO)!*MJ&7&G4X5w9gM?qaM z+iywu1}r8Mdi4Y>Q2cxC-G*p!8zR9)g2s>ivpG~;AlhfJNLb&pKNVa5VTEJ6X+qu}+n33$ zce7x&lDmncvz7zou%>{N=2juST|Ocv!Nc%%mLo2|y8PMr#&ELH`A9hH!KGY zx4lqL$1E-yE>$rmVOrcQvg*BRti2S}nmYWo8VTPHr@5{;vE)Q9G9P#`n*WZitVmDe zdU%`_H(EsJfVBMR24|&JY~JdrxyoU+@0aPwEeyMb_lI6L{}`^Hn zwq=o@)v(V0dTv8ul4&Qq5UgrF0nx}>WiCQOkbIk7!9cF7YNA_{m z$Zlx4a>$v*y1uJt(R9xA#rJ;WrU-dbfXGw-Q(hMmS;o81L9&^u_~eP@hkWdlf1TVz zw)%3NOhPjoX5J0X-+Ux06%4RmUup4j(F%G3Kgxt86O5yHHa0LcxVs&cN5-c}${5FXZjTTMd+8tQGC*o)-`@du8 zzb<|3e}@a{{)K64yL@0X4rbksjbohoV7SiUO>EHf)YCRsu6XILlluAUaQDuXi!m!~ zG`qG=?EZpi9?QDxnn|=h;NqA>^kwBR>E~7dweFa2hgO{L{q_CnE2!<8q4@7M5qraOhMI8)Tdv#ci$W;)wCuVx=jEtI-hv!)P z{2Ni^N5d_jTf=g7Mlrw1yw~J_b8kiEUOv%Bx96?b*1H?8gSAzVXy0Do5oFaa zpJ>n+`VlH?+*xn>^8UJA1G(B%M>WW~T;I+hyL;O7Wiq#`uGaM52m*_BDhMW&8#sBy zChp^On3+o`C~VB=cXZvDp7#n_6WKitbnLyVwpBgf;W%D2)k0qPed0LWNpBKm@$M*_ zI=HtL48U|wiMWtkVcIU=$xQTM|DP27?@vqI3k3iFIrbp|JZFXGR|6p^abaPFJkgT# zS!EvZs&ILsMXYpdtAio+Ves|#Li`zK$=`ai(&qQl@G|wfc$r7eHoBQn?fjN@9Q;`q zulM4PQs$Ys?pGAAH}@0CMaf%P;i5h-JIg^&t7AYQ{(41p@|zaWN$sma*j|wq^w=$G z&(GrgvkhJXqqz5;zv&h+XWr}l)&U)Qb{f||Wlk;;B_J;)Jw0o9#ywg)K{ zWx_V^x8fEm)(&gC9r#Nj{5MCl6EVa7?oEOL@3ozRe5U)$DIxJTVcTJzr%m4r-M%hx#mwm zkMo2&ymXUZn#Y#`Bt%}lZgT?`HT6*Mq9dMWuwDghqQgs7$#}t#dPXa))})8@3u%7% zjMZT{pLCtv@Vg=x7ZvSqlRJe~QvyfIgE|EBt_p*`z$29A7XN`3{hk!gXg%1Z5gr<$ z(>+_~i>M`bpkzDvb8i5w+l;rQMY+0FD^0+x*=EqlSztcP)`}Ey=v>|PTX_mf%gwds zUr%kbf-()|dNEMZ8}W*0ojAza{cVIDJv5i4*~1f1vFpr**O!o ztL-|?J9HLiIIL8*cs;i0*ssT?8v&U8Iy>j0635;|4e~K>y%|i7U_;wpgPRKW|3_|m zar8P7ou2r=gA4wDAt&t683KX9uc10?xJ)#o1Z1Y_sPQz8%!s$^ zx@JHSLsZ% zT9i9m7~*px&1Y+Z?FqF<;v8C}^$=v#Q^RMVYdEVv-Jgny2`d)8TZ zbf?{Kj7r_)|Cdi0p>O{;{^!Kbv51a1toKikQ zj4esPh*r6!K`_eQ0^PkUQ!8elgdH5*+~ia^^N$-5RyHtJE$@fAtT3)+UsUR5C2t*W z7mJ7vy45qjvxq6|i)co{&}dhSzOn(s<1@+l;dA%gf4u0B{R{7TyNduPp|97lz^hfu zR%P+-76l%em#ou!HHBauY`EI(XWLjXLApTL>ReD$zh>4kWC0(J%!AQqq2F1rh7lgB zBi%`j41&|MBn`$;9_NgkH_)z}A)e*M3YGy?H!tw!yQvcnR`4!3wJ5i-qC1zOn^o1M z(4hz@H?m)0FxJs{qNTVL{NErXFZcgRB=1^RADC~)`#)ABD4Z7#XH1m39L9v!31Fjb zohH2$X-?0M>egu1%RXb7T6je}QhG;{h0JOl0w(5n9&Seb6YY!&p zMQUnl9>88@&GforI6XUL>ZORd`XSP4W+{bqmmPY}3`F?fG>^0QU964CTPlHsb#Ova ze=e^RWtKk>R+)L-R<|uCKwLs~n*P(|MW0yUxy?5V!G}g~>E)MUNK# zXVL@+gSu);l5&iaURf{Cve8~%y?ov?Zp+drJ8MFSC1nhEsL&*f?eb85F^&#}$;4&R zTAeT^^cTNl|B#w`f=2YXXCr%j8lZBhVR@msS&tCFLYxh5XB>4?x2N{Iu`y07Mgx>L zu*MX^^+Wb4Es!~vzMX9E)gW>DF(Y+P=BZBnzc~JX;N1UP;#;!S;H)47YeYwenpQUh znBd-~c6RA~d;Qkw_8QBw(;bC>H5j1pSj{SE&@z_!6cuR{e$ae9LpZlgCv371!-Z{= z{b@?;uXF2Z#0zFI4imwgNYq=QNdg$%hXnJCxf`a}UVGN?l(cXiF=%Zm*j#{Y)EE4) zt>d2q6k2#$i}__gOr3-^r$uIWjp&HvthE&L{wuq%^wc8jSV2aLf6uFGYsMH+mDePc zd#*0utjda;5OT2Kf!mJAvx+dqNGJZMcjhQKAs-Q^PehyPQ*~>S0wUX4OA$NYN&c4q zNL~#TdP3UktT6X{G|E?o<&uH`KfYk_&IZ&pg8^sAzrYCkL0T|&ef0co*J3#}O2SNI z9Kwwgf-m8;+OY+_ZNOs+Ud1|>DUVf0vY@xb#KE!O?K7~GQny2>s(04XA9HSlx|&xv z%0)L7J|hle&gZJ5gxR`^jb)hC*jJHekeAhoTdV!o@?<`u>C4 zSk1|W-=eGYypZQ}Kzr*TtM1w}w@-c>3leL-*$5k@AtH5A6O|KI(TU|l`UZV2FW?uPmNz5_D(#V>Ii9qupCr{B+s{QL0NtOdXO395c zpv{R1JDH&$y{fvnxW(xhfgW2RVYgY9;jV$uNYP20_r!K@J5d-MzN|PaWt7z$*YYZm zAtDl>eM`b2W}XNA4Z=%*qN?&}rq(cYIUkVd6X*BHzrJxR=bP9tu0__u5AZrAv6U= zk?{|2+j;v7|cO`JXid*q&=p`fD zdPAwe7%x}xATNE{AW_%I78Ro5cCMEuqWtWhL~ID%FM}4v z)K~3MHsprVPKkE$K}R&DN`b{Fe`E!k@8HyiYm{~IgpBNu76u*D{uT(FZ%e24r|RI0 zWdP@n#_4m`ErtV{S!J-x&gv@hM85W?R~^-r(T*7G9smwLri*?D>eCpQ3@$(Hw{+36GNsn`u85LDmSx!Nv*ySRW*TZ*|VG(el2BTYqNA z0MYU7+UFy%^2F|BrZ}o_VH~$-JwGtlJLu}8`uXpdt})aO9L0U$Md9fum2fTk+r!p_ zh*getjI0)7Bvnx8TG()7oP=7z1bTcr#u6^Qo?cI@%Tx$&g@$H$M1%W^ zT|X#Qhv>`!jJc!Mw#)$28;U0G(b`hIhJQU_K zQ=TLa%5r|KZR!UP`P=PMnFQ7G6+?Bho4?H5Y-Ig@KCj_d(K~yBDnP>;)}RlG1ehl4 zu3cFoUPU3_ZIzRFJ(4gUFRplQe)vH*{$2IrmIt8#lOb`uqF38m>e9!1w2*dWynaZJ zpu3{Sgg4-sghccIyamDkszk_5@P)CCNi`jT{wE_l{mBT4g5|kpa^{`alzZv*>9)$U z1T|W|`*?!r2SO$7A(RGja{nahx6n_9B6D#~gDm96ZIn^I=ED8@GdP_Z_PAm^cV$() zZOJ5EqDw8z2u_*P*6sfbfKgQ;7ye|?_)8sQFRUaKy$Um0uZcOq3VFwLM9)P|{=Vg+c?8{bWda+|1T$_M|n(AiE^iv?sTqLV5J^~IisEq$lTQj2cNEf3~hEmVZ-zy?iHA@Ac<;*+FP?BP56|T*(0<>#J8)4ymhO)@WTEPfQ zb-*`9>d@=%BOuO1t>)J+*jjuekVGth_k(MdP6i>$TZpqBnd=y3B^Yi7ZoXMaPE&gx z$c<@(4J)I!={qq9Y%qhY@~=;I+<4Wt?jL%(NS1z9Av9ZK63ox|!?u(REy0OeAIgXi zV><^?w;HRO*?r zUR4UcwY`)9FJ6X<}Jo%NGkQV!hHfuA=`|s1ad=K4&A4pbwA9HWjvR zP_4DJ?n*ECHb(uqviPg4S$>hK8l7k*_?a&Ott*A+ATjv6y07EE7f zMPYfU<}oBO3L z9k9<^jH&nH63f>X;*m#;eLGwjfFH)kVkImpTCc0_OTsD;Fu2B`Hde(nZ;C)CkP+lt z>!0$qg?sP@>(`_LvMqzk>Oz=2HRs6>!^_s=5AEo|Pl2+S=}QZSjKt=!9KqGA@3x-J zKN{)7?pVrg@wqWhe{$R>*Is@N5G>9m(S(9w5AHi(J=@cPpQQ9KB4$+91Gt+4#t_%> zILrBM_=i5OwYkdw8vh1NG(yNB2qoDzRj#>9&1T-!MXZ{+A{qDQ^Y8lCw_CRkk!olewF@^? zVVW&Z2%UK>!!wYU)~ztdt|$J>1b6KZ;ND{~VPgBF(sSZr&MhoKg0Wb%?LZZ5d9|<@ zHZW~K%jf!eoP6>qk4kZAa{IT6NF(BlH|4*J#O1XX#hHI03&*71udIvObd)Y^%qQ&j zMz_*S*E`mY3>~gAzy4^0cuvhBKigIYXFb~jJ+)5`V74jXUl3s>C`}vmcvtMINi=_% z#l(zj%^b2OtfCp2sMF^KHgZ0gl=t7a7am~Va!RV90jmBO`}%{l9Ty6%-b-kpRoUol zW-9kyexql5z;o2Z7E~D#$8+jSgsA1;%*ONpjQ{ZhAjUjnQ7rQ2JT83Qv42ecuAxh( zeJI?0TZ0f4>q7Y^!VU5DooE^6{YJ;3m- zNZ93z;{xmZZu|=6?N|R}`FMr+@MZxgZo+do*OI*0VY-r$wI$Bs6`5ESsSuz`oHIds?7H}LbQA#I;SPXCMP?LB)@Jq@eLt&w)km|YNb6}xP8dG894%dHTCSCsNk zEszD(xHe)yKkTo$0~a8d!kTGx-8$~!rKlDWTkAr{Imgs@ns&i`Ku?ToLK-F8 z^Lzj^j0Poj`+lC4)30q!^}_r!8m2KsT!=zO$+{T5%(z%-%I>+ z`(@plSaa6(LCJ36-*!flA?`*$FTZSwpIx%#`D3?1@sxVOx7TEl=B;%TRq2xyo(!7Q zQUOtkDN56{%!n!FZxuR6WL}k79|#B4JLXgb~ikRMc@GLhE=O)P;bnD^&T*CP`jcg37vmssMu4#-;4nfY)i`t)N~@cq(t$OQu% z=yy1=S4@vY=$v8I7I47dN?X8BCF30v)G$OpokT1<$2pWay)T&ajPrU1Spqsasl!mR zTiw=AWrOF=WT*sb_@`^%^U)~Zq15;7q-<)r#7qKf4nDEbB}95drD-s60+l|Gu_K2v z9l^8fVjx6O)!zy7aQ){?{17CZBKOdSzWiMFaBjg5`{)ShK5Z(6tvN*Um^&?Bs_$Ap zCbIX%3*e|_cxo%D_O99apg1ljwlvE3Xv&U;gh&G*Cv@}*9@3MFP`|LJwM~(PmiUVu zDM2(vx{jBQ8ho8}_A9zi_ z&dgDK#zO|j$;JXPOfM18Ysnhq%{C(dbT;KlD7N2>G*6GJ8SlDIXf*IEpH)ErD8 zC*T=I;F~{u1d3A9F_yWw6#PsQ^8K_yJ?wO>L9pdhEPgCjYl%IrX>Y$Vj!&1-@Sy&Y zK|IOjtHvdwx?E*g2_NHY#C7ACkw5w%0^vyxqR+fUuJ89U_lI<5`b&*ud?pS0Wal0JIg+hKy z63_P0(csA09g6kdAA2h^hDAF;$giv2RY{s#C4xHuU^Q`|t)KRjPc_IT;a~Z6e`7^O zO2`mw2tk+Gb?Q4&Q5O9Tm!?sz2!9qKa(qE*>znW7{RmU`jduvq)~}ISP@@j5d*v;=wBn!XECX zVV}asL6|o#@2lYyDImB+k?T4S_`WJmxBEC&O7dp>mL6rA958XrEXiV)A6uX265u>) zH(@1oeWc&nlKWLG!v0x^AKv@hq2tdUoC77Je6kpt_Sdq9BJu9)2v|}6JOn2 zidJ$-)~&P1UDLz9us}54@q$-WJ^_AzwTK}<79u4K&2|`zs>P!R6}M=O&?0amYt~zD z9*edZ=hO1JY)9h`W(EYpmcpFgdR|SjvQ%|cD<)n!HPzfaz*jH)Jk>Gp<)%xForO>m zWz!(p^7sJKog?7g1{OTUZFXNL8lm6GfhD|@6Qux-> zT!=Q+bOE)4(?`IzMhkp%wuGT#2`QDnif7$+_YR4NiS`=fs!!#ei_rE{&4H7ht<+JL zueH01<0{as68+jmo*7T^!qO602C@7f4W@5hCZZn`E9V`wpx}gnr)=)%0Iaumu=W}% z6Krgy9Mq}De67q`?`LoomAP!_?X0J}j;rkO!8Hhm?LbrQ#hJZjZQVuUloi>yYhfT) zaOjt6V%BpX+_ZYY$xsT5^finh6yP3cR?jtbZO80=5eA950mgEgD7_gdHeizZJ z04!4+%k!`S$T)aE8|bmN)MyFKl}CHOL9`hls?gQ(B}PZd|2WhmO0bgyHNn*}iP-^) z_J6dq1YbGC{U~zE)EiP7qmxbS|E)@|Kmn!bJqB-Q4x9qWpk={;bdJ4BM7W;+&Qk7! zrsj&9$g3?B`}dVs_9c>?r67muE=Rksh!}ot$rTx&xZlS#8We zYWXq6-F6*a`+`k4(#Pa?I=jcW_V(q{OF~Jrp%Ibt2^(S0RUxt2R#k{xM6vwi5GVeu zi6MgygKFwjL)Qh#p-^nU6I}f-EZP+OacRKJ2uO#1w&`)4^D`>N{5>n2l0)v zb9S?HK1DIzOBj(ECmHS!iVRjaH`*2LF<56?m=Ps<)vbs(&BlZCA#Ihe%t5OEBqzk$ z1g76fJ$;0G+Pz0y{dCm6=GbJW;`4^4MI!C( zUw-J$T}U5yZT}1;{$37eZ){+OgN?SVm?H|G`}^c zF4cRgHU7aHl#uUpQ)M0&)QGEf^;y1}we?lb>?em5PxCoYFWv6f+&Z_vF9Bl%C{t!!LXi+Gh?fg(n~0vekP#k`QLgYWD#@Sr`l;SB4-#V6%+{tDDayy#nO7Y5cO>Z)( zHO3m-;f@sT9H`Rk^57qiM!r*rWWQIW5XBcqO$hnUyBHPnJ@1Qj<*N>>x8KFz+|!ig z4TGcUGmf(s>?8l8s{4A90saB9lx+o>I6@|2DwKYKndN0*nE z4Xo*7Ak)98eFqKnvp4wZ_{AY7k5^5ramorAwcqBTpT`=F*q@UVn^t3{?d2b02Vy0t z|H?YdCj1xNw%)_bE!}pXWI4-Ymts*%Ty(K=0n^tO6#IqcK6=h}X~{$Tf_}N-+Iv#= z<{;ml*l(FpZ0X1Oibh=cq_1O zky3d%-#A}fdsaK{XkJj*hfbS#r*^@eW}e~1#y4q1KjL8qE(?D8iLI`m#!5)3c_&4d zc8|~KT9P!tm01(HiA)qD^H=A)u(&a(nIHXBJ`KGBud9|SkxwXwRuRMt(@Vw);&7zJ zRT+lZv6E}P`v;kAo>rjwlaqk`-l2N6DP1ddjs23~GZvRchx2#NZXpAm*vjB3XWzC=o|aCzRooy|PtzoxorN6 z|N8pKIl%>`(SXCjG|Tu^AR%)_+$Q5sA5tinv)okIqMvkPMIG5Py`gn1f2~7vHw< zAfTV-4vlh~g+%aDtg_ze;qWkNd7Yh=wco;ocdz)F^C_2=*=jMV^}g~1WxdDQ^drjt z3>z6SyXE&rNS)q9Wo}&7oD@x32}g}qfLBrhEi31t)C<~fTMDscJOz3jB z1(j$y%GBt(X%rs3AXC4#+#2GI;(#~R{3YHd?DuvGe&pBOp-!Ryv!^ywbi&$a7tNRr5_i`$^e(R;CnxX@cwdj>C(z6r<{q)yeDRH|$Y-k#C@C)gJIpFUx`WId4__&}8S|v&d(Y zZVs_{sjIk#lymMw;D=wY!-2!*>rS7zd45qRpWKX^q~nWNLSynbvsAY8J8(fs{XTO| zo_?N@eC^Rq#tUie_atiz(AGOk?4-BJr!Z&bGW9_@nFS57S`Bi8C#{6IL9hlSbyL)KS?#nmm_;_eQ?-Q639V8LC2TW|~R zZo%DMgG)oO0F4tQI5h6oxCG7RKj-Xy&%XC*uAX1NtXefoW{s-BjW-5cXZRVx=QxD> zseZrgb!=Y(Q|`wNKEkG^U(Dwn+Ul27n{vnIW2aZ{anc34sPkiiGt6wfXZmWzGp93D z=m2S&=&&d}Rt+Bxd&E@%UFjrabCd1ey+;jcplfT#8VuUPECwM35NA_H;SrLerXpqX$}|S3xmx)^10lNHE!xg+v%eyEL#?t^+pNmSG6W zqUV?GF8z)i*I{0M?8|DZAEjiUEn>Aw!E5)G;FB0BPU{{RQ~mTyei5O?YdzCjRpif|~0-RfW?< zA%={wy8G0ztL~OSoHi*sx2^uN>y}n{(wG|uw$TZj!a^yw`K7Rc^Ibj2o(Z$dq62u7 z1VtR9vIvrBCodI4R!3}4WzYJ(6|gU=+R-D+1n^S7ePhishZ7{ZOazL_fEYD8Ygw?6 z@XMRX+Wqxbr>L7gj@+T~iAsOgsK$X9X7c^mr)#=%a^KLs_l+71S!{Eb$Dp0D5&n}i zcfT>xi4;nz53UM8-HS21Q(@Ym^8<fB4w-PaEIty2^17NuG#^4IUG8cl1xmqciU+C+a@^ ztevaqq5gDIro=oew=#1FwXU8~@(E-86nanfn7(SlK(Tc-fSxm5au1=b8jJCN6-$FT(cN+0(^S-F`R3PSKK zJj4nzVB~9tq9_*U!iEII_5rJp*9;8R^lLOuaby~QIc4kG&uF)j_p9yKn)1mL!`4Z_ z_n}!oY&ezUHQAxDZt41sX%3=!q59;Ue{OI8IKuMrJ9SBk+V?n!5EHsKRuK!jPKQ68 zgrAlnzg(Be)&?~u&nf<8On{viTMA5nPUrBjo)@EK%pX%Bnf$$r*1w{#l-5b~^r4RX z(nT;sDuRnRjo_N?H}_pFXp~=UMG}upF8=kU*>=7b~1x~NhV(bw>WA1vz&)loYw@R^SHh$m@ ztlLY8fy32z?P(2)<)y<(LcM&S1oY&3cwTj}5zm$0MYWDG9~jN|vi)8|E3eRSBMXrk zMEcfA`x)MznyIynP2H#MBZ<>htP96EOc;c)(VsLp0X13m*=u8y@2>DoVdWOT z0%Bx5s~=bS?le3_2f-CH!_OBg1>vyo&Hjp(zvjS$^PriVZb*6=B%1k~S2B~GYP8Ubsbknw?WjH@yn5SD~sqUdh;9~PDclBy?Zd_V`a}VShOCB!mGqU|Z zRbs1bz=jHFt>lc^`e7J0GrsHz2M_*2*ts2S>ZUuWYUx|0}Es1G;Vp_+VQ#;WD z$nrHrRAfnS(##O-*EMuMf#!v~7Vep~eJd*`EYl)?2j+>+BoSZ?+h&pVV=nM3IF`72^)+4tCGIos1kekNj}@HQmsRXzj$4H;h|PMKfZ zA%oiS{Z87OeXTtYO{XegDq3;vQtLyYbX$DNljnN@H&y-?2%jJ9_xmvc(11OOwpRw1z*z;8^wlUy>wI6PB@fB zeO`h6xaQ2TJ@UP2*!Tz8PC7=R%t?T$aa)uUbaeSW2JI6-=pdQZd0ZnIWRH3q7oM*JZ zeF$d!to^{OtdaRezUg0h)qkyTMgKr5{`E^tt5I-F=? M7-gmX-gFWI>!rfJY8?3 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