From 633dee0675695a016f0afc92b478e1723cafaddf Mon Sep 17 00:00:00 2001 From: Ankur Sharma Date: Tue, 10 Dec 2019 11:34:36 +0530 Subject: [PATCH 1/3] added marker with list objects --- package-lock.json | 13 +++++++++---- src/browser/js/jsonrpc.js | 4 ++-- src/sdk/s3explorer.js | 41 +++++++++++++++++++++++++++------------ src/sdk/storage.js | 4 ++-- 4 files changed, 42 insertions(+), 20 deletions(-) diff --git a/package-lock.json b/package-lock.json index e1f2939..9afb314 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5946,7 +5946,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -6361,7 +6362,8 @@ "safe-buffer": { "version": "5.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -6417,6 +6419,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -6460,12 +6463,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, diff --git a/src/browser/js/jsonrpc.js b/src/browser/js/jsonrpc.js index e1d5120..0be2624 100644 --- a/src/browser/js/jsonrpc.js +++ b/src/browser/js/jsonrpc.js @@ -35,7 +35,7 @@ export default class JSONrpc { options.params = {}; } - let s3Explorer = new S3Explorer(options.params, token); + const s3Explorer = new S3Explorer(options.params, token); let result; @@ -44,7 +44,7 @@ export default class JSONrpc { result = s3Explorer.getSessionsObject(); break; case "ListBuckets": - result = s3Explorer.listBuckets(); + result = s3Explorer.listBuckets(options.params.marker); break; case "StorageInfo": result = s3Explorer.storageInfo(); diff --git a/src/sdk/s3explorer.js b/src/sdk/s3explorer.js index 7fffcdc..9f377fb 100644 --- a/src/sdk/s3explorer.js +++ b/src/sdk/s3explorer.js @@ -40,7 +40,7 @@ class S3Explorer { /** * @method: getSessionsObject * @param {@} cb - * @description: Saved session when Listobject API is working fine. + * @description: Saved session when ListObject API is working fine. */ getSessionsObject(cb) { @@ -69,10 +69,10 @@ class S3Explorer { } // list s3 compatible storage buckets - listBuckets(cb) { - var stream = this.s3Client.listObjects(this.bucketName, "", false); + listBuckets(marker, cb) { + marker = marker ? marker : ""; + var stream = this.s3Client.listObjects(this.bucketName, "", marker, false); let objectsArray = []; - // objectsArray.push({prefix:`${this.bucketName}/`, size:0, name:'Home'}) stream.on("data", function(obj) { if (obj.prefix) { obj["name"] = obj.prefix.substring(0, obj.prefix.length - 1); @@ -124,13 +124,22 @@ class S3Explorer { * @param {*} cb */ listObjects(bucketName, prefix, marker, cb) { - var stream; let updatedPrefix = bucketName + "/" + prefix; if ("Home" == bucketName) { - stream = this.s3Client.listObjects(this.bucketName, prefix, false); + stream = this.s3Client.listObjects( + this.bucketName, + prefix, + marker, + false + ); } else { - stream = this.s3Client.listObjects(this.bucketName, updatedPrefix, false); + stream = this.s3Client.listObjects( + this.bucketName, + updatedPrefix, + marker, + false + ); } let objectsArray = []; @@ -154,10 +163,8 @@ class S3Explorer { }); } - // list bucket objects from S3 compatible storage listObjectsRecursive(bucketName, prefix, marker, cb) { - var stream; let objectNameWithPrefix = bucketName + "/" + prefix; if ("Home" == bucketName) { @@ -174,13 +181,12 @@ class S3Explorer { let iCount = 0; // look into optimizing this part - stream.on("data", function(obj) { + stream.on("data", function(obj) { if (obj.name || obj.prefix) { obj["name"] = obj.prefix ? obj.prefix : obj.name; objectsArray.push(obj); - iCount += 1 + iCount += 1; } - }); stream.on("end", function() { let response = StorageResponses.makeDefaultResponse( @@ -548,32 +554,43 @@ S3Explorer.prototype.listObjectsRecursive = promisify( ); S3Explorer.prototype.storageInfo = promisify(S3Explorer.prototype.storageInfo); S3Explorer.prototype.makeBucket = promisify(S3Explorer.prototype.makeBucket); + S3Explorer.prototype.deleteBucket = promisify( S3Explorer.prototype.deleteBucket ); + S3Explorer.prototype.removeObject = promisify( S3Explorer.prototype.removeObject ); + S3Explorer.prototype.listAllBucketPolicies = promisify( S3Explorer.prototype.listAllBucketPolicies ); + S3Explorer.prototype.putObject = promisify(S3Explorer.prototype.putObject); + S3Explorer.prototype.fPutObject = promisify(S3Explorer.prototype.fPutObject); + S3Explorer.prototype.presignedGet = promisify( S3Explorer.prototype.presignedGet ); + S3Explorer.prototype.presignedPutObject = promisify( S3Explorer.prototype.presignedPutObject ); + S3Explorer.prototype.createURLToken = promisify( S3Explorer.prototype.createURLToken ); + S3Explorer.prototype.presignedGetObj = promisify( S3Explorer.prototype.presignedGetObj ); + S3Explorer.prototype.getObjectStat = promisify( S3Explorer.prototype.getObjectStat ); + S3Explorer.prototype.getEndpointAndBucketName = promisify( S3Explorer.prototype.getEndpointAndBucketName ); diff --git a/src/sdk/storage.js b/src/sdk/storage.js index 97d3d6e..d7efeea 100644 --- a/src/sdk/storage.js +++ b/src/sdk/storage.js @@ -1211,7 +1211,7 @@ export class Client { // * `obj.size` _number_: size of the object // * `obj.etag` _string_: etag of the object // * `obj.lastModified` _Date_: modified time stamp - listObjects(bucketName, prefix, recursive) { + listObjects(bucketName, prefix, marker, recursive) { if (prefix === undefined) prefix = '' if (recursive === undefined) recursive = false if (!isValidBucketName(bucketName)) { @@ -1228,7 +1228,7 @@ export class Client { } // if recursive is false set delimiter to '/' var delimiter = recursive ? '' : '/' - var marker = '' + var marker = marker ? marker : "" var objects = [] var ended = false var readStream = Stream.Readable({objectMode: true}) From e42aaf553c2940dfe31a48f587c97b2380372afc Mon Sep 17 00:00:00 2001 From: Ankur Sharma Date: Tue, 10 Dec 2019 12:18:17 +0530 Subject: [PATCH 2/3] added missing icons --- .../fonts-old/fontawesome-webfont.eot | Bin 0 -> 2656 bytes .../fonts-old/fontawesome-webfont.svg | 16 ++++++++++++++++ .../fonts-old/fontawesome-webfont.ttf | Bin 0 -> 2492 bytes .../fonts-old/fontawesome-webfont.woff | Bin 0 -> 2568 bytes .../fonts-old/fontawesome-webfont.woff2 | Bin 0 -> 1216 bytes font-awesome/fonts/fontawesome-webfont.eot | Bin 2656 -> 2844 bytes font-awesome/fonts/fontawesome-webfont.svg | 2 ++ font-awesome/fonts/fontawesome-webfont.ttf | Bin 2492 -> 2680 bytes font-awesome/fonts/fontawesome-webfont.woff | Bin 2568 -> 2756 bytes font-awesome/fonts/fontawesome-webfont.woff2 | Bin 1216 -> 1280 bytes 10 files changed, 18 insertions(+) create mode 100644 font-awesome/fonts-old/fontawesome-webfont.eot create mode 100644 font-awesome/fonts-old/fontawesome-webfont.svg create mode 100644 font-awesome/fonts-old/fontawesome-webfont.ttf create mode 100644 font-awesome/fonts-old/fontawesome-webfont.woff create mode 100644 font-awesome/fonts-old/fontawesome-webfont.woff2 diff --git a/font-awesome/fonts-old/fontawesome-webfont.eot b/font-awesome/fonts-old/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..858753afe988242027b39866da280a03ae53619c GIT binary patch literal 2656 zcma)8Uu;uV82`>axA*qX*2-vaVT{|mcI^yZ+O6x_2p#aS5r?7%!{qN++3H5JwaYdl zONf~vQ6&C>q6ruueDJ|UqYg=C1QOoG2NQTOn-9hW9+U)#7$RHe@7&(H4i~~n?m55j z|GnS+&iPKiljw?rh>=7q2ct7ga9(_6C12>4$H|3LwU5h)+;o%%s6eB53Y3R}n|4!< zhUgfLP?pBQ(Wn=kahiax&@rfuV$^EtK5h-B2zrDBf-uZif-Y+gKE-gU{FaP7RrQbcj zdG@%kxC`!v+BaZb9n~~4Cq@iDJXKN@QTjPkdD-I0JW+N%QjzD$K~bW$jUCBID5z{? zwl!WQ)EJC(tVyP}u#RMUD@&)^6MmifwT-Mjq4{Q6)1J;uFPk&`i}QZN@Yi{L-SJpQ zM=ZX>>#g$}66G_!y_tNvG%Lic$8Y45@p!k_=ks>QuRJqSDlT!otnLLyR^5a zPG*u#DcamB)7W~u=5*H9Vxx&~C7#E(`Y22kW~pSHMS?18js!hS@dlWdNQ?ND?-o(n zJM6H_wb`XROAn?nZ*e+*!oqH6yB6oW`}@14rmpPItk0!G$t84zvg^9b#U3szWJTz5 z{8>Ir2SsHtaze@&NlD^IXaSaPuENMs#h=KRE#0j0 z!BA_%`T>KpcyL3DBQO(?cxz}w)NZ_{del%XP`@v;Pj#!oIFMeJIrNLrYHNhPen_cN zf^DI7`!jutTPbax$;_}vvCxKyBY0S?RfBDT`o7LX7CHp8Sg0Om-vJ?D)S(|x;2c^9 zG6yWJg9ejYLiL;MflG!YeVn<}iM-$xTS8Wl7Z>(+6Aq$I>Y+V!1V_}H^Z|WBU!tzf zy7YOq_C%^0cQjWCY*o0L|8z=7Y$VhsiXTzh5-DEgEiGh?maH+6@>R*!K2|cmxlI8* z8r1`v=EWq4`3i^4R?ytj$k=RD*IQcjDi8CTXEE&2G>U z%!>c0K5xEFG5rf~Ucrr;bIm?nVEsh6s^*SDe$p7q<#XfN$=slE zWXk9nDD1+!#b}3l6`RCY4B>K?H!o;en#4K?-VvI@++$wtc3D@u7_yG;`K0kLf!d&= literal 0 HcmV?d00001 diff --git a/font-awesome/fonts-old/fontawesome-webfont.svg b/font-awesome/fonts-old/fontawesome-webfont.svg new file mode 100644 index 0000000..0a06f4c --- /dev/null +++ b/font-awesome/fonts-old/fontawesome-webfont.svg @@ -0,0 +1,16 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + \ No newline at end of file diff --git a/font-awesome/fonts-old/fontawesome-webfont.ttf b/font-awesome/fonts-old/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8df37c1eebf6b834547aa1052ef8bd70287475d1 GIT binary patch literal 2492 zcma)8U2IcT9RHttZtv~K*2-vaVT{|mcI^yZ+O6wHgbsYzh{K=>hRNqx+3H5J-7edR zEFosb#1G;J6ivYR;DZk)8g)oABarYeKA6CR*?cf2@Sr3>#1LVfzjJ%*idhUNIp_cT zf1msB|D01|MC744;?()#OUab4$@>>1mobNiCkm4{I+rM+?)FpihB62kIOh zpMB+*7nWu4pAtE~8!Hw@wCFn_B6T11*)a&zulWz)PlIn8o0vJ#e3mru7r{S0UK%dQ z5BMqYOW?JM!ih=RKwp9X6TD#-CW_~GxgH{wA35HfEKSc~pBS!Bgq}Fx%1)DmNIEZF zgXDuMWxrE5a|ye;!LaSe$FoHD%KYleReF|VLMdud8-@i$HZfbEt5R-RwUA6hko!>$ z4$R276S?!v-CcLj-TmWUd1ZNJ1zK7|%2s~!{p#E6z3eS{TN+=5cYRjN$yyjO#PHQ= zC8FFjmhq~`|I47IeyPk&a#5UUeQPEii-eWU%(2d|L|VhK%(`@T8_T3~+gUE#oeJtK zsBLE5DJ`(T+V=M32iT$!TwV$qMzF~r=u0LtnM87@-`^B8Br@{@19>x7SrBU0A2iH# zGTG-31pIx;WZE=>*gI;*!#qklimNFqLtfR(BH>t)C0J%17NqWOO=&?MmStz7Kg6_DPUNqBx5&!gVn;lltsdQ7xj&0_o7?>(2)kA2U0&)N z8tRkUdJ8|XL5~h2kFXKOo@*Wtd$4Ly5UH#A7x)4l5}mCWijYZX zcd+(qL8=%?(|B3+ zsgXped4GPt>Q%!@Aib({=@($t)e3w4u+pG}yCNG75eqQBSUeBH+R;xvZ-&P7y)&W$q_t%=U|F^dsP zIELQc!6KHr#@KW_+XmNqMo8=k-DvJr#uBPhHhLy1J!eQR_50`rS>;@k4CYoYB_y{p zCp$T3tmBMeUgu8eSjW6W6?9DxbxuUEJ=D3!J(yW8Gh63tu9`?!qr!XkqU7YOTa@m=D=AS%fQEN?7%q>*jR!5c^kW_nNEqRi)nP2ry6=<)Hw6p|LP(c?5u1)5sZa%ah$F-D7KajGy=95Ig0 w8vVni-Pl`#c3Qb-kbM+kOlwC4ngJbw>?qA*?YBN)cl86XNBoehKge3>A9+=eo&W#< literal 0 HcmV?d00001 diff --git a/font-awesome/fonts-old/fontawesome-webfont.woff b/font-awesome/fonts-old/fontawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..8b2bde8f56c3c3632be8c7e0ea3941c139cf7cc1 GIT binary patch literal 2568 zcma)8Z)j6j6hHUfm-q6gO|&L2T5Ix}m{d$j+B8j=rs{{btPUqQ?B>7P*k-NJzDQfq zf{c#A{>c8BZ7}!Q4}%T2I-z4K_ zbM8Ai_uib?-P=oyFx*b^h}m^n@Ri2yS5j#r=7eofkgvh}_t1FZ7<8kMPYJrwcD;L~ zFe!9@Ko-7&R*j5JzYg7PBFFcFetmgS9xWDziPUqjX9a1o_rjx4Lbm{UqagJg{^RKQ z)JZE0ZGvu7<0qtzm4@Kw6tX5re#lRc7fvFta|dMIq_uS3D2x}O8$|B61)bgLdUUKb zIfd{1^NAk^;(QDHm>fjXS?L<&kF1&fMIFoqxpuHswUWR)i0+s9)upSngM*+kYl>M6 z-Q;E#peEP^ZUPrxO(dK3^wTP6Wa#v}(YxQ?+j;Nvd$;eGmll_n%=OP|+0yU6-+X($ zm%Sx#Q~e1$p6UD)W5f`{XJ)eu5>f62bBoLS{C^#+)F+j>K`u%Vt!eJe#G?^q19PnQ zE79giymNIXyOnija@$xg+mQ~2SWw%*I?`HTj&0oAmG5WsdT?f3_TXR-!RbH!WkeTFA z$_}r}G`7yEx!v{kZnS_X5;yRz0g4gDST>Vl@rcS=;t?NH{9&f0b0UBByG2&^4m<4e zZ1IHLl?T({Tix!TFtJ;O?!|?k!NDGBV|U?aHsA@t$s>G(v*((}!yYa>6hvw({~VvA zgQ7DSYUo#d3?;>Eez01L%_4MWvfEjURS*lKC>i_^TA1ZpYA|Y4jVJ2m$hD|^INH{< zZb;`W6tQ@v^=1r)MuuFwT|wKu~*bV#XFBJI(& z`||^eSE+27&Cjw&$>{pHD{@$^S0nA=#(}OwHadi5$!H^%eFubu30LTVg5dBvkUwC1 z9n_iB8g1O{3}4hG>9hRBF4U!-XbDw8T|BfF_d^?XQ6KH4BQ!y8(1-K|eTBX@`!e9y zI?~x%+}ToNaMa*h{qs4Yu<>ZSXntgAPiJ{ew4AUt+qUL(Hc(?*^PiRp%x?~d5{XcF z^MYVPSg2~)TouhfkB!YGLZQ~yP)&pd&9@lyX_`-(_i2ccNFaV+BJ_A(O(Jo{HvD7DVRH$DE4IQk2wdqi*9gXL2nFayS!5OLOIyRPxa?V)m86mvMov^XiS%)g-6<4S;B7(g_oq2i% zGsoV(-;Pk<>}F3?w9;BC1GU@orS+x720e(SI=|A0KQxFzV9 z43%rbap~UOU+ZjTaUROTZ&G=D=MxmVr;%*n$5Gx{Vd+_t@A?89H}#s5D+G z8FZ9}s6^wS5*hu)iOHiSLvK&EQ9l)N*G$3z2E=KnB(<%$YDMLq;>hu_!UU2QvC-o+ zMg^K!(X+Q?Oz9&RNxf$7DP$i(7{lCAfu=AILwAIx!TZb) R*kyeH_J|*{_9uB3{|i(TlUx7* literal 0 HcmV?d00001 diff --git a/font-awesome/fonts-old/fontawesome-webfont.woff2 b/font-awesome/fonts-old/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..09a83121e4787e6138795e1c1e379c1e5c9c62c2 GIT binary patch literal 1216 zcmV;x1V8(CPew8T0RR9100h7Q3jhEB012=F00eRX0RR9100000000000000000000 z00006U;um(2nvfVi5m+R00A}vBm*b}AO(X42Ot~92gr`YI3|1-P0Td%q2J8jFeGdt zst~KGBw1I|_RQeUL&akIT~Yl~J8|py|ADW6>^Cb9^=wuekxWU1_<4xRT&rqZ3G=pF z6Oj;E$_vp4^$aU`ANdSWI*P1;4qyt*6#%Q1y^yalm~??+iC8dt0`Swio&Eo;?4=mX zO#q=HKw&We;z}rph(+~RbHD-$76hRmqCf04OWrp>t?SVAe5GB6%ZDdi)Q%TmD_j0O_17?9S=HV{&e zG9yv%@##B24Wn%3P3i4~syhUMsQvfcAALg5MjpG{cNZXN+wfc_@2F=K{+$~(@ae28 zk@5c}QbG*S0-PeL4LuzEqzj(OvddOMQKxdX03IT>35z10meN%b_{ z?Ie^_f_4V2CJ8#b1}<-+LbQQUFQG_1gqoImlKIN*yeYla>Ndfw?Z6|;^vX%zl0Hp1 z^^9QEPT{d6zvQtc63#$D%Q!O`M+7b0xdd73PGYBv%bY79v|O#nBBwhW+Jg@NACt!{ ziH{ugrl#lNW9eU^EsZ+*{8zS4XJ_duLrjbLR@_M!! z_N^aK!*Um=u3I~0F6Z)ko*FuGWWeyY5SWSAZ&X%n7q=I-i=90G^wUCQTPKcQxh(ho z?DyEz>Z&QCaaGmS*p#a3I#yR>*u=l1|3>|X-mDEvmE8Cl{{|+wSA+-(l!-@{ipG$ zvT|v`K7B-h=kzsfLRxrJe`&+s(fDzD$KcTnsUV5lByqbab-o>xwuy0aXY}p2 z70g3^_2H9s;*b7x2p*ACdixPobT$|R9m(wB!|&J?h{r`1j<4VT_MJvVq-~u!ZhqTz zV&B#*EU*=4XJ|6(?P|K*UKrXDTf0^mHC>Wka=yVGmwWGL>mpINJ=$BB)1T;j+-V=7 zu#ZI|MYQ+6wUDV&md%sfr>j%PG%}BPNSv%L66IK&!nL~*{y(r208oHNXjj+)`Yn|~ z005vTf6ClE=GP*D1pqu;87U>v|BuugcmzNZ7(P#cJ#GNPTKcUFSk1E$A7dWB4xn8@ zsSMB~pdSm^L2wgx!pKdab(ydmWXvK5guu|MfzpNnOM61Ag8-*i4-T_$=HWvc6ol;p z0uwj@46O+$Z7i^~=e0Vx5Yp;l!lHgWhG1jMCFG4M87-(o3LQux1^HI{@PYjXAb|!f z$75*8JTO8Sh<+H*V&V+vKm9%#i_m~3Jb`x9V0kTk-7w}B%`=mOx%qyWHm>(^wxbCR ekY{6DgU8W;`hm501|iHGkvezd=m!c70002e&oi|E literal 0 HcmV?d00001 diff --git a/font-awesome/fonts/fontawesome-webfont.eot b/font-awesome/fonts/fontawesome-webfont.eot index 858753afe988242027b39866da280a03ae53619c..848e5d53f0040de592fade2729d0c9f9a0eb2d13 100644 GIT binary patch delta 558 zcmaDLGDnO}hMR$*f@>n18H;w@&)pLp%IkkJFfi-^;)LYf#Db&yj|wv|FvY4I0MI}Ng}lVv)R|tKzk&P< zKug*R@{3Ctn1M13ToE9724-g4$tjH0kp)1W1khp33>*xM3<@8VKcs)y@ZrQqua7f6 zzWFri|KI=rLAr3rF#dnc|B!zke;B_#-#)%VJ~`e>ph=7%4U;vPZYMG@crvRp=P{@N z-5@H$rVSyK)NC1*L4=8!HKQqrFcOnxG&T|wWmZ)bd#50tC#LXDTtPwnoq|}NxWYRz zMJAzKAPo@`M`AKeV$QV!TgRLSw1yvOji3mdvZ9ijsi29Ov7(U}b6%p$-#e}e39d{k zE{RMh5p1C2HfJ->WRcnZGfq36-{va=Hw(z&47WsHeTLDK6*$Zlc_89oNd_h$#Wab5 qfms!dnSs_aOfKM%6`jCvjNu8R3gZT*Da<-RMIdMKY@Ww)h!FsWnT%xs delta 374 zcmbOu_CSO!fs27*59dTSGnVE*9lR4A%Im)|07ZZ}Avrg(;HtqD7X}7K86dwVJ+Zg| zNDBb@Gk`QldQN59UBAC9K>h*-2G$)Jsfj6Ks-5x-4D1m=d9w_l0Q-98(?I?NAYUaT zx1>U9GJ_b9zXizG$jMJmWck6|1?1lW^2Kr!D+(AS^cdCw1-<|U6!H>tQ)hZ{{s!75 z0<@&9AiubTff*>nz&Qsb&%n%VH93W`+BE^l69GDmnSq6YkwM{u@`nu{y*|$P_~z53 z|9}7g2g(9fV~8^Tf6V`oKa_6|Up}7 + + diff --git a/font-awesome/fonts/fontawesome-webfont.ttf b/font-awesome/fonts/fontawesome-webfont.ttf index 8df37c1eebf6b834547aa1052ef8bd70287475d1..4c678c0de86b30f30273c0c378a7341c6e5427c1 100644 GIT binary patch delta 559 zcmdlZ{6nOkfsuiMft#U$ftkU;KUm+0Ux@D~P-G7fCnV=4798DwRG5K*Q3lBGNlz>; z0MY_L{t6(?k)BhT#*^%N1IXXNz`z!fk(!tyZYmWBl;Qx&n`Hn6*w-_k1@aw$e3gvc zk_tsN1~DK%1;{tZ$xn7nWUFBL02G)46p+eItSDfRVps>{0}W(Q$V<#ko$1B-8_2%^ zw4|*dzqkbGP$1xn0Le2jGuuu)P#stRkafNqc zicCVeKpG+>j>Ke`9K)1r1&Rj-<~*Q1{6KpIMc9-TmDEfHP0WlHjl`Jq5?%h@aZN~Y zWm0iTWIBmp16{ZIIMYlPncY9*wBz}0zA|vLfJ|bzCGzSsjGkP>Zm!4!5eG{$Faas1 sNk9u#!I&9nEyLt9?6RU07>+SKVN_wY7~0OYG= z*hL2t!XMB9~Y103{ z|NjGJfr>Fi8UH`#f5;!ow}&sEPlmS~sGD)}L`KocD;bYXzRZ-hxsrK0iwtkapXPXe zo39MqKyL!U&0eJ_7(H2s!#t1+A`X^hU;8U|jl3MQZ%gg0O2Sjq?hsRd_< diff --git a/font-awesome/fonts/fontawesome-webfont.woff b/font-awesome/fonts/fontawesome-webfont.woff index 8b2bde8f56c3c3632be8c7e0ea3941c139cf7cc1..1dae7e89f1d43c7c0666b37764127b7cc51c0c26 100644 GIT binary patch delta 596 zcmeAWIU*`j?(gQtz{mguTt^tV!F0vskDTHYwMFWGCg&y=FfcG?0EK%%_~`zl!s&^{ zAh9n%J_i&Fq~}zo0mc3>Ft9~{Fi*1Ujf~X96rhq2pc*p}7B`g&%m4}k#Xx4MfH3=d z=Cc{OB^5xi4M4sD2rH^Fh~?xb1J(I)JOBzvfiPPI%ZJ>=3ZTUtKuZ`Dz*vf5U0z~t zDgy(j4AAm65T5D9`MV&$xCH2%C2)1jKo&Ez?PMOt>QJBw3=#|i49q~sGcqWAQ2vnq zVZ(3IG5A delta 420 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 From b4e62a69b7ce755cf1b7ecd7e39872ce60406abf Mon Sep 17 00:00:00 2001 From: Ankur Sharma Date: Wed, 18 Dec 2019 14:15:30 +0530 Subject: [PATCH 3/3] Issue:resolved s3-marker in listobjectrecursive --- src/browser/js/dashboardStatus/actions.js | 57 +++++++++++------------ src/sdk/s3explorer.js | 3 +- 2 files changed, 28 insertions(+), 32 deletions(-) diff --git a/src/browser/js/dashboardStatus/actions.js b/src/browser/js/dashboardStatus/actions.js index 595f33f..f12d5fe 100644 --- a/src/browser/js/dashboardStatus/actions.js +++ b/src/browser/js/dashboardStatus/actions.js @@ -51,7 +51,7 @@ export const listAllObjects = devicesDevicesInput => { ? devicesDevicesInput : [] : devices; - + let iDeviceFileCount = 0; // if no devices for config/device.json, set loaded to true @@ -152,8 +152,8 @@ export const listConfigFiles = (devicesDevices, devicesDevicesInput) => { dispatch(setConfigObjects(configObjectsUniqueAry)); dispatch(fetchConfigFileContentAll(configObjectsUniqueAry)); dispatch(loadedConfig(true)); - if(devicesDevicesInput == undefined){ - dispatch(listLogFiles()) + if (devicesDevicesInput == undefined) { + dispatch(listLogFiles()); } } }) @@ -164,15 +164,15 @@ export const listConfigFiles = (devicesDevices, devicesDevicesInput) => { dispatch(setConfigObjects(configObjectsUniqueAry)); dispatch(fetchConfigFileContentAll(configObjectsUniqueAry)); dispatch(loadedConfig(true)); - if(devicesDevicesInput == undefined){ - dispatch(listLogFiles()) + if (devicesDevicesInput == undefined) { + dispatch(listLogFiles()); } } }); }); } else if (!getState().dashboardStatus.loadedFiles) { - if(devicesDevicesInput == undefined){ - dispatch(listLogFiles()) + if (devicesDevicesInput == undefined) { + dispatch(listLogFiles()); } } }; @@ -186,23 +186,23 @@ export const listLogFiles = devicesFilesInput => { return function(dispatch, getState) { let devices = getState().buckets.list ? getState().buckets.list : []; - devices = devices.filter(e => e.match(loggerRegex)); - - const devicesFilesDefaultMax = 3; - - // by default show all devices for the device info and none for the log file info (unless fewer than 3 devices) - let devicesFiles = devicesFilesInput - ? devicesFilesInput.length - ? devicesFilesInput - : [] - : devices.length <= devicesFilesDefaultMax - ? devices - : []; - - // if no devices for files, set loaded to true - if (devicesFiles.length == 0) { - dispatch(loadedFiles(true)); - } + devices = devices.filter(e => e.match(loggerRegex)); + + const devicesFilesDefaultMax = 3; + + // by default show all devices for the device info and none for the log file info (unless fewer than 3 devices) + let devicesFiles = devicesFilesInput + ? devicesFilesInput.length + ? devicesFilesInput + : [] + : devices.length <= devicesFilesDefaultMax + ? devices + : []; + + // if no devices for files, set loaded to true + if (devicesFiles.length == 0) { + dispatch(loadedFiles(true)); + } if (!getState().dashboardStatus.loadedFiles) { devicesFiles.map(device => { @@ -269,7 +269,7 @@ export const listLogFiles = devicesFilesInput => { if (e > periodStartVarFormat) { const deviceId = device; const lastModified = e; - const size = sizePerTime[e] / (1024*1024); + const size = sizePerTime[e] / (1024 * 1024); const count = countPerTime[e]; dataPerTimeAry.push({ deviceId, @@ -288,7 +288,7 @@ export const listLogFiles = devicesFilesInput => { } }); - dispatch(setDevicesFilesCount(iCount)) + dispatch(setDevicesFilesCount(iCount)); if (iCount == devicesFiles.length) { dispatch(setObjectsData(mf4ObjectsHourAry)); @@ -307,11 +307,6 @@ export const listLogFiles = devicesFilesInput => { }); } }; - - - - - }; export const clearDataDevices = () => ({ diff --git a/src/sdk/s3explorer.js b/src/sdk/s3explorer.js index 9f377fb..97ff4a6 100644 --- a/src/sdk/s3explorer.js +++ b/src/sdk/s3explorer.js @@ -168,11 +168,12 @@ class S3Explorer { var stream; let objectNameWithPrefix = bucketName + "/" + prefix; if ("Home" == bucketName) { - stream = this.s3Client.listObjects(this.bucketName, prefix, true); + stream = this.s3Client.listObjects(this.bucketName, prefix, marker, true); } else { stream = this.s3Client.listObjects( this.bucketName, objectNameWithPrefix, + marker, true ); }