From b5c53d769f15373c319cd1a84cf305732d5bb86b Mon Sep 17 00:00:00 2001 From: Avinash Lingaloo Date: Thu, 7 Apr 2022 17:56:40 +0400 Subject: [PATCH] Gekidou - Updated App Database Diagrams/Schema/Models (#6133) * app database - schema md file * exported docs * proper refactor of file name --- app/database/schema/app/index.ts | 4 +- .../schema/app/table_schemas/index.ts | 2 +- .../app/table_schemas/{app.ts => info.ts} | 0 .../schema/app/table_schemas/servers.ts | 1 + app/database/schema/app/test.ts | 8 +-- .../database/app_database/app-database-v1.pdf | Bin 0 -> 81345 bytes .../database/app_database/app-database-v1.png | Bin 0 -> 27125 bytes .../database/app_database/app-database-v1.rtf | 1 + .../database/app_database/app-database-v1.sql | 58 ++++++++++++++++++ docs/database/app_database/app-database.md | 30 +++++++++ 10 files changed, 97 insertions(+), 7 deletions(-) rename app/database/schema/app/table_schemas/{app.ts => info.ts} (100%) create mode 100644 docs/database/app_database/app-database-v1.pdf create mode 100644 docs/database/app_database/app-database-v1.png create mode 100644 docs/database/app_database/app-database-v1.rtf create mode 100644 docs/database/app_database/app-database-v1.sql create mode 100644 docs/database/app_database/app-database.md diff --git a/app/database/schema/app/index.ts b/app/database/schema/app/index.ts index 0cc2605c21..2153d33685 100644 --- a/app/database/schema/app/index.ts +++ b/app/database/schema/app/index.ts @@ -29,9 +29,9 @@ export const schema: AppSchema = appSchema({ columns: [ {name: 'db_path', type: 'string'}, {name: 'display_name', type: 'string'}, - {name: 'url', type: 'string', isIndexed: true}, - {name: 'last_active_at', type: 'number', isIndexed: true}, {name: 'identifier', type: 'string', isIndexed: true}, + {name: 'last_active_at', type: 'number', isIndexed: true}, + {name: 'url', type: 'string', isIndexed: true}, ], }), ], diff --git a/app/database/schema/app/table_schemas/index.ts b/app/database/schema/app/table_schemas/index.ts index ffe829c0fe..3351fd9724 100644 --- a/app/database/schema/app/table_schemas/index.ts +++ b/app/database/schema/app/table_schemas/index.ts @@ -1,6 +1,6 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. -export {default as app} from './app'; +export {default as info} from './info'; export {default as global} from './global'; export {default as servers} from './servers'; diff --git a/app/database/schema/app/table_schemas/app.ts b/app/database/schema/app/table_schemas/info.ts similarity index 100% rename from app/database/schema/app/table_schemas/app.ts rename to app/database/schema/app/table_schemas/info.ts diff --git a/app/database/schema/app/table_schemas/servers.ts b/app/database/schema/app/table_schemas/servers.ts index 98f8d322c4..8034ea012a 100644 --- a/app/database/schema/app/table_schemas/servers.ts +++ b/app/database/schema/app/table_schemas/servers.ts @@ -17,3 +17,4 @@ export default tableSchema({ {name: 'identifier', type: 'string', isIndexed: true}, ], }); + diff --git a/app/database/schema/app/test.ts b/app/database/schema/app/test.ts index e582ccdab5..9ab8482c9c 100644 --- a/app/database/schema/app/test.ts +++ b/app/database/schema/app/test.ts @@ -39,16 +39,16 @@ describe('*** Test schema for APP database ***', () => { columns: { db_path: {name: 'db_path', type: 'string'}, display_name: {name: 'display_name', type: 'string'}, - url: {name: 'url', type: 'string', isIndexed: true}, - last_active_at: {name: 'last_active_at', type: 'number', isIndexed: true}, identifier: {name: 'identifier', type: 'string', isIndexed: true}, + last_active_at: {name: 'last_active_at', type: 'number', isIndexed: true}, + url: {name: 'url', type: 'string', isIndexed: true}, }, columnArray: [ {name: 'db_path', type: 'string'}, {name: 'display_name', type: 'string'}, - {name: 'url', type: 'string', isIndexed: true}, - {name: 'last_active_at', type: 'number', isIndexed: true}, {name: 'identifier', type: 'string', isIndexed: true}, + {name: 'last_active_at', type: 'number', isIndexed: true}, + {name: 'url', type: 'string', isIndexed: true}, ], }, }, diff --git a/docs/database/app_database/app-database-v1.pdf b/docs/database/app_database/app-database-v1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8e0411f50e1a8b99232426a770f1126d614f913d GIT binary patch literal 81345 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/database/app_database/app-database-v1.png b/docs/database/app_database/app-database-v1.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4024a5bf1e603a13ba76acfa695e6a9acdb490 GIT binary patch literal 27125 zcmeFZWmH_twm(Wpf;$A)rf~}-0fI{-jawji@Zjzqf_q~jxJ!`W7A&|+aCdii-eT`_ z_PKYAd*7%3hxf*NpBPlHE~;u(&6+=%1S`l%pra6@z`?;w~Q zz9p94dl%o{-cD?wFRhrHba z*J+yjA)icUW)?0L6bb1W73GVsK3G`rB1>fOv>=$F_ntydGghWUL^dio=G^+j2-x7Li>g9&A{?pRZ zjT9uwQT{C90Og+{0bNNdbwcfs|7j5y7lOc|(Q6&l{u#N#Qxk_AO!}Xe*BtO5SeQji zPQ!nO`P39^3)A{fOEflCw4vd1*7;ZP|89&0nzF-U)^Pr52@3T=$=)qo$?=^>ia>)ib^LcOyN}^#3o_ z|96&3T`GN?EzsuN_G5gtFr&AiulpMfR1k0k(87e`L&38;KhV(%93&Qz`uA0l=gr)V zc8y~sXT0}KtF5xwxdu4{-=_|m<`E#_;67_uC_mWg_yna^#zsmW$G>>b;vi1jCk7ix zI4R$;sLTOXz1VOhhz2WDd%if61@|n!^;~7isfZ97w!ns}OX!+$N)jP&kJn&>NbogX14AY-s&5a~0B4 zOhNqW69GIi%5L+#NDcyfhEeFipoxPO9m^6ZMr_pmbf8YQc5uB1HujLJ>?4rnHE9_%s-KV zIJQ3!f#zgc-G#Y2**l2DR}Y$9%-pXqPscVm=kD7*ReKpBgn{}-<+LZ%{!$mjw-Mf% z6*nn>7_!mlPtAqCiFpwsIqE_z3B=7;z^qZq#?KtZKS`n;@P{gVg#WD7i;f%|JmpR! zX-m}e`RWClHrTQ7AiTrVtYxkr?~GtcR%Rh$`&e^GVK*@4PA>M`p~W9sJbWLS_0ePP zz#Xws9NUESzJy31(Gkg9?%JGB*z4gJDBvC2vzQ?Qb1lvW{MWS6YoE>iS>K^%eA3aJ zb0v<*kvODczHxLSBQ{O&eTsKBLb&mcZ9Tk0ik`on#Av>3Izz}wr1{W8ea)N4LwY4? zS1CVrg9_}?t(o`LP}Rr-^p{}D+&25j&4@9A#XhCPc&&rdks}r}I@r+dG_-PrqYx)=v{9yUER3!iW|`3vgC-#jc_>1Ui?3 zk^1x7h*;7}6HOn$Ru=B2UJCt(pTYwxc#lXwbDMId26SYq6FD>A6(S_>6@5DGuxoD$ z9-0}1?jy(p=i@h(94jo>xiBbVyzxrq&K2GIV`9>>o(*21cMX~D#A)j{&Kx~ctKOuJ zT>EExwCNn4#8H4dFO-d-R+I(#0a(mXER@3hVWNlLVql}=zN}(NGv(IjB!Lt1@6vYg>|1Lr`2o46U^zu#Jz}GyO;y8nxm*kFbW3TX z&I(f<80XS!&r=+>UlQLcnyQ>Q{VvlS`nk8ok7rZf%2h1A+!`ub#D5QG$%GG=l5BEV zAK@!4$7JDa_y!L?fDxt*x%(?6Mgkb&jJ zurxi^G9xex_`h$kwpp;MLeW!9`~I!z9ECH*y&DufH$UFwzI!leWEs44oo4&mW!k!$ z(&m5;IC&TWY=V8wf_Ik6Don`)_}U2}lD#Vg5}MJF)_ZJJ9$(gH!`!7j+mS{Rhbx1B z9=rU%Cw`~gJCu9P^{!PH(W>H;nIfwohK~0aH^Bq_5jpq($Y^o84YQyZ=3)(7sIasg zojTRMw|Qi8{D#eT0}5TUbwscKiT=K+_g6@xcqETM_B~H(2M=iTKh3tHy(Jd2CA zZ23OFnWNdkU7LXvTy1mw-|K;`d~`HK2v2dROEE>#jNd?TaV7&oH{Gpfdqi4`Pw|1- z2VHb0<3YZGo0i&adDG=pLQ9^;2e+HsJP(}eooW?5RB%!T)@zmMY`f5r0Ctyc&11n# zBj{O)?$^g8cpCKH?@F*nGt(d z6-s1pk;o%Bf9}>LbB(qRgk(WYx$vBa!aeHjL97D85G76*)5=%Sv9pkch>r`UoFQu! z@;k`E2_sBHw)D?Cm}MU-`MN?7Pf`r9`f*k?yNqv+IwynRbd!|kN1V3!G^6OV>pAMZ2<4p67|r8xuRH;! zX_%q8k#CZ)-mhoz{b`5-B~Bn%d8>IGd33g!z{^5!tvbp;t}(XdUj5CA=|Ca-z?E3? zKnUG=?AJ(b4Afz&i&C~9t)p{$DbE=@LMKif13uIk5snsdYZCJ#6zOHi?Vj{?s~xuU z)NPg->p^~}LU4lZ#!Z+oBFua36JA`0x7b*4-@@T?X&JNmf!ip7n{=5w7Y~|Z=F(V^ zpGO0u_xd8oxE8<5{`gVJve~h?-xk-<73Z<)xA5yI3t;-6UG8!#g`tsi`6v6F$xXK) z)Anu}>>D+@VdDfP@CVkluU_FHnG=}2HfI}eSVeuO@Z?3(5U9RjXzGskjs%2lq|olSoPf`hyw?%WF~%{PidY$m$0fru-Y(zm_LcNH|n)~ z;?09Sd{V%K#K$v|D~!dcv)x>yxiSMoQHSsDgwz_bU+qgsyC2Vq(abc^nw<*zk0mk~ zFiP-D)bhSDX~a63ET`}(7MWho_+N3r*CA~;d|IoIF(iE22&590VmNiP3(VWUpZWCY zj!DO8X2nXRs<0yX4@6tI$+Sd?DQ&~M+Sn?Yx6^??ofr#RaFh7p9MoN}z;{?E059L^ z_T|cPvOL!H4m!`EKv?b97k9UgWYzs{nCgf;Ju#A*=(cw=s8f#D?7FDdD!u57rOjUh z*|MhKg-E6&N!a`ZL|-3dacHUe`kGIn(=9@K>j{9Rc>BZL2<@{Hnxpqzu;}FDBb5RU z$S{RY*mL2LhJv#P=ZyZU_+2o3WzWE@Tc^O>_YwTo=+bL(qZ0@fR^DNw&;V%gTiHEv z!(n%ov$4K(*hgD@LFUCOix*_jXXH?3Srcc&9$e)iBa;q=s%HzC1@9xPKv>F|u`Xs~F)<{bQvsNbQLD zSH$z0@nG=xKs?@Fk^CX4UqLP%kHsOca!eMz$$edQRm8B>+_}%y{eeuai5k|;b7Kru zdl4XRkA|aOq>7P05V*L;T31BP_Ri$RQ}|_|C4g3b`}1mjjU8{zDvN~6>R#=1Mdr8U zt6JGb$7$YNcD9Q`2pwg;XU0I9y26xUPrNKLVZEf1UfxucMiXl-9#*nL@8fV()NsZC z9SgzRMgu%^$U$7}B1INSRxYh%{XOJMh!vIR)=;WPzU=hzW#+;(#MR(N7O zV0%XHHdGO?+jqTdnvb7@L7MaA5fzrWJ+)JDJhx5~_9v%^X?k7*?|O8ZTj|peYXSE; zFXC1@BWNeIfu|Zld~DKIQ3k zR6w2%d=}wL^2reZ7&Zzy($g@Xplplx%%k+8K-S+AC85UUi5s0wGN=@ah4mLrvGonW zD`d~PT6O?{v6L>AP)-B9plQ30*@^*Ay-`J$Sl!Tqpj^p0_*6i++wj2}W(S_&L9p@} z50>O;5sqUuk_OO7`T9@EEVM+RH&Jr!`7>Dv%!*r@MFi-gA4vB99}J*|5u*+DjWML{ z-;l*b@4Tft+WBzvIMYabZkoi!j{S4LN@I3KNe;=7;aL_gbmG0eF@sHk7Sb=bd*b8c z<7wiradEHuWn?QHNy6)FgW>e`_0Qm+1%pY<)t%4ve`ZG)AVIp?;nTU~xO%{hJQ~hb z1=}$IQbem9gK_#!mg-UiU{5C60c)5p8Zsa2$VKMIB32PABxAvh1Kr-G2Y?v%=K|W> zCnV_EC9bOhybE1%shNU9AogzGB1zqzM*wTyNK$Sw`3ZP&R+8Dm2vWeR`(hM1F#W&h zYwrzkiC%?&zB$tL09jZR>6shU>bl}b$G*3hOl5qb1WX@n59&j1Z*mI{3Znm(n0S&P zYwFjhXOy_U-&=$LUWtz4?tOqV86#F+ZXdSzcud z0=_(~NsEYpitIOpSa~&F+}8a3{apjb9JhPlxwzx|q@-9DZfe)A1uhN0ew(lSMs(+9 zSQG;G42rrFs6hHE2BG2rp&TP4|E#H4_Lf1vk|zw7RC*mVk?Q4x(M;A}R1(LY4lQ$* z0y5J80COldLj?9n{(Nlx1D3XfmrreMUrjf0xxKV)@n&N-86-WjarTW7JwWq4zw3~G z5%~4@WM0(FX7S=LvU4*viPSkF<;6f^%X|<6=mPy=${p8VYj3y&mNy6)z4z%tLUW7w zis#MavjMA!d5+@l?(ta?@7}8|o-ALfjCAg#F1J_ybax<$%f@!_$Cmo`fFT+PIx&AX z2n%C-T++izZE^`#D_uBhW9c9GWNz@BO}+;0_SR#1`?ZKCUUc>+a&33g5K98`44q?- z{H=X@5cJs_8g-pUxA0Ik>*e#^8aAyHh&NWn&jiFYrO~94`C5NOOo|Nktg#7nw~G|_ zhodu_K!1NRw;xI>3kqVRr$-;(rqmNShSV)3493|2%)IbaKvX5u9ykWYi;~NmJhw65FQK_<_Sjj_JyUz-1Fp#{T%I3>PUf=xcB=a&ii( zVxt+2#e5y2^+LO?PMU~LP`GCYeqlmuMo@UT*fUJ$ul|8qZgEmm&PPbeq-5AfTkNQL zS{F|Fnm>5@`}=K%1mV<57lpL6_>xa~sF?ZS#~IaxQs?UM2FO0p8el=o56s@uaPZqN z#cUp7A{nA8^~TaA@Q1u&=(gu;WZ)$ef69Ue=DmEcjMrV!tQFzOez@zc2j5;<&5L~% zZ|o#+L^0TjXVQl%b#u5@O9&6yJhmDvu-Cesl1thoB_(DE`FeC4 z8H6V}Q&943jJtPrcJd(h#-DjgfVIyWLJ*%tDl|%o0pV`xPE1gRUX3`HHkaG}0fge_ z*3ytpcUPi=s7~Lrqn`bfOGLB{8|PwTzS?n92VY`cDggq*v0Wa0m1-Si9#)c0M1L~at>n9MP8TrAeVZ|3*NSd0WJ~Lx9|Rp(wT&&i?2>$Zjz+t;Kk4Pm!bt9u}hr+ zY>*zV>HPZ-wV<_O!d(f7hXL;X%Y*EID{idin26|+G%fkh$Jhpfy5&euk*kY zaeCfqbwc|EziV$iyo3Z|GQT%+gsWWz7LUssHwZ+nSf)iJa3A9s(yrX*RwXz#rqaxX z5Pjyjs{i?|E0^2YdFvOQaRBaOlz6K7Y1t7mz;n)=cnKb}q7zqKCq@g^rH_iaRs43d;Gh%%fXcQNg$gfA;A zwY{J4gosPnlciqIFK_JlFijqUKs)3W;> zr(s+?*0qj6eOcfxeAy0bE@GqB)msUW{y17gTR+D9HO4tLYsPt249u|fjiYaX7xQRO z?DgX}D^Oh>&+_%D!q=}79!I98!Qeo?I>l-ggoxPQFQc3p?>cP z8XoNp$L@hL>mEP3?XT`DXX^Muv64tJr~@-RCXCS#$EcSuC8=o01kFw0=)&{B=@1Ag z2}eCbC3qwCBW$esp!~qghGx3CmE<$Yr?hb8CI1!KbK0Z7#4>;PAGB zG=}(DMy`WkZ~ajyx3=x)+_8{Cn4pRDCGAv^{C1n=n^!m}2e}YhZ8Z~#+6ErK{@R`x z?-tSFK8Y3o-WVjto!u-|aCB`3dX$n~G{g#LoK~DQu7yrsG0Ti*Z^0QUoMdd7QcP-- zRm*rcHYocsQphg)%%~Cc`TSHM%k(Wp%rH-B+{HMN>*0g2xzTwjc(9{O+GaQ;m;z!6W<{no!cxN`-0mp%f+s zPW=A;r%z_A68QSYr7dr`0knNiVz(Yp(U*YJ!5{5|6Md!^4c;xmN3}p8sB>Fo{UX{n zE)cgsV3Nn@!R>jmLi79gV*R>>WzjNh(w9vEtXul#^tDJ$7DIccY$z?%a=va8Zf;Hs z*nNq(+pnON*fNW5FJ~nsyx-dYgR%flJxx!IUi{s~ox3Zit|hPdg2OsAk8;XXDEfxAgWh z#z}&F#YjLjagv$bF$1&CrvY0#Cl?o^8Ci7P2M`F%E&6Oo?cMbRU5iauss&>_Ran+>1$ctNroJ8u%gex#r!SzN8V<40gOU^yE{DM$x^?-$miDx zntuY$r+Og=oU#xcWEMsPW3vFBcRyA-`aUJ|xC`sUl+cXrq;WjyOz#sBw;sCKBSd=- zKcSm5**DGO*Hkj~%e=YZg%;*2d}4Tc`v;jbCx@LQG0jn(-E3<4yC#j=~@SOJT81R932U+zF+?%O;V>J1REi7;CX~ zBwfM9IeyEGaBZjA2DW#I&b@lIuJ+R0tU@RI!?R%eaw~imrEl8(hGIN+d*GQ$i^6=_ zo;O4>k}yZL)$Qo*m)xA&&6tm)dQ`4bO{#x}#)~Hnp-2noYIlC>&%PvY^DXeH+7NR;&rUH|q1M9qe4vA!=VQc}kmJ-q_1 z=Oc6)cX!@ur;!>P`XJ3DrkqYNY_x4|xL0Y3v+mGtv$vyl&DU4n1ta=a_Rmu~OoprO z{4RxIn%CQyRJ>c$=KO{Qk4+W4t<)L6-!QHJE%PiC zT}8tz+~rb=>6y7u2rRc9jZVwl}ItW_N2(Te21!TOPK?G=mnT&*p z-M^`Zgq^=7(rp?*scd|a^9$=gh6O`HU62#Q@9Eb~9co~$t`7}V{G5ZIS#2O!lByVkLfKBHX1&NR?h z=$}MvPUTFw0i;_h&fqGwfj zv;7c7D*3_BpFfA8n`j@v#X8MIT-J-S-z6f+5%sR74$F=%6OS6)o(n!+@E%+X`q=Bx zg%OTnp6`wU3BucpK!(rbmDq)VFN%aW|z(Fpc`J4YlJK!KbWzG64N zqMZ6sww3J+r`zo1*VZNH!zqr7i_6XXKGSVnYO3BIbKzI8UqJzb2Z}2d=fx{#=Kf<2 zZoIOxGWw)=n;26Ghug#WdsCUkVg6NcfGj|qtzwn;xXAXw$Ie7(dy2SRK>DL#?} zhm#6o12bxmn7>_K+wvjT<~>=FEp#3!|M2boy1UoRYC0X^dn-^p+qX~_UZ*x7K%i~? zIR#Sktu5sK>r;w_*WGTA$A`>56Vni|MpVNYvCoj8WvIWj8r9pkXpPNVVS{N^-q!b( z+p+XJp_UC7CmSb5mvY^S)QB686=@o+4Z#t-Pu|NJkQ`HSce zg6mm3!`A@+Q)3Cb>DpTEv3yna)j@!l0bR^D5r3s_;QT$qLnrx`Ouz}HS@!nX`FHOy zV3TEv{Slw4w#U36<^D481HX|Prj$C|CG#x|))AVi*QoJ%;=n$Pm7evyrKaSptmu1 zJ=I|JuHkgFFpZPUEqHsnGCeYl8$Cw~ugyn*-{ttxpcN;X{}=9>Rnp}o=xlrXRh79) zD-d$ZJSPSA=4#=iqZQ4#^2^!~GramRJctjbmZ^2<-)e8YN>@wvhYWWX^Db{kr*V}_ zd#PcQk@;!7D=a@kMMgLBawQ`xGZ^x!MslfbXswad1MouByd{^_yipCcItnQnna#x= z4fjURfXLQT^lDI07^K6_=;};hTo&s0v8Doj$!TsHTeoOVcLq{Mpt!16&n=3*q#Ajsu+cG|S##Wmgj7|M0r<6VSj zV8o~2*+f_OlMM7al}JtGocNaqf-SKWohQqo6HYwfn5nqzFd<`damjwGg=$o%3nzNT z{sheCH3kN)?oiB*@3eqw5>x;geJD1MVoKmoNLOY}>^A>Uni(ybIpq(8Mg8Spx>xTF zGd>TOKktknJrjMjf(nt83HbM^1M@&F8Lu+OnYTH0~sq)B@&iT z%`ggNEjW5yaqSGq(Qq0`svYbWE3Pf*-$r~E8QboMJ_6bJA+kCpLk=F)P&?C`9soJtiY3A2 z3^a=}rUwAqbC1NT(Zn-Qr9=Z8EAF92xKzFs8m}+Vc+P-(oY(i934c&px%-EGO>{?8 z`>PzPtY*=1saHp)w-ZF~U!mWqC%O_+F$t<)YrHd$#S;Cg;mWSv5jg3cp*QnK41rVj)Z{Tux1!e^G%rQ#^)QthikeBFB&v}lNmp{Bd&)q#I zKlv8r!v5x+5w^V; z3kuc()cdhuur7u56`q?KxY0|rWbP=t4eM`Ip6&G_@1BPXcnR7vFf&bpFeH9%@aas2$T247Hg9sl4AIvbW8f^c8d&lff|_3@PWPp()D zIG_^0uC6XbQilc@SDdNo^JF>j`F4zwLPyoC#<=< zSa5&P>lm|c*2!7}8Ng^-ky79hktEf71_QnYI+!HVVB)bd&Tpp_H@mr4RciAH>jxVl z;>Ch(tz^5OOp| zEbF%3qRc1U>#JzLYqE@M=>sFX7?^uFbDn@dir#)F%T%Q$LHxrzM6e162brKN!g6#p z5DhsS3@^#K;hBEal$nlgD0PJX{_*Jg90Oa2{afICTjQ?YfO1UW;`r0yGy63_hrW0x}>WdRx2t3WVx?m*0g`ZA=Zo* z)O#c%}eRSfZY-jDEY$+fbSjPfu#5T2CNrkJiV=(niI@=&Z+h2W`kkS&r>@w z7Su3$A!{HgkQSvZ@>6tuQY4jLy>UD`vZdVmUs!jK# zv%76glIkXm1mhq2NkmqVBrmYwNP)ligiGs3&aFT30esSb@c|BXe(*ItA<#0*Se1in zJ0mGOEG~7v9)1}_a=YDVB(=KZxQi}A_?iy{&&G=57^8uem)reWfCDuo%1!sa@kZ&* zwap|6FhzE)5BqZyV>MOb`U=3T{^a)ozfO_iu%S{W`;Vspq55Aqf-*wdA2`L2I5F8a z$(7hpLm1g>4^q+G$6UyR3D5dy_)k3p+MkDWoioG(#FJe!;hHfJnA!96r6%!n^Ha+Z zn#Yn>>(hsgO@%0RLlr!P%fs`9S<83CRh_A_Ow(ubP$THcIYYAXJs4K+wAZ3m%urAT z-d_w^|1qIAx!^|{C1b_CgE+5|Rjs5{BmAoSaL{))(5Xb;PMCr8i%g%mEmh^Skqz-A zEYG1_vz!y=Z}h|QUgGi1|7ISlz~f81yM|;^rqE2Wg#Vd%*uS);yr81WAWehRpfThx zjE;VJCa0#0CXM^ENFUNf;Ny#;ClAC;eDXsukE_(F9 zwUoW~ceEF;>^`cu&hf3Te6X6UZ!1%)?1@26Xz~{oo}1BPcqbkmo67z!wjBJ>?I|&V zq^W8C0zqK;J>-B(Hl{2Hypm~EEHlWo{ylkuM+%X*+$+YPFCm3Y@XLhV2PMX}cVtXG zX`H_O++k5Q0Orx8*C|4x_{?BA-IT;qz0(x`m~o69eMTk1bH`s7`o&LFd0dj~bGHLM z!!D8nTJPy5+ttnMjv|E?KJ}a}{FHwv5B1+$v!=1XP~3iwt0o!BfS}3(ro~x?!e)!t z()iG`U<7D@^uNiES`8fOLe0MK7aC7|3AkAiCtaB~(ZzJyW)PIbOi3Im+YjJ5 z99m*BpBxJ^FR0Q<0Jh+7n=};YsmD-~4d4~FY3SGeeg3I?pnNjr^uCT2zoi6wHntLHbWA0|!tak&Py5T8W7hZCEMFMmG7kfr51$85k7@;;1x0l(->Fxl*P7 zQ%TYN8khkGTF!`oBm_2s(deM{FF&~o-P43f|Cb4E`ALpm$d?!rf?bCZk%!Z!hZ77_ z-sCmC{V>DuV&RFaq5b;g-|)nO@`!`RiMW9QAPBS|%<%(1`D#b2_MW`p7o-HHA2yyS zA6JX@p2Vl&ZJc~KJ9|e`o$fSXX4A8qP2bG;=L^l_%JeD0mGKl@cy9rRxn`+qoKc&I z$)GMoMdj_zL}AIF3BbOQKEY_QuGukSVg zP=KcdSsINqKe}Ls-Ixdx==f3YtGTk1s7P>7Pag3RU{;;IKcLHQdDBPsmJEvPq( zMg#$yUll%dX5xn;b%pK5n@v^_2P5&hS*T=hXB$}d4IDfX4Xo+TjgY6((%&qO>C0C+ z0RC2GQiGsO7Ca1WxdeS@xD}UMkMaZvvsq!ZU60lQ)I5z z5fO+JE#H=(D@@IzQg_Ki`f|g6n$6S3GAf42zmM@s^+!!8N&i-g8Gyd$2l8(ep71Mp zv#CGy&=wSu8(xRtMaTu;*hD@!MhM{>53Id? zi{-~9D%zoM;S~g|w%TtM0fol9RML&~>;-P#;0t7U5_5BhyKI)5i@lH`_Y3(Cr6PDd zeHXN>7`#r0fzGY)weCX{fQ$a2Pkw#v|tWB`1a1GFaG{78ROVu&fo>yNP|!lN{`;` zSy(DmXuMJoIxX=;RLoVe)jDYi7^MlxNY4utmuZJ(W3%>Hz`X!+vcQPcmSn-lR{lrC zyOKZ6&08l#zfj%uclzI7xeuc05O{y%!3C&=6CR#)dCa%gb8tZB@3&Y*;&KckOz7cR zUJq6jy*aH<)&l2LiNkUVZSQ$LPt*!Twv6EBmATy;_kVxLn!%<*?JlfJTH09&t0JlS z-P!ql@=9vGFSqVtvB{m{v1A$!U~w$w>T$`h=Up1pE++-KT{rj`+G^88Qq(tQnU(yEaSy}p5gVoMvD-tuz3P7Y4#sa!+^ zlFQjQe`Qv8-U}4Kn?ePCi$*t;yn6E9egkemaE8s(6U8)48Ulki{1@CJJowKVhAM*05$ejY<+QgFLWru&+dU^<66D+jPR+|kbZ3AgmndQEc#Z)=2H=9mG z0d7}o?2<~s?Kjy(B1l!g@#&$> zIPLUIUq-cm#625G$A^@C)P|X@92Fd^(-^(-~t?m!t zQb3oMmNq5;Xifkg*b3l4F)0v1&6)x(Zf;8eMS7PEs9r1MyK2mzx5XTt218K^?mrnD z_llTyrQYA+xc|))OwD{We<2QmiPwTFo?#7(gGZ>2vm$gqDKxW9m;W?wQ;mw#189~7 z+nNz#6H`6kQa6XzZF_>(>k03<>rHS~ixzxby;(%kQneKu#9!(7)f~)aIUXg4(-o3jXdF1zF2P~D<+nV)T&aW`x z$;)V7^Uxw}vfUiJS(@pip!lWx(IM+K|Cl@m%s%)$4z=j$=n|4sn$AgPDQs%>V4Udg z0A!wDN_7LXPOXCr5twb4_s_8i&tCYWx*lh!{s999oH8S(NxjEqgOA*Y1cS1)&HD|P z%Q4l(!&R3;)y#@o!@wyR&Y6U>&}}BgH#Sa3tp{h)h7n%4l}oE! z?@626uktu|BYp3M64OLBaP5~WAOXO^*Cw4{4}J?YjKjGWIy|W}J6@hO*HXzD=Pmk> z8@!c2197`tBUy)7MH+XAnyuvx4YD+_!Ve`r9wn@jl9KHJ6ZB*+0SYjGseyrPFktkt zj%^YkwgKzGQ6KK#9)fhoQ(DT$ix`uksT&9b71gt(>V1)(m8PJuF#QX_$g;i&h`%d< zESay{Kzl(U(94#_nTO*R4|oOGQViMY;b(%f#ro7%kIG`8yR7Pj#FcwKWz>iOc_{9E ziJQvr9USdvAWa(*$65wzK{EN!)I&`(oOp5vH><;O6>S6?oCJcEDM_Fwz>w$82Z| zVvo}Tk1VH#;ly^+3r~QEXL0j}GCov@?~$cLz9cXQgJ5_vuPk*YOq&PS(cR95OO?lk zKtcV@hA6oM3C!;p{s0${VzHE1|Fr>Ck_B`v%HQDAVrl^dXIv~VBG$BfQn#$Y`Ls|B z+N^{V<8ZKI)UR6`rtJX6>DDT?1{K)))k7zU-F&ysgm)f1Dz+;n7q$U7j018x-{a7>IR|y1_T7y@Hxc|dV}NE&q5sNp(eHa z8A-1y)#fi(_T9_on09Fmkm*e6=~SE0cB(fV4^ZlY1ND_pE!2L5f@#=9%?156W$yKu z1^t+%9k7hm^oZT1Z#h}ctjwYs!aGA>V9{tu_xKxIrn~{fbX(0l<9CCAp+4F%_#vb6 zvPJKrfA~Ra;dxwwuUC!z(6idVnFHlYSM|q_KfiW#R0glsp_GdkY1JTW^EwG#3iutJ ztMPx_j;V{(GI8fDH5`}j5nRI7wC$8n?qz$8%yPn}EHG26tO48VBpyGX-^$Pu5TJVI ze6V1m_}Zf%bE?@Ay?^JBO@#OQAiQ+_`^z18Kc*>z99lG5%FDo*-yr1H%{7%^|(5KEsk?-=2wx) zknV3aKXLtS-3rC22FeGmT0A@(iDw>$P^Dln4u|ZFL;LWv#*thxWvvEV5+H+Fi4j|D z&6+lx%31BIb-l&lIp2!J2F|^-1iK_SRr2$Etz*KxIl%1s%V&suY_LVOp7S339OJw71wYNjmZ*qB6q8@cNpBM~7 zINL^!)BOgI*ySbYzZ&12Ak+GlqROI|i)Cwqq|w4*hsylrwF0JvZs4>x^QVO2sE5Xp z>xzrLgw*#Y0+SyqCH3$X9FoGBX;!^lZY|s}5y5W*SAH|>?@^3FdD5m;8z)Tze*?$yM zqB53&rZj}hlsWW*-*9(;Mg-4D#|O9ssMBF_XFB_Hoo2Y^k@f*fOO|@?cWrWtzoa*=r+I=Xqt7u-7s?HJRrU| z?TrLzhaMw-6H&nKvqJ+?8?Kn%X6x{5H--%c4vrhL(AfI2^mEr8Hv6&q*-?#0?}zP% zn%zflRvyO#P8{LJdhgV+p;-4&fkD)AFd3g)vUT}Ly|hShkz{2A1)p8=W$l-jeBAlG zIg%*osG|3e@HM87%EhOQ(n@t4G}l7X36|ZsSsHn!55oiEvN12L%!R@{vfh4ns-}n# z%V64G`wo5J`q?c8ApzefKOEq6G-ewy=Ex?k7>(VhGDGV2_FYdDGQ(4?;Id^Lb~0Kx zdC*5_)80s6q{iAF+ukh(M1AJ#HcTRyCJYyIa6r3lQ+^l#X2sIv(DphD7L*+ZVi+1B zfS(Bg?@$ysI7EZgSa07pNbeeb{!D1M*4=u@PJ^PI{w=$V8i5-87SGjgQ%>WJvcQ(7 zIk;=67h`f{^iXu z<*T+>9N=0R^GrVx-TTX%O@5ckOg>q%C^fF6G_WQGi*0-Y_d2Uo#XTPIM0LoFmc>$F z8q7IWjrfz1bNh1fk+`#B^LQIH5E;jIlFQC0-M;2&F(*`A-ba8;6w#!9TYNDAbS#w? zF+vMq*nsb`*znsxxfcW3QFgu#PB#irX?2pnMW_%K!WnEeFoMn;BAq?!06PnW3!c8k zB&Xz|jc+!Q;CfLd3*3}6bn9Pzo=V0|k>x_RS$vDIpl+zr#HqzkgH&y!3TH}%mD%b7QdAJF&?M|k6jm~M1RfsG&aljoaQG7#ugLs*Kc_2My(nF{|3}L zP>#6dsbWOqON_p{9KaOBWBR^rnF1!pQH`DO5CYVX|DT-xLwY!iFeY`L*weMt<1gG|HWR9U-XZ?zRqz} zz`Ty<>S-QB*iB#C%1x676|~JjaVdwC54dD_;=Dv8#^#L_(a`1fPr;6 zI>P?`uCTPaocHo>d3zZH6*aWq8V%rgpByIt8p%TgJ^(;)qhmV^yza(`*2-%ng7ur` zV8y&nSr*%{?!$xJS|gI`J)yXe^`-cscOQs&_L}~7g}f4EYa{~PiGvNA15WXd?ql4Ma#QLejT&S?8Wv^O zrRe{5Pe+c3knuVCH=&>z(xdxH*mP0l?qq?lJpt=#&En&iM?VSrmDO-;zZ;-*;kBe> zu|@-O3F{zm-!cJp9DuV1J71;A;(M`fofR$!1hQS-uq5Sk`!f6bJg|(<_sQ`J1YOKFKs5vS8x#Pzw`5wbPNV?q-Fct*-(maaO%H7B`p?Bw<0BSeXCE$9H#j?- zCo?uScDdPmPkYaYO2DeU?1f1(g$OAB20hK@LZRz`ui-VvqkiLr*U#EF>T&hsJC&zjyU|LzXlmmD_*# zr_Di@v<}^YbGTVt9M@5EGT`zOr+s;r?86BPo@f;7Q`OsuJ*>No^h^D;RvY}W>62Aq zRkm3U%2N?5DOL0uU?2hcFKXGL(Ia08O5a*a43_G|4{ke6?Gfz$wy~Y!qXvj>97Fs#Q{Wq~H#ShG z@Eb^xkJT>)fSQvKPL`x}*VUUVvnBeoorm|<^`UA-0p2atUJEVQtHVEaEL8^qGokn) z8&8&3%6H}fr@e(pvfYHX!yU&n3Qh#FnQD<)RoOC&bvGR>Rn{Bofr-b5OZ~e>mzRJs zsy${uZ@W1|D(7VDPX&`1rMf;>7 zB;$FL2p~wad+c3aWuE4JUd(+N3U;pXxbo_^0qPL|?LBP-$P$^8fgCaL#0aXwX(C*1 zx+`a)*${g@%#fj#2%Agzu7MO*$s+>_`kIm_;RTpTmYgIcy3$p{3u`^riA6+20k#Wy z&C#Jfg8%lK=FG;~&pP_|RO2CK!z{qp_vPxZtZ!}kRBW=fvddfHiy%glNr5v!{N&g^WUQvLagc#OTB8JA5&{ zhjQ&rSHgAAWN>-NaZyyqGX%Q{&>wlY&d8O*84|qlb@>eWiQex7t+)%5#Z{I-o?cm#a*Y zp9m#_apNmdjVxxzUY!BQ0(YTyIEKzLj%A$D3nC?M86d_x6EEuq%int>rM8EVntnE6 zzLFy3`>yE7abdy4)@<+SLDHPCrs5z-e>nYa5bb)$0fI-@8o=i=1j2N;;IGw$-ztGk z8JZ2OCOE${ZU`_4#>62)3eWE=r%M7;5nO`F`r_zl59F^blC1a323=}@Q$!p+OZviK zc9f2*%ddFm#-UX-m6AU>qOfAV`8#e`I-zg8UNTf!ddZ=7^(uh@qQX?HZsz>b{Z87arxmC$ux(1L)L9_#li8x&oqU+H+I9>RRm8F?zRE#*9<3h5@& zP1k_f?60@7NifAOXUjHzNECFUmWlLd?Sbb!{DuXY|6vYtc&*J3AHn~L3AFYMzm--| zHKs*CLR;`cHA$%A0b^yf*vgd3N&MfF0xydq@vfo_GA&YxV&78GGxu?GqfHjp(w0FP zj1>S%*^2Ny;E!pIT_>d~YPHDA`BuR)(2#Q~Ts@_nBGQc(LR8ecB=M!9_q{w+^%h%@ zBr-tWQ6qJw0vSsKS|}A)hgd)G2V~W_ZwsLC@o9saX?7?tC#$gg;pumN-)#u1W~C3u zCLC#PBo&^EyxRrDz8+w1P_45j^qKu4+HjeVrLWh~P6-xi98a>Ap;gY$UNekrdJRd2 zMsrWnzEZKb?y3mk=|0uSlT4W1Y=-zh)3aJFKUI8})zQHeK|ak1!;Xp#w-PZPNJ<;_zknEx|M)-(E<3p&TyJE>|5pg3q#hhRJDaiYDE|(uL1gw9 z^Fgtk^M8B+L_t0tfKN?82UaXU-H$Uax0zDD=ia+;^5s}-Y-FQyyuQNhhruy1OCV4y zO@=BAbxy~qUDpTrU{KZPdVtyP{!XEwj&=dn{uko0D)0H-7#+)l>VyV>$a#LbL5$Bo z3&edO#k7rW(xMCXJcvE$Ub>m9Q_I{IO&P(kRk2r^>5a`?>i zOeb2Ju6l}_5C$#Jjd-6&0W6SVpyniwTLlQR_bO<61}<&A(*`~*?-<)fcoESeqq3#l z%aE*1o^)$p-;+HC6SJ-~%rYhnA)gSR;$pT}L_~MQ9jfF>x;~ho5{L-V{>R0!bo9r? zL1x*(qm}QW>OsO5u$a>;p&qO8QHRie3K7kDcYrRfP`><9K@r~Unfbjt-|Im8hAd#6 zV>$=zB`}2QG(HBQ+DE3#0m;UdWDDr44l@afS46EFJt>cAc}GV>!lK#|W<;MRP*o38 zj+A__{MMnz=4l6`98UNG3|_A4fh}Dn`>yoRf%I@Bb$E9BjhO5-DZ+TOBgGKItDe7`~V4ytj<&n}2Bc?nw| z_>N@air7xP6|j6Kr_kl*@7e@tPqkdu(q@IzcYcqw~`8#Z5otRRDR)M`cvsLr1s-g$mJ4l^QP7JA81 zp2Yy)p8mZW4u!ia1Qg1tsty?B6&111iAb73!ZTlC?9tDw-fO3tsdlH`nkrv9jAMgg zMc;kOiCZ*w@JP?y<|@PE$>d`>71isMM`iSy^BoKabvX>0Ugo^%XBHtDRE}gEr={+) zh+cIuzL|>AKl2%0x<3Rlq|k1y$~u%wy3PHPiPn%)JHgsCL#Wzi!v7cRC#dbVD7M@o zc~VS%Xq=Y*&lPP6GYPeb$O>`|POOuc>Wt2F6H`;ZpJ^vYi;Agr5oTt_bZ_EGaLXd( zUGo{VSr6YRR=HlhEk@Y7e9`~~(a10%Sz~N#dboyfrqaOVWD;kQT$dj@$c-u|VT(Z& zmA-piL7w0mdhGS=LoAs1xHf}RLgr6~#?e_tU)VY1Ye@GN$YkPhre_!`- zm?*u!=KX?rN8ugINRg$|Nx0nL+r%Y4d9=-^{s-h=ztVMVETOyeX&13u00QcaL*bSq z4W&5zwNbafgs8rnM+L@pfi$Hd(>dRYo6;j_`A+5BbkH&LGIC0AzcPLpvsf*IOqRi-v8~7V36O9OnsF3U}vHJ%iS5# z%aKG|-&sxB77R~`NQJ<)Ti>>uAN;}<^-1WTzL&$m`Hnn|Rde^~l`-#1(g;ZJ{J3wcoo@}|4BgA&bgbwaVh>o0M4_NoP+S_|6Ti*c` z>0jwzEe;!(0`EHr@nk;Rup%F>B&#_%r39wsmmtD$a8WkpT_nV+<=7_xw)JG4zwV64-;#PG(AX<_U@SI6{D2Sf$(kBvl;H>Us5XDqswd z{fc(tG$)E;kpoes0s;7FteaoDNV-Z<7!=fcskK1aN5aQPDBAt|dVF;Qu+1Icf6La-UEEZsmVi+*Lp}QP z80e~i+D3w`0&4X6Hn~6*t;qItxU~9e-{d~#Iq(dZnzl+9)HsveVf@~-)2J-I`%(IV zRkHUCiLwZB5sh14~Dd-yGAy^;%WM_ z1{AxGPdy%)%X<@0V;+98a5A=^D8&LXG?fnqHq#)I(q~*J1sVvb^i*Ph;eC0Nk}vlg zgqfF@lp*Y-dA1jSmD9*dd>CYsse$<%u-ROlhFcO65>8ty&p>Q~B9<@~nY9Qnk}$$h z1TIJ5VZEWt_HRM=I8l_0<164ks(C&X$5=uOc)S32 zzODMy0dc(;rQt5r$0fGowrsNpU6?ZL+M|(Rih8p8ZUryzrqxHC4B(B~V@#f&;eFo1 zPYNqa;*r=tO4T)q{Zw$(@91$O=X%*p8#7=&$!+mkOHPxfJZoQIbO?O^fLF; zM?cG9?kvA_K#I<22`O$q*4Mw>0pd~)5fw}9aJKXvQqCu7B2U9rfn7k930ZG!HqT}m z0#TwR5Ygasm~ERmBk2EVBS{Ja%jE~J_{yFRTVzUx8-OvO^-EL_GW^&)=e^u)$@{{l zVYs(q>CO~cQeU5{r32n|K}tCPbj4Le1CdiuIyCF0#hoxSF*lC{Jp^uTPTl#Q%-sa6 zj#dd|pMdw#d};pjc}JXnY@)~EI?2jKJ$dbKnuVu>UlbD9di&lVo}mGx%%n-C-UbEb zRb9o7NvYy&Qy??|vg>3rrI#Y&Png+umAEco9!wwwYLUYb#e&8fA{aFAt}wnLk;K83 zMK!Z=#ld4y`hsMZSh<=dcRVN@9!|~x$pbwcdeX*`{@rK#Jd00b&h~m|&R`H`Pemex z4d~y&WSq_2Yh05OmRX<54tgO3aG;diOlYiWD8)aKf{*^p%J}m-W}=HR0#fv&FmVdu z1G@_B{;Rmd4?wZ_T>g0;?`UC}_1J0B@q8bsb1XzKWZLcY`_%4Kc_@(8f-MV1zwWH# zRrtkhYy+lkPx3*^(@v}47Kr{J-T^|q#Bo}7^&o;q0Q>Q8>ZTs%ITvaoggamRn-!| zk-E^Xo_ZSwU9F4C)hWIu`r2&h#g=eL4I=-?eC!>eZBQFnnTs6>H?Ze4s%t?cSN7+> zKjI?*Ql{rOhUkA*ASLkLMlvtzsX?IWsI(GBl1~%#rPVjhoLwef4pmaWIrtt3+jO9R zI8r#XdhSTX%km+v>_%hHmoQJ81xJ9;j`jj=W*;??woW12-4?l z(RFk3fU{i$ahXNspA_&a8Y`NzZ<}}IKFXxqdgoXh*1_7#l}M^z{(Lq=gpybXGQbGq zwAJ?PfJO*sL;JiW_3_K%waITNmke;35IRWkEwj7kqz_4?DO+@W^Mf1mwbEs2pJ^gS zY!SA_A5VV`59OC?N@F)?THjXZ4tWT{{t$BeyV$n=RU;!VANTJSqv_H6GXmJRA-f9nf~rF@O*Q(aZL0|yP}JPMOXbz=0Nnyp@I9leGK812x?hbbWHAk z=VAuq_KFb0Nj^2QXrgWFiMpH0ZEX*s%gdJY^~4z{7)&OY|()#mAyu2t^kutS8Ouxq(Bde^VN7V`RXDe(Gv@@jWWuy3Kf8KUCeR zjK{cl^(Yxu_DqzW-H=RUb-CYpaLDES=-u0$rOhnVE;X#2DK>^qXC^UJ9F=>rs0x8l z7n?_14r@=*oCUp(etyiPj9!dMbxW?4As5zb){}ca)vn6mn;i&!FCXXMMf+ZDs@~oI zXfB!CA?xuh^k*lnz*TNz!v&KQIsEP?-gIf?u(UWry)kbIswXUPaUMW*Z^uciUf)Zl zD3U~TIQk?ea%CfF=Jm{A4&xyxlJH1Z;sP6JQ%p<3D{#x9U=*@6#aL(>kvd3&=nU&Z znKh0I*k3H_aqLeCRQ=mv_aGxPn(N&^qsYSTtM>OiM=0QXC%8>3>R`*y6<||9p9x;P-;PvgfSG z$rC0>BZtgD$(cIFA1?+wZynLtDI<4gMCXTF+?i>SU%3b7KKB2b`{(*K-q&9PhReCD zNZC5JABo?4^l0d(EfyA52d%y^m;+)}#}Rp!ybzOKxxugBWPh!63}720hI8X99cCov zAJOU5o_oLLShjiBOu(v@X&Ii)w53agn{W}B*{*ETlS|0|{MUov#;cnKhK2);JGkR_ zOL5iPeCu8tm*^>MP+}M(yWAgt`Hey1vE72->pWS;(F(Qo^i#;P3`6B}##;z6$)!*)#!T_-iqtR%SJ0ch2v z5AH+3QtH~tafyO*GaUIp0&wnR`vp}SD~VfWqwbTkwe7{*#lW5Ka2{<&RqvBoMMFDt z`(H71A7YiOpWVCVb+{w<E9=zUO@GW9pW`zw)q%Z@rsAe#=>-23!SV@pn^Ow$ST z(+J8(;yImy?mndKuWCLzZ0UKNMf!_n+h+HsypAkLu(?MmxFCrqSCr-urj%Uy#ho}7Eg$-xOT3NJ;RH~CrK{eFZ4QyqBYdY~+G(-Pg$Sc98#wB&{?mMnN# z2krSac%>g3pI($ z84x5PE1`cC&#Ebws>h?aO&Sc1>-4zs=fXf@#$vdawg^;ewcP41dc@32ICoN{Z{*CR;j#f#VW}JLdw1N>E{>7Yd-kIK>VK*Z# zU&i+8{ndeb7r7VKaJ$yt<-DBdyg!6K;!{h75^a0b=w_$_VcfMJC0<=FU+WVjU!#T( z>giEszH>R(&j2OIxJ)@Rps2wo0ZRsF3DuN1asg>T-=l;--+wEpEJqaI?GXBTwaZFT`@r8FmAZT&u>c}Px$Hh(Nl2iQQ(Qc z$Gq`EW?NkB+bNTAueNNQ1NehN5HYH8QI&~TZfSE;g8N=@1{HlkA|Fw-mB1{?hq4bhXQB@t!^#wF zHnVJWYE9!l%6*PKWFdlEbe~jlT3M^WGi?@S$j=69pF25;?`Lpe8&^xoGH=tu;Cp_0 z2vSGk|EiczkkA`PxaP&63X~qEUm^RmJTH*(#E~mZqq&~H!ah8} z{xCs|A-raX00tW?1`TL&D=pcRHebcj+tn2L8T!xcR*16b$(BQXI_Yq0ER#ltU*lFP zkt`nm!3ppH0XpU!EIA!`iD36+{29T-p8v+t)@G_Eqh^0#xMNmUMn*VpN=k}iRkt6f zum`^k7a__GY8qT?IXK41YOirXdNkicA45~EJ;e;-$RHuc`^BXt#%+aqS~XlTYdBf^ z;l>zGN7qjS0b^PV_Vss-d^XcRV}0(Ly6IFE`@>TmLdiJS9!+5hn`=!`zNs%jpeP3P{W)L<+WTZ|;4gCl)~0i59~42P55O19++On-&0M z{{cP#^U>3^+ERjnc0VCev>0ju5`o1h1nH}S-NUNblCI&Q$svKzU?SQm5debk*t$Pm zZ%Q&RM`Vot|BEf>U8&|!r;xyOrosICHC#mENP5&aZ~z20siA0i}LZGxcPf{~h9&|P12@X2^G7_|P7Y3dIa0+(DGfLFHW4vD{q zUxvzmV%;!m+{i3ycl=dss&>=+S7VJ;A>-BP9fL$EL^qd)Qep=w^}Z#NB^q v#s&d%CzK(TxW4E9=bJA3b30sLkol_&d6FmO`G#94;0GqHELALF^6Gy9oU5}& literal 0 HcmV?d00001 diff --git a/docs/database/app_database/app-database-v1.rtf b/docs/database/app_database/app-database-v1.rtf new file mode 100644 index 0000000000..acb4f60919 --- /dev/null +++ b/docs/database/app_database/app-database-v1.rtf @@ -0,0 +1 @@ +{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fcharset1 Symbol;}{\f1\fcharset1 Wingdings;}{\f2\fcharset1 Courier New;}{\f3\fcharset1 Arial Unicode MS;}}{\colortbl\red0\green0\blue0;\red50\green60\blue70;\red0\green255\blue0;\red255\green255\blue255;\red0\green90\blue160;\red128\green128\blue128;\red245\green246\blue246;}{\stylesheet{\*\cs0\additive DefaultParagraphFont;}{\s1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Normal;}{\s2\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading1;}{\s3\sbasedon2\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel1\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading2;}{\s4\sbasedon3\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel2\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading3;}{\s5\sbasedon4\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel3\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading4;}{\s6\sbasedon5\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel4\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading5;}{\s7\sbasedon6\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel5\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading6;}{\s8\sbasedon7\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel6\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading7;}{\s9\sbasedon8\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel7\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading8;}{\s10\sbasedon9\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel8\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading9;}{\s11\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 List;}{\s12\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Footnote;}{\s13\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Header;}{\s14\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Footer;}{\*\cs15\additive\sbasedon0 Hyperlink;}{\s16\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b\uldash\i0\cf2 InvalidStyleName;}{\s17\sbasedon1\ql\sb240\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs24\b0\ulnone\i0\cf1 TableHeading;}{\s18\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading 1;}{\s19\sbasedon17\ql\sb240\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs24\b0\ulnone\i0\cf1 Heading 2;}{\s20\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1 Heading 3;}{\s21\sbasedon1\ql\sb0\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i\cf1 TableDescription;}{\s22\sbasedon1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1 TableRow;}{\s23\sbasedon22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3 HeadingTableRow;}}\ftnbj\viewkind4\uc1\lnbrkrule\fet0\facingp\htmautsp\sectd\sftnbj\pghsxn16838\pgwsxn11906\marglsxn1417\margrsxn1417\margtsxn1417\margbsxn1134\headery709\footery709\sbkpage{\headerr\pard\s13\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs36\b0\ulnone\i0\cf4\brdrbtw QuickDBD\par\pard\s13\ql\sb0\sa240\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf4\brdrbtw{\field{\*\fldinst HYPERLINK "www.quickdatabasediagrams.com"}{\fldrslt{\cs15{www.quickdatabasediagrams.com}}}}\par}{\headerl\pard\s13\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs36\b0\ulnone\i0\cf4\brdrbtw QuickDBD\par\pard\s13\ql\sb0\sa240\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf4\brdrbtw{\field{\*\fldinst HYPERLINK "www.quickdatabasediagrams.com"}{\fldrslt{\cs15{www.quickdatabasediagrams.com}}}}\par}{\footerr\pard\s14\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf5\brdrbtw QuickDBD-app-database-v1\par\pard\s14\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf5\brdrbtw Page {\field\flddirty{\*\fldinst PAGE}{\fldrslt < Please update this field. >}} of {\field\flddirty{\*\fldinst NUMPAGES}{\fldrslt < Please update this field. >}}\par}{\footerl\pard\s14\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf5\brdrbtw QuickDBD-app-database-v1\par\pard\s14\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf5\brdrbtw Page {\field\flddirty{\*\fldinst PAGE}{\fldrslt < Please update this field. >}} of {\field\flddirty{\*\fldinst NUMPAGES}{\fldrslt < Please update this field. >}}\par}\pard\s18\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel0\slmult1\f3\fs32\b0\ulnone\i0\cf1\brdrbtw app-database-v1 Documentation\par\pard\s1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1\brdrbtw Link to schema: {\field{\*\fldinst HYPERLINK "https://app.quickdatabasediagrams.com/#/d/JbG8iC"}{\fldrslt{\cs15{https://app.quickdatabasediagrams.com/#/d/JbG8iC}}}}\par\pard\s21\ql\sb0\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i\cf1\brdrbtw App Database - Schema Version 1\line Please bump the version by 1, any time the schema changes.\line Also, include the migration plan under app/database/migration/server,\line update all models, relationships and types.\line Lastly, export all PNGs, SVGs, etc under the source project (./docs/database)\line If you have any question/queries that you would like to clarify, please reach out to the Mobile Platform Team.\par\pard\s19\ql\sb240\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel1\slmult1\f3\fs24\b0\ulnone\i0\cf1\brdrbtw Info\par\trowd\trleft20\trrh0\trkeep\trhdr\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx7957\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Field\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Description\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Type\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Default\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Other\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw id\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw auto-generated\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw PK\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw build_number\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw created_at\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw number\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw version_number\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\row\pard\s19\ql\sb240\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel1\slmult1\f3\fs24\b0\ulnone\i0\cf1\brdrbtw Global\par\trowd\trleft20\trrh0\trkeep\trhdr\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx7957\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Field\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Description\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Type\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Default\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Other\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw id\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw GLOBAL_IDENTIFIERS\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw PK\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw value\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\row\pard\s19\ql\sb240\sa120\widctlpar\fi0\li0\lin0\ri0\rin0\outlinelevel1\slmult1\f3\fs24\b0\ulnone\i0\cf1\brdrbtw Servers\par\trowd\trleft20\trrh0\trkeep\trhdr\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat4\cellx7957\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Field\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Description\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Type\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Default\cell\pard\intbl\s23\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b\ulnone\i0\cf3\brdrbtw Other\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw id\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw auto-generated\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw PK\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw db_path\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw display_name\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw url\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw INDEX\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw last_active_at\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw number\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw INDEX\cell\row\trowd\trleft20\trrh0\trkeep\trpaddt80\trpaddft3\trpaddb80\trpaddfb3\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx2288\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx4555\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx5689\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx6823\clbrdrt\clbrdrl\clbrdrr\clbrdrb\clpadt80\clpadft3\clpadr80\clpadfr3\clcbpat6\cellx7957\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw identifier\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw string\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw\cell\pard\intbl\s22\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs16\b0\ulnone\i0\cf1\brdrbtw INDEX\cell\row\pard\s1\ql\sb0\sa0\widctlpar\fi0\li0\lin0\ri0\rin0\slmult1\f3\fs20\b0\ulnone\i0\cf1\brdrbtw\par} \ No newline at end of file diff --git a/docs/database/app_database/app-database-v1.sql b/docs/database/app_database/app-database-v1.sql new file mode 100644 index 0000000000..0449935681 --- /dev/null +++ b/docs/database/app_database/app-database-v1.sql @@ -0,0 +1,58 @@ +-- Exported from QuickDBD: https://www.quickdatabasediagrams.com/ +-- Link to schema: https://app.quickdatabasediagrams.com/#/d/JbG8iC +-- NOTE! If you have used non-SQL datatypes in your design, you will have to change these here. + +-- App Database - Schema Version 1 +-- Please bump the version by 1, any time the schema changes. +-- Also, include the migration plan under app/database/migration/server, +-- update all models, relationships and types. +-- Lastly, export all PNGs, SVGs, etc under the source project (./docs/database) +-- If you have any question/queries that you would like to clarify, please reach out to the Mobile Platform Team. + +SET XACT_ABORT ON + +BEGIN TRANSACTION QUICKDBD + +CREATE TABLE [Info] ( + -- auto-generated + [id] string NOT NULL , + [build_number] string NOT NULL , + [created_at] number NOT NULL , + [version_number] string NOT NULL , + CONSTRAINT [PK_Info] PRIMARY KEY CLUSTERED ( + [id] ASC + ) +) + +CREATE TABLE [Global] ( + -- GLOBAL_IDENTIFIERS + [id] string NOT NULL , + [value] string NOT NULL , + CONSTRAINT [PK_Global] PRIMARY KEY CLUSTERED ( + [id] ASC + ) +) + +CREATE TABLE [Servers] ( + -- auto-generated + [id] string NOT NULL , + [db_path] string NOT NULL , + [display_name] string NOT NULL , + [url] string NOT NULL , + [last_active_at] number NOT NULL , + [identifier] string NOT NULL , + CONSTRAINT [PK_Servers] PRIMARY KEY CLUSTERED ( + [id] ASC + ) +) + +CREATE INDEX [idx_Servers_url] +ON [Servers] ([url]) + +CREATE INDEX [idx_Servers_last_active_at] +ON [Servers] ([last_active_at]) + +CREATE INDEX [idx_Servers_identifier] +ON [Servers] ([identifier]) + +COMMIT TRANSACTION QUICKDBD \ No newline at end of file diff --git a/docs/database/app_database/app-database.md b/docs/database/app_database/app-database.md new file mode 100644 index 0000000000..4ed6ab3828 --- /dev/null +++ b/docs/database/app_database/app-database.md @@ -0,0 +1,30 @@ +# App Database - Schema Version 1 +# Please bump the version by 1, any time the schema changes. +# Also, include the migration plan under app/database/migration/server, +# update all models, relationships and types. +# Lastly, export all PNGs, SVGs, etc under the source project (./docs/database) +# If you have any question/queries that you would like to clarify, please reach out to the Mobile Platform Team. + + +Info +- +id PK string # auto-generated +build_number string +created_at number +version_number string + + +Global +- +id PK string # GLOBAL_IDENTIFIERS +value string + + +Servers +- +id PK string # auto-generated +db_path string +display_name string +url string INDEX +last_active_at number INDEX +identifier string INDEX