From 99d8938abd46edce58290d4c612aa79beb4ae5b2 Mon Sep 17 00:00:00 2001 From: ECHibiki Date: Sun, 17 Feb 2019 00:18:38 -0500 Subject: [PATCH] deletes permissions under drive ID --- .gradle/4.7/fileContent/fileContent.lock | Bin 17 -> 17 bytes .gradle/4.7/fileHashes/fileHashes.bin | Bin 20997 -> 21047 bytes .gradle/4.7/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .gradle/4.7/taskHistory/taskHistory.bin | Bin 65988 -> 72401 bytes .gradle/4.7/taskHistory/taskHistory.lock | Bin 17 -> 17 bytes .gradle/buildOutputCleanup/buildOutputCleanup.lock | Bin 17 -> 17 bytes build/classes/java/main/ConsoleController.class | Bin 5791 -> 7014 bytes build/classes/java/main/ConsoleModel.class | Bin 1843 -> 1959 bytes build/classes/java/main/DriveAPI$1.class | Bin 2237 -> 2240 bytes build/classes/java/main/DriveAPI.class | Bin 14228 -> 18173 bytes .../Google-Drive-Permission-set-1.0.tar | Bin 4536320 -> 4536320 bytes .../Google-Drive-Permission-set-1.0.zip | Bin 4040349 -> 4043279 bytes build/libs/Google-Drive-Permission-set-1.0.jar | Bin 18917 -> 21922 bytes credentials/StoredCredential | Bin 1003 -> 1003 bytes src/main/java/ConsoleController.java | 184 +++++++++++++-------- src/main/java/ConsoleModel.java | 6 + src/main/java/DriveAPI.java | 169 +++++++++++++++++-- 17 files changed, 272 insertions(+), 87 deletions(-) rewrite build/classes/java/main/ConsoleController.class (92%) rewrite build/classes/java/main/DriveAPI.class (88%) rewrite build/libs/Google-Drive-Permission-set-1.0.jar (63%) diff --git a/.gradle/4.7/fileContent/fileContent.lock b/.gradle/4.7/fileContent/fileContent.lock index 21d0c3e707c19d7fe17c798a5a3ca122a281a79b..0b2089a008a523412093d0bda6d11020a27d1ded 100644 GIT binary patch literal 17 VcwS?EJk>Ak)Ak)R002FM1wa4* diff --git a/.gradle/4.7/fileHashes/fileHashes.bin b/.gradle/4.7/fileHashes/fileHashes.bin index 8635f17aa2adcb7aaac1197157d260948140a082..458339f62781ca3dee4019fda7dc1392bd7c1d93 100644 GIT binary patch delta 604 zcwTE=!nl12;|3E6M&r$<5*t`lDte_}H^oE>Fn~c2>wh%Bz`$~Iqv8+ojRp?Fn;kt^ zSXq9^C!Ct>>H8??-|qy69_OrW`zq!)rZc}`Wnf^;_>fV@1~E!e7f9$C0|`wK4}=Ad z@wNspT+ADPGraKgbBTApU>y-mUm!YI>?YUxxhTX;z4fwvq;(GU6X zH4sH^MUx-;MSvV3H`&%-DoDU)R$bq>lQVQ1`I?2DOfn&=6VxH9rPDASvDRQod*qQe zdH*fUF3rAww?cK)KyC~3=xp{iD|?EuAB!U%c2`|_;_B<)&H9THR1@= ziGL^a27rw?0})`niD`t)3cV&JnZTND(`!Y2qFqlyjo1Rw!Es=6VStN5gl4$^ob$~p z|G1`{$as?l4zC{yTuBf`p^GM84JZpze(`tPXW{&A(T5Kcd$t^Eg({i}R^w{HfW`Sc z4+$?^aYXxi%lGL_3}Iam9o$V|9k!eJC(jMcFhbSxtzVF}R&#H@;Q8-gYBOK9LY=z} K;u7{BAWHza8nmwf delta 529 zcwXDSgt2uA;|3E6Mx)K95*t`}{zCx+1IxjUia*3R8bkS_L5B(xQ zju4$}>n{})%subG*|s-&^f_ zpgK$-I@paTuk=^5LkLLx#5CeX^0nPyxo9 zm`13~ddoGdcST^Q!^_EGmYtKJMkGUYaO|C27~rBXBP3eFq3cdl;_S$&Rwd<|!HS~z zQXq;vpH99SP!_}(U1{U8`ew+!H6gEUFY}o|6*Ys^xLPn^+RacA5&iZ3YR9C>3CbT@ U_xM0`@Hc>U*e;tpd2V0^0O*yUo&W#< diff --git a/.gradle/4.7/fileHashes/fileHashes.lock b/.gradle/4.7/fileHashes/fileHashes.lock index a571e6d307e496dacdf2f2950eeda39d382be9ff..f7b69b69c90f4be33a6900bc823fe1de3cc4687d 100644 GIT binary patch literal 17 VcwS=;h*JMM<^Ep-1~A~~1pqb21dadz literal 17 VcwS=;h*JMM<^Ep-1~B051OPTa1qc8D diff --git a/.gradle/4.7/taskHistory/taskHistory.bin b/.gradle/4.7/taskHistory/taskHistory.bin index 74c3a71f478b328f55449ed0428491b2d1658735..7e6c2e7d68553cc28331ec00b5f232440f497fbb 100644 GIT binary patch delta 1015 zcwRfw%yMxn%LEZgCI&EwD_~#{5`(a3OE54Rydj=_^1l{d;k5=!+9Qv&$@_0%c4_wg zyOlZpCtSX_b*8Y)3cV&JnZTND(`!Y2qFqlir~d%T=PEb`c&ZrbCFdj-7c&cd>lb9L z)!dsec>epB+RT@&%<11iill*xU`h^f9apBx_~xgi z=ICW5mL)O^9OG>bUbvVy{$_aL=jRgdd?(wj{4DTA%X3EYP2S@cFEUdEQhuJ_?6^vj zk%{#=&?o7e53iPF6haS6MwFlwLJvwtrhgoPJo6ld!Rma2eakCt8(R0F0}h zhlCfdIHG;M<@GTf>6Hc4VEEL8`%+#BYLweS+v|EeB vvm1EJLE?mqT5&R&eO-+ZdJ1O*CvbVZ37nB&`kp)?XVT{N>t8T4Npb=JUKNf+ delta 525 zcwW1>mE}k?%LEZgMg}m5D_~#{5(6?685o+C85qRBZq(J4U}l&tu{l=aVwM`$BF5Q9 zN%^_PrMbpQWr^llc_w)U*(r%tg{EnVCJ-|i_$M!nn=;vRjlkp|%`Ka|Kfh((ye(Oe zQD8<$w1h*~ou`#eu9LiPY_|8KiTvvkpFGEqbOs+bXze-j>!kU3QV4mGim#CF~%3n zlc#SMR3hXB29wFBHebaEl+Ek6wDAcrMpxRntiBntZ%xQ++sk|=z@SpvoPJo6ld!Sh maT(jlCt8(Rz%0N}5fT0M{c6Xg$qC9ITKD*X&9=YOstN!!p2{Eq diff --git a/.gradle/4.7/taskHistory/taskHistory.lock b/.gradle/4.7/taskHistory/taskHistory.lock index c2bb9351350774c3641526c12c251ca703619b87..7c1bbb8265f3931905a77a44719dcb3d96f17f2d 100644 GIT binary patch literal 17 VcwS?k)pv|{W1>m{0~oN*001x~1VR7+ literal 17 VcwS?k)pv|{W1>m{0~oOU2LLdM1gHQ2 diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 6c0e4b75f1f0bbf046e7830ff034fc1a75b93e2b..245b68433bbbfd5ba7205dc8d96cb028a6e34c82 100644 GIT binary patch literal 17 VcwS?6(cY?jYkkgM1~6b<1^_Ss1gHQ2 literal 17 VcwS?6(cY?jYkkgM1~6dd1pqH+1P=fJ diff --git a/build/classes/java/main/ConsoleController.class b/build/classes/java/main/ConsoleController.class dissimilarity index 92% index 616a512e93bf11bb76ade81299235454ecd6f123..86d02c0ad917f511464fb30712db1fb205f0ee16 100644 GIT binary patch literal 7014 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 J?EIAg_$~74djS9d delta 2910 zcwTK*3wRXO75?w+?9R<(0?EWQ5D5eVv|aKLLerv#8e)Qph|oo3(^d>*2unA+xVt9Q zf+JQe_$cUrH3(YK5^K>CA)A&|imeuFAKHhtPi%`~Ul!>DDM9g^+0AAPeBaKT$Nlel z-g{<`)jm>bzx4irg8*toUJioTtfLiMB<^G3ehrSqR*7vA4@i7P;z3sTXxOg9z!rWz zq+-ZXWYS^t~47RX|Ugn;V__}V>`jaeuL&F{& z6Y!LVr*%x^Ail|TFDv_)dq%@P9UsP168o9 zd?$x|Jj;O`)ZxWELUr79tgMXE^zmj-O;@1+t(O^mZR^oT;`S%ik&?)C58eZ4%M-6|{@Mi&| zITEpA4bEN>-B+VrDfB&*9%V#HIO{#NMLDajSZ636ibe#~c-sm~K(spjo~b#moukwn zXPo+mya7uMtU!lzP`ktvw-U|??H#XyWmxV+y>sn$(8k<`Xe1sDTZ=U+@@w{k92iYwPMH11nxE1RPEw`$wsto)WCk?!d zQ_d3KWEKCT6mIj?7T`3744lC!1MlIKK$&w~DRbWP?U{t52Ht0t+PEf^FmM(fh5(iu zLJ(Rg!sD#e@ARmY`3Zg77%#8*geD;C+uN%f+i8!GIO+7{-tWmFP?d3`XmK_hCC(9} zV$|i!VzUjQv!z^G95Ajc29*nworI!bj8xu8MQzj!RAC0 ziD)P9q%$9+>!{$<_zYB{)N8t`3YV9t;3m5=HJPZ7G;|Q?y^^G5bbzTksPGR!vHhl} zAF5wI3vbY4`T{}K)B-`TDFZ>DnG*>pfB~iwzK}@9mlg#oYCX;Ro5%NFP zMMW9)k!;jQQz&vXc^K5fpo(lzWeQZ41)9R3OR_=JQ=l0cP@h}FIJ!_e!DSwzsm1gV zm6Pe4G^IQUIfaFBn~OV>de%){k044#-QjYpiF?lFZX)iO%f+|}be2<1h|^O9@4M*I zkZ9L%Gd*4ObWbGM8hk$0AI~9jrBQn~QH(X_%-zUK75!tqO4z^OM#+BE9!6Wb6G?nL ziBD`#wauKxDJxBGKQin6sLf9QQp%eFWQI8NvP>CV3zxeV)D)oZd_Q)|(QJl^Bj-A* z%Xak1jH9{>IJ&~MupqsxMOO(mGQnab+*cvmlKwq+kT16XXuB=so+uxE?f~n@fFmE=|L^*r>li zGIQOdX1M%SF8@L*vF5{woNKr_+i**!NX_TjWu5eAnxO zbA4T#?Q22C*R>bOVc~i9hU@exsuNEfx&p9)Bq~XmgB&!_z-dA$=91w)qXoJrdd@^6KEQCq6QCVjsBUL(f>u< zkq%;zTF9fWq2dq%^qXI)&M+6HCrqV>CSoaTuFKXeX3h1xQIOKu45A^tWcWY;Q|Tmt zx-78^`FIQ^cpQ`H?^p$PQxv_JjVI`|JULu`_CH)|;x^z;H{J$(2^%R*iOaBwzLOre z{5m{mP(rmXD9V?(3wJL}r&7%yeWG3tYj37NK3Az{)xnECmcXI%t++T957 E0Z(_83jhEB diff --git a/build/classes/java/main/ConsoleModel.class b/build/classes/java/main/ConsoleModel.class index f28e676ba1d28ca5d54c7cd93d1eda57fe0f1dd2..9781cb0d5b3d39c319c2fbdb7c4780ee579eb4e4 100644 GIT binary patch delta 445 zcwQ}#$xa(V6h%+ja+h(J0J8vP08AK+!Kejb~K=s#o>K^QP>to9myzD2E9ilGjWoh>&mK0aKdS z31Yml!CO(M!>tomzq8p{&0K;e<}DWD6s)gkQF2+NZ1G;RtD_9w|+)8Xoc3u!d)7r^C=`@x&r!(PgpDhNAhif9!iz|I5C&bWjWYT|=6W zhRv`!n)0^THu&slDuz!;FbXfI@J70s^aZoetb5P%k{!z-Q=VD3K?xD!Y zN0f0yL2BR%t(4GJDs-Lht`6C=Q{IhnRE#hh7M)D2hX#7XA5NS5lrhOG zp7A_9b7l(tvSo&D2I!LsgLm$zY8NTLk$}mn=ZEWriez=ON_Y2wq(bPkA!4bvL~KPDPez$N0GE2jF@}h zq?s0z1N+lx^&fI1sJ*i8tx&^BV%Ex-1UWW2u>+3w&?#poDJ)6SB+a==hOD5z zGIV!)SqMebH`(HSwrFxeu6*P85W-oGJL`lPu-~eBoPON2*p~6s1Zih?3mJCj9*-m@gG{1HK8nn$$#|sJ4OHi diff --git a/build/classes/java/main/DriveAPI$1.class b/build/classes/java/main/DriveAPI$1.class index 1958fc179df42ffab2a7b9c56b28f22f84fd9724..7181bbd09f94f65a93ee5df04fcbc0025c55742d 100644 GIT binary patch delta 74 zcwXBpctCK&GZs#{q|(fsl;G5o&2LyfGBPo0PrlEV&c|rTAjoLMAj4?PpvGu2IfQ*B bAEOnJYt3NKXv5&eXgiskBLk$kl*0o6E_)I_ delta 71 zcwRdoxL0t)GZr@Kq|(fsl+Ev1J~A>foSpoLEuD|yGJ_z)6$TlGs|;!k*CvOvujFI6 Z1LWRiuxGf(;Kgu%G9O0cP1t5~g-0j2tEt7waT*5%dL=j-yGU2N_0`fSy@@qXXAGntuW0s;H~SIjx* zo_o%>Z|B_k;pfjhM?`bf?Rj)RuXNKzyvpD@H#vBf%&eBCUYa#7Zjk;|H#c&VjGA41 zn)GW8UgzS|-Q2?K<@pR3pDF!W(wr?#t2F0G z^Z^%dkp5g32i@GmA%nwiI-XZa)0@ZVam3A0jtR6rH*e%kZr;pW+`N^~ck=~&p)?n{ z`C`6AMwhzyGU+dO@iytNaPf8*Un#?@q`BJQYur@HUvlxa`FtH;@8TO=e4`A%EM(l| z;+tK3i;Hh{@og@?T}Z#f;5!Yz%MDuYcJVzfzSqU~$&Rn&^ZopQG+#CNK^H&d;;*^s zRDRgSJ7nY6rTK=7A92$PepJ}l>Eg#+{7pAM&QG}bTQc>ei@)vSrwrcZrZ$edc(?R> zT>P|)pKbD);vW%G-kh zD-US*H~2UDLsqQ3-iocjb8~Xr0wyDBMK%W7EvDlKLP)%cmUlz~8?EvhX|W^U zAB*{8?cF^9&orX0Ivk3IgVySBhZV%@g3fTT!-}-V!mUvY3p{m#y*%g-b(J^8B7smB z7P%wX(HgWiT0y3~UVj9zS_2(e9oy1twT3%ed#y-MAQ}yXLrkNr9)BP>aJHa53{2ro zq1ITS2lR6-;I;{6tyZfZCWnvf+-Wry&<9#M4pGOS&Y+I}KDG8T^cgRKGt!f=G!HVmL^P1^>mU5qeC z`^V7H!k)oIv|O(&Um|Uz9c~0EtSHz9WiTxsE{J~T(Xgr$07QsdCRPLrw%xY>*%1nF zf z`)9+kB38672o=p3wiXhe&A?i0OFIxQuU)frbGy}>K$JuV~j2NCBI=6v24ljOo- z(VOxY9ak9-sn$qKRdMJUzlupSSp~m<-I-0|SH!{6DRCYdi&>HThA;Q!b5y^07vg&&T z;#HcdFwGnm8EHO_nwfdrKSN@}bBl~{G^`!}Xc-@?Ewsi8S}|)VBORxWG3y$pC;u7J zJq%f8<=QC~G{R=8kcP9)9Tw1(0CZ5sIg06pe})XQgtK8WFtk)me_yN{6a?D+F(l;C zrCC=Mr%k4EyrDdBSme6uh}9u5{6UD+8cHw+KaWirVwccY9+q}?c?yq2iWSYx4Xw?M zRrO5`YZ{wTJO@G<)kvtfF9r@Qe~+BaY;a9hd&H6`z2wk}NXNWfPgkeI5R>W*O0~A~ zNMKcA9F7FG>N-shFUtT+&WHYXXfHZx=FFM!!qU_UWy-+grrL}Z?xt{Gq}^JktLTE{ z;u#_YlfFmaH|Z_D&;(Z87VL)vfBE3}`NF5@87YCz z5D;3ZdXJ$>Of^Q0HR*MF1NE299!}w+sTtx+CjEq7H0cFt_DS=SG%ri@18IIozc+az zA7?5rpM;WSpc5cH51d*eQB-R7am%e(3==+hsZUpBzHp~6tF6K734)E=4Rw^Mj#kG&$b#lzHN2^O>R3ZfG}UoxlA(?_)ns*oNzc=F z4OMD#jw&EvPV%ARXXwOp-$$d^WA zVu{d$TsBpLIF}D0FdUM?d3g=Q3x+~Mwl?nWfEDpa+Pk-i4=n2!1Ih_mf?U%hzMv8N z5|?>ed$npMPEe*=rK(L;Czew>T+3l12p2F`YiA0Yd^}G!xs0dcJnbvTi$(NXag%yj zspb((IE6k#tua-DI#r7DemkC_HikM9A#*yWqciNdW2)0ti^=18f~nT4Gnl3~T0P;7nY8)v ze=3@F2fDfuuwvc*kXC<4U$FU1p2<^8p2f3auxZ4cnUsey>O4ZBEKFD))bp zK7_k=1r1xO(^Os3bfe+9YJ;I*{6Q6xlA^;-X5H-$t?o784gZBgeN>H!Cnh5?GI=4N zEYiIM+Dnpbs!P>nrn+2hLk4T=(^W@jpTxBEk`PQz*7`s$?TZ9rTgsPPAkQCcN<8exIZn(2Ehy-P-FRPnGkT(y> zfwdVKL;Jk0wkk6C7{ozs2-Q?DXmwQe_A)IyG)RP&Eg2y7eOnW3!-_Oo?G_ZSMR5x( zU(VO2x>el<*GM^9V_ztgxM5CtuI;p*)I=>}y&s}U`gi7eV6f$nwm@k~ zX_k9+`4%v;qc5Uu1nCKpItJO5CXQ>U7uzfph~>SBR|%GqD;H!|v|FMvt4FTO`(o)Q zrUsx&otQ>tnU**&PeD0pWs?EOJZ=~v3Q=yEeGNT*u%ffZG`)Pm@XijC60n^?JL}jQ zpM5x(CMEP=lwxs77+Uj7nA<2{(AIQ{s@A7#J+WfJA+yv#L=Yy*gQhHrYH4W}_(#CU zSir9hwFmn;tbXwD=ALKL%u&^<4Rx+^oP}w46Mm;E10|e(Rze@ z;0)<52c*^_5;=i&Z8BUq5VgC$?}BKdcSN9qG3)5cY{fCZ~fQ$QIa_WhwuI`W*U)0&5Tc5w~A1hgVoG&_8jA z+3GqHuNneiV_52hLX4Kmj}xjoIwCM2*hj_}o;kw|w`rT??%^=Ez|8Cm3=FChgA1}r z^DsF*Y}zN;*ug@@k?mxvI|3CQgpM2-o&3;a(?8>)TKmb$e+WZ~*gN+~_SqhnVJ}8k z(t=0Y5v;Z=gqq(j@Uqr463aUDhY$>E5`(jc^}CD1=hlXQBxaPPZ1Eu#CuGWn?{Ymg z@Y)xZU&z|j9O;Y7wP0#?=%{z7A6i{?&@Td+s}EN7r~eG;P!JPlTpJ3=MIF*~M4O}s zQL8F-MN;pVpHEdCv7M&Udyf95#&p8)!X9=Mrf}+?w?Xb=npRX_=vPIP759{(&l-ci za*Qp_`a(EA<&b7^i0>UzPlx>-I=&89Nl9Yt1OJfUc!o~|cwBJ=FtT0}Fg^DF&oB>z z#UZMtwfcu|Nr~ED^e{IH7Crdp;>w{oOS|(Jxa-K&bI|*j1#<9)$LY%@yAbIdj@H3XCg`opyV}<)_I;kfd}$jav1VVN09a{ zm5!zR=^|qK4i%D;uYN@6pQrEY{(JO&lK)7f6lpJ}dZ=;x3Z19vR=zVldne_N8#$O5k#^7&koV@FHkSXs<;xulZkm}H+dNklFGH3}M z2iB+2Qca?115J?lF8-XPj&ou5cl3K3wXqkw#^FVY*BPhrmCk8sSLZxS6IvX5=_u&) zXwNZm@=e8`=U6n;@fW9wO)XB(aZQy5h+(f0r%8M1cr2b=>GHbbbi%qPsT5nL;B{G? zFq-DvL)bdQ?#hcC@9v?Qahm0s9j7^-xpA78#8#2ScA||bPV?h*((_bVnd{As(}K#p zOzIX6BFe3aa)T&u-aabu<~>a(Gu=tKo<&c9uH?qW*d*^xVTx0g#xy1IT#;X#4-)UE zV{BZWB?7v-snXP-O@Q{)JdsJqQh+PY2PDt33~Ewa;3Uf{O|R*g{XDIxEby963~DP! zI4TMq6(jf1$`gx9im*EO3O^ohxsP&p9QaEnl2s|1vCs&P9NjG#>oPEo(ilepqoZPU z=Kj@#gjK8;7i(cXP4!HbCEk*!X$=I%vt-o32tlV-j+yRh{2DFG0B5t?Bs7hQQ*#RL zX-$=5HQcenws*|*-L&>D%G;KIV8?-n%De^M5#BM=yiRY zhqL1=4Rr9dQ%xG@2HjD9i3hHX1+dyeIp-A!lFgVaio0NQ?PNAj@{I6Dy_yE%sfJc7>U5(@HU>fv$<@oYMeTPVV9 z)W_Ylk-31@ZF-JPca(FSEvYmMxRp=?^o040N{<{w}6H4b~Jy)2beKe3~r8RCD_1^ zjdu*Ka6HZqcA~I&#IYJWdjmY|cTD44ymdn&&1|rXa>4acoX2jgL&iy_PK;i#Qzu6I z?9_?TOLpqS=w&-~V)O%@Ix8H%%^4SRoF_82_M;L#W$>wikC_y9GM=a7rROtHZw29IIzOhpGMLM4Z{%YMeou>|p-ZLs%K zYQjWOUeVvF>0?r#(CLK-Xcf5z!zG~?yT=jB?*||xByzO@f`M516a*Vj=kRlHS6c4v zPUhagfZSU@T{5pzw>gfA+~QoXQ)i*C()Lu?^E!)jpQa5`vz{8Ka|Mu24$c8dHglOL z7^j{)X+Gd&zG)UF2263BLY0O$$7?)IVMXh<{5}`6z zN5ou7f;msMfMNP! zvb`|Y2VkaqP=Egjj`I%c?>}PxeR>u4{bQKuYdn`;=abYy9o z()*>d{-J=ZeGzK_@ zVZ*>k**h^x?8GQXyUav#8~`Ck((XoUGe$ca6nsKgeGCjfEh9#_*5?F17M3`XkF!fk z=S!e}6sE7v6n<~QxcU?5YLWW1RP886cEY-{sanU*!Bw8N%=5CT5Xm@4t1t)9GK>K= zS40X&yXG>yxpvLva#Z9wD%_5W{KV1+4hY-U(nktVfB>X^K3dFgdb76ejUw+!)4$_jV(I>ycNCQ-+j2d`s1 znjVj?WAb(!P-%6HIk=9=lRC!CTE|QsT*nk>*ae9?CNEXT7=!8r@q@Y+0rixpD~1BqOyhO_cSv|h1~`oD0OwNyo!6DR z2>XRTM>50P)ah`g@$)3$mvFV73J$>0MG+~-fV+E3aHzRX7 zcP0|>z;$ujA~Rd#bUq?WecAMBI34YD?4;yz{%9SikAl#SCMoht5pT;7T^qpkIzB-w zTcUac3V{=#PPt!b>A#0)(JE#=dPx^kiGzRHw6wUbS<5((>Fp^^Hk8cm?j`Q2|Yd=LV}7sD%K{#Gy(Xz0kGr*h|)>l@vLtDx!asn+!-(ytyxtZ!cYnrI&dw_iT&P6|!Ty zEWWbR*g+GAdMQAz()SnO@oHdgmXLIf=Sy+Ab}CePo#*;gC9s4>g2rXYe9LJDub??_ z=taDes(BTy;5umLR62tj=^Sn%i<@Z!pGILmoi0T&zn#~^jn3%L_N!sk(-0gC;kI9E z*J|ftJrc<&J^D*RyVvTn*r`V^>k?Q-QVi!(7$voa*DqlW0}{41pDza9@F^W_@QgGA zuoHJV{$^$~gd4;VZXA{&w89XgFof6_Foao%l(r!hq8HJG(lisNFURSo=jrB3r|9k$ zJ5lFIm8TQ+5*g`4eQ9N`q<`r4R&5<|y3KQYobI@b#;0o<^LNJSF46PdI}SXPuIh=p zh~9#;)cG`@FMx_K1n7&P){Ai(y%Z1bvvtB4$*(L{qQ5U)O=rPw@3WhbK6n$IUCRQ4Q%B?ubJ_Ru|Y^SYPr zZ2_xN4&}>LVa{&4Z#R9#gERdDar){mDuaM*Sv&|4c^-PAE}2drwo~|yql5^ptl z0r**nTG$S;`!Fk(eWvGr52}%`OMRHXm%h=00QtxsdbEBo?QEGUlX6d5w3{B=OW$nS zOOLmB%-!_FZu(Z7p7eY>PEW;YSEX|=#ap~+cZ0b-yXk4qGjZB0idJb+b_cnTG{^Fz zbP_)XpZ+FQA(buTCo~6hZF>4udnPYJ-Ou2^nHMASDH=;PT*XTunPo7UY9xDSN@F8k zycAKx)>JvMmVz!+Q)Ji|zsIND*GiE2nO5}*-PYpBA$cwzhXeb+3ljakypjJ*UfPMX s`Jds1n|Y&xFY^VwSxra(3i`9qzm53-`k(XLst5hA(98Sx&~GLFKR$3+Z2$lO delta 5646 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 diff --git a/build/distributions/Google-Drive-Permission-set-1.0.zip b/build/distributions/Google-Drive-Permission-set-1.0.zip index 87edc348f0d7a40075f93f0b90aa9720744a8f6a..112a0ee52c4b61cf58d5073fae28a4642783b161 100644 GIT binary patch delta 22087 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 delta 19120 zcwPV#K@3IG5I2morEMv)CY18SQ_kxfAnYMVw*-sXnKeMbNQ zs!9|G2!knlQbzf&?QdkkbDL?8f0# zXbuFq!Tk>a`#+BMe*)!&6{ID^Rn-{eB_8Fcr{rYm85ZDW>3?Zvr{`K!n3h@hPYzE& z{*PeL|GCvHWWu}}7zpSEU)?qYH6qy)i6J-#{Q1(tUF1)cuzYt1{62%82*)BYh zuQKZ$RjO^(Hnd?fvOLfIe0#)f=YO|7RvhRe(|2)FJimbWU*~Gb$U%hDZ;#? zLP0}lbIDka(uA+4(xxdiuW0=jp z*SUK6MqqB~^%}=SiKfcAseKO^15IEA-imE!xCSe~1`7 zf%+{x*zsZc2qs_YjvhS1`-#l7ziyw};0_;rPyLP`d{6TZG~Zum2oe2DYA6ByE7UzO zyh>30t~R)U`pp|mWrz{&D;fM(W~ia0_2`V`O&)9@Zr>A`kFk(LJKgP{{EmB>EPo)> zzN?*@*9U%slBvB*0L!u17(NcNLe)bh8-x;Ww&92w_-|MKjaQbNq)d1HEG zzr#Nb&)yYRxSAXz)Wt<zg>zTCw^!W=9zHv zHA|JeMe8MAdBfPe`5F0c(>pF%IDcP$2v>sTWSqGsc~zbf?#WpA9kzB51c)#t}M4r z556qB_Uk%#jb>#TR!qV6l_gZ&wF~P&SF|#;a5Qf;J2OQ7p-TA0i{`vkIe(aGDnz&W z&t5L<^@l@ufzqH)cDu>NK}a!D(JmiMU1L^v_X^*l!HL`UZNwr>Dr#yYye!+XWI3KH z-{q`=w1Rs$*4@PmnTm{+`iUkv*)xnRC^zKx!O~&a@yF7IajwaFxKwgTN%y^OR}2QS z8OtsRTurQ~qYf9nbZtB#hf0)XoUK3&(c3iybwnk37~xwdOPE@v6@Na2d*D+R@hOa&Y2 zoyqg^jXAHl?Zb%xdU@Ckt{3ym) z&kYL|9tXdLYKo4V)&NiC&+L(lmyK)ut-7{L7E3h`Mh~5KuBoN89~~7k;ixj}u?XDy z)wL4ejk@e|iVdojQng+UaY_`BqsPb0;JVR^ReBg?$->UExx@C-IcC0_REjILNlQ^N z$$zDt(PZP)rY^nZhkvhL%)uFIU%-KC_msVI!bv$Iwz&BGv0X0 zZ?p#L_ncq+!GTI℞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 KWkPsmvAct5D*Kz zL`N_J;7Hrs4`0jwOVGNQpn4=?xiy>HY}mtGXMX)R1DuLZ3M$MvYsw`tl(JMOnf0Hg zDONT*oqT&@DR6}RB(Q!Gbgn=NHQX_iV&eo}nto*J(8i<^Ec^MCZ3G5(#G;)i3oYF0 z<=cqQjo9YqHs&|H#dAE zKsHY%W@bF)fQhP3ET)%K&%p=NXz7MS=0FLx=+*t@CEWa&2VqA(4|iw&#vWm3?#2LN zXW^za;rA2Ad-~9OUbx*yySPB@9uxa}ad_|i&5FxkNA`E+!5y1tJ{}(tQ^UoZC)`hw zK_Q#x_;4Tr?yG9gi2c1X99X!yzDxK5NG!k92IX)As`h#h7Xi7P092{Gy;9sysk_&P z@O$Sj)X|y!XK(yk*i(TRGw*Djg(rsG!KRC6hh^NHrfQlX3jgfAXXc1b9!5r`HXJ&- zx~8^mrqOTo_uva~ckO#HlTXtua>Q$%i&^YyItw^*2#`6Kzs6nt=%7~#DEWy2=?Cb= zBYMYyzy2HU;f>2h$rOBa4vejx9n&6v@(l7COg2n{w5fh3y5(MKzulpcrFhQbkJHXO ztWObg3h2eaCDt2nrchz=SfY73aN2tF^N=95Ojr3wnMd}%Li zG&v)USh3U2%swm>4PrbL#Y!&c^=XjU7*yUE92XxctA6!;M<78uR*x$P%qCvSCpKv4 z)%!XBFyaBNf2YfBlfAwnR7wxqNU2T$#XrC$ReTde&G#1Ccjvau+700aY&8}H*Ze+V zoq%t_!k&Wi;N)Q5*V``YTDkgh3Mm<*dlsj&2V2G18&uMtNzdLh@cSmgoYaK&)^WQ& zgsaAp+6-w!wyJlZJN~B#*L88VgC6d}xkRQexd_2%+*15#QC~bGRUN-ssYxvEg2Q%N zfjf4Pt#bHC*YKM?nPG(h5PC%$=Cd5iXDu;T4O=rPp*Xs+t1?j>AX*LYWmX~v8T1^Ac+N|QVC~3|1+vs9bmUQO$#iH`fl3Zmm%m0*!>#CZ7C!_R9LsJ zEH0M7awjd1!Z0lkbY_WI9Hymt;wT1NOKfe#@!o1adTPe)&}LXZHLcbzk8-DInt08KkGM*NHl8-mU*MF(V6q> zRdAaeM=N%A2~+D!$^l!10_&^2NQ`s+D9q1FJalL(a~M@OYs)wmBUz76aWM^ERj^CF zY!snZ-`m!$(=l^Z0~|gpRzo~0vKE$I^HQ-q#uix`z<>nzThl(yuXk7GAg^3frEN)a zN40|*6Sc_pD*KnDK8a`EA?PhPl;v#em3q+tQquEuw0OoAnY|^qLv)qmoGzxphvi(12ElI7fA zg)NbIhX^2yY>Jr*Di5dR>oe0mkLH#5%gH z!=s zS%o*Mfn5D{v*ffN=jl{O4~Otty2*JI$HSPKW@_~=Vuat8IUkPadGoXG4`sa6_}YQ^ z2}6kG)CSL4UP8AGO-?aPtyH6YnRHMyZJ#WT@%`79F>`G&tg-QFbhp9%(byqPOO0f5 zpst}$as1v&Cnj6C8y?ZeLKkz@g3*%4ytsWcKB@#ZIl&J}<=e+_Y8GbO@Vv`M*bWrC zi~}qcuZ~$pf`h#-tvwT5Kx*f~w@|IBmhF+QVTfle-nXkzbF9o~Rw6No5tG75hFmxhy_5mFu&N7<$$7)+MrO-O=Ws{Z zfKqPWk!<-Nt835Pw77}Mr6{&l+|d=1moVx`8k7eiV)aFw-0I0yIQSKcl#mho!1#Lq z!Yq-d6yb>{M=Z!W@}Met-LEfAW2n)Etfj$0XSnSe?U!UylUufZx>cKK%R2K@XLb{r?75+i2)#`U1bwN8EWy87?0Rq#; z;5Fg`>-9JStHE6Ru=smd&UObqoH?uFKUfxx`FJNM3fPGs2FxwmW znqefK0ML~^iKcz2Rfc`9?D+$Y#ancm588m}*G{8Hhws-kOTJLPOcmRF#XVt~vrqQ# z)uKyE%s8W$>D*Vl*NUG3{%9tidj=3{R>#9uuwF@E?X=#HH1seSe$()RLxviE$WfEt zo7vjr5Gx1v+}XGdnL~B-fn2-n;VU%l@}wQgC4xeXnO)^?cOB402BH<{=344ZwWXrR ztxj?8#ZDzQm<0JHu#@8gji*V5$Tr2<9!P&g5O}S>wid?`7G;od=j7h55A1|`-<*-5 zPFq6UerI~Uka35#?xJ*Q$auR`hX+5HUvE7lz@Bj)wJg!4Fjm((0(;L_1y~x}GUrQf zL(bMGu_o6%X)0HpSA|^T7anqKRjZZy<_;h1e=d zl@MQHERNpxyrw#@DXF*<8Ze1fa>tTg{9dRId*6u_Wv?VBNq?|7)@Ma6ku^YV{n{~T zfcCinQ)W40Pl=7rr;WfM|4scmd5>#f#26Iu;vb6Z4UqCK=*j8tPxcO{HJ1G&a@;Nl0daZ8`Lrj_2-gK2X4+TL)`dK(1BX6dDqZpD}Rd*E=V=XkZ| zP@3e39nfNBa7ru(1Ci~-GaavI zbn3=`Sl3KCfN{igKjb;iv=!}%RY>b5X^XpGwOVzYJ!nF!E{9XQ)uuiCEv zfEGT$Ls4|eh7~1V6l39WW9e0D>B-YcokaVE4uHJr{dc+culj6jqq}_{90a5k3Iqfd z1O!CP(ZSWx?z@7c`FA@;GdmMk*J_Oo7d#1M0kUyjneDL_{G9}3Iuc_Y7gA_XJAC|z zK#?9}JSZx1Q}XCygi3>@tFbVn7r354tuj)VFm)CFd!qMm5};cb(d45(yFgIH+1cfp z;Ff=h)a%E!Q2@jZWEDE2@mgOsI;pmzDI^iDwu}jM>x)@(Ghdbe&^}{Std8G+X|$3M z$Bhmw8Fjt3l5t2pr;Z)Mfva8PDoY*TFB(4+ZlgCb6}X@Qb#d6OEt%~vY{F=S%L7ita#!|q`kPSf4luB(XA?)_uBbW$&K8A(`-&mOuNEC*y?)N4ByFoAu{0i}tay^ze5&=WGt) zUQv_iI7SWla!hdIuJ^uR^%|{`*klxwDtMO`65gE+rgT@+)v~@yJ^&^VF_Pw>t*+70 zbj~Z-+^*Qq8M5xs?Vy5o;(8y#ErVvDw`B-p@@qdyv(zqpQTNO}>F*h0|L#w_bk527;#Z)=Ax~z?Ueuf4v(ztFkd}t#mlXg? zLfIYXQHfcn%+0qU;tUSER!EYTZzR+gxa&-!a8vi~&92RI@I$uE2*ERhC!scuu)p$0 zq9VAgOAh_U4rzIe;nQ$ypVk10ghKP*<6`8 z$~!m+LLZ5BTbO02SB5W_;!bGrl=#*Ri;i%W>UAG&>v^T)HdeG3BBnICD7k<`ezM5D zCgg$b*Pr`a7D+zrNpl~b`5y^cCA^lwua(v|p^XDkVg~;Nr-m-yTg#;qzXu5Vua#HLk1pBtL>wPIv(_`SkpY zLkis2T2yqu{kMAPNGUP1(n;?ocZCy9ikp;LsNcA+z4mhoYRKY@*oe5pmlZ11~ z73aA<2p8>%L%|ySE~v*6=nO1RZ_J(%-1;v2`fk#RhU>HfP&)_Peo4)5cY1oxWG%1f=N{Y<-`sAEF&}D(DvQ9zs^^ zl=$t$W69&!tIOzgov%`7O_k%SFeu2%FIR(?X>yh&G6`@aKFzo6z3DURF;X2bIJ^Zk1_wSnF+~L=&vvJhJV$KfLw(qz*C6xONw7rDema%z2)+ z3`Ubay%R%824NbqAr@ab_wMrwI<}d6VI0@&!po+=^{9}7Xeqi_jV?> zo-I{hD*%Qlm@is&L{5pd8I(9IS#HC(?Vb+ts!XzikF3cf%Si27Eq=NB4-%2O)@v+9 zuhBzw38!Nxc}^n=b6W3K+q694&>g#H09L6n^nH^dsZJI`yF6Zt0rS*#%9}(lZTd{7 z#?0YH%Aburi;&+FS!Kt1G1i@eOIEQ_YOQ6v!oVPj-~w~FEpE*LsMsG<9*jc{{vk3O zZnZ%aL9Lsxa5KO1UGYIJuc}>Jgq>YI1V}_Iy~+)COsvdk)$YUvS34u0hyn{auY5~*y(A)Q8s=YnIM=Et(f z2ZExY-mR10f)nKAbKIUV#i&W%j<;>6StxY&O>236X`v+wl+Hm*I+7+AJRRs|I}Ye) zqYil49=8qn-2KTThC$j!G5bk)&v@(EGR)h z*tIBPHOkqoP3!WVFQH~TNYo*D44;)21GqxRvG5_dShr~+4kIA%VKv7>aWDvTe*N`p z{^{qisSCU`?1DRiWAGTMH3s+t_~PLrlkqqf_VZ6oaIefOF*is%ST1S8%G?1yFDz*C zv*?m=(k?09vkRy@hVC80cY^$bS#^ZHcV}+Fv>l~S_`j%PY#h`xDDjcF1((9k*1*Uy z^T5?EWM`C~ogj2ZRi`aPcl6V3&^L+sZ-V3(D8bHAnk3}Gi`bNB1)$c#uP7lwv4334 zdiUmU;jC`=aJPw}Q_obyeg!V>aW0X4sd`d5q5LHkF&x0v8)4Kt3(U6f|80uP2KvVi z{4Z`(RGry{IoC#@fKrBXH!VOaXaEc*Z)?nf)lOG5(LjqK{Vrw3;=i8#LMzW471)HQ zx5@&udxrW?K>=#QE|K{UTRcPkH@0B?KWw4?rG_Vg{zWg-e&{1D4bh}o46%W%%ecH; zp_~Lsy?7&`>dgDTtIxP$e(M6@U2$5C_D;kU9Q=wAdXwVm+43XEJ1C-b^}O!hdfGnm z-`@Cm%ia03}#Z-Cv6}yY{vfX zWniEpObWiRf^okcEW|)JY6!+?YeSdxq5(Qg*93d=arzz#e!QT{CHxjhfPPV|RN0$T zt3{2Y&`apS!uN`w^%+fD?8nKfWI9=P#npS4Jn!M zwvA>m%~O=M3--SK5MC1q8LihM1JOd1liL1y0%@r2I!TLa61{x+NaVMz9=xwdjq5PM zutP-^KIrOgN|+6;>sFbe)GAU9vnfExA&#&1BVW2cQ$Q$upe`Mo@EG!Zts39i2q9U> z0JC{k%>p*&tCI&q>E+QQ%FUI~y7?4BWca>Uj}Y@C(xQi6FMbB#3eDN5zY1hL&nP>& z$R`?0^J$vaFwkVE;?W)r4}qt|H@{6Iac#-Q6A;WPX;>LqFR@-m8q?Wl@Hxxbz)4n^PH)*!zose2(7+j)$b$F{*wCU z)UZh57|TiLvS(;!9k>9>W`Lwn4Uu1Ru`dp@rka)y=a&Us0V(6BpyV_%N|;*0 zXXoyVxivGn<%Uwr4780XAR3ae(G`~`TO>za6bWrjKW-8iN@C@beAtAnv^~pnaoy^A z3r-GO$^kL#C$bCl)86yX#n#S+*2yK)3TUgWZCksDTm*x3`kOTVeZ&7;u`?{f<>@@O zTbHSLh%xVGc?*H>?3!c-Ry{g>;T@96bw|nNcnr7I71k;XxW;EP9m|=!l}9lpe!5^e zCVs+VIeOkEvv$d5R3h|@D13jXz%t65Ub%f_?CBronz)%19Z_KHSsQL`d)CC-Io{t0 zd*FlbS=jB|%sXzuRL8S>HHtH9Kt%`xfn7?3e1lH$^?QKl24& z;DEkYMSaN}K4*b^*2n`h!#ke0_jm8X>`Wcc6gn>r{X$L)J^>@cLg+!4p7(U`WY)w% zfX4!6z|t;J6u(j8Q7ztkcqSu8b=TQG5WlBX-Xyfv>L_FnhfPSNMnov$rpNxy8+@Vj@L zsKJz?SZDI`T2+c7HW{{U#2@14I zP}{~pa+;aCc^eogxJ!7OJyxtAuiqtWtdb3lyyvgl0CiAuQ%4A1twmi0&Kmw`YJ13{ z`dA1NvMGf+`;O6JWSM07Gx&41qz|> z9Epu!VkMgy!ebSeXEybu(Vr=K6td8*uOXEm@qzqQl-c#aL8`_L3OV!)wGfgjnxn=c zhL>K*0^nz8@TJ$WILOc|J<@(e_Q9%qf+$qsMTd=`oCU=Ygf&o?k{mk<06=jspU5+H ze(efspXe!&IMM%S#VSI?LxRsZ(-PsYU?s;Uc+@i8<|XKAM^2zsXO-3Bj>)tP!igwa zLumOaGT|ykB%@An^S$bZQn=K}01Hs36DW)w<22b3;8ty;W7!;uVqx`#&8xf0mi8m% zG?^l*xVm*Pnm7ytLN5=#1dtenn7iP|)sz4WgjSgxiWKf|+4w8SC%T8=bb6$nxT`A8 zXbK;umNlb@AlI+k+DjGbj>fTbi6{4-FPtg_2~Ja<$i;gKaj0_`7pLL!MbE7{6#4gC ze!X!Jg0c7_<(^s?-1KG&b*ph zy~{-3ZhH0OlAXQyNQiPXjTM_xmlaaz`wx;U!#T0m6++ylA8l7k%Re~DD4Il5TJ!67x(c+I2TL=X+X@C9eU4pudoFPbh(~EAjnux zY=?V`E2+-}wiF&Wf8=Fj9d{6%i?y3i-9yl8mUn>Jot%{C&jTy$ZAEN3^E7sOY@vmP z;5iXV{UEf|7cve}Ekn~htS*Z!HJN}c-a(#iTFx`z5F6rh2_(VdnlyGg;%BglCZFZ~ zaz$Ub|H6jDL;fA3Ok2`RwG0CbR{e>Mdbc_tqIL9?E`Q`D=Dk}t=8l0N_XH zW-%3rg;}CVt@cX9wIo^P#1-mGTD^>FAaO#DrG!P2_8{=uBjY&dm~KH7E-UYo@;P2a zG#`*?nExR!nCX%`vJZ~C<6`%iy^UriKqMu%c1z~d4=9_-b7&rAKG1$(e=cXRA|@IZ zVx^V9A2e;v;$Ee&K8lmD=xVAqm<)!W(F7@CA?ud;#OA}wb0|i0ow@sfKc-F-D()4O zpY6+0euNq_pLtswCLL2)8>SpX&A-P4INpg1_NyBTVo=BdRKh-2Le1I*Ws85L7@AF4 z6Bzt zAE(*WWSEtyrt`02Bm9eepmif`&Or1!olWgSOP4d-m zh6UfQNO_0V@4xGn&>J$NYz8(#*yNOBR!GPXlkupgowI8&a?xSG4KT0>Dc;))s;`yk zR?+6AtUHPJ8K7cTbD|q|%rb^h(`h9C@P%1mVA~V;8D=kSTy0#Z{D%Yk6n4ljsEn!E z7?^M~GNZESAlpOCdh^EvQ#OUx9iZ97LI~AmFk**SXn8RUAd0c>=QQ% zld-8=FL^s>sJ>Hh8vEt|luctr+1+ZZ&qgr8LKQ{0qVt1MHn+DgtI0ikg*YE_PUx-_aVecNc8YL zE&C#$$*Qw6hoDj(B0-Nr=|yVJP>p7P`2U>bukN;K#;2lIt5(J+sX&>e!LK=DMhS(( zrfX({P!No#%G4iHbI$pjygMxVTHPkYP^EqkO_?Q{o3EK(p_t7m;mwq*=I0(?2Mifk zPOCqjlV=&(4%RD@03kxK*O#C|mwV8G=C8-C;rvWWuMF2vb)2F|og;Q@w!Y7lCJ-!#A(1+kTrD2RuEMUE06JJm$BEk7b3Qox1T| zrJc(!ncvOv_p943>BujfSJ&LU0&eSm&q5f}yx;`c(AxEifOMr$5!0$4<;*S(<;8HZ}Y@D~*2aZO=zP=cT+$uK~41Ibd<+ON>>Phji;hUZLe8hxf z1*VD9>)1KRVX&1_t9hf9nQD$o`&ZNh@n$ov)vD@c$$4A}8p4dq1w6z7fK(Begl-=W z3s<~V(jnXrG}^xf@kC9Q{K%z1;j*E2;;}uXC@%L=Z!celi@@1KAeozoY@SokTnr0e zH!Z6!>5w*H> zYdDuU&gH^8Qp&HQDhd-wk-tg14M}eUV`%)QvQ`eiAzpCV<6!kdT2HI=K`&2Fk4>VId1RYJjtgE+HZ0zFFNL60LgrRaxooNY-Yxor4)^8)t zk$>=g@H5Zey#!Wy6G_e4Q>L_vNz>qV-qiIwaSbY)S zEp5N5%Td=uq=y>2h5NX>w^G&h&vL{vRjLw}5P7+*)Y3d4s|hj@bd28wn*>(H;io@> zfPG#8RJ66vOV?gD0VRboUx>$YJ%^wzc^W0fLvE_6vop5tygD#^HrEyZu_ zyAKq+RB+oot}4tT6NPZS{>`)4Wzs`%OKDFW;$~bRehj9nGEqg3%a(5)=?hl@_i zolqGtlMhhWz3vh@`yR0lTzvmPi%6@k8N96^0a=bHRva5HlMTpH-d@HG0__)^@41;G zv}n6*l({05Y=f|{Ffuk)j>opckyo3fcw@^f<9kIMZmf2A!*B>H~;c3xATq7Pk zqvBm{2Ziw2WK~;E<09n@pVy(vK396m-bI(gN2Hb1YarAb#iY8$K4#A=LIO~vjRZDx zNeEy~2YywGfwq^4WyDw|J`md^m)1zzeB9la-wn1bsQb*!?kuJ$;u@|d*3Qyoy`BK} zah+);7)w~MM|0-G0^d&?M*?f{58$BuNwRW1igx&lauDA(-24b?5)y`1p*~4^Z-1Q@ zPBt)|Cj_3=fAJ0CgGPy|%T+!i?YwSFpSH8qod$7XX(0~l$iOJz4^#rv-_j2Z9L-3Zsu7vqDlkOCL|CZ{%MBN=&Dp!{T461pv?77xCOz z+~12&j4j{8Ok(4&#_*$o`^pD1fiK-$Z?u`(1w5|+HK8xK9AN&WJ3`Xr9TWJVThBE; z4sbC}DQmDoDlhOqv|1PYy_KYr#C2S;m88S|8oFhU?ycWRQ)$K2?y2SxKf0;FBayS& z&F;f>gyGHKX)QmuxHYshkNt^o={6zB7nQ}1lR%vhmLY=njF~akI*;BHE&EK!8+KhB z#-2%Q#n>Ia1i?x0aQ(nG?G8|U;NO|Pzd?Mkid;5pC;kiw-o?{X@5;Q3D!D8PCS|fB z)H_KL(ngY!WpDI2@pKb9}m zJ1|x*)jL8BP6vqfDkv{QXg9d(&Ly({mEf(B_IW=#s09HIZny*$w*d~mu_R9jXI`7= zxbxW}ANE}rRx6flkmaay*+i>#VKnldC?TqHH2t&>f{$%U`#*y}cY}ZMt~zPseks|XapljjevVog3a2bR2@PijAF5mVu~6jiMvAG#=<03Y z%xgW3rv8IL?WTiT5gWkZdqQndZ0$_oAMNzDmdvv7u^6^)u~f`DrmRn7h3YKf65*=lbN_EO%cT}Oj@i^z213vl3~cTelH zgX<{~4zQ!0;hA}5M@z1ac!afIe4KkQm(|oK)irk+ydpJ4jQQ0h-G3pw`K+~B=e*X= zC9pejb|Q!_v;o{4CA&Fu%AAIS1Wb0mqY4{hmDdGT_G?fc_+DjWnFj<%1X_RGec1la zW^h;&w?-em*MmJy6>&p>r{{Juq)LE1EpUj9O=qH&mXK`sL*Ge_THANn{RSJcFVxvi z^8LMh+6otQnSb$jo@Zt9PrG%&y^T+o?(cR!!JXWO>LkFpNrwY&K%aPOrYGvS#7uxG zA0<`@0xw)M&jf2VJSCUTjeDaRqsa#1Mh1DQLefu| z$r1}J(h<_v<^wUC{GA*5Gw+lG#xnv>KEc_0#h)VjvUDg$DI^){WLJx-G}QyYA*a~) z&*0zn6i$FS-19uP^2`h?vg+b$H_R;&%Y`jBL;>mP2k5-ZQcZFqxS&P?(1t`d>b}BL zKgK*_r4mNQeB_w|xVE39o1y}nG8Zpk>tmVLXpY6xelP}OTC{Fj`;1y0*S2wgT6 zkoX8o2x6qp@M2cZP)0W%$_@n9&z|W7Aj|zHZ#`dI4qSay_t|qrM}xQ$w+n^hV1758 z#vfv)c?7?wNUBmQvP^bxOY>JPl2^otraI`e(GJmR?RZMcK)yW>OJp0 zTW*27YGV#z={-c8BI54=8BYInDr}&%hVKl$PX<_^mVe0H=MI~IcMMeUh#~G{4M1`x#s<@I!h0+4{dIakkA9Za` zetFrnWgf3l&_oxe`wLDP`%JLOt4YHa^D>liiLVOq1s!vbcz!Kp`swe3@fY|oOFOmY zk1#xea6+M(`yHO&Bjz9oIrERkM{qj(P}RA!mU-$srPvU7W*5Y~KxghLC71y1>RrA% z{`S|1n7B&>C(zMmbaL@ZCDaoaJZqrN#JK2BHa3NaX;Qv{1t||=ATpV?r&%*jApsn$ zV1A__BxG(13Yq?eD;N=yToy1!wMtQZPcbV5xu8`F*UM+3-woqdEZxnm!50~y-Be;# zv0U$JoLtIqAKb70!#pcrBMsEbdL%G|jx?;$z!hg(zVq0HN462a*g?wL!_>N*2Al?P z>EiKt5hI$UR{8vupi0_G+zQaB9CCCqUY7}=Uuun-yXFqrmFVc@Py!rE=V?{;I{p`F zBFNItTkJ!8G<2IGD=ZEvTt9h7_`L`Y<{rG<2ojqQ0?*Y()4(s%=*!KfL@v_G|JmXr z@KLFZnirpAn+X$`A(GUf{~&P7T9wwVXJyc+EK22RZm`dY#y&PIbI|~AE}N@Rd<~82 zm1djkkr2eUhTC&s1Dx!#qQDQp@b@})IWL^GJMl-GD)(@?_NLspTps+Ls-bolkx00N z!mHk4?{00KHaz2^zQnJ|3cfH9Z@F?LiSkrm;^@xEY9u`>ieq2+U%z2YmcF~c!b5F? zzmv0Fn+(^I_MxBIE~RIc4rJ9b z?*Eh9qi4!@ltkep)D5RQufFv=Kg=_QesyscxYL8m zxKr{(tN%PhqheF;oQibQ?=GeCWyNNqN15ivu{k&~%auZuRYh@wk_VKJw>%xiH3c<+ zdhW+A>C%mm6RU1AMZBCsm|@=NBk9+zA5%x0>C$~4z{;?7;*?#?Lf8-bW{HJJXWsR* z)ivKNAf17W2D?^ofN7*-@h9)6ST{Pc*4Z1}jTc89r>u0x z$bB)l0Ut(1*Kb$<3RG?RLXiVh^PXb%?9@3sZs0-GP!XdmIK>%(-IX_c_|c7!D{eTt zDP|^*IaemNAZ_Qj?VhCNqs3b?^SS9aD6t)Bie`^$55{G(_^kQDUh*d2YR0H+pN9s< zpzq|vPLyFPs3V(;s)Z513KrTykV`v!+M~vq-Bq$S&~e{ zG7k;g7rkm$kTc<@N2JV)l@rRfv|`;A@BoFnj1fYfl^BKzx1IL(C1Nq=LKBuJ7TZw!75b|zfWqIj1YD>BKZ%8uzi3# zzn(kL1_#>d@I#|`6Rv9{%9kQ-(D+H+oiaHo6|=tT7C6e3ZDG!7)U{QfdG&---U6w} zxi!U!FTAt|7uJM3tG-lxu_GkAsn(JgZ~EdEsE(XogwN@*x~quwOs1OjZ+0^ugz98Q zsjtkwME->^pm*`z4_23g>uc;9lt(%2jz|J6u{~=|v4oCyX}(q~gs+-eIX8ZMib^Ba zp6RYc!7qYuh$d{yH=vb*0zlIABQ@D9bpE+&ZpKO}wXb)$Mg7E5cRDV1LUA8RJ!JcP< z`WgS~Z|S+#8cYlJ95MI_Ck@Wrbzd6^r`Jc1@0NG-idoZN@JyRy7Z`r&t@JmN90(tD zr!yj7oX6m&z;DM&#)n=}rt2NC-t=bxPNb0X_}4*V zj+FR+@6WrD;v)W^ETR8*6a_sXB}z#X{}i1>fP%w1xe;Z5w{SOTSg7_ckM(Tf~|7WZgo^KG9KMV*+ITi>A#(#jt zBol>Y$o}gQQn##ZJfI*TYyV8x{|LHQN(_ga?5Kc>)6gNml(= G#Qy?^_7=|o delta 11545 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 A4*&oF diff --git a/credentials/StoredCredential b/credentials/StoredCredential index 79b253af3783ca8302a9faae3431e9b77c04a20e..2096f171bf6d1f226fb76d78091ac1911fe7d8a3 100644 GIT binary patch delta 149 zcwT$W{+fM5Fk^kCQ$bdKV1A;bZn;ZPgimNxPEeAeV{o!-hM_@KT9|)nq@}sHxqq>* zVUoF_p=XMDL1cPPcD{S4NsdWGk#2rqfk#=DTSj7XKzV#>KyG1%L0Pb+xks6CSZ-#Z zZ(&4;hpCZiV!EMaK}ce{Td8MKUcA4Lk*7gmZi;Vl5yRw5jP5KyyzJvQ%QBr~1ON$U BGS2`2 delta 149 zcwT$W{+fM5Fk^jzQ)Y#wuA8S@kymhjg@2fTN{L09iGQx8kzbToL3&tmVo_m5o}+K7 zTXIxlc7Rt=zNxovL3&_SNPIzZh)-geZc>`LVRC*-a*(-!u7|IouYW{@b4p%Fxpz@w zSh$H#Vuf*%b8%r-ykT-+zNx8sma(y~cez2BxnXf}5yRw5jP5K)OL>=XmSsA}2mm&( BGUosQ diff --git a/src/main/java/ConsoleController.java b/src/main/java/ConsoleController.java index edc4cae..dbc2518 100644 --- a/src/main/java/ConsoleController.java +++ b/src/main/java/ConsoleController.java @@ -11,9 +11,9 @@ public class ConsoleController implements ActionListener, Observer{ private ConsoleView console_view; private ConsoleModel console_model; - public String startup_message = "Enter ID of the lowest directory you wish to set permissions for(Root directory ID must be obtained manually for saftey precautions):
" - + "For example in the URL drive/u/0/folders/1BIsA5ys1YHc7oKY_znJMu8-g2rOjr9p- the ID code " - + " 1BIsA5ys1YHc7oKY_znJMu8-g2rOjr9p- is what you will enter:
"; + public String startup_message = "Enter 1 if you want to set permissions
Enter 2 if you want to remove permissions:
"; + public int setting_state = -1; + public ConsoleController(){} private String[] permission_levels = {"Organizer","Owner","writer","commenter","reader"}; @@ -67,85 +67,130 @@ public class ConsoleController implements ActionListener, Observer{ console_view.closeDialog(); } else{ - if(console_model.parent == null){ - if(console_view.getConsoleInput().getText().length() == 0){ - console_view.updateConsoleText("This is not a valid ID length
"); - } - else{ - console_model.parent = console_view.getConsoleInput().getText(); - console_view.updateConsoleText("Parent ID: " + console_model.parent + "
"); - - console_view.updateConsoleText("Type in file/folder you wish to change permissions of. Case insensitive"); - } + if(setting_state == 1){ + setPermissions(); } - else if(console_model.folder_to_set == null){ - //check if invalid format - if(console_view.getConsoleInput().getText().length() == 0){ - console_view.updateConsoleText("Invalid input
"); - } - else{ - console_model.folder_to_set = console_view.getConsoleInput().getText(); - console_view.updateConsoleText("Location: " + console_model.folder_to_set + "
"); - - console_view.updateConsoleText("Set the permission level:" -// + "
    > Organizer," -// + "
    > Owner, " - + "
    > Add/Edit, " -// + "
    > Commenter, " - + "
    > View Only,
"); - } + else if(setting_state == 2){ + clearPermissions(); + } + else if (console_view.getConsoleInput().getText().equals("1")){ + console_view.updateConsoleText("Enter ID of the lowest directory you wish to SET permissions for(Root directory ID must be obtained manually for saftey precautions):
" + + "For example in the URL drive/u/0/folders/1BIsA5ys1YHc7oKY_znJMu8-g2rOjr9p- the ID code " + + " 1BIsA5ys1YHc7oKY_znJMu8-g2rOjr9p- is what you will enter:
"); + setting_state = 1; } - else if(console_model.role_level == null){ - boolean safe = false; - for (String permision : permission_levels){ - if(console_view.getConsoleInput().getText().equalsIgnoreCase(permision)){ - safe = true; - } - else if(console_view.getConsoleInput().getText().equalsIgnoreCase("Add/Edit")){ - safe = true; - console_view.getConsoleInput().setText("writer"); - } - else if(console_view.getConsoleInput().getText().equalsIgnoreCase("View Only")){ - safe = true; - console_view.getConsoleInput().setText("reader"); - } + else if (console_view.getConsoleInput().getText().equals("2")){ + console_view.updateConsoleText("Enter ID of the lowest directory you wish to REMOVE permissions for(Root directory ID must be obtained manually for saftey precautions):
" + + "For example in the URL drive/u/0/folders/1BIsA5ys1YHc7oKY_znJMu8-g2rOjr9p- the ID code " + + " 1BIsA5ys1YHc7oKY_znJMu8-g2rOjr9p- is what you will enter
" + + "Permissions will propogate upwards:
"); + setting_state = 2; + } + else{ + console_view.updateConsoleText("err: input - " + console_view.getConsoleInput().getText() + "
State: " + setting_state ); + } + } + console_view.getConsoleInput().setText(""); + } + + public void setPermissions(){ + if(console_model.parent == null){ + if(console_view.getConsoleInput().getText().length() == 0){ + console_view.updateConsoleText("This is not a valid ID length
"); + } + else{ + console_model.parent = console_view.getConsoleInput().getText(); + console_view.updateConsoleText("Parent ID: " + console_model.parent + "
"); + + console_view.updateConsoleText("Type in file/folder you wish to change permissions of. Case insensitive"); + } + } + else if(console_model.folder_to_set == null){ + //check if invalid format + if(console_view.getConsoleInput().getText().length() == 0){ + console_view.updateConsoleText("Invalid input
"); + } + else{ + console_model.folder_to_set = console_view.getConsoleInput().getText(); + console_view.updateConsoleText("Location: " + console_model.folder_to_set + "
"); + + console_view.updateConsoleText("Set the permission level:" +// + "
    > Organizer," +// + "
    > Owner, " + + "
    > Add/Edit, " +// + "
    > Commenter, " + + "
    > View Only,
"); + } + } + else if(console_model.role_level == null){ + boolean safe = false; + for (String permision : permission_levels){ + if(console_view.getConsoleInput().getText().equalsIgnoreCase(permision)){ + safe = true; } - if(safe){ - console_model.role_level = console_view.getConsoleInput().getText(); - console_view.updateConsoleText("Level: " +console_model.role_level + "
"); - - console_view.updateConsoleText("Set who it aplies to:" - + "
    > User," - + "
    > Anyone,
"); + else if(console_view.getConsoleInput().getText().equalsIgnoreCase("Add/Edit")){ + safe = true; + console_view.getConsoleInput().setText("writer"); } - else{ - console_view.updateConsoleText("Invalid Input
"); + else if(console_view.getConsoleInput().getText().equalsIgnoreCase("View Only")){ + safe = true; + console_view.getConsoleInput().setText("reader"); } } - else if(console_model.type_of_permission == null){ - console_model.type_of_permission = console_view.getConsoleInput().getText(); - console_view.updateConsoleText("Applies: " + console_model.type_of_permission + "
"); + if(safe){ + console_model.role_level = console_view.getConsoleInput().getText(); + console_view.updateConsoleText("Level: " +console_model.role_level + "
"); - if(console_model.type_of_permission.equalsIgnoreCase("user")){ - console_view.updateConsoleText("Enter the email-address of the user to which the permission effects:" + "
"); - } - else{ - console_view.updateConsoleText("Permissions are being set. Notification when finished" + "
"); - - //console_view.createLoadDialog(); - console_view.updateConsoleText(console_model.setPermissions()); - } + console_view.updateConsoleText("Set who it aplies to:" + + "
    > User," + + "
    > Anyone,
"); } else{ - console_model.email_of_permission = console_view.getConsoleInput().getText(); - console_view.updateConsoleText("EMail: " +console_model.email_of_permission + "
"); - - console_view.updateConsoleText("Permissions are being set. Notification when finished"); + console_view.updateConsoleText("Invalid Input
"); + } + } + else if(console_model.type_of_permission == null){ + console_model.type_of_permission = console_view.getConsoleInput().getText(); + console_view.updateConsoleText("Applies: " + console_model.type_of_permission + "
"); + + if(console_model.type_of_permission.equalsIgnoreCase("user")){ + console_view.updateConsoleText("Enter the email-address of the user to which the permission effects:" + "
"); + } + else{ + console_view.updateConsoleText("Permissions are being set." + "
"); + //console_view.createLoadDialog(); console_view.updateConsoleText(console_model.setPermissions()); } } - console_view.getConsoleInput().setText(""); + else{ + console_model.email_of_permission = console_view.getConsoleInput().getText(); + console_view.updateConsoleText("EMail: " +console_model.email_of_permission + "
"); + + console_view.updateConsoleText("Permissions are being set. Notification when finished"); + //console_view.createLoadDialog(); + console_view.updateConsoleText(console_model.setPermissions()); + } + } + + public void clearPermissions(){ + if(console_model.parent == null){ + if(console_view.getConsoleInput().getText().length() == 0){ + console_view.updateConsoleText("This is not a valid ID length
"); + } + else{ + console_model.parent = console_view.getConsoleInput().getText(); + console_view.updateConsoleText("Parent ID: " + console_model.parent + "
"); + + console_view.updateConsoleText("Type in 1 to delete all permissions under: " + console_model.parent); + } + } + else if(console_view.getConsoleInput().getText().equals("1")){ + console_view.updateConsoleText(console_model.deletePermissions()); + } + else{ + reinitialize(); + } } public void reinitialize(){ @@ -155,6 +200,7 @@ public class ConsoleController implements ActionListener, Observer{ console_model.type_of_permission = null; console_model.folder_to_set = null; console_model.parent = null; + setting_state = -1; } public void update(Observable o, Object arg) { diff --git a/src/main/java/ConsoleModel.java b/src/main/java/ConsoleModel.java index 51c8143..56a0bd9 100644 --- a/src/main/java/ConsoleModel.java +++ b/src/main/java/ConsoleModel.java @@ -26,6 +26,12 @@ public class ConsoleModel extends Observable{ return ("Permission thread started"); } + public String deletePermissions(){ + drive.setParam(null, null, parent, null, null); + new Thread(drive).start(); + return ("Permission thread started"); + } + public void attatch(Observer obs){ observers.add(obs); } diff --git a/src/main/java/DriveAPI.java b/src/main/java/DriveAPI.java index 803f69f..a3336ca 100644 --- a/src/main/java/DriveAPI.java +++ b/src/main/java/DriveAPI.java @@ -29,6 +29,8 @@ import com.google.api.services.drive.DriveScopes; import com.google.api.services.drive.model.File; import com.google.api.services.drive.model.FileList; import com.google.api.services.drive.model.Permission; +import com.google.api.services.drive.model.PermissionList; + import javafx.animation.PauseTransition; //template from Java quickstart code and https://developers.google.com/drive/api/v3/batch @@ -60,7 +62,10 @@ public class DriveAPI implements Runnable{ @Override public void run() { - setPermissions(folder_to_set, role_level, parent_id, type_of_permission, email_of_permission); + if(folder_to_set != null) + setPermissions(folder_to_set, role_level, parent_id, type_of_permission, email_of_permission); + else + clearPermissions(parent_id); } public String setPermissions(String folder_to_set, String role_level, String parent_id, String type_of_permission, String email_of_permission){ @@ -78,26 +83,15 @@ public class DriveAPI implements Runnable{ PauseTransition pause = new PauseTransition(); pause.durationProperty(); System.out.println(folder_to_set); - if(parent_id == ""){ - result = service.files().list() - .setSupportsTeamDrives(true) - .setIncludeTeamDriveItems(true) - .setPageSize(1000) - .setOrderBy("modifiedTime") - .setFields("files(id, name, teamDriveId, mimeType)") - .setQ("name=\"" + folder_to_set + "\"") - .execute(); - } - else{ result = service.files().list() .setSupportsTeamDrives(true) .setIncludeTeamDriveItems(true) .setPageSize(1000) - .setOrderBy("modifiedTime") + .setOrderBy("createdTime") .setFields("files(id, name, teamDriveId, mimeType, parents)") .setQ("name=\"" + folder_to_set + "\"") .execute(); - } + List files = result.getFiles(); @@ -120,7 +114,7 @@ public class DriveAPI implements Runnable{ attatchment.notifyObservers(count_msg); } - Object[] obj = buildPermissionBatchRequest(); + Object[] obj = buildSetPermissionBatchRequest(); BatchRequest batch = (BatchRequest)obj[0]; @SuppressWarnings("unchecked") JsonBatchCallback callback = (JsonBatchCallback)obj[1]; @@ -146,7 +140,7 @@ public class DriveAPI implements Runnable{ } - addToPermissionBatch(batch, callback, file, role_level, type_of_permission, email_of_permission); + addToSetPermissionBatch(batch, callback, file, role_level, type_of_permission, email_of_permission); String[] message5 = {++file_no + " / " + total_files, "l"}; attatchment.notifyObservers(message5); if (counter++ == batch_size){ @@ -187,6 +181,106 @@ public class DriveAPI implements Runnable{ } } + public List getFilesFromParent(String parent_id, List file_obj) throws IOException{ + System.out.println("A"); + FileList result = service.files().list() + .setSupportsTeamDrives(true) + .setIncludeTeamDriveItems(true) + .setPageSize(1000) + .setOrderBy("createdTime") + .setFields("files(id, name, teamDriveId, mimeType)") + //.setQ("\'" + folder_to_set +"\' in parents") + .setQ("\'" + parent_id + "\' in parents") + .execute(); + List files = result.getFiles(); + + List files_final = result.getFiles(); + + for(int file = 0 ; file < files.size(); file++){ + System.out.println(files.get(file).getMimeType() + " " + files.size()); + if(files.get(file).getMimeType().equals("application/vnd.google-apps.folder")){ + System.out.println(files.get(file).getId()); + List files_extra = getFilesFromParent(files.get(file).getId(), null); + files_final.addAll(files_extra); + } + } + System.out.println(files.size()); + System.out.println(files_final.size()); + String[] message2 = {"" + files.size() , "l"}; + attatchment.notifyObservers(message2); + return files_final; + } + + public String clearPermissions(String parent_id){ + String[] message1 = {"Removing permission on all files higher than " + parent_id , "c"}; + attatchment.notifyObservers(message1); + + + + try { + PauseTransition pause = new PauseTransition(); + pause.durationProperty(); + + List files = getFilesFromParent(parent_id, null); + + String[] message2 = {"List obtained " + parent_id + " number " + files.size() , "c"}; + attatchment.notifyObservers(message2); + + System.out.println(files.size()); + + Object[] obj = buildDeletePermissionBatchRequest(); + BatchRequest batch = (BatchRequest)obj[0]; + @SuppressWarnings("unchecked") + JsonBatchCallback callback = (JsonBatchCallback)obj[1]; + int counter = 0; + int batch_counter = 0; + int file_no = 0; + int total_files = files.size(); + for (File file : files) { + long now = System.currentTimeMillis(); + while(now + cooldown_time > System.currentTimeMillis() ){} + addToDeletePermissionBatch(batch, callback, file); + String[] message5 = {++file_no + " / " + total_files, "l"}; + attatchment.notifyObservers(message5); + if (counter++ == batch_size){ + now = System.currentTimeMillis(); + while(now + cooldown_time > System.currentTimeMillis() ){} + batch.execute(); + now = System.currentTimeMillis(); + while(now + cooldown_time > System.currentTimeMillis() ){} + System.out.println(batch_counter); + String[] message4 = {"Batch " + ++batch_counter + " of " + (int)Math.ceil(((float)total_files) / batch_size) + "(Estimated) Processed", "c"}; + attatchment.notifyObservers(message4); + + counter = 0; + } + } + System.out.print(total_files + " "); + System.out.println(counter); + if(total_files == 0){ + String[] message7 = {"Nothing was found for " + parent_id + "
", "r"}; + attatchment.notifyObservers(message7); + return "Permissions set finished"; + } + else if(counter != batch_size - 1){ + batch.execute(); + } + String[] message6 = {total_files + " / " + total_files, "l"}; + attatchment.notifyObservers(message6); + } + catch (IOException e){ + e.printStackTrace(); + return "Error setting permissions: " + e.getMessage(); + } + + + String[] message7 = {"", "r"}; + attatchment.notifyObservers(message7); + return "Permissions set finished"; + + + } + private boolean checkParent_ids(File file, String parent_id) throws IOException{ if(file.get("parents") != null){ if(((String) ((ArrayList)file.get("parents")).get(0)).equals(parent_id)){ @@ -201,7 +295,7 @@ public class DriveAPI implements Runnable{ else return false; } - private Object[] buildPermissionBatchRequest(){ + private Object[] buildSetPermissionBatchRequest(){ JsonBatchCallback callback = new JsonBatchCallback() { @Override public void onFailure(GoogleJsonError e, @@ -226,7 +320,7 @@ public class DriveAPI implements Runnable{ return obj; } - private String addToPermissionBatch(BatchRequest batch, JsonBatchCallback callback, File file, String role_level, + private String addToSetPermissionBatch(BatchRequest batch, JsonBatchCallback callback, File file, String role_level, String type_of_permission, String email_of_permission) throws IOException{ Permission userPermission; file.getTeamDriveId(); @@ -253,6 +347,45 @@ public class DriveAPI implements Runnable{ return "Batch added"; } + private Object[] buildDeletePermissionBatchRequest(){ + JsonBatchCallback callback = new JsonBatchCallback() { + @Override + public void onFailure(GoogleJsonError e, + HttpHeaders responseHeaders) + throws IOException { + // Handle error + String[] message = {e.getMessage(), "c"}; + attatchment.notifyObservers(message); + System.err.println(e.getMessage()); + } + + @Override + public void onSuccess(Permission permission, + HttpHeaders responseHeaders) + throws IOException { + System.out.println("Permissions Removed"); + String[] message = {"Permissions Removed", "c"}; + attatchment.notifyObservers(message); + } + }; + Object[] obj = {((Object)service.batch()), ((Object)callback)}; + return obj; + } + + + private String addToDeletePermissionBatch(BatchRequest batch, JsonBatchCallback callback, File file) throws IOException{ + PermissionList permissions = service.permissions().list(file.getId()).execute(); + + for(Permission perm : permissions.getPermissions()){ + System.out.println(perm.toString()); + if(!perm.getRole().equalsIgnoreCase("owner")){ + service.permissions().delete(file.getId(), perm.getId()) + .queue(batch, callback); + } + } + return "Batch added"; + } + public String authenticate(){ // Build a new authorized API client service. try { -- 2.11.4.GIT