From 1b1bedff365e06e0427e8a1bb2cc147cd666f5ad Mon Sep 17 00:00:00 2001 From: Wanjohi <71614375+wanjohiryan@users.noreply.github.com> Date: Tue, 10 Sep 2024 22:38:35 +0300 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20Add=20api=20(#112)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add the api route -> https://nexus.nestri.workers.dev/ --- apps/nexus/bun.lockb | Bin 43099 -> 0 bytes bun.lockb | Bin 371024 -> 371024 bytes infra/api.ts | 22 ++++++++++++++++++ infra/www.ts | 19 ++++++++------- {apps/nexus => packages/api}/.gitignore | 0 {apps/nexus => packages/api}/README.md | 0 .../nexus => packages/api}/assets/favicon.ico | Bin .../nexus => packages/api}/assets/favicon.svg | 0 {apps/nexus => packages/api}/package.json | 0 .../api}/src/image/avatar.ts | 0 .../api}/src/image/banner.ts | 0 .../nexus => packages/api}/src/image/cover.ts | 0 .../nexus => packages/api}/src/image/index.ts | 0 {apps/nexus => packages/api}/src/index.ts | 0 .../nexus => packages/api}/src/types/api.d.ts | 0 .../api}/src/utils/create-avatar.tsx | 0 .../api}/src/utils/gradient.ts | 0 .../nexus => packages/api}/src/utils/index.ts | 0 {apps/nexus => packages/api}/tsconfig.json | 0 {apps/nexus => packages/api}/wrangler.toml | 0 sst-env.d.ts | 4 ++++ 21 files changed, 37 insertions(+), 8 deletions(-) delete mode 100644 apps/nexus/bun.lockb create mode 100644 infra/api.ts rename {apps/nexus => packages/api}/.gitignore (100%) rename {apps/nexus => packages/api}/README.md (100%) rename {apps/nexus => packages/api}/assets/favicon.ico (100%) rename {apps/nexus => packages/api}/assets/favicon.svg (100%) rename {apps/nexus => packages/api}/package.json (100%) rename {apps/nexus => packages/api}/src/image/avatar.ts (100%) rename {apps/nexus => packages/api}/src/image/banner.ts (100%) rename {apps/nexus => packages/api}/src/image/cover.ts (100%) rename {apps/nexus => packages/api}/src/image/index.ts (100%) rename {apps/nexus => packages/api}/src/index.ts (100%) rename {apps/nexus => packages/api}/src/types/api.d.ts (100%) rename {apps/nexus => packages/api}/src/utils/create-avatar.tsx (100%) rename {apps/nexus => packages/api}/src/utils/gradient.ts (100%) rename {apps/nexus => packages/api}/src/utils/index.ts (100%) rename {apps/nexus => packages/api}/tsconfig.json (100%) rename {apps/nexus => packages/api}/wrangler.toml (100%) diff --git a/apps/nexus/bun.lockb b/apps/nexus/bun.lockb deleted file mode 100644 index f857839b34d0f2f9e5c82954b7e7dd2c01621c27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43099 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 delta 36882 zcmch=34D#m_dkB0n|ryBEkc602(?s1LK1NkH(dK3MC@vb2rh}pVqcO_6!mHJsSavO zm5QaLXsD`E)v8@BZS7Rs*y&>D|2{MG+?%w~Prtw4_xJaD$(b{A=FFKhXU@!==ehG7 zJ5k}-i3(Xk)!RA4eV+a2-Gc)zR< zM>+8cNB%2-S5L-Y#J^- zWRIW*A{df1J~ciCM3B4&@IQ+Q*bh?F1b!8e_XMpIV_gHwfRiSxcng6}$$D=?9i*|* zfVBX-09FSKBAAZED2PK1Z$kwtSSaB*KtJGF5RfEpfmTUFy=8v5gioOX(%?i%7Y9f~ zbrJbh0ryJSOKR#B2`zx>q`K~)BGrWgQiHX?0K#SX0;lp1fs=qH6xIUV50%o8j2-J7 zilH~WEmhnHQqqu&1WvYd3cZ0cG6n+2=w+0VJ->}i>S*O+hPGVtF_44=@Iphx;Coac zII5;F%G9)!(PI-0hR%v$+y_#Su|@&Hd@@>V(H<3@txyUp%NUuI8c$-qz<(G~M%vhv zAxTIdtRuMY1f+pl2S@|B6p&1HE+BPlG9YmulMAR3SuBsvqh-fh6iZ0Z7%9xDTu0rUhc322h=aXm3UcO`7nMBx5_r0=gV zYl!|ia1!7b(9!r#N`lov2*bprv2h~+n@0-5Ie;|a#{j7Zv8jP+u|pE#hiePWuXgC* z5Yr?Oki;zm=m&VOnV2TW0jmQaJ9?-y&S@}=Zz04#Z5Pdc14!N2ttrL){I>z4wqoOw zQbt3DMZjsYU1}waWMFGy((SYk#r)ELY9n|o2P7WO)WG2hNka_TZ3UMsnIF(jbbTgp z>iUqB*tqyqgW)0askLV9Mg1&5Qbp|OiHWgkaU)XVQE^ow3nVS zA~rQ?Jmg%_Q4H$;zgF8H&IwjX=Kg1_&RMQ4Nr6 z!yxm|_Y`ZvPC%?~AsI`NAY+;;;UGX_&|KoR0I4Ar&V^shfOrx03CU-&zz#WmXSi54Zw-p zhqB(U$S1myseuz?6B7)vDZ|IarliK7Lq0i%atQ*O0pYPaW~@X4{mXC;ADxr}kx9(h zgj7SSy-^pg-j4uV4az^Ob#!nuGX$k6!sF@erhLv2~FycS#1uSURlAzpO} z#{?!M#l@z9G{KqZOfyv1vP)J>KQ}>i7LFqj<2d{{aO%_t6NRw90aBa$1_^xKBmv7$ z7M&UaNHQ1!$(h%fBI>Jvw3pZmNG4o;s;D;skoYG7qF#E&AE@Y!jNwURV3Y>KBQ!t^ zw@nkquuL{M2axEtq>KEufW+vX>7wDgfHZo;l2QUOy+(A*6y>ur#5(Qyx)}4BlI}Ec zA6njq&lC;LMg?lPH*nH=TR`ejQ(1lx6{x{fFrXe~fu79dHQ+RN+DI5G%Y6YWBVPd| zP22>%58!z~5)^AgN__h8_z8!QK@B-mV^dOMCmKEhUIF;gxgx*bJkj&D$fpLE1JaNr zOS)J<61XQI*{dCp8VCX;drO@!@@oO7dSw8K{{v_yoh1Ji394}8Kca!tz^R9O07>Ev z5-tU#hDHHe0b>BEXOl5BBv`3>!kd(NTX@r>3xu=G10=dEu*fBs7aP4BDc`Pky6UW3G{<=fi4m#58^(8`4TOkYy{L_2VM8?LY#A0(A zq1EuLm|khQ$W0p&KbqX3LEH*}d$RD3A=tlw)zrOE_d=EhMCOyNlN?7PKWDp~rAY!l(TlYJ%LdNP3#CYoTx=-+f zpwyrRknBd^13g$R>_l5C@*k`b^`XA_)VTfz!%P&AfusPEgO3IzM%>FocO!t4{&uew zJ?JOthv$g=F` z14yke1tfjNC8SQEdRf3}^#9x_rvo6V>mnfK@0T!SlbAo~TWmt?(DeA)$S4g0FF+D6 z1B^%j-AuB;+!uI9K$=hWa)q8M0+K*KOE@$sEq?SkgFyjK6ZH0GQ9cg#Wd)u(adg}$ zc<$-jgjzxXy&z&nr%yzK4lUQKVtOzz>Tg{@>Stw%mj)y;W5JHZPy0%T==^5)}fxZl5J2NzJ%&6fy9=1y` z+z(h44B}H#$Z1cQ`nh1Z4f$TkFR@#6D{e$=!YDNG@7AgqLxvw1Q~-mBJz^iU2atMf z+bbB>1*D#CLq7Ge9w6bV@rmOoBw&<+4Rekj8i;*lb|>%M`GCadq89C4 zF+BwsDXu>t&G?RhG%`bz;?h!_qvNlDYbD?Z0jYe8#BXg8`CkE&6uO80i|5TagL0Ch z-)YgUC_pm324{Hvkr_>pLE5elNZkneUWlgwl5NihECo0LkVf#eAA}&W6XFALVvDaP z>v;oGw{p>-H(>p<(kB2?{TwaYr=nU-=9biweJZBk{ZUN2?*M6R-$7l1sem;A>s}Of z(*Vl?uOwkw>=-(Y8hkDZbM6iLDk%SN%TpED0QE`QM!lD6tvMKyw(A2@XKHA{6)L7@ zUK6?=3rJns{IkFp0+RO_hI~?yzDe#a@s5C`^P4}3Zs^lF68WU^s(^lg%kl-EOhD?+ zQ_zzdRqv4 z=ncFw@IAm^0c-`F^tl>1^)L{41;E+Bs{vM&xKrXDl0J&)(SAllB*;R%0I3I0At4EJ z4Uh)xN5GPRaY+eDDd_d3hoa~89|=|K4$uKQ(v%*W88^%cd%|J(vEaWDkcK!LkcKXG z-0-BPC^y`EA~LQ3lDUt6DokofQc}VY>_~Vq# z!!?(nW}-O-NJ1wl3Ll2!fTYEJfYf-D_NbCAy}87aObQ?L-vFr#`GCab2%r_vT1??8 zDJJ1QzFX_NC#3DNLvWCWw& z8lVc;s+7V9`F=@-52nAwEr4XcXOT~1vloy&Ye`SR_<9*pegu#j$^#_2l@iVXq_O@4 z^-9q>VzHNK@HiSKE2;;{spn(L3C2yziwZjc$(q`EE8IFqqo-cL?ZBz0)lp7XX$B;X zeec72n6U+PRPQSIk+lv1r1`m}B05IaH)*^RAtHkzppsC1RX`$G0Rj?eJ|NAa)6V7WR2-0d0br5SPE05p&?Rb zb*X{T)kM#9b1sd1vW-8`BWmzZKf$n5b&-DwIL*65fF$^K3E!9bS5S}Y7pRxcGg`hP zBsvZPk`!?WtWv|V;TA?W7mye_F;&QPMbwp1o zURq9sLs_Tg<8KwszllTXtvT^`j+WEJVSZ>qtV0Xj6lsDzH`O*au`B7C)9x@o1>Rk| z6=7GpX!*bwVU&7lx9oPMrsj-vsOgxteITY$yVt~~o&nZP$IP!{z`9Uf^H`)>^VD}p z_28*j(d%wnVADtw5^Z@Cw>4)ohj{?HjV2=O>bFRB;p~zRhFhSmwmNThAh4D?W?l)b z8|PZQEVY@~G17zt7u@_IPbD_9o4qh#AZrn+aHcW zi7XB?Xoi;9f{Dh4TJ>;?vQcxkbXYDSKeAAMV=cd>!#oe8AE#|ZuXn;Pr;;wsK`=F^ zcB^%y1&P5fu^#}7<)kw(?W1|>BvOO91dU*~D8*1L)co5x%)bHW>Qo27@?A<-wrTk& z^~QW2#2ZURY5?bT45_Y^QvEQAI-^}hyBA?oM*-{SlHx01{k2f?8*`?zoSFV2i{(nSqavhog8K-oU72^w;}~q2fSi1yv8}q zMyfaULA`*KFr8p6+*DI%{D$TqcmrfkZQwI#p)UiQ9KocR69yxp5{b5lq*_3{?^s}yQeFow4Ck^b$*K1h+cJoE43P_ww&D!S1LGE&l~Sb?Lw+Gr&Ai~sWz_E z99QbFo>INS#Pl&}$#$DM6IeGW!$S+67Ov&@bts)R|9%eTKbjMNFK9Xa9Oha!GB^yD znuZjPkQu1k)ux=$oc$e^0O%6^bepW&A34O+!2Q{JV8U>6``Xldz*?iMm=+vkQ^O*J zUr;oZnNtbVHg>R^bCHVF0{hvOTbgr#Lv0PqAwQvL!EJ0xhL%6Tq3qNA2Rf7zniGF} zYdQFPQOh6bFqZ*gh_*4>u5{9zgB)fJcvCV6^$JonfsNFf5~TSLb|{lI=U|8WJ$7Xf zEW^a7c3HS8s0;E3KMdFWV;#ynnlsj69_}FbkQi$>??BKg6NT(){Bb%9olm&Y?bQA^Hyu4zQV9!2LGS60s6Y*8GP$lr5SQf3ImdLmjGD zE750*1~XN9Y5wuF&^Yn;k(LwhP$xo--MLPZo7vQZz&Zl+&~k^`6d%nw%%Mc_zZ>YU z`Boch2~NZEDh7i_z~y4pQOIeG9P~cQW?l~rx{tG~zeq}>mKBAPc#-#-E0u#(Cr2dOqZwak^e;!3?5ElZV2nlstqdl+~x>a>Ax`0-c#+o|nI zepPJ*TOb2~N-zY|fYFe8&_q?Y0t<1e>t`(|#i3S+F&KhG9;R|@%|F$lEYqC$dsE9v zb*N2x=qjewZVE6OQgDAgTyv&5%y%FPra+qA+_AU8&{w-PF4BaA$a;=c3@?oC!)FD^ zK0?aL^D6e`a|U@6kiwin>J(DLc`6bsVmwb}BQ;1192;rs&nF(p1|cOXeCEotzDDg6 zlQg7y^VC74>{?=!UG*6trZyZLj4=ur>BYbeXNKmS=uoz6ITIb~?cOIF7>ZP)4KpE-=hLa=wu1S70=z&WDAY;ynZ!(5 zE(|h!gy4gwA;>sj!dS_>Z_xawJB-gqXd|aLQ-htN2uw0;=Hb9FUpm;;Z;%orLj9^Z zQY#4Kii>Zj>dM2H=MgW+yVqHfRWx_m&;VA*p1}L$!FSP@Q|#>4F?mH-=(oxCIDF zg)IZdbFajNom$d#i7_tlRQYc@)Q!j^vqbwDHuVo+4S8+oMy)+o=S7AWD>3K?+nr^= zNc}Kp*v1)P(i^1MjHSnE>n1l-TaMF7P~9>G7)j}tdnUChm0nYj3aLWW;=VV4sU{nNYhuPE>z(~uOG+1P>18WToBM@OT z2TddkAgiQDRn(Li!(3owquh$sXTV6Wuvm;}#3WIMhEr{7p2WCsu)H!^j+nmus>#R^ zx+2?H53D2SM0%`0MYIV$Lh6yg`iNHg+AJr5bq3~k5`kL&I}UZmRJ{)QwmrZkcVJI| zb#uwtX`1djXeLeu)M69-!KU^BCOBYXnfC+3IqzPi=41|K zwU)yi>Wk_6Od)%2GeZmsY#rOHshV?14 z%T=Gx!c#7c9B05ALespaGG22ob(p_HULP%Ssa*-s@_|pC1G%-pg^?B{!bLOW2!V;= zB!Sw@)omIsllG#^9qJ|I5rx=sHJhiamv;XD(ejt0Dda_JiFYF{Z$fXJHH~Z>Fflg? zTMtZlYLfT{u(qIt1wvE7^D%;4Q|U;-$7a~o-AD-FyW?2EVqyuf=rkHGW)&DLqiaIte#R0OsE7)M66A14~$eIur=Q4an-)$-Rn%sB=GxY^~`jiEe(^hk4Va45&MoDB{&YMIzJVbOfgrY;9Y zP83Rl37rI19~jgQORu?HpKRn{6M+#WREBNdDpwf^dl{H;FK}_@nkz6Hv|I1k;VSY! z!g&gKd)gkT%~uMJd=sHe({eUB)LqD<&14BJcZyAY2rL{J&ODHyVYW~LwkN=51EW^3 z@HMxo2V@z}d~ho>-WQbotfcM&)*O^*r>o84w@PTQ1t$TY!=B!z|hxZh`T%0pdvtup|Q`LYH$;HzKDY zC#Io453Cz7tf&z-OW-=uZMSfvkV9SP2V-Tkmb2ZVUPfLJ^01mZZK~&b(Slg1Isv0H zZ2FdlTY$9S2yJyf1t#?dXJ*>Komr$^ZI2Z7SS+xcfl-5eRFvyl{-+Le>y6ZJoYR%p zHRn!;YW_%Qn;&h|PQYm7U@gfu#0~sEbEwCVM=c|d+05-Xk^4%-Ie#@$WS`=gabEM^ z(*$Rc4brM3%mfh&XY zbO9Cv!iIz?2-AP*Q0MFrLxr^qLv;lhd>qaPbw5Q-YRobcDU!%-DO-^vRx|Li+||qV zJ(juQPV$+wdd)@3fw~ytFKp@wVC1%;_~r=9edSQQeO^;BhUg zj$OK;kb9d5j9N!ohj0^+A^gbD=5tX6wuL3-4Pay`XbRoh4-Cucmv(dI-PA3l)Yp(A zVPNi^phIA!QL~1)ljQ_3YTn)D5?=^@Tulh$<{WUSbCE}ah{>@Z7?}ZP=FM=+9ubb@ zI|B7Iu6a6$&%{dh;2jQcfgAQewmXE(nH2*^m^^Y(0 z1%Ni#`-D7V@9hLe@^WvjW&>-?CBd{ep8*D|aYS0a5?bW0RB5H36-lF9oukF`RIvRk}i?Jcn;D5|vF8K{vdf+j; z*@;vSN*Q;3qt!ds454rT;|}we2WUzmTk+L$jyu#I-|8M3Q$c+P80nI4_sz$E_0t09 z*wvv2#Ze!t#Ri*Y!y&mo=%$9~y#IF&b--caX(15KsSC6mkGiZ9a$E%!`0w>x>QDb9X-Wne3Q8WrJS}w*Vp0 z#nGw3aUCP4J_;Bu0itY0K@4F+|1%D?&I!>av1CjEMvl{U=2Z71hlZAWW%W6*KEOZ? zF?xNc*CmtR08EqxW4mk8^1p{-P9i`EdaHKtFg6XqdI1yLoO-9kdLXb#z{qb2>8jTGq(a3IDXMGKhK7{9i_q$6Q7 z`9G7h^Z&)6uK7h6d`T_1iH)As{NgZ&{)&;-0)MfalaRu)^ow21MT$laJK*Iu^HpGo zQGlXGK0PKyE9UJ;;m`=LU-mlr6H1LlYABVe&ygal!1e{!8h%6gOm4g8(ZFyV`q^$i zgcRH}=*!&{D#TRAW~vV`X&YF`*J#cg4tkJ&Bi-ER76wJTg~e|rQvG-fbgX$y`M_Yi z&1~kF+tj1P$#(NwNTG$vcJ&dZK!N=%cKES(bc`1354HST@S*phQ|;C*yV>(T%{odA zKnkOB%dUQm6s>u%y=LJiAUMY%yY+A4@fP&_g3Bo3CRcu`KV?2`W6h(0aS_!#q+EQ|at{#W*14)lz+!dGd<>ZA zOtpvnIE&WCAVr-Kp7SGMA;9=CLA?pAIj^1kh0WaL5hkq`7-LtbAw_ktyMjOb3>c{s zGYJD+TU?9ToVvHk&3fhK1GU%+`jC-%z+2N*{kg{vH-G^=}3{+;g)6DFEQ7=QA<1* zoX~kZ6Kg3koLA7TNx+(*t_YuPr852y{if#s$f4GLA;g9X@C>XcuyF27=4<(n9Lj#p z|1mw^c0P8f;dnWvG5DZ^*eFiHJ2GUeVt0`btPe1*EVYGE;fmogK+6nZ!%*gyHXk`Q zRLROl4 z(qedTi)NpYuLrP5U|e=f7O;W9ToPFt;%%?)g>t6`J+F}e?IF2^t=9#cvx+WJXN)d6^O>@_{tvI7`-c^5}Z>C&Ryo#RB#$U-#V zA*WZt9MvE1ll60PeHCw^6_V338##q}-1{3%blJafwS4%uoM*@xQm|!Z5c4-H4&{C3 z1Tde*Yi#17d>y=C<{s2Jz(_vV5^m{@7t}Z>eNk7>AZIA=1GH!9gBRL5>MgOsWfj$g zoL2l)at$dlpa`W{s^Jwk(x_WwlaRwrNat;Sh@24%6JZ?{L?doN_8}*skZ29@1{%$0 z7mfJFxgTI>Z0ZNV#B_$mTD}Ly#nGRis3CY2PmC!!z)8Rm9mT`BPmv;D z%b)L9o&qDyi1AqYnQFnCccK?`o-tR4IDAh&5Gf+Wii!th8-USNfGE?#Ej5G+;UsaK z>n1VRfT$~xBZz6E_d76RB-B6P713X;B8PAu2PPT`MvUbiutJt$=~}aZo$(Of2Q1%9 z!NCayC9c2r8obnn@;Bg)&wBH_TCane&WqDN0G^HQzYi z-PTS{#yY=+x(U&EGuYk6P0D*aMg~e9yp6~#_x#f>V)HZCwG zDdDW@+s0AmsP+``wsD)hC}!+$G5@K_8YPWv zd$#eUl9)IDePeN>xxkR^x4B|Gbs+jV9j1VEtz=89Rl<#72K- z{s8h+m;>d>pTlIB@^PMAW=G582Xn$HC6qc*~NKN_ZW{~Rh+ErY7d`?5|Aznb$tQfI`;LQ zGRNoIs}~!GoXW`A3P=r?yz1QDJIbCtcXg&k zIe?r}Ah^wrul9&CzA&)rYdktDtytn3(05kEo4B=OR&>9=Va4l4B`m0MP$Sgo%d$bB zB(a@DH$~F*@9#aoTh-O4O-g7`!=MNd&S7_mfPugh&8#XL-(&RSomp;zHLT``9>bM^ zEb}Yy8_Aj;0T|EjZS?SF=^H%E%Ioa-Zg9|Vy%-psv}neUue3EP14Gb8u+6ZF?WQ_g zS>|>R?_$UbGwf$A)*|bB)}O!)7QNrY*ZACnWv%t7WYw>|7@WFq^=7Y$89JvhLoGH6 zgzz5=4ghpvD+r5YUO500*;_{eve+%k{E*%I6ks>2@io91=5-9<4s+}Tu&^Y`e1%=6 zdXel2fnID6m5pHy)&b08!3WX5J3G<8HS8Xd?`4;X$3^ypz*Ck>bd}jb0^zK|ae&@z z!Dj&D*!*t*7P6_7xsB~1>=er->`#`t9-tz755TJ52J`Mz<0|`^7E!XNAt8o->?qM? zvi$WPp+eohZ1X;k%B6-LrgFZ*v%se+0?wKx=5a#6sTn#$$4i>w)NHztjtoo%lb4#r&9d&V_jq4dRz+kw+ zf^#9|F18Fkv)(a@>37qV*Z01Mw-=`iBf3*8_FK?Jvc7GbZmL0^J|17D>IJHOYXJ#&2G;V0xMG^1e^xp}B#W*a{NxXlh91SrEU z6Bfjt5a_~`Lja>$1EPGJb;#2ND1w!=<04A*Mp)78Td*0si#AEIh>*X0sS)T4jaXXPtS`_n zvD(Q+hn=J>?p%HUYN0;dDZbQQ3;EawdvqPX#9iwR`mz>#F~w@J{s30}YO1%kbj(_K zaj6yhqy-(0s^CQTwdz+{tv;OJ_7GbX;iltrf4EYR+~th;>g>%t_rXs~$0QdD>C_93 zgNaSu2f>6A3i&Eg!k%N*lEwevh<7o##?b#a+l>F!dHKIFA^+EAqDx@~7I^Ea>f-mA zdk227=}_Q~s(i9><0!OoV*3vKn}Ol$ls*Hk`gL+|WOe&!!QMA5?upD78hxu$wAt`Y znRl_!pkRZc;J$$SvH!k0=u6Q5cwe>vEIAPaYu#!(4V09K!S~?SAl#Ji7Oi`LLTn zzx1whhh7!qjo-cPF4@Vdeuu{OTk_^jGA%mUHnggnU@D6Sfij1V&XFFpI!b)EgTvs=`X{yXml4f@Tmv#n`FT^yi7g2FIajL1)U;G zox&-yIqQ4MqmA+bTX70UyrZo6X%D+q51(B6%8(hgI3mlaoUJF$pm*7T(-1)a_m2$sON(n30~>(f-u{*pJ`1ZKA9imO>)wv4Ft`xv`7I~Gu-s@I2Z>elQyHQSHf zAUgd%$ArP}zc{^MM+-OIEavwk2$G>elE2%DusRU|H#f@iK1U}=y*6L;M3x_-atviphi@3nw36>sdJRYob#B2iFE!P_|0Kn=h4GsECApi z=E-n22n6ZL2s~0aXhiBqFCKfYcX|sO1^3A)DT9(@VctFZp8LJHx6-UB&Y?je2K`#b zrUz=DX|-Yj?g2O|XQzH~G0(p@s1HMoG2>m`=5YyA zRln}B>2F`;ep@zd1PI{rh@csZzJ$iJ*eC$2ex2l$Vguf5`sV7U~HlW2N~lA_#%C~3}iQ42-62|>W!1Vy+?UIATE4nojz2cb)%UzmD! z#;~@*@BX;QElE+HLohhc=2Htrc@9CqJ%_L2%gz#AQ9eV^ai5_}qF?>GzO8dWisRL# zZb^!ACW65%HsGqqdrHl`M^`;YDSulVy_Lf;!s}jQ>DORUHQ8=|Qw92UZy-B-4a4@7 z{X+RFv;GW8_4_8by|{V5MCEU5o0LXDA$&{RoOK03n0`TJv9uFI6OQ}_C$1CdS6FVT zZ5q(<*O}$rB}>^d;w>+|%$WDqv!!`8y{@|n&a>knPz>w_(dn0F+Fsol9`fW^TQ^-Z z=JyL^7=kCA)i5V}T-cpG`}fSsZh{PyP(;~LJbGBl8wZBEOBS<4RJH0CcY0nq9$f$F z!KZG56D%79wBmpE3u3GK)tTL|t{L^tkWIZ{`tT~W=!Uc8Ul9Ye{0h?-X{&zU=C5n# zdY(RAY>ZLK8z}CW5d@M>*_Su(SC5&BQl5ETM}MoZ`3*74Y7Z9Pt%A94)h<%aG-y=Ns_ui&aEgzz=X1p&gH&q_kfmv1Ppvlm3Cu@9KObR5?~$0@Sq2 zn2A+q?v3Pq3Wm#S6vm=%qSY7>&{#JK?$o1l=EV)XRk#XVUdl2-fL7nT=@DSwGz5&; zi$GK5aFkVntn}Q(&v<2E^zGXi5bofx;_6qKHhUxb{YQfmrl5rOz)(k7R`nJd95z&} zD7~XkMh&=s;IeEGT25opAW$x_QMWvfV({#@LH-6_m7wPm=3f>z9=+(JQf_jMCEfNI zZq+X}P4ureWZgSMx>Ash%a4%iz1wi^8<^t`80nXp&Mxl1JZja)A96;)L3mJTVX1d8 z#m_O%yO^lLXp~>s0K&{{!ClByj;#l<>i3u4C{^9JS)btNL)Z=^ps$ zSC_`_t?^a6MZSN4ppn>f+-J|gK@os8ypQNjeHMS;BdUsiZE1=8-c=nd-+b&A@_8yd zav$OI4ED=?^ldJ){stBr3;PXw5B>7e2|ND43ql>pOlja6L-%Q7{%kpr{&vgZ8)~D3 z3=?Lcv1P;|gXMvPQk~r(EP!ncFx6+lzkAfMR-Yh7ufd1SzW90Okg2GOv7sq-pC$ed z4d_=Dc4@Hpecx}t^acTTHAHZZW&aKh==YiqNv_qjc}dT3DHa<4jokqUWiq?d(o~@u z|*8GjjT`Ue`*??MfzI7WLdX5wv55KLWs#F9av7}Z}C; zQD0xflUR)>9(;9}!0v=$f$#CeqaxLnl>{{_`vAU=Gw^1P2N0%EvCd4ku#Ihesf5Aw z2(GXQq81w*VycWq39|btkJui1gQ8&Xg?NhW(xZinyZmB=$*inpEj&y_vpw zs_>q~uzMDGsZkli@!ZWg*sWfjM@yu_;Pqy)%tug+P`Py}=*q&zzFj-p^Lul<^KQj% zU`Ih`-2(z25d1h}Po)Y+?vV-69_g<-)5q&Hi+&95zp_yP)(5Cu5tRpaxfGKhT^BE6 zp)wzFp$2Q2Oz|Mu)3p4`ppYu`h>y5q!q#HD8>3q{A7dz_p7`kbD(<1HjK>d2Ptcs5 z%_j|ZWYNV<^gs$bxSnhmmBg|$PcS!|^;>ltcb*gwwBk+>=xCn6;eNvQ5a&ZIn}+f{yVwliCi8rTg%U01myz7Dr0AF3R;u$$jSE>zYPw58*#K0vwwW$8=iMT#<=DMP&q@N!yVuwP z5Gbi^J<-hs9j$J6OH~{>;>2Tmawrw}4)Y3!D6ZkoR!mXKT^9Qsm8E%ceN`~QC_EP) z2Q9ZVtA25>A>#LO@3)&b+09Z`JI&79K;4uDzW}ectP_A$zXsT&=lHolzgy)`Sqt{h zmF{cR?+sqLxI|;W9dF)|1ZbSItzg2SbMg3OcBh2#3%nZ4?j_C-rw*@L!31|G-OySO_=tktCr>3Ckj_WW zh1MpbBqz%27xW}j@S|*_32vcCKU&aB)niXUr_VUixNK7IJ9kFBeeOv|uw1h#6!xgJ zAQKXvT(&Bulyj+oSS+I$mzX=g!o;FYN&8o4C&lB2OYaM`uwm`N(7(jE3YnA?Moa;A zvv?tuNg1TqDBO#JnFYp2k@>>o7UjiVUOH3^DY+&HD|H9U7kc0e)JE)vdk((&;&E0ixt^SlJy9StV8IzxWPLVwo#{sK;C2jF8lgE$o zzunU43aj#sJw1rtSq4o1u1fZY7nqh}JtH9-Z&OmyQxoW#KQ#BkQ0(wD%`QsKF7krP zmE!AVtgIIdSBU%%vWfvM)blX5(F-#Ceb^DF@+oHu4b!jj-u341ZN2YIM0_0)CH}97 z02)jv0_*fs_QDTCrQhuRO@5;dV>e&8>8@HRI&RhPC>wfVC_;6eKqSkzbS7RasoUD~s)}fbFZ-ebOrjq>ly$(2k2YV2}x1m}eTH8-sgFS+UWt$$IucCnp<249lX68+*HhWl;(uJ)N_UrR`M zU0DhmsF|cW&w_o?L=@{pAdJQPngW{YtmPfL8F%+h9kcYzq3@^~4RS-n$ZQezU%u|` z8x?#`%tQ%Z_@E8tcy<_^!t_hqpCu@p$Gp<|M-a%EWS#fLR`}uL$s_jmd1tjz@k9=7 zUn7{60u-HqQZROC-!Jzr_grZLByvLcJ6$C~0hYzQa+K5x< zXe%sHpx~R0YRYQ1lWOZ%(O-Uk_@lawN-rWsLXR+pOY9EOiEwV!hK6={51Vu`xI8A>P1nRD%n(u|d@!ToB$zt$-%Ky!__7iEo7#^LF{8{miSosiG~^ zpx-qg`gYu;J=&0wkH#)Pj%F<23J^fdQ zDV_pCNl|!)_g^3K!JWTX9Zf6jD9FR~EAl^U5<9Jz=hq?h>=5RUQL2|K4-_}5p1eHu zT65{rP$HfS%4dOPPtKJ4>5D5F3Fx{l2#+I!gPXG&ub}HU znH|8YU)DYB2gk=f1H-R@uCeg!3QGb(Snn<3lIRBmPj2l$`R*{TL;fs4zaRYWfsX>c zUnzD1C83DmL9%z)F5;bwsx*m;UAtetr-%1A5QGGU&?BO+*gcZr3@cd^bowpo@A|ZF z|K-T`#XyINK%C6X0fI37miS(2w};qxU3C{~D;^!w=7{4n^v;raI-qeMEzE^I#W z);|JpY-zo+=Vtx7k*bno2{w#ldq7Zr*;a8`cCW=hWq4LuzSdh=z;2jUd=Xhp z_D8M1hsyOH3c4`;D-u6_)F(d`!Onx+x(x&rET7ao;7Vv47EG#sibX zt@UU^i9op!j{H2&|eAEZV|$HQ*{}+6v$byVn4QrhlNqr`O@D^=s}M2o+G^2hSnz zGe<)Z=wG1faduMOfGXi|xTOz?4UT*+qkrn+!P+66U;n{R#NLAGfkyz_g9kUtI(C*o zQ}#zgD54#!5eysCzo_y4o+}gUeD|L)v`bSsI2dna3n8JFWUR zNm>LMMZvS5Hf1{>f-gdVN>mrM-Dy6t<`?y4SafRhk0qN2Naqtw;p7OEyv%Zzaj=>)jy9i`N93bJ%iTJog~lKRK&|Jg29iaBr| zJm$co8-9BDqhQRTVEDt&s()do{p!&leeYMSxO_JR!{T;)2O0Nx)!3eS@H} ziuPCySgZrJL)c^jJkrMxX(BFX)jy--b@$!*Lz*k%oh1HjSx!4x<80>F5@u-66l-(h zlFw=^i2Zyo%#fB;5a8D%%^`0xiwCgkU+T$J8oyb)Wk+!$<4+po!yxf6P2ql!2ViC7 z^`EB&v?OETp}O4{^b&uIGP{Gk@)4Ny!n`+8@<9rl(Grv6HI|JI3g=Y81V19R#mCV% zO#d8EiO8mzo0O~^K2Lc(<|Pjdp%Omu^t56gt#~Eb>Q+z?cjpz^-BzY5g@%(q&#A^* zv$A67W65g5cD6RztvP4K&T#vJDHmI=9FG?n_1(6RvS|{ z(eOV|A^KW)^>WWyzCj%xrhn>a#GS2ox;IMmhXe>Z&^DtaWGfHbE4j66RqNt}u_(dg zE84Opu&8#h8~v+EK4m)eiyLvK2?!dAU27D}Y=6 zEujdwlaifHHH_F_26cY<{xUcO`%6-=ev&Dq&6;}i`X`;#PfxDDJ*h980mYz#1IGm; z^4l4sRD%UanF4Cg{7J+{^iM(=hJC*8R#x&kZY6w|x{akr;bg0SjOxb7$+OfZjaPsG zrwTgU=%1ZxG-dvx`%^xqQx7i*F;r!TQPrw{x2oNhgf{i|r3-q}n^_4A zV=bZq#{)&x*+?{N5-2aMPswbrSmaUbzUlxMdu!2=ZU}mv9BBJ<5w>~vEmb5fN=a27BMYf zyz3s&9kco`J)zf~HljGNh)BGAmGu;+ABD{IpA6T<@xH?pQw`=F0|nVwgBaL}{>9G9 zKDE6vYsMU+M>N4ajxp6=Y^Of^`P@8hTTUjGV0nU(onupDAkisy5FGHfXZCBR^2N~@ z{yklnIPk?JIx+khVWupMB`j@_1ee&e|@y}MIniO(U z@c4#?Yy}bUZ-b#1U%&tSSpT1|ec&c=va`LxXg1peU|oGzgp*EvJRGrT1 zy+C)B*#WHjH^*+j@y0nzyX5Kg&S5Bi28f+0O9DZd{?W3>^IFuL_TA#KZh}_#MA#|w zsPWa98OEvZlHP0=@z%eOR>k^g-nCFq{FqwjJ%`;R8J4h;B&+_NwNB%ej?urJE9<6P z#T>n%BO$9IB>#u5iN50}=A?;#P?gYS*vpmu^0#^}u>pO+`?rZ=(|o+ox?>%FUqRtK zxti2x3qXM2$9e)!S>|YfQ|uyPKe0!Bu%9wM7N2ul$Oa8UZZ?Zf0{Do<_63lc5{OLp zO_9(w?D6cEe$Zn* zX6+B*^{=#b7&!db8LLd+f)PCr1S4L@H|*sEFE5eJZRu~aDS_-pe@MWAO9!Lbf)ogu z&T@M+?Ucf5AK2EmrIJFg*g3mY^M^68)3nl}64(bd0Ie$M6NOZ6$1Jq`r=2fKEB zyuJC`^E^j_K!#ubV95i(s5F}gV6Co*?{Gy_?lSVYSKW(lx_WFk2*UKQ!QH*zyVs)k z7w};e={(i_XZQ+sC|U zbdR(1L{d1j@E~(+INZb6gRrhk1;w%0RMbmiaf6}C!kO3EwZRC;>)*gj95w0QxGlXY zq9>1s`d9LNJr@ovHF9nPcgKHY4JLtYVNq{0KPNJav7@m7R+dee1oc_$FklN=^bj|Y z!nI%}laVP%*!Cgtqq0PHFqfqdhenPwdmM&C|Ab!K_0tn(PuTwzq>|Ci+bjtLc%a(lz_6cERnh>x!h-6M*zc; zLd{B^QW-*)F#Rik`@%bPsiyo~%dP5{4?-(;oY)rZMkrp0;LQgd@yKpipxy zyPvrWBem*ZJnT^UZs56b74Wkc-HnW4Ek@z2S>)@o+!0-6Z;gWgFw1W$hLn18wMW&{ zZ@D?>UtL_W^Q86Cm`=HF9X4U-QB}7#Ij(%22*rDp+&pD>cCcMzKv}3)y2}xZhE@N_ zwn!{v7Ck$-9nMtk{&9J?H&)2<}(NUl~w4amp>L2`U5wgDKw$FU%Wd_OU6gy5X`yyKgVAVee8rY_Fc%>hD74UA7t|-M7 zrC`_Yi*^mTd}Aj8mu>T%nIw_xt2F=jnb$;&s@#rj$7N;Sv=x|k?v-}aOtck{yN!Qq zR)^SS>}#;+c|zb%)?xyHT#4l{bz*N(rj$cURk)u*Dr-wzSZ0Md{jc@Py56(KLbo{o zZ{)S=pG8$yjvM`A>GZp3kbVV#?IQ0&s8#>Ys=0V_*3PEuV)+v*3O(TMC$41C54L#{ zrhwQ!(VLnw_c`SX(XmhFBQ=FZO@XK#6v%YJ#qA9mR{)3oo+_Ofna6GNIH?5rfyg=v`vt<7uB%K3I1D5a1N%N&i#zm^uDTVho!&)#L#64x;8aYN3=p4{e#S zxl_5H@ctD&=kECMK!W+ssvdXPBalU`!|O(reYWT14|=b!?z;^*J%Y@v*t5(F??xB) z051#ttB64{j&V)SOqhndcku5M7Cp^0t3>RWF{uqk$4?lWI{WH0Q{L5SW}jD$1_L|x zp}A6C*)`_PO4-)GPUzWgzw^_5og$`HShpsC%Epu(1RfOj=M2V=AJ4k2HCIx{A(t-T L%3;ZC%@_Yaf~=y+ diff --git a/infra/api.ts b/infra/api.ts new file mode 100644 index 00000000..8b431c48 --- /dev/null +++ b/infra/api.ts @@ -0,0 +1,22 @@ +import { isPermanentStage } from "./stage"; + +//TODO: Use this instead of wrangler +// export const api = new sst.cloudflare.Worker("apiApi", { +// url: true, +// handler: "packages/api/src/index.ts", +// // live: true, +// }); + +if (!isPermanentStage) { + new sst.x.DevCommand("apiDev", { + dev: { + command: "bun run dev", + directory: "packages/api", + autostart: true, + }, + }) +} + +// export const outputs = { +// api: api.url +// } \ No newline at end of file diff --git a/infra/www.ts b/infra/www.ts index 03bf6d60..4a2f9cc7 100644 --- a/infra/www.ts +++ b/infra/www.ts @@ -1,5 +1,7 @@ //Deploys the website to cloudflare pages under the domain nestri.io (redirects all requests to www.nestri.io to avoid duplicate content) +import { isPermanentStage } from "./stage"; + export const www = new cloudflare.PagesProject("www", { name: "nestri", accountId: "8405b2acb6746935b975bc2cfcb5c288", @@ -33,14 +35,15 @@ export const www = new cloudflare.PagesProject("www", { //TODO: Maybe handle building Qwik ourselves? This prevents us from relying on CF too much, we are open-source anyway 🤷🏾‍♂️ //TODO: Add a local dev server for Qwik that can be linked with whatever we want //TODO: Link the www PageRule with whatever we give to the local dev server - -export const wwwDev = new sst.x.DevCommand("www", { - dev: { - command: "bun run dev", - directory: "apps/www", - autostart: true, - }, -}) +if (!isPermanentStage) { + new sst.x.DevCommand("www", { + dev: { + command: "bun run dev", + directory: "apps/www", + autostart: true, + }, + }) +} // //This creates a resource that can be accessed by itself // new sst.Linkable.wrap(cloudflare.PageRule, (resource) => ({ diff --git a/apps/nexus/.gitignore b/packages/api/.gitignore similarity index 100% rename from apps/nexus/.gitignore rename to packages/api/.gitignore diff --git a/apps/nexus/README.md b/packages/api/README.md similarity index 100% rename from apps/nexus/README.md rename to packages/api/README.md diff --git a/apps/nexus/assets/favicon.ico b/packages/api/assets/favicon.ico similarity index 100% rename from apps/nexus/assets/favicon.ico rename to packages/api/assets/favicon.ico diff --git a/apps/nexus/assets/favicon.svg b/packages/api/assets/favicon.svg similarity index 100% rename from apps/nexus/assets/favicon.svg rename to packages/api/assets/favicon.svg diff --git a/apps/nexus/package.json b/packages/api/package.json similarity index 100% rename from apps/nexus/package.json rename to packages/api/package.json diff --git a/apps/nexus/src/image/avatar.ts b/packages/api/src/image/avatar.ts similarity index 100% rename from apps/nexus/src/image/avatar.ts rename to packages/api/src/image/avatar.ts diff --git a/apps/nexus/src/image/banner.ts b/packages/api/src/image/banner.ts similarity index 100% rename from apps/nexus/src/image/banner.ts rename to packages/api/src/image/banner.ts diff --git a/apps/nexus/src/image/cover.ts b/packages/api/src/image/cover.ts similarity index 100% rename from apps/nexus/src/image/cover.ts rename to packages/api/src/image/cover.ts diff --git a/apps/nexus/src/image/index.ts b/packages/api/src/image/index.ts similarity index 100% rename from apps/nexus/src/image/index.ts rename to packages/api/src/image/index.ts diff --git a/apps/nexus/src/index.ts b/packages/api/src/index.ts similarity index 100% rename from apps/nexus/src/index.ts rename to packages/api/src/index.ts diff --git a/apps/nexus/src/types/api.d.ts b/packages/api/src/types/api.d.ts similarity index 100% rename from apps/nexus/src/types/api.d.ts rename to packages/api/src/types/api.d.ts diff --git a/apps/nexus/src/utils/create-avatar.tsx b/packages/api/src/utils/create-avatar.tsx similarity index 100% rename from apps/nexus/src/utils/create-avatar.tsx rename to packages/api/src/utils/create-avatar.tsx diff --git a/apps/nexus/src/utils/gradient.ts b/packages/api/src/utils/gradient.ts similarity index 100% rename from apps/nexus/src/utils/gradient.ts rename to packages/api/src/utils/gradient.ts diff --git a/apps/nexus/src/utils/index.ts b/packages/api/src/utils/index.ts similarity index 100% rename from apps/nexus/src/utils/index.ts rename to packages/api/src/utils/index.ts diff --git a/apps/nexus/tsconfig.json b/packages/api/tsconfig.json similarity index 100% rename from apps/nexus/tsconfig.json rename to packages/api/tsconfig.json diff --git a/apps/nexus/wrangler.toml b/packages/api/wrangler.toml similarity index 100% rename from apps/nexus/wrangler.toml rename to packages/api/wrangler.toml diff --git a/sst-env.d.ts b/sst-env.d.ts index 9ee5cc1b..be8895f6 100644 --- a/sst-env.d.ts +++ b/sst-env.d.ts @@ -7,6 +7,10 @@ declare module "sst" { "type": "sst.sst.Secret" "value": string } + "Relay": { + "type": "sst.aws.Service" + "url": string + } } } export {}