@protontech/drive-sdk 0.14.2 → 0.14.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,8 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DownloadAPIService = void 0;
4
4
  const apiService_1 = require("../apiService");
5
+ const batch_1 = require("../batch");
5
6
  const uids_1 = require("../uids");
6
7
  const BLOCKS_PAGE_SIZE = 20;
8
+ const MAX_THUMBNAIL_IDS_PER_REQUEST = 30;
7
9
  class DownloadAPIService {
8
10
  apiService;
9
11
  constructor(apiService) {
@@ -68,31 +70,33 @@ class DownloadAPIService {
68
70
  thumbnailIdsByVolumeId.get(volumeId)?.push({ volumeId, thumbnailId, nodeId });
69
71
  }
70
72
  for (const [volumeId, thumbnailIds] of thumbnailIdsByVolumeId.entries()) {
71
- const result = await this.apiService.post(`drive/volumes/${volumeId}/thumbnails`, {
72
- ThumbnailIDs: thumbnailIds.map(({ thumbnailId }) => thumbnailId),
73
- }, signal);
74
- for (const thumbnail of result.Thumbnails) {
75
- const id = thumbnailIds.find(({ thumbnailId }) => thumbnailId === thumbnail.ThumbnailID);
76
- if (!id) {
77
- continue;
73
+ for (const thumbnailIdBatch of (0, batch_1.batch)(thumbnailIds, MAX_THUMBNAIL_IDS_PER_REQUEST)) {
74
+ const result = await this.apiService.post(`drive/volumes/${volumeId}/thumbnails`, {
75
+ ThumbnailIDs: thumbnailIdBatch.map(({ thumbnailId }) => thumbnailId),
76
+ }, signal);
77
+ for (const thumbnail of result.Thumbnails) {
78
+ const id = thumbnailIdBatch.find(({ thumbnailId }) => thumbnailId === thumbnail.ThumbnailID);
79
+ if (!id) {
80
+ continue;
81
+ }
82
+ yield {
83
+ uid: (0, uids_1.makeNodeThumbnailUid)(id.volumeId, id.nodeId, thumbnail.ThumbnailID),
84
+ ok: true,
85
+ bareUrl: thumbnail.BareURL,
86
+ token: thumbnail.Token,
87
+ };
78
88
  }
79
- yield {
80
- uid: (0, uids_1.makeNodeThumbnailUid)(id.volumeId, id.nodeId, thumbnail.ThumbnailID),
81
- ok: true,
82
- bareUrl: thumbnail.BareURL,
83
- token: thumbnail.Token,
84
- };
85
- }
86
- for (const error of result.Errors) {
87
- const id = thumbnailIds.find(({ thumbnailId }) => thumbnailId === error.ThumbnailID);
88
- if (!id) {
89
- continue;
89
+ for (const error of result.Errors) {
90
+ const id = thumbnailIdBatch.find(({ thumbnailId }) => thumbnailId === error.ThumbnailID);
91
+ if (!id) {
92
+ continue;
93
+ }
94
+ yield {
95
+ uid: (0, uids_1.makeNodeThumbnailUid)(id.volumeId, id.nodeId, error.ThumbnailID),
96
+ ok: false,
97
+ error: error.Error,
98
+ };
90
99
  }
91
- yield {
92
- uid: (0, uids_1.makeNodeThumbnailUid)(id.volumeId, id.nodeId, error.ThumbnailID),
93
- ok: false,
94
- error: error.Error,
95
- };
96
100
  }
97
101
  }
98
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"apiService.js","sourceRoot":"","sources":["../../../src/internal/download/apiService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiService.js","sourceRoot":"","sources":["../../../src/internal/download/apiService.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,9 @@ class EventsAPIService {
60
60
  const type = VOLUME_EVENT_TYPE_MAP[event.EventType];
61
61
  const uids = {
62
62
  nodeUid: (0, uids_1.makeNodeUid)(volumeId, event.Link.LinkID),
63
- parentNodeUid: (0, uids_1.makeNodeUid)(volumeId, event.Link.ParentLinkID),
63
+ parentNodeUid: event.Link.ParentLinkID
64
+ ? (0, uids_1.makeNodeUid)(volumeId, event.Link.ParentLinkID)
65
+ : undefined,
64
66
  };
65
67
  return {
66
68
  type,
@@ -1 +1 @@
1
- {"version":3,"file":"apiService.js","sourceRoot":"","sources":["../../../src/internal/events/apiService.ts"],"names":[],"mappings":";;;AACA,kCAAsC;AACtC,2CAA8G;AAe9G,MAAM,qBAAqB,GAAuB;IAC9C,CAAC,EAAE,0BAAc,CAAC,WAAW;IAC7B,CAAC,EAAE,0BAAc,CAAC,WAAW;IAC7B,CAAC,EAAE,0BAAc,CAAC,WAAW;IAC7B,CAAC,EAAE,0BAAc,CAAC,WAAW;CAChC,CAAC;AAEF;;;;;GAKG;AACH,MAAa,gBAAgB;IACL;IAApB,YAAoB,UAA2B;QAA3B,eAAU,GAAV,UAAU,CAAiB;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,oBAAoB;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAA6B,uBAAuB,CAAC,CAAC;QAC9F,OAAO,MAAM,CAAC,OAAiB,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QAC/B,+BAA+B;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAuB,kBAAkB,OAAO,EAAE,CAAC,CAAC;QAC5F,2DAA2D;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnC,MAAM,MAAM,GACR,OAAO,IAAI,MAAM,CAAC,iBAAiB,EAAE,MAAM,KAAK,CAAC;YAC7C,CAAC,CAAC;gBACI;oBACI,IAAI,EAAE,0BAAc,CAAC,mBAAmB;oBACxC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,gBAAgB,EAAE,MAAM;iBAC3B;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;QAEb,OAAO;YACH,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC;YACvB,OAAO;YACP,MAAM;SACT,CAAC;IACN,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,QAAgB;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CACpC,iBAAiB,QAAQ,gBAAgB,CAC5C,CAAC;QACF,OAAO,MAAM,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,OAAe;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CACpC,oBAAoB,QAAQ,WAAW,OAAO,EAAE,CACnD,CAAC;QACF,OAAO;YACH,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAa,EAAE;gBAC3C,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACpD,MAAM,IAAI,GAAG;oBACT,OAAO,EAAE,IAAA,kBAAW,EAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;oBACjD,aAAa,EAAE,IAAA,kBAAW,EAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,YAAsB,CAAC;iBAC1E,CAAC;gBACF,OAAO;oBACH,IAAI;oBACJ,GAAG,IAAI;oBACP,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;oBAC/B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;oBAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,gBAAgB,EAAE,QAAQ;iBAC7B,CAAC;YACN,CAAC,CAAC;SACL,CAAC;IACN,CAAC;CACJ;AAlED,4CAkEC"}
1
+ {"version":3,"file":"apiService.js","sourceRoot":"","sources":["../../../src/internal/events/apiService.ts"],"names":[],"mappings":";;;AACA,kCAAsC;AACtC,2CAA8G;AAe9G,MAAM,qBAAqB,GAAuB;IAC9C,CAAC,EAAE,0BAAc,CAAC,WAAW;IAC7B,CAAC,EAAE,0BAAc,CAAC,WAAW;IAC7B,CAAC,EAAE,0BAAc,CAAC,WAAW;IAC7B,CAAC,EAAE,0BAAc,CAAC,WAAW;CAChC,CAAC;AAEF;;;;;GAKG;AACH,MAAa,gBAAgB;IACL;IAApB,YAAoB,UAA2B;QAA3B,eAAU,GAAV,UAAU,CAAiB;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,oBAAoB;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAA6B,uBAAuB,CAAC,CAAC;QAC9F,OAAO,MAAM,CAAC,OAAiB,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QAC/B,+BAA+B;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAuB,kBAAkB,OAAO,EAAE,CAAC,CAAC;QAC5F,2DAA2D;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnC,MAAM,MAAM,GACR,OAAO,IAAI,MAAM,CAAC,iBAAiB,EAAE,MAAM,KAAK,CAAC;YAC7C,CAAC,CAAC;gBACI;oBACI,IAAI,EAAE,0BAAc,CAAC,mBAAmB;oBACxC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,gBAAgB,EAAE,MAAM;iBAC3B;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;QAEb,OAAO;YACH,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC;YACvB,OAAO;YACP,MAAM;SACT,CAAC;IACN,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,QAAgB;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CACpC,iBAAiB,QAAQ,gBAAgB,CAC5C,CAAC;QACF,OAAO,MAAM,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,OAAe;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CACpC,oBAAoB,QAAQ,WAAW,OAAO,EAAE,CACnD,CAAC;QACF,OAAO;YACH,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAa,EAAE;gBAC3C,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACpD,MAAM,IAAI,GAAG;oBACT,OAAO,EAAE,IAAA,kBAAW,EAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;oBACjD,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY;wBAClC,CAAC,CAAC,IAAA,kBAAW,EAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;wBAChD,CAAC,CAAC,SAAS;iBAClB,CAAC;gBACF,OAAO;oBACH,IAAI;oBACJ,GAAG,IAAI;oBACP,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;oBAC/B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;oBAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,gBAAgB,EAAE,QAAQ;iBAC7B,CAAC;YACN,CAAC,CAAC;SACL,CAAC;IACN,CAAC;CACJ;AApED,4CAoEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@protontech/drive-sdk",
3
- "version": "0.14.2",
3
+ "version": "0.14.3",
4
4
  "description": "Proton Drive SDK",
5
5
  "license": "GPL-3.0",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,10 @@
1
1
  import { DriveAPIService, drivePaths, ObserverStream } from '../apiService';
2
+ import { batch } from '../batch';
2
3
  import { makeNodeThumbnailUid, splitNodeRevisionUid, splitNodeThumbnailUid } from '../uids';
3
4
  import { BlockMetadata } from './interface';
4
5
 
5
6
  const BLOCKS_PAGE_SIZE = 20;
7
+ const MAX_THUMBNAIL_IDS_PER_REQUEST = 30;
6
8
 
7
9
  type GetRevisionResponse =
8
10
  drivePaths['/drive/v2/volumes/{volumeID}/files/{linkID}/revisions/{revisionID}']['get']['responses']['200']['content']['application/json'];
@@ -118,37 +120,39 @@ export class DownloadAPIService {
118
120
  }
119
121
 
120
122
  for (const [volumeId, thumbnailIds] of thumbnailIdsByVolumeId.entries()) {
121
- const result = await this.apiService.post<PostGetThumbnailsRequest, PostGetThumbnailsResponse>(
122
- `drive/volumes/${volumeId}/thumbnails`,
123
- {
124
- ThumbnailIDs: thumbnailIds.map(({ thumbnailId }) => thumbnailId),
125
- },
126
- signal,
127
- );
128
-
129
- for (const thumbnail of result.Thumbnails) {
130
- const id = thumbnailIds.find(({ thumbnailId }) => thumbnailId === thumbnail.ThumbnailID);
131
- if (!id) {
132
- continue;
123
+ for (const thumbnailIdBatch of batch(thumbnailIds, MAX_THUMBNAIL_IDS_PER_REQUEST)) {
124
+ const result = await this.apiService.post<PostGetThumbnailsRequest, PostGetThumbnailsResponse>(
125
+ `drive/volumes/${volumeId}/thumbnails`,
126
+ {
127
+ ThumbnailIDs: thumbnailIdBatch.map(({ thumbnailId }) => thumbnailId),
128
+ },
129
+ signal,
130
+ );
131
+
132
+ for (const thumbnail of result.Thumbnails) {
133
+ const id = thumbnailIdBatch.find(({ thumbnailId }) => thumbnailId === thumbnail.ThumbnailID);
134
+ if (!id) {
135
+ continue;
136
+ }
137
+ yield {
138
+ uid: makeNodeThumbnailUid(id.volumeId, id.nodeId, thumbnail.ThumbnailID),
139
+ ok: true,
140
+ bareUrl: thumbnail.BareURL,
141
+ token: thumbnail.Token,
142
+ };
133
143
  }
134
- yield {
135
- uid: makeNodeThumbnailUid(id.volumeId, id.nodeId, thumbnail.ThumbnailID),
136
- ok: true,
137
- bareUrl: thumbnail.BareURL,
138
- token: thumbnail.Token,
139
- };
140
- }
141
144
 
142
- for (const error of result.Errors) {
143
- const id = thumbnailIds.find(({ thumbnailId }) => thumbnailId === error.ThumbnailID);
144
- if (!id) {
145
- continue;
145
+ for (const error of result.Errors) {
146
+ const id = thumbnailIdBatch.find(({ thumbnailId }) => thumbnailId === error.ThumbnailID);
147
+ if (!id) {
148
+ continue;
149
+ }
150
+ yield {
151
+ uid: makeNodeThumbnailUid(id.volumeId, id.nodeId, error.ThumbnailID),
152
+ ok: false,
153
+ error: error.Error,
154
+ };
146
155
  }
147
- yield {
148
- uid: makeNodeThumbnailUid(id.volumeId, id.nodeId, error.ThumbnailID),
149
- ok: false,
150
- error: error.Error,
151
- };
152
156
  }
153
157
  }
154
158
  }
@@ -81,7 +81,9 @@ export class EventsAPIService {
81
81
  const type = VOLUME_EVENT_TYPE_MAP[event.EventType];
82
82
  const uids = {
83
83
  nodeUid: makeNodeUid(volumeId, event.Link.LinkID),
84
- parentNodeUid: makeNodeUid(volumeId, event.Link.ParentLinkID as string),
84
+ parentNodeUid: event.Link.ParentLinkID
85
+ ? makeNodeUid(volumeId, event.Link.ParentLinkID)
86
+ : undefined,
85
87
  };
86
88
  return {
87
89
  type,