From 3f7bf3dc8b930ca8241a82187f6d600b32f82aea Mon Sep 17 00:00:00 2001 From: alexweininger Date: Thu, 22 Apr 2021 01:19:22 -0700 Subject: [PATCH] edit permissions --- README.md | 40 +++++--- media/features/database/scr1.png | Bin 0 -> 33820 bytes media/features/database/scr2.png | Bin 0 -> 27938 bytes media/features/users/scr1.png | Bin 0 -> 45455 bytes package.json | 86 +++++++++++++++--- src/appwrite/Users.ts | 1 - .../{ => permissions}/createPermission.ts | 8 +- .../{ => permissions}/deletePermission.ts | 4 +- .../database/permissions/editPermission.ts | 29 ++++++ src/commands/registerCommands.ts | 7 +- src/commands/users/viewUserPrefs.ts | 8 +- .../users/properties/UserPrefsTreeItem.ts | 5 + 12 files changed, 151 insertions(+), 37 deletions(-) create mode 100644 media/features/database/scr1.png create mode 100644 media/features/database/scr2.png create mode 100644 media/features/users/scr1.png rename src/commands/database/{ => permissions}/createPermission.ts (81%) rename src/commands/database/{ => permissions}/deletePermission.ts (79%) create mode 100644 src/commands/database/permissions/editPermission.ts diff --git a/README.md b/README.md index 7cb8dfa..94a1db0 100644 --- a/README.md +++ b/README.md @@ -12,17 +12,21 @@ From [appwrite.io](https://appwrite.io) ## Features +### View database documents right inside VS Code. +![Database feature](./media/features/database/scr2.png) -Describe specific features of your extension including screenshots of your extension in action. Image paths are relative to this README file. +### Manage database collection permissions and rules. -For example if there is an image subfolder under your extension project workspace: +![Database feature](./media/features/database/scr1.png) + +### Create and view users, user preferences, and more. +![Users feature](./media/features/users/scr1.png) + +### Quickly and easily check the health of all the Appwrite services. -### Check the health of all the Appwrite services. ![Health feature](./media/features/health/scr1.png) -> Tip: Many popular extensions utilize animations. This is an excellent way to show off your extension! We recommend short, focused animations that are easy to follow. - ## Requirements This extension does not provide features for setting up or installing Appwrite. Only managing and interacting with Appwrite once it's running. @@ -35,20 +39,30 @@ For example: This extension contributes the following settings: -* `myExtension.enable`: enable/disable this extension -* `myExtension.thing`: set to `blah` to do something +* `appwrite.projects`: List of Appwrite project configurations. To set up a project configuration, run the `Connect to Appwrite` command. Search commands by hitting F1, then search `Connect to Appwrite`. + +After connecting to an Appwrite project, your `appwrite.projects` setting will contain: + +```json +{ + "endpoint": "https://[Domain]/v1", + "projectId": "[Project ID]", + "secret": "API key with all scopes", + "nickname": "My project" +} +``` + +We plan on adding better multi-project support in the future. ## Known Issues -Calling out known issues can help limit users opening duplicate issues against your extension. - -## Release Notes - -Users appreciate release notes as you update your extension. +If you find issues, or want to suggest features, please file them in the issues section of the repository. ### 1.0.0 -Initial release of the Appwrite extension for VS Code +Initial release of the Appwrite extension for VS Code. + +The initial release only includes features for Database, Users, and Health Appwrite APIs. However support for Storage and Functions APIs is on the way. ----------------------------------------------------------------------------------------------------------- diff --git a/media/features/database/scr1.png b/media/features/database/scr1.png new file mode 100644 index 0000000000000000000000000000000000000000..f4afee7e1585f52f448a5a06806f3277a6469cb5 GIT binary patch literal 33820 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 bwpsltRo!c= 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�RZ1IHJS8Ti6JlqLt2@mwA z>FgrErMLBVjxmanJIO3uSaw{Pkk&AD72cP)E;=Ti0bjWF%!BxSWjz+30ay0FfjQk0 zeu+CH%YG#Nt#ah`(q;g|K))DIkjXyZ88?e%>9muM>Ch`(=?$H#$@wgK{f!-t6+qXW zTO<(?tcZg$-B;*61;SKr1Z|C^n(Fy|crORdz^23=xtNP{U_(M_FVdg&pjZ+W7x1Kv zXgF5W+IsJeB#Nx6D7`F_M&o~jUcExjkz2>dV7)PvYQb($XvfC(Rjzg@Qi7say#=%t z2`VW0V&yH^6q;-F@cc2`>f#Jdh~(<|%MGOS@apFWm}*v zYT&$RM3%<6pRxqtTas@%Z&O%ch-G!MS~QRcg4GXag~;Dd6s~=&O1rZz7GJ4B^y6u1 z3+$~E%I7Y*3Fq+piNdg4&a_pfAiOs)TB52~x{WEXPb?$&>DqYorXyZcEt1c>MC>GF-mPivUs z+r49*On4MhDH`WAXOD&kM~3hNjkPygSww`{^ivaL2pWyX4R)*EoRMX}grnG8im{Sv z#P!nhs~`RP^trv<3($6HuosFUOjd~ZS-@g=Ta>FTTX02;%07v;gwuK z3qZDFqbx@MMC$sfYqCKVXYE6AJ5Jfyrr<7v`9DDI;2k!)+ZxTD6uT13`egf+o=- zKjeX?Hw;-(8|Li?z`3;JP#&_$hyU~ubVNC>M2PAF?Y*a@ zLf=(L`leJ77Sm9QWy_E5D!?8`Zt|^tki9~)kd+89u-GuEqdl)86H9cYNvlzGYxb}m z?tOek8PzkS0t_HlBHLjAF?~D0|My7!4}_4J^Uc4VuFZ7?AA;-Hl=Nu22#x2t3pta) zv|kjMcXknlW`|$7H3|tEmf-^p02GyX?L{Q-AnyZr1P^ArV<^HryzZBqMhrhisR_}` zltz`orwG0r1Z;e_rH%0xA6Y}GO-a7Wi3^I|Cz=51 zkM5t|?{gj$y1W9d@2K|-hn{zu3;WkK$2Px=sEi`m4UGF3~8IW>0Zzd+Buv?k>_x80j|t zbAVT;F~U>q3*XV`Koa{v&mb9eIkbfjOR_dwVCN2PkHE{wR#zk9Yu zPBqTA17l6;Cdp^p%D=-f8sCSqi?Y63zRwcJ5It|-0wKmM1Iw;(&NN1?~Rf_1Ye&drRU}qLD51V7A z-AmQ|&Lx}+Ah9i+?}MIeNFwF4O=9La#oR zXJl}_E-Cf$fu{nbzKdPGL_(xT1jJHom7$IHvTjOi;kvauHh>mXbJt3CkM-Bq?OhGX znfw4HmWL6c&w)&rR_ak-T*@w|O{Z26tFQ=>p=(w&oDpAMw;SCU)}L$%1^s&v z>~?-zwc*Z2YY`nO1MZ3jCK?qe4J_ zk(0tX>wYpDvJ2yB4gz3WGceiBk5djjc@31;A@4k|Pnps%5x@`^Cluk8-sErtwduW3 z#KzuZO)%qMxu`QzanE->+2WXWI!mH5Xtcizs1I$dYY-rR&=cOW=kI4ylO8LN7%(y-EN+A@TNH1sc0>76a2y(%vdL-MDjW3^{t1bG;ll zf{_>TXe^i~_Lc>|u5W;Qz6xcE;CF6fna;t65FD-1(DL(x~tb6b6%Fc13XN-3pKTcl&zA}^-T$Y&nq zYMm0+pWmCeS-CBbE_K~|a&DU!Urf!CkEVZT{rS+G{^JXdm!}xgZM#BeRvZ=pw7o{j z5{;`NaUka#rGru%nDMIMgz3c-`N{O{bm=YOX7Lg{r0A%+q5Gzp&>jZW7h^-lM4&zM`K zWy}kG{_uz-r?XIJY@GW;z?>8P#xh#Mr3TJ+Ut%%B6E?|USYW`WSF}5J?-Q3q7)bV4 znC^q3dR~v1Q7%7jiof0r*H~(;`Fo7D;eE*IB6)s-4Jx_MEN^q?EtKpLn@Yo1Y;N#o zRLbB@=UaAj-mB6c5=RCu1vDFOt!*dk_?khd-`Gtft&x#04moSoA>1{kExc*)0T(u) z{SW)d><>IB>1PUuD7El<*VTO0N#T?mrz0(&S-K4#9lgQSf!0BHtUYf42|Jf9ZGGml zW=a@`KAx_;waXp7OV^Ao+WOn+p_A@9tRPiju(qK&SuOuqf;l4qn~P&aJrA!lLV8)? z2V&5dK$M*KTTSYm^}C?+-EGKT=fU4a^grNA=8ITRA!6;b2d=S<&1bh;AMgACsx_<_ zmrKy8o`;c&Rb}UGexsd}{^82%_V1Z>$W&Zk=msZE&2?8j=HPP3w&-rYM1s(37i&3z z)Dc7NXZ2qM*zSwE%npt zkkk?;NacOC4Ex{ZV9ERobXGt@Wtcdi3>)4%3%T=G?BQtI{1N7pA}8nM$H@zNZ*aDl zo?o$y-%VhJ)FAbr#L_Iu{E3*6alUr@FNof4D@D;clXb^v)DJ7Kb?gUj&=sedwp)wi z`l&A>u|BK(Vd7rofS0y!{I`=O78pm>3i61>y&DC3pUMptb$D6(_7+ysT~$gg8@O!f z-H*y@$Zp{?TBYk2eXYOyys-nVb*mPb=vAyvgo;^~?gZnfrb+l5cA(7&CSbd+`U))j zB|`Y6QdV^vI2!BcT0HGvh|XW!(VymH&w<8D;OXg;971}=OH9rQ8v#?3)6h@ms5@0Q zUGo&#>zKnM^eY2ZWr&OoJ7_i&ycCx%TAwzkQab zmnHVbydFny9c3Xn)aLYe8lU!o<>r&MmG_GmQc3&?D#Wfbzx-r)8mSYjQ`uZHn)t%J zQumByze1TvzQSqZc=62V2E#VV5TGPU-_i!oJkw2jrH@j4D?GKA@bQ%w&m`F&KX+`=KSq#Fo6ZdHUDDkc`u^sm^zJl7fn^(AFr# z5i-No*FKse%v3HWZ0PPd)<2bdEKH_*b!EHr7b{=oe1Cr=`HvTJfuc) z3S9#G?ujar${*E3R%qTV2Q%^Qgmz}8De1RQT;mSszODdYTkJ;VQ#@Wz8s80I@qo0Q z1M8k|%(?YfIR4u1#kkbrW-sD5ccyml0z6|`5I@LE!{(J{a<({@+`mT8xxS+r+pmCR-oyec8!@2Q@xZ+wa0d{V7)b!Fk*0*%?}bx zI$hg6S*3}QoIEP8T&sK($D?13R0>Ncg#pA&I?Fg1u{^`D*rNBX zO3h!R+1eOEKDaHei2;$0h&)Z%97?WkB^u{bW+c{!6%KP+tO!V30oOQ`)?VB{6u4nCvxdCXZIWPbN4KX2`nFHj@*NXn7o)-fE5M7zk z6K6)z9R$wZJYDqZGryp<*5Q>MX!Y!&d8yWNDQ`!Bqp(Xt))9S?`lojlGc3&g&)D#& z=$K)!-JLl(4)1;qtEk{p1f8t;c&4HAT_WK7}9bZQ;~aWy(-VJt4WO$xDX4R^8KNP&=Oy<(kHsw`HuO z3Ol6U#DiT*@mEK7EJcsq?=+**olVJ(qaE%ci0SE8EpzY1-()h%*R!p4F&oyARg`J= z8s;0;TRXdQV0K)rP;+&8>Z90h`d#q`h57L9KV1^v;E$$^Ee_E#aVX-n_es{0^7GP7NIvkvVCJUxC{{mRiF*LQ#&(c zC4U5NDHl-bDXxsZi|X%_I>WTZEc=fa*CKWk2LjUVx!?B zt?H48qSQA?D~@K&TGj%>2$Ek!J|iPlyKw18hpka}e20461dD}3yM=-??-y1qLw)_& z5jUYyXGb%Qk3_*ev`XF{zAp|gRXP^F2dAc3(ng5*e$8hR>-ze_6{l+@8@(1rAEy-{ zU3~Pb>Li!X>?}V3AZ-B)I%T`xz7IPy!)1z2N;kat&3qVlpTXg#@j#pQ>q!EEIm&n< zx>HY6$M);X6xoW7Inns&XZmir@N3r;DvD=c)59w&Ymf7{o=)rGB7Svr#uJTT$935^ zs~HVEowo-2(jd5D-;-xYFl|l0XxP33|-Dg(Ai z4W~O4x%_8VQDTn44czt;fuHuoaDQ>dlKYIBtv1#-hlRI1oV~3#y^3|Tq?P3RTghP= zcOeT9OKZ44#PNp`15Z`W#g+MIwM^$=`Y)}=5|x?J0IV9G__d`L@-!T~HvCMfXq_ zrKcuAhCmynHb?D*HLGt)7X#dDw}RMCYw^uQ=X|Z_-&9B1dl}jAu9jrO63u@H?V`n5 z<&RX}Hou1or#0=UX_I-Vh!^?kaJTt%#O&jqE`USp+<;daDHd&6jbYdY~4-!HGcj|k6Y{qO?Tby?~RZG9ABfWs@LjJ>+%A)*E+WI;a_R9 zdNPi(w5NO z5)Zyc4N}hyyb2r&dE7q0ltkw%1_;DQ{?&6MO0#0#_bm~cd~VBS#{HjW`wm|)KX-2a zo=)TL2tW+VY15I*eL}}e@yA(T_k>uVCiJZ*ScA{L6>w7WjL%~}4z(}80*jaH8WR7o z_*kF)Mz39LIoKE?3ap{P-8>I_lUr?S(66x8Nnfvf%=2fv;sfz7$Ef@ztzk?_?8Va`xo_aTIaaT=j-t9pACq9??2W+l$;Fp#MFlOUPAIw*N)S_yA(zf zeRi1Iv>v*h>PLI@5pvmHcJcS!B)i;YV6cA}d?&L{TG$-VkYz|ZupUYon@M~2)r#iw zz{TIIqaMoPKmkbDR2b=-PTsfa@WOcv@3MjkNkzNx=`r3O`_!i+26BV~TY6O;povJp zd|2%DNhmU!%K30qhdt_tl{VoF@y3O*3>(XE=}&q+*L%x76B#NVk4d9V|IL|_$BF$4~c7{A&*|2w=WJu1XSqe4a~PXB)Zsm*`&X_c>PU(_cv&v2PR7X z@2H2z|1#?FAL;TOGYX`^-V&J&gY7}vBArW@DmXYvHVg#Epfm|Iq?H$MASMOVjVlXHQ%Nc;1j?MPe*=L*5#=M#c4sin zgLEhFg9SJu?_hZ!CtRMklIKoi?893hzqRpS|XtNN)S>gx#-^F!e1x`hS{Wp3F<X1eJQh-8Zbe#;U`G8!e`OW~e zH*6B&v2KdcUS32#377&i+5PY!EK`$-p1YU2jB&WluN6r*^-%9=UeF(}Ma4i~=Zm%k zNU!TQ2vl6ti9z`I*ydJ_#&ZF_IE-;>kbt)7$$n{ev{q|hj5`k+-4)u?ZC#R z$AS_+D9ZUYIJI73IPaco3VYGwX)?ywG*;#>{pfk|t!7-FiBgE`ysTVQUPKq? z-r-Y=Q7_05i) zi;BvMBSOc5roXe|x0@M_u6V(xEF=r9OzeLI+sQM98Z1Vr*bVR)v&kIHO8e1XHCid7FXTByB*ua_`TO8JAI%Grmd~ZDy}}rw zq813{t?Y^95HGa`0xcHfmKlCRp72ypY*v9=Q{k-J_2>oT zSoI_b)^d(^`6yPWdy9PhDs}(ze0>wd>XEZs*IJ`b%S)z`fL#iv%lm>jJw0qdNk*lx z(Oa7#d_=m|l^TAP{#|_%p&~z#SllP*eUH(jlah~1^(b?$1vtw}ILAMs)+X`m>KZZ8f~F)8p-mrH=gBoJR3Q;qkDuAnJI+b{MGhOG)e&91U*tq;eOB*}KWn#;7Mdf%SM%to)IH?1n9#tQ|!t<*DqOxRUY z+3XUrV|8$Ghby++9={ZshQXr;VN)EF)47+I4a4014mnq1BqbZs*|HmMZdjglz7DCdL@^@awk2a+VOo^L zALzpNC?S-Y%IGESaaYSsDlV}7I(X>>de*W}JYUMLQ^GC%eRNx;ns{^ye(SCe#bAuu^Cpy8Auzp|JTjBz-yZ`g};C;lWH~qX!go(}C?n#ijfjj9hQK2JH(^H8@;ZKTO#HS78n zyxUh54+urQ8R!`pnb|pP*zV4!dd11qw;ls4Y{LBIVmHMbF-!9POuHf9 zKl?nWG0tNA@{hf>7?QLbS?=MLl?>ywzCCx5C7ivi5wBHB7g1AKUYRQy)Yb5PaVCdzL8( zAo6NMJx>(AvcQtAv$86`1c{&NF8RD!j5TTT>CBVqfWB(zU>c=UFj82N*2$VL!jS8G zTC78ucR)x)6sw_+fohm6xS!d#t@!GCq|I({!Qm=U=`LX<$q|06ynd17f*Pr5O@UEs=atuFrc&5eu|$ildWC?tD_ z;gWu&SO!axt^6%rJUQ{@uhEjPjdS-$uu-i^-Mqg|$d8E#Z?CX+tNE$a+<9{S#Tu>Er2) zCkED>rl`gp6(O2y@<|CMwKq^;k(YGuK4pGc7%eBCbyB;NxI zl8|4_U2QY3hK@RZ3ePF7wUz+58DlOCR@_f`=?1ocd= zmAk(CQwqnBKy>J$dJi**KN+=HC@6q^JQS$jUO;`jSBrx22#xeTpZ>p*I?_#dZ};Od;Uj_Jx>UcZ{#|-yn+9zPmdN7 zE_898Y*gP9fCsF-N0*p;e%i&`rhLN0BrHdKM zYWDRVf}g=7mdMS^eT~(yayDIl>e{@1@H`{ye$MEOHA?%wJ@DbwHnX+l_T;f2@tz~? zp+dg2gN@3^!%rD=a}1^XSLp*)YRa}NF`uVuY^-U?fc-eszwHV<*DL72x>B8 zGK-~dDgC*B)bR^+LG^qS()!0m#AZx5-@ScKYlRddt8dji8D_`r*C%Tqt6o$PP5Svc zjQccL zS@`-orUDIDEK+D^v~4yvP`I#t`*y!b zlhR8#A(&%T#vQUtxYPibF%w+8BS z1nXhd#g^wWJ~bA1XP)a2OY7yJx#x*&#nl%gO?|5m(X4lLw=X0S`fh0^4|oihHzF`_dpl1BOm@x+sml>`f^;bbTAI z>dPmi^_ZIztN{GA8K}B^@bqDE-^-$It_78^xbM%caXGANsQLpdF(yO{_V)Lp$=(=w z)M4f8x~P#-9h|MT)7xU4)YR-PTzX5ui3>`N{l#~IQk+9ZF227GYzr{oD0c(Xzt>rd z0gnz}*Zo!P_})}dm*&e-L9IY}iLGe@{{J?CL1W|60M0Fih=UpM!C7R?Upl)o+&6$l z6TmqV8mjlBe8pY)hx}Lac(@5snU{J5Q>LTVj>M#_P0A*39FO(lCmDBk!RH>$JjBoP zUF-^rr>nlblM7lZHI(bM6Hf7bg0|>E8@H}U1MNu})eXit>&LLg$KL4XHk33RfY7O9 zOSHMV4=y+JbJw!(vfkKlt-d+_t*pY~^x^!>?7EL!$cdJY*Pvu52apI2MVL)a-dNP3 z%xl>6(ueq67&fzS#Esu627o^XY{Tc@1#PzOUR-@3i@f|ZBloTK)X+f8A6rMWzuo)c z4`K(K*Dz00Xw!A|WWzwzxP|Gm15MdoYXu?nA@N|+U()=#QSike@WTk^Vworh4(Z-7 zIB8|Z#6Ciy3RV(jLY|gE6;`v5r%J^m&O9O4wB8$`9XnK`+jZo5i*WdsqnXn0HT2RK zrAtg~uzP8rD3l#YoQu=zD&fyfZnRA;Vqee}phB>bSpPaX5PDZW!Ghl-$|aLk|J@-y zVcoUz>r)I?F?*LdjReh)lnF z_bRQF0&5`(H>SsdETP0*D;niYrn3>Q=f0fXZttDrVhsV)jWIou`NsP!O{;mc3jpL~jB?_N^g z)9I=ott4KPG~f$!ja|a|?cTHCU9;ULf!BkMwRzrCI-T#e!qQhRMk}86O_FXp+k5n@ zH-VO+UB7OVpS))bu7;QnmYTBB8lh>N>kn~2iSwBeCtBz^7jTO*zS1WUV=V@mx_7Z7 zv+bFk4WN6ikPmt6Gz(O|jn$Rjs6)?6&(Y<4{P4s2q31#}*!#EWMg#|jRJs1)dTYR{ z0{xw~hmx#)P>$jIm>w)t{e6?UUw0o-q~ocHLDi5vNSCJR_-}qshZu!BzkxK$jF&zH z7pi+28BL~m0%a5^1w_*Eo>z1SH``hA#7&$2&L%HNU`qXle`%}ok*8?PTpGgFLJbvr z@YzDdz5rov;Pil?T|mL(fjI-Lsk<2p3-y}H=basLrCd>!uZy)MMg(CP4i7s)dX0@I zX@eub32vIYtcr>*?i$8h!J?S!Ex>@)mPpLUHIeFvEjau}ZFYG;?|gjf3C4I!Ma)Ks z&x98Z9YgFMn*HXDL9^9>(_E0zbovea#Thg{=z}=0m_EQJDBh z;&Cde8)UWidHbzg>*DnGv-gOCxYJ)QV0vC;VtPP$Jr?js9^y@4z|)T9pz+WA)m*mi zyJO(v^k;Ru!ty1VIMLC&u%Lu{j@a{nOMRP}AQGtPONU!NiD^%aC^cGqCzJZ0?+MJ+{|l_4(Z2tN04pW_k9zU{Uvnv<9}_zP+u8G1NVpU% z0tySF(*Nh92VaxA4gS~j(hZ;PTx&5?Hpi5;pQP(3BSf?ip8 ze&O1{>U8R_V_cVk%Db7G?0bgu5*tnr5UFd;s<%aYQr8u`Wb@%s+~Vr8t`rx zC77KbV(vEmiLq3H+}4M}BL~2&PJ9FVltIH;c;KpkmP3Q58qHP_(U-f_LHov4Ww zGC_-c;3Yi!;|mgRslY#Blx!jbP)CP^r;zJ2mbSdeueWaf*ffQ~3~ct?yT7B+T(#sS zUyq&R3!K7x;c(REVMCfUT)l-TQ74Xr6_Vco?clk@k}8lU_^E+y{(G8GUf@B8{UDNV zS-)?N4fR=^E8Gk^8c1Tx!t|dyDYY=vz{rFzn>+hqGp%G!kn;hBv$9d?g*;~nClTEN zQ0MJ6xQ3Pb`k@QFO40zvMmyM{VGweKg&_L=Pj7Ge71bNQeUpMT(kLJ$-5||?(g;Wj z(jcXD_Yl%0C@C=07toz0N2h5ti=eqXn>pYI* z{G3DKLi{E158wrPHesLDcSmMn{5Ua+r9+X#jp%qJO(#i*As)f{oO_DZ9kL4vI_Zd?Z0o-Vs_7^ z<~26u8TuH-o5u{#y9;gG%(V)8VR~x({#O#*#72<{v8m>Iy7b=x_ltR0^_cSZCO?*S z9QQUR0}{lQYSQ5*a(4y)JBRQN+zKApc>ckFWIYiTJ^d3i{p?!JjT2}=vttQ?=rFRX z&|)%dk9Ois5GrBKyv1r1>@=Z2?deYXk+7PtEBO>Mo)Kzq6-pvi&G0>xpTh%>5-eHeEe+4+M)XMH6Ru>1mrBR|JNufp2i>Mb|YwelsvlCMunQdfg#s>)W>;pzyV z(s50%p&JF@4n{t``QFKK^YI^Wm#fVV)%`#j@JlIa<1JRM#p_$Q z8dSXy*kWu^XH)lZdN>G)yde&_5%l$-RbPEq_cWoIEYMslIXueq>3)^2QIf=NZL$pU zH9oY2`m~=hIOXH_^tsL{C{6^R|NNlGb*T-p*Lt*mUe#0n8|Wh`AZk6Oq3xRPZSoLo z`WgpG&DO$MIKp^uG{}; z*Z(Y)s*#nTV2r}v-QO>8$8iQk{vmfxAt4dDSq-|};^N4GU4twsve*jnfm~~6p55Lo zm70DKAD@aa@=a3u=Ilo}^o(<+3Pm31?-ibul+;vo;T42_RC?6iHAWeBjWwi}x`uw+ zcwgE5%NL%f6M4?h&(Ch6S)|9^i&{OoC%gScK%2~W^^x z8ph*=t&$^{f)mV93`j^a@X7EMC$o(*6Qg3hUJLjeZxCFEpwg}kCd^uL((3S&GJeRP z)?kW}7t0S-yz*W1)6MP8Q@6O>_Mqpo_qXW2_blnxu16=h>Qg)Z(k;2CCtmbCI}L?R zvEESLS)Q_3Eh>Ot`r{?yNE{EK&4ljQ=jQdpLYToD?-x9^^5KhRPw^Fxye(O*_BA>=dB0H27Khijwld2s&HF3^spNWiYBqQ4 zPJLZV5J3wU?OZHLJeYf1Qev^dMdl)M{oL~Y+N3S*2jGMLm^&JaUs-CDXbBI?w!4w> z_mQmZrz5@Tp540XD{JLiAFeV*G4j%{@GLZ49hXevAa20#y2G+#Bdu*LF#_8&!8|8- zR?|Pp^nKrh0ni{?O5S$-fwX2FYz&OkkbtQ~<&Lg$! z(gR<&k^sw__VkL!KT%;Kt;7;}vZkAg%^$il!ANoB!!A#{0(O7eq(4N)zPj^)6$EAQ zU1gffb)3cFt~k*M1l@&3867l73$^`K$Jng#yqtUdVQceOux)Hd2)f%xnw-9}aA(+1 z9}LR0IsK0(=Okgb?%&?gP-xr}*T+;zX%N2aCx|gi%&ms4-6kK(ay ziX*wd{nm866W)3;T%xz=zssI)IToEuzsly_J#C2`f`9Q~rKor>VL4P-CVS9PFAaNWjiR)Bx~D=Tc#g+E)m=CuFPeAEmrPD%R_*rQX2S$aqW+u$NQYG>&q zeJ?SchV0A5(4Ez2YD+U$X~0^{ikrweR_kjn0B^|!lE37)AA)>fJc&_eOspA|yo=;2 znKid`h&#%b)Gs~SVfBEapJCu`o0W4zlr%^q1aV&0E`T3>Y9XFZu!^E9V}Q_u7d>_kpTdF=KS? z3g&tndY!Ptg{aj|wPXzBUk$u>!Z6YNV9rftOldPxAuCM?7p7Pck)ia&q$g!b15Vz4~$J6(13OJozX$Un012!3ceDqo@lLn%6=4 z=9E@u*FEH@tuQMj3}i2otdBOZB~9<*;@^ylu8`SyTQp*$ zcyqe+YXxYQ&_k~ID%0yqf4uvcVf-9LO`=&tPE~eyQ4kP(;Yt6 zSPkbkXpij)jN%ZGp>dG&4B&{#s*%nFX&fzGV-`WQr%>RRzDJQw&TGfNo1ZPN3c57> z;IPotvRd)(1@H=Uom~xq5PM5TCLYXm0{MNuO}IUlno=|EBH$!D$8!>1Gu#JMjyaE( z#eY^GM)VzA8Th@`_$ePgaHiHPI0cn?e_q@5W;+@>SlA<=rEQG#B0`uKJyqxo?jfR$OT_Svt}@h>0b1D2Mfc@S z#IXCo#z9gY@`QM@fP|Ek@3#D?R}^V#$G+Vz^DKya*EVM^N*t8kbExQY@2c(o0j^ueH)Yf zjXcbPe*0Xz!>5<&v(s{kpZ3L9hgLoYCuj4UZhG~|D;&y8-@%+T1X)#Kj0|=SQhO{# z6dOT{&8FnPG&E*G6LIsd6^iP1XZo_t!$Eq{aYKk3qL%i2vX3DMRoJHMTLl$m0Q^^~ z1bM|8t4XS`gL1QGgK0F~-MhDJK0CbwyVPx$+YTc)4k`!X+WwYn$RFjh2OvJ z4ws&oNchFp-Pms|ykBbQcZQY^nsGb#MTwEJI?Zo7-u@-rmZv99WI=#9+f)Pg&SRM_ zC0oTiTkIK=i7L9L9{)4r>R+;~WuU-eW%F&UDmftqr zUY+_aF}z_)vB_dp=+q(s)lH%uKMou-V=uNxsl~-n7Y*>l zcdZbM{!z&jWP-0$L6?&1$j}&Y$RW(3Su%THP1{yr&bD&C9(dL8QDW{1*x8h9eSa%j zTrQ^jkg|ycN6=%S1Kr1(0!^WG<5 z?)f3o5}&y7_xc&UyqE^vx4wBh8$)l62HO;qgbGahqE8Xww4=454T5(LVEP;#E;c<^ zg^5_%*|8@aIt`j2GevuzUEO?R?*f4=?dtWAZ8WSNDE1`ZSZKPzq4Yfk@?!q zuzJA;#Z<%3kjXdsTNd>lw=VOupeV)+-xtFs!#}~B$h-moajI?9rV85nCnDVV>vK`K zVLW_!wr;(ZF#q$A^WKK^-qmhUWROv06dhB7T%Vf0h%qh zUe%lNhL_5FUg%j%G{8%Kc{_;XBs`;PBtGtP3%ZAM)-VLHbgEb>t*U+uU*n(wG4Kft znRO?De*X$s=x|DDO1pctZtbwx{Lb{3ApO92IGlu;=5B0eEu+|->dE|-fmvlsHUl%m zx1If>drD@qCI36k*g_U>a_*oGtnZ(sDTm}}7G?fp*T5ohC3se-#a zaGtt80U5xY!-&J@xdz-t`w3OZYC}Dm}PLd$D z2-n~->>q^t1}{ygsz%m^u@7xEBSGY8V=9qedGrd0%ht!tU8~NE48C#y{`+5nqJ16b zMC*LtmKV*m9>*S`oUpZ?*pA=FMD;GZgDUEX#^Vqh8}+1knBfLF@5)Xl(S1kzZXn!b zqxcj^Nwi0af!IKBOIvqi#cDRHYM4!0IO5S8Y|MAPF%Tw3 zLK0Qn*UT5Bul{M7BrYk1K)+#2fFw!tG;ca#$`bXzeQDmp*kuLC?Pj`3M>AE`V8iX9 z*`TVfh}ZT%m*GZ9Y)>B6QaZoWjOxv^$#(DO5_2_7fjUo{fdAc+aKblR5s8Z`I5pe* zE7ce8L%uz){fB%8qo1duJJ>1>UUw)g8bVuA6%Uoh(fRpOcJ?9cJI#!TA|55H z;`PDo$>N;ZsO`+AjfFPcQ+-N2{%TBNGfR)Jpw{r^*g^Cw&KOr|Mm#nvvLx+uvK5gY$$L+PoVTr7=N~f6R*CM_ zA^Oh&)!`UW-iIdY5~b7q0M8dV(fdK&qWcZ2vrvZTyY8YoF59ab4TKHZKi@1ReFgHq zU;1L4c9_o;Cj+0Qa%Y95+&?4I6t6fEfBxZ-e`0toe?@Ud76AAvfYFHCoF#)nMs9%T6Ud7WnAV>&N36u?R) z#n2GerAHl~o0)0Zk0~jbpt8~>Xs@}%ZqB>wE?!tg)whjU$$C04+l=NU&Qif;L$mZR zzRfknwf7&e8U(RuJ{S?&0FecyzbjOY^Njp>ctIOr-hzpxcK;ENF<>svm$tqgAXwc4 zy$LdfCKGXYmHYm)XM|bOwl#U|u0l{ZC~DF0-KH(!o0O2KGk=oNND3E+Nc2=~L11%h8=VD6LP$}4 z8gh0@LV!_Vz9zZ`ka!LMTF8M>iyI_!1Orkvq$dr=^6L6!G*)db<}?xF)*EwaaLdUR zH#h7bfw0b)cL5W|LGkP4sFqc-@^%(zrQN~J+{-*!u= zW+xu{+;h3!PsaXKA?BE~ z7^&rWk6nMAJ(+V2YGtF@a>8f^ngPy(sLvdTJ$?zj{`!K|$98h|_zeIG5KEjt3s*pXXXskvY+`0i$ zuJ**v=~*y~!~VnUZzZCdzD41^pBU}PZ79npxBa^v7s@&QvyiVZ9*&FCBmB&ymWr)xVKs2h z=R#Ig>GcN_iO*4Z8Nv#!#R4_ObeY?1YhZ9zcyf_%f*;Ms0yQI>6ON2w4WKGycOeJJ z=GoAMv_Qut*OgcLy!A9G;Zuh`At~jXAN7t4z{nY=_(XQiYmU z+~SmE8GPPT{zvy+`9@aZzgD4wUOhGZ`ZTo)Imk!)up~D`5CxT|V4nr?&J}TnoBYZe zF7B`6TK^wFZz7%Triu5d<;jS{8<&l$+NKx!{5=z{U3Sj;QB&V#`hS7ORyX$ymZs9c za}UiZ+Fx5yYFShlYQr}ooXE2Oh`hceSAM+6GQIze6r=m-fnQR0pI=NN85 z&lI!}%@QB`wHbsL{re!gzULM`+xQaaK70d3z&b7PUOVdZfWfyMnfR?CI-}oPrK_S% zI9c;~wu(;jbJ2JV0eX+T0&DSI4}!_LG5O_nE#G~f%*wWo=T^#~ zr!VeS;AM0C$gnpMzy)4b7l~JYKjwCh+hc+I>C-D|P-t1j zY#dU$N=@8N7t(}lPtqWI=7J=7?b#Ml7+LctLjUrUXFaR?q)~89x!t#XV$_sOTN4ri zl^xarJ)`AlUkzsr*0N`g7d{+Es)AtAgZy@Yj4*|vL*obgnPkIAJ5x~x4ziO zYRDh^>aUks2Et`av}0_~Shf(DgC_&fPZ zh~NE9;!qe_&6a-6)-k*>OJAdUr^rW-Ua+=^-0{!J=F2Zb(Am#fMp9M=LQ3GJ(1L^7 zLYLi$**kH32B-jS&!W-myvmr3L_OVMq;95NzKSSYg>VO7rY^D_Sxqa3aNi2MA0Y;G zD>bH?-5vHN%a!XfOtYRW846}qa?18IVqpA&@3l*8mT8|mYSE_x)2K=e8;tT+%l>xW z{O9J9D$>GtPU7>e7slf)FeCMg2<>?ZkdWR{o&Il+c!fedU4?(JkVM7pE)gH_f6>F3 z&ZB<}pY0h&I;T62vq`VqYClyQTR-}usoC?^q`QyxzUvQ9zboTD@0-J=N#_x+OP3+p zIvqRITIqeRJ<$1@S(^F5S`JdImPqTq)sJ(6ivfB^iORcR5A8S@m^G-A#QxnjbYGN+ zFfCd&6B$R|clU>78%7QG4Km1-HS~i6l?T3Iv~ZqP4?NQqcLcGeesa)lrmDH<=O4-J zQCixNJ{GTEf?$1d%>%<1qD&T5hN0F(g6d$ipWL;~8r4}yu$%jBTy1+EB^mdXH20;5~b+{xj zV;GgK$zg4Q9+Pepmi?fDn8zLQjs6ZGJ;ncm*q==Y|9s`z#>k@VctlyT&}FFV`-Xza zqMz15a}yHGxv&_X$=lD$e1w;{{SpD!xtnR##$)jCu%MCFJQr=oTCDx%AGx>QIjKPbKP0R?lh9I}*HV?=!Z` z@h)NVnq+WfjS%AOX<%Nx;CwIH2FN)0;<_Q2k!uffWseP8&SW2VFt?8+?ZTO|-%c#C zYUlI}0E9S_`vXvbo=fqDzxKEqzQ;YQ5zk;DvGCe$#)s9(JTD2UDS%QBVFbhIuW7tv@2oV zX%GIC?M5s(A|{aH<_1QNHD8ePXj7RzimC<03=!O@mjzPMUHfb~dKXlGyd{_w+|# z|E-8#)+QW(50oL%%)OQOc6Ig(Vn?v;YEOe@6aCS-4E6mHM!@;HY+Mdfp!>&Z_)~a0 zgf?Lub}Oo%nOF)i)22V!cFY%tbJ-Y3Ka@ z0oHfPDByO=(!!f=_xb(xeCDNZ9GaUlx!(~^iUZLR`5zzb9r_==XfBCbY9?X`GO0b( z<->HXDH-6_@9Y}HK3p=H9IK(htIF={+v2L>mD9TxRRcEEr0$dod!QEYS>E3hgWE(d zd;)(f$`{`CJgrk@g=mk#0pY$-meqzVdF9aw2sLA21HH_|I}v@L3-n{UAK~xs}fz?A8CjR98tk{6j#q3lU|4YZBQ* z)Q2N;uH^>y74r2OG0hSnKBp3tmnR>dH8LE9TG4Qb9Zn{D`WT=P%j_sV49ggFV*;wP zewDm-Q363Oa3si=H7Fb>g5WeX8ue?Yy!E-*gldo$PNp!a&ev9Nt+zhK4lSS1)Bu31 zdU|L^;6CE^p}PAh(x;)Ggx)^zl@$BP=(~8@P>vTyjO1$W`T8x2nBMmC+-E zEiU^%?;uc!Aj_Mg;T8A(FPs+{0FHV?*4hT=HgsrZP1B|-=;1^}reB*34t#Wb<0eZ* zC3K!1{>@E<;D3m_ricb~LG7`p z&GF1Kku@iKZEJ~^*Sml;$(W_8QxMDPTCC+xG5~sk1zbg#lLL*;f&4*q*%bI;q<5PsTz1zlWX>u!(iTyTK0 zR#1ALHK-ns^}b`-WOAfBB(%eLeJ57jug5xMNI;@wUayO`GAb^)$K zYh$pAjwBYrZkR>Niw1ZbdWSt}WsPW9{`bN*~FYan48 zd7x%WWRvu#YP-ZIoYFW18B*V@F@>r3dxAl~VpG0((Cl!jYb!~?d^PFnZu{bX%i3Cz z8x!@HV&fyPBh~mn2}pKSV=9*${A?6TlaQdKT+dVnaCiA?9&8AAsmm(M5ZCkMN5t0@ z)<^f)I8*avz|@4o`F$Ayd{JK_xs;e}i+uw`<;R6+yP8m9jHUSbaGaP8N^<5BF`CPh(?q}f&rqR7U6Ip5wm&rN>y^-n(_MuDZjT|q8C8A)e&R- z@Xa~==C=96LF`&Rog%`&W&Ql>61`w@)->qhDSeEI0;8yC)Els9Dw3BO7XM!7bxXCbWurr7bxSAn%X;mWPW5ib z6;*za4TdzV{mE zzSjwfY53(rLPkb*M3FbvX3sb4s+qgocKm`2T;^ct)=smSF z-6%njPccJ_j3v5e7d4qGM^%&q5=7dITwI)7I`g)TFg`9w`_*_nihb5-G(@npw7QLB z+de(~i5D;4IX|q-WO1QA=1>~(CYDv5rDU$pg=2E$g!bPk4$dY>)7*%fuk$%L&r@XB z9}Jfn18F23H0AmUdTu)XIeEF36<1g z<$#Yh%q~vqQ&FbNbW-uV8ByVG>@3QW%(Ci81wgL`mZs+XZXK(Q&9m_NBp+iZbDP8H zc|GtjC0Ka(khbOek@jSvRo}0tuKd+o4h(*{j#4*rT(LJX+0U_4fSI$C?|OsSwzdVb zFIwF9{lYO;cxx-fe6x{Th;U1O+mB51O)WVzkWeBc%K?0o;VyhH;n8bBI7&Am-8|mX zIIX%-SW>3!!?&WVdm~{TpM6y6=N)P{XD22rTjp8r9aY{nAtWm53`qGxi?7@lsj|5_ zttz-#Z|q@nWK8DM=84&+(X7d@-WKd#Rz5+VrY;PDGw8fc?wnplGsQ}DhYY`wH7okJ zyt%29wdlt*WyN^nW|gj$o=F?}cx?|!;dJ2=B68xG*G`(Ise71yRsxuAu3Oa?@7lH+ zv2NwS7ene&^yeLY@Jl#m3o{3_0YAL$*MYCRn33>bk`|L(ZasEO4B<4waTxN0w}qJqDYy z>IMTp+KROX)30`-P|<{&QGThgU( z@L(@LP6A^IKtMB3XR0o<&{D$EaMowN}7!1!!7f-A=(=W_U&MFAg}Fd`i?Ob za^?Pp9pW)TAh+`N%;S`j*%(sGZ7=%6UO(u8dpD-o(B9ect7B?Xn>Z@b4_~1r?pZvE z=MwJ5N$=`6jIb><=cl*z^!vSl5Vt@~01BfrsT?Q7td*{My!8(+zuZ4!HPp z>iqhzj^#^LDAMhk(QmfvQS0E{?&)sT*|i<)FQ=>0qRwqcXVvOELU&@hIh*ut=k-+Q zBHmXO8jsTeZ-}w?%S~&FV0vP15;`_Q#

AkxzG$E)6veL;twf-8OH;?(WUHO|yM* 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 D+12dX&c{TvaVCxU)Zs}5-%y;V~WYW)azpsC; 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 Co~_9M literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 887a4f6..7964b03 100644 --- a/package.json +++ b/package.json @@ -25,15 +25,8 @@ "commands": [ { "command": "vscode-appwrite.Connect", - "title": "Connect to Appwrite" - }, - { - "command": "vscode-appwrite.AddProject", - "title": "Add an Appwrite project" - }, - { - "command": "vscode-appwrite.SelectProject", - "title": "Select an Appwrite project" + "title": "Connect to Appwrite", + "category": "" }, { "command": "vscode-appwrite.CreateUser", @@ -232,8 +225,7 @@ "view/item/context": [ { "command": "vscode-appwrite.viewUserPrefs", - "when": "viewItem == users.prefs", - "group": "inline" + "when": "viewItem == user" }, { "command": "vscode-appwrite.DeleteUser", @@ -318,6 +310,78 @@ "when": "viewItem =~ /^(permission)$/", "group": "inline" } + ], + "commandPalette": [ + { + "command": "vscode-appwrite.Connect" + }, + { + "command": "vscode-appwrite.CreateUser" + }, + { + "command": "vscode-appwrite.DeleteUser", + "when": "viewItem == user" + }, + { + "command": "vscode-appwrite.GetUserLogs", + "when": "viewItem == user" + }, + { + "command": "vscode-appwrite.openUserInConsole", + "when": "viewItem == user" + }, + { + "command": "vscode-appwrite.viewUserPrefs", + "when": "viewItem == user" + }, + { + "command": "vscode-appwrite.copyUserId", + "when": "viewItem == user.id" + }, + { + "command": "vscode-appwrite.copyUserEmail", + "when": "viewItem == user.email" + }, + { + "command": "vscode-appwrite.viewDocumentAsJson", + "when": "viewItem == document" + }, + { + "command": "vscode-appwrite.viewCollectionAsJson", + "when": "viewItem == collection" + }, + { + "command": "vscode-appwrite.refreshCollection", + "when": "viewItem == collection" + }, + { + "command": "vscode-appwrite.createRule", + "when": "viewItem == collection.rules" + }, + { + "command": "vscode-appwrite.removeRule", + "when": "viewItem == rule" + }, + { + "command": "vscode-appwrite.deleteDocument", + "when": "viewItem == document" + }, + { + "command": "vscode-appwrite.deleteCollection", + "when": "viewItem == collection" + }, + { + "command": "vscode-appwrite.createPermission", + "when": "viewItem == collection.permissions" + }, + { + "command": "vscode-appwrite.deletePermission", + "when": "viewItem =~ /^(permission)$/" + }, + { + "command": "vscode-appwrite.editPermission", + "when": "viewItem =~ /^(permission)$/" + } ] }, "viewsContainers": { diff --git a/src/appwrite/Users.ts b/src/appwrite/Users.ts index cd16679..368c356 100644 --- a/src/appwrite/Users.ts +++ b/src/appwrite/Users.ts @@ -11,7 +11,6 @@ export class Users { this.users = new sdk.Users(client); } public async createNewUser(context: CreateUserContext): Promise { - ext.outputChannel?.appendLog("Creating new user" + JSON.stringify(context)); await AppwriteCall(this.users.create(context.email, context.password, context.name), (user) => { window.showInformationMessage(`Created user with id: ${user.$id}`); }); diff --git a/src/commands/database/createPermission.ts b/src/commands/database/permissions/createPermission.ts similarity index 81% rename from src/commands/database/createPermission.ts rename to src/commands/database/permissions/createPermission.ts index bcaecb7..0502151 100644 --- a/src/commands/database/createPermission.ts +++ b/src/commands/database/permissions/createPermission.ts @@ -1,8 +1,8 @@ import { window } from "vscode"; -import { databaseClient } from '../../client'; -import { CollapsableTreeItem } from '../../tree/CollapsableTreeItem'; -import { PermissionsTreeItem } from "../../tree/database/settings/PermissionsTreeItem"; -import { PermissionTreeItem } from "../../tree/database/settings/PermissionTreeItem"; +import { databaseClient } from '../../../client'; +import { CollapsableTreeItem } from '../../../tree/CollapsableTreeItem'; +import { PermissionsTreeItem } from "../../../tree/database/settings/PermissionsTreeItem"; +import { PermissionTreeItem } from "../../../tree/database/settings/PermissionTreeItem"; export type CreatePermissionWizardContext = { kind: "read" | "write"; diff --git a/src/commands/database/deletePermission.ts b/src/commands/database/permissions/deletePermission.ts similarity index 79% rename from src/commands/database/deletePermission.ts rename to src/commands/database/permissions/deletePermission.ts index ffd0a58..57c1418 100644 --- a/src/commands/database/deletePermission.ts +++ b/src/commands/database/permissions/deletePermission.ts @@ -1,5 +1,5 @@ -import { databaseClient } from "../../client"; -import { PermissionTreeItem } from "../../tree/database/settings/PermissionTreeItem"; +import { databaseClient } from "../../../client"; +import { PermissionTreeItem } from "../../../tree/database/settings/PermissionTreeItem"; export async function deletePermission(treeItem: PermissionTreeItem): Promise { const collection = treeItem.parent.parent.collection; diff --git a/src/commands/database/permissions/editPermission.ts b/src/commands/database/permissions/editPermission.ts new file mode 100644 index 0000000..757ed92 --- /dev/null +++ b/src/commands/database/permissions/editPermission.ts @@ -0,0 +1,29 @@ +import { window } from 'vscode'; +import { databaseClient } from '../../../client'; +import { PermissionTreeItem } from '../../../tree/database/settings/PermissionTreeItem'; + +export async function editPermission(treeItem: PermissionTreeItem): Promise { + const editedPermission = await window.showInputBox({ + value: treeItem.permission, + }); + + if (editedPermission === undefined) { + return; + } + + const collection = treeItem.parent.parent.collection; + const kind = treeItem.kind; + + let read = Array.from(collection.$permissions.read); + let write = Array.from(collection.$permissions.write); + + if (kind === "read") { + read = read.filter((item) => item !== treeItem.permission); + read.push(editedPermission); + } else { + write = write.filter((item) => item !== treeItem.permission); + write.push(editedPermission); + } + + await databaseClient.updatePermissions(collection, read, write); +} diff --git a/src/commands/registerCommands.ts b/src/commands/registerCommands.ts index a29ac22..fd78dc1 100644 --- a/src/commands/registerCommands.ts +++ b/src/commands/registerCommands.ts @@ -3,11 +3,11 @@ import { AppwriteTree, ext } from "../extensionVariables"; import { refreshTree } from "../utils/refreshTree"; import { connectAppwrite } from "./connectAppwrite"; import { createCollection } from "./database/createCollection"; -import { createPermission } from './database/createPermission'; +import { createPermission } from './database/permissions/createPermission'; import { createRule } from "./database/createRule"; import { deleteCollection } from "./database/deleteCollection"; import { deleteDocument } from "./database/deleteDocument"; -import { deletePermission } from './database/deletePermission'; +import { deletePermission } from './database/permissions/deletePermission'; import { viewDocumentAsJson } from "./database/openDocument"; import { refreshCollection } from "./database/refreshCollection"; import { refreshCollectionsList } from "./database/refreshCollectionsList"; @@ -23,6 +23,7 @@ import { getUserLogs } from "./users/getUserLogs"; import { openUserInConsole } from "./users/openUserInConsole"; import { refreshUsersList } from "./users/refreshUsersList"; import { viewUserPrefs } from "./users/viewUserPrefs"; +import { editPermission } from './database/permissions/editPermission'; class CommandRegistrar { constructor(private readonly context: ExtensionContext) {} @@ -56,7 +57,6 @@ export function registerCommands(context: ExtensionContext): void { registerCommand("OpenDatabaseDocumentation", () => openDocumentation('database')); registerCommand("GetUserLogs", getUserLogs); registerCommand("viewDocumentAsJson", viewDocumentAsJson); - registerCommand("AddProject", addProject); registerCommand("viewCollectionAsJson", viewCollectionAsJson); registerCommand("createRule", createRule); registerCommand("removeRule", removeRule); @@ -69,4 +69,5 @@ export function registerCommands(context: ExtensionContext): void { registerCommand("deletePermission", deletePermission, 'database'); registerCommand("refreshHealth", () => {}, 'health'); registerCommand("openHealthDocumentation", () => openDocumentation('health')); + registerCommand("editPermission", editPermission, 'database'); } diff --git a/src/commands/users/viewUserPrefs.ts b/src/commands/users/viewUserPrefs.ts index 0e66a53..b666c53 100644 --- a/src/commands/users/viewUserPrefs.ts +++ b/src/commands/users/viewUserPrefs.ts @@ -1,11 +1,13 @@ import { UserPrefsTreeItem } from "../../tree/users/properties/UserPrefsTreeItem"; +import { UserTreeItem } from '../../tree/users/UserTreeItem'; import { openReadOnlyJson } from "../../ui/openReadonlyContent"; -export async function viewUserPrefs(item: UserPrefsTreeItem) { - const prefs = item.parent.user.prefs; +export async function viewUserPrefs(item: UserPrefsTreeItem | UserTreeItem) { + const userItem = item instanceof UserPrefsTreeItem ? item.parent : item; + const prefs = userItem.user.prefs; await openReadOnlyJson( - { label: `prefs`, fullId: `${item.parent.user.$id}.prefs` }, + { label: `prefs`, fullId: `${userItem.user.$id}.prefs` }, prefs ); } diff --git a/src/tree/users/properties/UserPrefsTreeItem.ts b/src/tree/users/properties/UserPrefsTreeItem.ts index f78c7c2..19b37ea 100644 --- a/src/tree/users/properties/UserPrefsTreeItem.ts +++ b/src/tree/users/properties/UserPrefsTreeItem.ts @@ -6,6 +6,11 @@ export class UserPrefsTreeItem extends UserPropertyTreeItemBase { constructor(parent: UserTreeItem) { super(parent, 'View preferences'); + this.command = { + command: 'vscode-appwrite.viewUserPrefs', + title: 'View user preferences', + arguments: [this] + }; } iconPath = new ThemeIcon("json");