@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.
- package/dist/internal/download/apiService.js +27 -23
- package/dist/internal/download/apiService.js.map +1 -1
- package/dist/internal/events/apiService.js +3 -1
- package/dist/internal/events/apiService.js.map +1 -1
- package/package.json +1 -1
- package/src/internal/download/apiService.ts +32 -28
- package/src/internal/events/apiService.ts +3 -1
|
@@ -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
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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":";;;AAAA,8CAA4E;AAC5E,kCAA4F;AAG5F,MAAM,gBAAgB,GAAG,EAAE,CAAC;
|
|
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:
|
|
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,
|
|
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,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
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
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
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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:
|
|
84
|
+
parentNodeUid: event.Link.ParentLinkID
|
|
85
|
+
? makeNodeUid(volumeId, event.Link.ParentLinkID)
|
|
86
|
+
: undefined,
|
|
85
87
|
};
|
|
86
88
|
return {
|
|
87
89
|
type,
|