@keyneom/sync-kit 0.2.0-rc.8 → 0.2.0-rc.9
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.
|
@@ -17,9 +17,11 @@ type DocsView = {
|
|
|
17
17
|
setIncludeFolders(value: boolean): DocsView;
|
|
18
18
|
setMimeTypes(value: string): DocsView;
|
|
19
19
|
setSelectFolderEnabled(value: boolean): DocsView;
|
|
20
|
+
setOwnedByMe(value: boolean): DocsView;
|
|
20
21
|
};
|
|
21
22
|
type PickerBuilder = {
|
|
22
23
|
addView(view: DocsView): PickerBuilder;
|
|
24
|
+
enableFeature(feature: string): PickerBuilder;
|
|
23
25
|
setAppId(appId: string): PickerBuilder;
|
|
24
26
|
setCallback(callback: (response: PickerResponse) => void): PickerBuilder;
|
|
25
27
|
setDeveloperKey(key: string): PickerBuilder;
|
|
@@ -37,6 +39,10 @@ type GooglePicker = {
|
|
|
37
39
|
PickerBuilder: new () => PickerBuilder;
|
|
38
40
|
ViewId: {
|
|
39
41
|
FOLDERS: string;
|
|
42
|
+
DOCS: string;
|
|
43
|
+
};
|
|
44
|
+
Feature: {
|
|
45
|
+
MULTISELECT_ENABLED: string;
|
|
40
46
|
};
|
|
41
47
|
};
|
|
42
48
|
type GoogleApiWindow = Window & {
|
|
@@ -55,6 +61,11 @@ export type GoogleDrivePickedFolder = {
|
|
|
55
61
|
name?: string;
|
|
56
62
|
url?: string;
|
|
57
63
|
};
|
|
64
|
+
export type GoogleDrivePickedFile = {
|
|
65
|
+
fileId: string;
|
|
66
|
+
name?: string;
|
|
67
|
+
url?: string;
|
|
68
|
+
};
|
|
58
69
|
export type GoogleDriveFolderPickerOptions = {
|
|
59
70
|
developerKey: string;
|
|
60
71
|
cloudProjectNumber: string;
|
|
@@ -73,6 +84,15 @@ export declare class GoogleDriveFolderPicker {
|
|
|
73
84
|
private pickerPromise;
|
|
74
85
|
constructor(options: GoogleDriveFolderPickerOptions);
|
|
75
86
|
pickFolder(authorization: Authorization): Promise<GoogleDrivePickedFolder | null>;
|
|
87
|
+
/**
|
|
88
|
+
* Lets the user select one or more files shared with their account (including
|
|
89
|
+
* "shared with me" from another owner), granting the app `drive.file` access
|
|
90
|
+
* to each selected file. This is how a recipient grants the specific shared
|
|
91
|
+
* dataset files — a folder grant does not cascade to reading files inside it.
|
|
92
|
+
*/
|
|
93
|
+
pickFiles(authorization: Authorization, options?: {
|
|
94
|
+
multiSelect?: boolean;
|
|
95
|
+
}): Promise<GoogleDrivePickedFile[]>;
|
|
76
96
|
private loadPicker;
|
|
77
97
|
private loadScript;
|
|
78
98
|
private browserWindow;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.d.ts","sourceRoot":"","sources":["../../../src/stores/google-drive/picker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMzD,KAAK,cAAc,GAAG;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC;CACzB,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,IAAI,IAAI,CAAC;CAClB,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC5C,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IACtC,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"picker.d.ts","sourceRoot":"","sources":["../../../src/stores/google-drive/picker.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,70 @@ export class GoogleDriveFolderPicker {
|
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Lets the user select one or more files shared with their account (including
|
|
75
|
+
* "shared with me" from another owner), granting the app `drive.file` access
|
|
76
|
+
* to each selected file. This is how a recipient grants the specific shared
|
|
77
|
+
* dataset files — a folder grant does not cascade to reading files inside it.
|
|
78
|
+
*/
|
|
79
|
+
async pickFiles(authorization, options = {}) {
|
|
80
|
+
await this.loadPicker();
|
|
81
|
+
const pickerApi = this.browserWindow().google?.picker;
|
|
82
|
+
if (!pickerApi) {
|
|
83
|
+
throw new SyncKitError("provider", "Google Picker loaded without its file API.");
|
|
84
|
+
}
|
|
85
|
+
return new Promise((resolve, reject) => {
|
|
86
|
+
let picker;
|
|
87
|
+
const finish = (value) => {
|
|
88
|
+
picker?.dispose?.();
|
|
89
|
+
resolve(value);
|
|
90
|
+
};
|
|
91
|
+
// Show files the user can see, including those shared with them by another
|
|
92
|
+
// account (setOwnedByMe(false)). Folders are included so the user can
|
|
93
|
+
// navigate into the shared folder to reach the dataset files.
|
|
94
|
+
const view = new pickerApi.DocsView(pickerApi.ViewId.DOCS)
|
|
95
|
+
.setIncludeFolders(true)
|
|
96
|
+
.setSelectFolderEnabled(false)
|
|
97
|
+
.setOwnedByMe(false);
|
|
98
|
+
try {
|
|
99
|
+
let builder = new pickerApi.PickerBuilder()
|
|
100
|
+
.addView(view)
|
|
101
|
+
.setAppId(this.options.cloudProjectNumber)
|
|
102
|
+
.setDeveloperKey(this.options.developerKey)
|
|
103
|
+
.setOAuthToken(authorization.accessToken)
|
|
104
|
+
.setOrigin(this.options.origin ?? this.browserWindow().location.origin)
|
|
105
|
+
.setTitle(this.options.title ?? "Select the shared files");
|
|
106
|
+
if (options.multiSelect) {
|
|
107
|
+
builder = builder.enableFeature(pickerApi.Feature.MULTISELECT_ENABLED);
|
|
108
|
+
}
|
|
109
|
+
picker = builder
|
|
110
|
+
.setCallback((response) => {
|
|
111
|
+
if (response.action === pickerApi.Action.CANCEL) {
|
|
112
|
+
finish([]);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
if (response.action !== pickerApi.Action.PICKED)
|
|
116
|
+
return;
|
|
117
|
+
const docs = (response.docs ?? []).filter((document) => Boolean(document.id) &&
|
|
118
|
+
document.mimeType !== DRIVE_FOLDER_MIME_TYPE);
|
|
119
|
+
if (docs.length === 0) {
|
|
120
|
+
reject(new SyncKitError("compatibility", "Google Picker did not return a Drive file."));
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
finish(docs.map((document) => ({
|
|
124
|
+
fileId: document.id,
|
|
125
|
+
...(document.name ? { name: document.name } : {}),
|
|
126
|
+
...(document.url ? { url: document.url } : {}),
|
|
127
|
+
})));
|
|
128
|
+
})
|
|
129
|
+
.build();
|
|
130
|
+
picker.setVisible(true);
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
reject(new SyncKitError("provider", "Google Picker could not be opened.", { cause: error }));
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
73
137
|
async loadPicker() {
|
|
74
138
|
if (this.browserWindow().google?.picker)
|
|
75
139
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.js","sourceRoot":"","sources":["../../../src/stores/google-drive/picker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,aAAa,GAAG,mCAAmC,CAAC;AAC1D,MAAM,sBAAsB,GAAG,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"picker.js","sourceRoot":"","sources":["../../../src/stores/google-drive/picker.ts"],"names":[],"mappings":"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"}
|