react-native-cloud-storage 1.2.3 → 1.3.0
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/README.md +66 -10
- package/ios/CloudStorage.m +1 -0
- package/ios/CloudStorage.swift +46 -0
- package/lib/commonjs/RNCloudStorage.js +10 -0
- package/lib/commonjs/RNCloudStorage.js.map +1 -1
- package/lib/commonjs/createRNCloudStorage.js.map +1 -1
- package/lib/commonjs/google-drive/client.js +172 -0
- package/lib/commonjs/google-drive/client.js.map +1 -0
- package/lib/commonjs/google-drive/index.js +72 -54
- package/lib/commonjs/google-drive/index.js.map +1 -1
- package/lib/commonjs/google-drive/types.js +15 -0
- package/lib/commonjs/google-drive/types.js.map +1 -1
- package/lib/commonjs/types/native.js +2 -0
- package/lib/commonjs/types/native.js.map +1 -1
- package/lib/module/RNCloudStorage.js +14 -4
- package/lib/module/RNCloudStorage.js.map +1 -1
- package/lib/module/createRNCloudStorage.js +2 -2
- package/lib/module/createRNCloudStorage.js.map +1 -1
- package/lib/module/google-drive/client.js +164 -0
- package/lib/module/google-drive/client.js.map +1 -0
- package/lib/module/google-drive/index.js +66 -49
- package/lib/module/google-drive/index.js.map +1 -1
- package/lib/module/google-drive/types.js +9 -1
- package/lib/module/google-drive/types.js.map +1 -1
- package/lib/module/types/native.js +2 -0
- package/lib/module/types/native.js.map +1 -1
- package/lib/typescript/RNCloudStorage.d.ts +12 -2
- package/lib/typescript/RNCloudStorage.d.ts.map +1 -1
- package/lib/typescript/google-drive/client.d.ts +33 -0
- package/lib/typescript/google-drive/client.d.ts.map +1 -0
- package/lib/typescript/google-drive/index.d.ts +7 -4
- package/lib/typescript/google-drive/index.d.ts.map +1 -1
- package/lib/typescript/google-drive/types.d.ts +10 -3
- package/lib/typescript/google-drive/types.d.ts.map +1 -1
- package/lib/typescript/types/native.d.ts +3 -0
- package/lib/typescript/types/native.d.ts.map +1 -1
- package/package.json +1 -4
- package/src/RNCloudStorage.ts +16 -5
- package/src/createRNCloudStorage.ts +2 -2
- package/src/google-drive/client.ts +180 -0
- package/src/google-drive/index.ts +97 -73
- package/src/google-drive/types.ts +12 -4
- package/src/types/native.ts +3 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { MimeTypes } from './types';
|
|
2
|
+
const BASE_URL = 'https://www.googleapis.com/drive/v3';
|
|
3
|
+
const BASE_UPLOAD_URL = 'https://www.googleapis.com/upload/drive/v3';
|
|
4
|
+
const MULTIPART_BOUNDARY = 'foo_bar_baz';
|
|
5
|
+
export class GoogleDriveHttpError extends Error {
|
|
6
|
+
constructor(message, status, json) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.status = status;
|
|
9
|
+
this.json = json;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// TODO: fetch timeout
|
|
14
|
+
// TODO: properly handle errors
|
|
15
|
+
export default class GoogleDriveApiClient {
|
|
16
|
+
constructor() {
|
|
17
|
+
let accessToken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
18
|
+
this.accessToken = accessToken;
|
|
19
|
+
}
|
|
20
|
+
buildQueryString(query) {
|
|
21
|
+
let res = Object.entries(query).filter(_ref => {
|
|
22
|
+
let [, value] = _ref;
|
|
23
|
+
return value !== undefined;
|
|
24
|
+
}).map(_ref2 => {
|
|
25
|
+
let [key, value] = _ref2;
|
|
26
|
+
if (typeof value === 'boolean') return `${encodeURIComponent(key)}=${value ? 'true' : 'false'}`;
|
|
27
|
+
return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
28
|
+
}).join('&');
|
|
29
|
+
if (res) {
|
|
30
|
+
res = `?${res}`;
|
|
31
|
+
}
|
|
32
|
+
return res;
|
|
33
|
+
}
|
|
34
|
+
async request(operation) {
|
|
35
|
+
let {
|
|
36
|
+
queryParameters,
|
|
37
|
+
baseUrl,
|
|
38
|
+
...options
|
|
39
|
+
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
40
|
+
let path = `${baseUrl ?? BASE_URL}${operation}`;
|
|
41
|
+
if (queryParameters) {
|
|
42
|
+
path += this.buildQueryString(queryParameters);
|
|
43
|
+
}
|
|
44
|
+
const response = await fetch(path, {
|
|
45
|
+
...options,
|
|
46
|
+
headers: {
|
|
47
|
+
...options.headers,
|
|
48
|
+
Authorization: `Bearer ${this.accessToken}`
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
if (!response.ok) {
|
|
52
|
+
let errorMessage;
|
|
53
|
+
let json = null;
|
|
54
|
+
try {
|
|
55
|
+
var _json$error;
|
|
56
|
+
json = await response.json();
|
|
57
|
+
errorMessage = ((_json$error = json.error) === null || _json$error === void 0 ? void 0 : _json$error.message) ?? `Request failed with status ${response.status}`;
|
|
58
|
+
} catch (e) {
|
|
59
|
+
errorMessage = `Request failed with status ${response.status}`;
|
|
60
|
+
}
|
|
61
|
+
throw new GoogleDriveHttpError(errorMessage, response.status, json);
|
|
62
|
+
}
|
|
63
|
+
if (response.status === 204) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
if (options !== null && options !== void 0 && options.headers && 'Accept' in options.headers && options.headers.Accept !== 'application/json') {
|
|
67
|
+
return response.text();
|
|
68
|
+
}
|
|
69
|
+
return response.json();
|
|
70
|
+
}
|
|
71
|
+
buildMultiPartBody(metadata, media) {
|
|
72
|
+
const body = [];
|
|
73
|
+
body.push(`--${MULTIPART_BOUNDARY}\r\n`);
|
|
74
|
+
body.push(`Content-Type: ${MimeTypes.JSON}; charset=UTF-8\r\n\r\n`);
|
|
75
|
+
body.push(`${JSON.stringify(metadata)}\r\n`);
|
|
76
|
+
body.push(`--${MULTIPART_BOUNDARY}\r\n`);
|
|
77
|
+
body.push(`Content-Type: ${media.mimeType}\r\n\r\n`);
|
|
78
|
+
body.push(`${media.body}\r\n`);
|
|
79
|
+
body.push(`--${MULTIPART_BOUNDARY}--`);
|
|
80
|
+
return body.join('');
|
|
81
|
+
}
|
|
82
|
+
async listFiles(space) {
|
|
83
|
+
const files = [];
|
|
84
|
+
let pageToken;
|
|
85
|
+
const fields = ['id', 'kind', 'mimeType', 'name', 'parents', 'spaces', 'size', 'createdTime', 'modifiedTime'];
|
|
86
|
+
do {
|
|
87
|
+
const queryParameters = {
|
|
88
|
+
fields: `files(${fields.join(',')}),nextPageToken`,
|
|
89
|
+
spaces: space
|
|
90
|
+
};
|
|
91
|
+
const response = await this.request(`/files`, {
|
|
92
|
+
queryParameters
|
|
93
|
+
});
|
|
94
|
+
files.push(...response.files);
|
|
95
|
+
pageToken = response.nextPageToken ?? undefined;
|
|
96
|
+
} while (pageToken);
|
|
97
|
+
return files;
|
|
98
|
+
}
|
|
99
|
+
async getFile(fileId) {
|
|
100
|
+
const queryParameters = {
|
|
101
|
+
fields: ['id', 'kind', 'mimeType', 'name', 'parents', 'spaces', 'size', 'createdTime', 'modifiedTime'].join(',')
|
|
102
|
+
};
|
|
103
|
+
return this.request(`/files/${fileId}`, {
|
|
104
|
+
queryParameters
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
async getFileText(fileId) {
|
|
108
|
+
return this.request(`/files/${fileId}`, {
|
|
109
|
+
queryParameters: {
|
|
110
|
+
alt: 'media'
|
|
111
|
+
},
|
|
112
|
+
headers: {
|
|
113
|
+
Accept: 'text/plain'
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
async deleteFile(fileId) {
|
|
118
|
+
return this.request(`/files/${fileId}`, {
|
|
119
|
+
method: 'DELETE'
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
async createFile(metadata, media) {
|
|
123
|
+
const multipartRequestBody = this.buildMultiPartBody(metadata, media);
|
|
124
|
+
await this.request(`/files`, {
|
|
125
|
+
queryParameters: {
|
|
126
|
+
uploadType: 'multipart'
|
|
127
|
+
},
|
|
128
|
+
method: 'POST',
|
|
129
|
+
headers: {
|
|
130
|
+
'Content-Type': `multipart/related; boundary=${MULTIPART_BOUNDARY}`,
|
|
131
|
+
'Content-Length': multipartRequestBody.length.toString()
|
|
132
|
+
},
|
|
133
|
+
body: multipartRequestBody,
|
|
134
|
+
baseUrl: BASE_UPLOAD_URL
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
async createDirectory(metadata) {
|
|
138
|
+
await this.request(`/files`, {
|
|
139
|
+
method: 'POST',
|
|
140
|
+
headers: {
|
|
141
|
+
'Content-Type': `application/json`
|
|
142
|
+
},
|
|
143
|
+
body: JSON.stringify({
|
|
144
|
+
...metadata,
|
|
145
|
+
mimeType: MimeTypes.FOLDER
|
|
146
|
+
})
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
async updateFile(fileId, media) {
|
|
150
|
+
await this.request(`/files/${fileId}`, {
|
|
151
|
+
queryParameters: {
|
|
152
|
+
uploadType: 'media'
|
|
153
|
+
},
|
|
154
|
+
method: 'PATCH',
|
|
155
|
+
headers: {
|
|
156
|
+
'Content-Type': media.mimeType,
|
|
157
|
+
'Content-Length': media.body.length.toString()
|
|
158
|
+
},
|
|
159
|
+
body: media.body,
|
|
160
|
+
baseUrl: BASE_UPLOAD_URL
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MimeTypes","BASE_URL","BASE_UPLOAD_URL","MULTIPART_BOUNDARY","GoogleDriveHttpError","Error","constructor","message","status","json","GoogleDriveApiClient","accessToken","arguments","length","undefined","buildQueryString","query","res","Object","entries","filter","_ref","value","map","_ref2","key","encodeURIComponent","join","request","operation","queryParameters","baseUrl","options","path","response","fetch","headers","Authorization","ok","errorMessage","_json$error","error","e","Accept","text","buildMultiPartBody","metadata","media","body","push","JSON","stringify","mimeType","listFiles","space","files","pageToken","fields","spaces","nextPageToken","getFile","fileId","getFileText","alt","deleteFile","method","createFile","multipartRequestBody","uploadType","toString","createDirectory","FOLDER","updateFile"],"sourceRoot":"../../../src","sources":["google-drive/client.ts"],"mappings":"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"}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
import { GDrive, HttpError, MimeTypes } from 'react-native-google-drive-api-wrapper-js';
|
|
2
1
|
import { CloudStorageErrorCode } from '../types/native';
|
|
3
2
|
import CloudStorageError from '../utils/CloudStorageError';
|
|
3
|
+
import { MimeTypes } from './types';
|
|
4
4
|
import { DeviceEventEmitter } from 'react-native';
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
import GoogleDriveApiClient, { GoogleDriveHttpError } from './client';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A proxy class that wraps the Google Drive API client implementation to match the native iOS interface.
|
|
9
|
+
*/
|
|
10
|
+
export default class GoogleDrive {
|
|
11
|
+
static drive = new GoogleDriveApiClient();
|
|
7
12
|
static throwOnFilesWithSameName = false;
|
|
8
13
|
constructor() {
|
|
9
14
|
this.filesWithSameNameSubscribers = [];
|
|
10
|
-
GoogleDriveApiClient.drive.fetchTimeout = 3000;
|
|
11
15
|
return new Proxy(this, {
|
|
12
16
|
// before calling any function, check if the access token is set
|
|
13
17
|
get(target, prop) {
|
|
14
18
|
const allowedFunctions = ['isCloudAvailable', 'subscribeToFilesWithSameName'];
|
|
15
19
|
if (typeof target[prop] === 'function' && !allowedFunctions.includes(prop.toString())) {
|
|
16
|
-
if (!
|
|
20
|
+
if (!GoogleDrive.drive.accessToken.length) {
|
|
17
21
|
throw new CloudStorageError(`Google Drive access token is not set, cannot call function ${prop.toString()}`, CloudStorageErrorCode.GOOGLE_DRIVE_ACCESS_TOKEN_MISSING);
|
|
18
22
|
}
|
|
19
23
|
}
|
|
@@ -24,7 +28,7 @@ export default class GoogleDriveApiClient {
|
|
|
24
28
|
|
|
25
29
|
// when setting accessToken, set it on the GDrive instance
|
|
26
30
|
static set accessToken(accessToken) {
|
|
27
|
-
|
|
31
|
+
GoogleDrive.drive.accessToken = accessToken ?? '';
|
|
28
32
|
|
|
29
33
|
// emit an event for the useIsCloudAvailable hook
|
|
30
34
|
DeviceEventEmitter.emit('RNCloudStorage.cloud.availability-changed', {
|
|
@@ -32,7 +36,7 @@ export default class GoogleDriveApiClient {
|
|
|
32
36
|
});
|
|
33
37
|
}
|
|
34
38
|
static get accessToken() {
|
|
35
|
-
return
|
|
39
|
+
return GoogleDrive.drive.accessToken.length ? GoogleDrive.drive.accessToken : null;
|
|
36
40
|
}
|
|
37
41
|
subscribeToFilesWithSameName(subscriber) {
|
|
38
42
|
this.filesWithSameNameSubscribers.push(subscriber);
|
|
@@ -42,10 +46,7 @@ export default class GoogleDriveApiClient {
|
|
|
42
46
|
}
|
|
43
47
|
};
|
|
44
48
|
}
|
|
45
|
-
isCloudAvailable = async () =>
|
|
46
|
-
var _GoogleDriveApiClient;
|
|
47
|
-
return !!((_GoogleDriveApiClient = GoogleDriveApiClient.accessToken) !== null && _GoogleDriveApiClient !== void 0 && _GoogleDriveApiClient.length);
|
|
48
|
-
};
|
|
49
|
+
isCloudAvailable = async () => !!GoogleDrive.drive.accessToken.length;
|
|
49
50
|
getRootDirectory(scope) {
|
|
50
51
|
switch (scope) {
|
|
51
52
|
case 'documents':
|
|
@@ -102,19 +103,12 @@ export default class GoogleDriveApiClient {
|
|
|
102
103
|
* @returns A promise that resolves to the ID of the root directory or null if it could not be found.
|
|
103
104
|
*/
|
|
104
105
|
async getRootDirectoryId(scope) {
|
|
105
|
-
const files = await this.
|
|
106
|
+
const files = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
106
107
|
for (const file of files) {
|
|
107
108
|
if (!files.find(f => f.id === file.parents[0])) return file.parents[0] ?? null;
|
|
108
109
|
}
|
|
109
110
|
return null;
|
|
110
111
|
}
|
|
111
|
-
async listInternalFiles(scope) {
|
|
112
|
-
const files = await GoogleDriveApiClient.drive.files.list({
|
|
113
|
-
spaces: [this.getRootDirectory(scope)],
|
|
114
|
-
fields: 'files(id,kind,mimeType,name,parents,spaces)'
|
|
115
|
-
});
|
|
116
|
-
return files.files;
|
|
117
|
-
}
|
|
118
112
|
checkIfMultipleFilesWithSameName(path, files, filename, parentDirectoryId) {
|
|
119
113
|
let possibleFiles;
|
|
120
114
|
if (parentDirectoryId) {
|
|
@@ -123,7 +117,7 @@ export default class GoogleDriveApiClient {
|
|
|
123
117
|
possibleFiles = files.filter(f => f.name === filename && !files.find(f2 => f2.id === f.parents[0]));
|
|
124
118
|
}
|
|
125
119
|
if (possibleFiles.length <= 1) return;
|
|
126
|
-
if (
|
|
120
|
+
if (GoogleDrive.throwOnFilesWithSameName) {
|
|
127
121
|
throw new CloudStorageError(`Multiple files with the same name found at path ${path}: ${possibleFiles.map(f => f.id).join(', ')}`, CloudStorageErrorCode.MULTIPLE_FILES_SAME_NAME);
|
|
128
122
|
} else {
|
|
129
123
|
this.filesWithSameNameSubscribers.forEach(s => s({
|
|
@@ -133,9 +127,9 @@ export default class GoogleDriveApiClient {
|
|
|
133
127
|
}
|
|
134
128
|
}
|
|
135
129
|
async getFileId(path, scope) {
|
|
136
|
-
let
|
|
130
|
+
let throwIf = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
137
131
|
try {
|
|
138
|
-
const files = await this.
|
|
132
|
+
const files = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
139
133
|
if (path === '' || path === '/') {
|
|
140
134
|
const rootDirectoryId = await this.getRootDirectoryId(scope);
|
|
141
135
|
if (!rootDirectoryId) throw new CloudStorageError(`Root directory in scope ${scope} not found`, CloudStorageErrorCode.DIRECTORY_NOT_FOUND);
|
|
@@ -157,13 +151,15 @@ export default class GoogleDriveApiClient {
|
|
|
157
151
|
file = files.find(f => f.name === filename && f.parents[0] === parentDirectoryId);
|
|
158
152
|
}
|
|
159
153
|
if (!file) throw new CloudStorageError(`File not found`, CloudStorageErrorCode.FILE_NOT_FOUND);
|
|
160
|
-
if (file.mimeType === MimeTypes.FOLDER &&
|
|
154
|
+
if (file.mimeType === MimeTypes.FOLDER && throwIf === 'directory') {
|
|
161
155
|
throw new CloudStorageError(`Path ${path} is a directory`, CloudStorageErrorCode.PATH_IS_DIRECTORY);
|
|
156
|
+
} else if (file.mimeType !== MimeTypes.FOLDER && throwIf === 'file') {
|
|
157
|
+
throw new CloudStorageError(`Path ${path} is a file`, CloudStorageErrorCode.FILE_NOT_FOUND);
|
|
162
158
|
}
|
|
163
159
|
return file.id;
|
|
164
160
|
} catch (e) {
|
|
165
161
|
var _e$json, _e$json$error;
|
|
166
|
-
if (e instanceof
|
|
162
|
+
if (e instanceof GoogleDriveHttpError && ((_e$json = e.json) === null || _e$json === void 0 ? void 0 : (_e$json$error = _e$json.error) === null || _e$json$error === void 0 ? void 0 : _e$json$error.status) === 'UNAUTHENTICATED') {
|
|
167
163
|
throw new CloudStorageError(`Could not authenticate with Google Drive`, CloudStorageErrorCode.AUTHENTICATION_FAILED, e.json);
|
|
168
164
|
} else {
|
|
169
165
|
if (e instanceof CloudStorageError) throw e;
|
|
@@ -173,7 +169,7 @@ export default class GoogleDriveApiClient {
|
|
|
173
169
|
}
|
|
174
170
|
async fileExists(path, scope) {
|
|
175
171
|
try {
|
|
176
|
-
await this.getFileId(path, scope
|
|
172
|
+
await this.getFileId(path, scope);
|
|
177
173
|
return true;
|
|
178
174
|
} catch (e) {
|
|
179
175
|
if (e instanceof CloudStorageError && e.code === CloudStorageErrorCode.FILE_NOT_FOUND) return false;else throw e;
|
|
@@ -184,7 +180,7 @@ export default class GoogleDriveApiClient {
|
|
|
184
180
|
let prevContent = '';
|
|
185
181
|
try {
|
|
186
182
|
fileId = await this.getFileId(path, scope);
|
|
187
|
-
prevContent = await
|
|
183
|
+
prevContent = await GoogleDrive.drive.getFileText(fileId);
|
|
188
184
|
} catch (e) {
|
|
189
185
|
if (e instanceof CloudStorageError && e.code === CloudStorageErrorCode.FILE_NOT_FOUND) {
|
|
190
186
|
/* do nothing, simply create the file */
|
|
@@ -192,20 +188,26 @@ export default class GoogleDriveApiClient {
|
|
|
192
188
|
throw e;
|
|
193
189
|
}
|
|
194
190
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
191
|
+
if (fileId) {
|
|
192
|
+
await GoogleDrive.drive.updateFile(fileId, {
|
|
193
|
+
body: prevContent + data,
|
|
194
|
+
mimeType: MimeTypes.TEXT
|
|
195
|
+
});
|
|
196
|
+
} else {
|
|
197
|
+
const files = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
198
198
|
const {
|
|
199
199
|
directories,
|
|
200
200
|
filename
|
|
201
201
|
} = this.resolvePathToDirectories(path);
|
|
202
202
|
const parentDirectoryId = this.findParentDirectoryId(files, directories);
|
|
203
|
-
|
|
203
|
+
await GoogleDrive.drive.createFile({
|
|
204
204
|
name: filename,
|
|
205
205
|
parents: parentDirectoryId ? [parentDirectoryId] : scope === 'app_data' ? [this.getRootDirectory(scope)] : undefined
|
|
206
|
+
}, {
|
|
207
|
+
body: data,
|
|
208
|
+
mimeType: MimeTypes.TEXT
|
|
206
209
|
});
|
|
207
210
|
}
|
|
208
|
-
await uploader.execute();
|
|
209
211
|
}
|
|
210
212
|
async createFile(path, data, scope, overwrite) {
|
|
211
213
|
let fileId;
|
|
@@ -231,25 +233,31 @@ export default class GoogleDriveApiClient {
|
|
|
231
233
|
}
|
|
232
234
|
}
|
|
233
235
|
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
236
|
+
if (fileId) {
|
|
237
|
+
await GoogleDrive.drive.updateFile(fileId, {
|
|
238
|
+
body: data,
|
|
239
|
+
mimeType: MimeTypes.TEXT
|
|
240
|
+
});
|
|
241
|
+
} else {
|
|
242
|
+
const files = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
237
243
|
const {
|
|
238
244
|
directories,
|
|
239
245
|
filename
|
|
240
246
|
} = this.resolvePathToDirectories(path);
|
|
241
247
|
const parentDirectoryId = this.findParentDirectoryId(files, directories);
|
|
242
|
-
|
|
248
|
+
await GoogleDrive.drive.createFile({
|
|
243
249
|
name: filename,
|
|
244
250
|
parents: parentDirectoryId ? [parentDirectoryId] : scope === 'app_data' ? [this.getRootDirectory(scope)] : undefined
|
|
251
|
+
}, {
|
|
252
|
+
body: data,
|
|
253
|
+
mimeType: MimeTypes.TEXT
|
|
245
254
|
});
|
|
246
255
|
}
|
|
247
|
-
await uploader.execute();
|
|
248
256
|
}
|
|
249
257
|
async listFiles(path, scope) {
|
|
250
|
-
const allFiles = await this.
|
|
258
|
+
const allFiles = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
251
259
|
if (path !== '') {
|
|
252
|
-
const fileId = await this.getFileId(path, scope
|
|
260
|
+
const fileId = await this.getFileId(path, scope);
|
|
253
261
|
const files = allFiles.filter(f => (f.parents ?? [])[0] === fileId);
|
|
254
262
|
return Array.from(new Set(files.map(f => f.name)));
|
|
255
263
|
} else {
|
|
@@ -270,23 +278,20 @@ export default class GoogleDriveApiClient {
|
|
|
270
278
|
throw e;
|
|
271
279
|
}
|
|
272
280
|
}
|
|
273
|
-
const
|
|
274
|
-
const files = await this.listInternalFiles(scope);
|
|
281
|
+
const files = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
275
282
|
const {
|
|
276
283
|
directories,
|
|
277
284
|
filename
|
|
278
285
|
} = this.resolvePathToDirectories(path);
|
|
279
286
|
const parentDirectoryId = this.findParentDirectoryId(files, directories);
|
|
280
|
-
|
|
287
|
+
await GoogleDrive.drive.createDirectory({
|
|
281
288
|
name: filename,
|
|
282
|
-
mimeType: MimeTypes.FOLDER,
|
|
283
289
|
parents: parentDirectoryId ? [parentDirectoryId] : scope === 'app_data' ? [this.getRootDirectory(scope)] : undefined
|
|
284
290
|
});
|
|
285
|
-
await uploader.execute();
|
|
286
291
|
}
|
|
287
292
|
async readFile(path, scope) {
|
|
288
293
|
const fileId = await this.getFileId(path, scope);
|
|
289
|
-
const content = await
|
|
294
|
+
const content = await GoogleDrive.drive.getFileText(fileId);
|
|
290
295
|
return content;
|
|
291
296
|
}
|
|
292
297
|
async downloadFile(_path, _scope) {
|
|
@@ -294,14 +299,26 @@ export default class GoogleDriveApiClient {
|
|
|
294
299
|
return;
|
|
295
300
|
}
|
|
296
301
|
async deleteFile(path, scope) {
|
|
297
|
-
|
|
298
|
-
await
|
|
302
|
+
// if trying to pass a directory, throw an error
|
|
303
|
+
const fileId = await this.getFileId(path, scope, 'directory');
|
|
304
|
+
await GoogleDrive.drive.deleteFile(fileId);
|
|
305
|
+
}
|
|
306
|
+
async deleteDirectory(path, recursive, scope) {
|
|
307
|
+
// if trying to pass a file, throw an error
|
|
308
|
+
const fileId = await this.getFileId(path, scope, 'file');
|
|
309
|
+
if (!recursive) {
|
|
310
|
+
// check if the directory is empty
|
|
311
|
+
const files = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
312
|
+
const filesInDirectory = files.filter(f => (f.parents ?? [])[0] === fileId);
|
|
313
|
+
if (filesInDirectory.length > 0) {
|
|
314
|
+
throw new CloudStorageError(`Directory ${path} is not empty`, CloudStorageErrorCode.DELETE_ERROR, filesInDirectory);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
await GoogleDrive.drive.deleteFile(fileId);
|
|
299
318
|
}
|
|
300
319
|
async statFile(path, scope) {
|
|
301
320
|
const fileId = await this.getFileId(path, scope, false);
|
|
302
|
-
const file = await
|
|
303
|
-
fields: 'id,kind,mimeType,name,parents,spaces,size,createdTime,modifiedTime'
|
|
304
|
-
})).json();
|
|
321
|
+
const file = await GoogleDrive.drive.getFile(fileId);
|
|
305
322
|
return {
|
|
306
323
|
size: file.size ?? 0,
|
|
307
324
|
birthtimeMs: new Date(file.createdTime).getTime(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GDrive","HttpError","MimeTypes","CloudStorageErrorCode","CloudStorageError","DeviceEventEmitter","GoogleDriveApiClient","drive","throwOnFilesWithSameName","constructor","filesWithSameNameSubscribers","fetchTimeout","Proxy","get","target","prop","allowedFunctions","includes","toString","accessToken","GOOGLE_DRIVE_ACCESS_TOKEN_MISSING","emit","available","length","subscribeToFilesWithSameName","subscriber","push","remove","filter","s","isCloudAvailable","_GoogleDriveApiClient","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","f","mimeType","FOLDER","name","topDirectoryId","id","possibleTopDirectory","find","parents","DIRECTORY_NOT_FOUND","currentDirectoryId","i","currentDirectory","nextDirectory","getRootDirectoryId","listInternalFiles","file","list","spaces","fields","checkIfMultipleFilesWithSameName","parentDirectoryId","possibleFiles","f2","map","join","MULTIPLE_FILES_SAME_NAME","forEach","fileIds","getFileId","throwIfDirectory","arguments","undefined","rootDirectoryId","FILE_NOT_FOUND","PATH_IS_DIRECTORY","e","_e$json","_e$json$error","json","error","status","AUTHENTICATION_FAILED","UNKNOWN","fileExists","code","appendToFile","data","fileId","prevContent","getText","uploader","newMultipartUploader","setData","TEXT","setIdOfFileToUpdate","setRequestBody","execute","createFile","overwrite","FILE_ALREADY_EXISTS","listFiles","allFiles","Array","from","Set","createDirectory","newMetadataOnlyUploader","readFile","content","downloadFile","_path","_scope","deleteFile","delete","statFile","size","birthtimeMs","Date","createdTime","getTime","mtimeMs","modifiedTime","isDirectory","isFile"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"AAAA,SAASA,MAAM,EAAEC,SAAS,EAAEC,SAAS,QAAQ,0CAA0C;AAEvF,SACEC,qBAAqB,QAGhB,iBAAiB;AACxB,OAAOC,iBAAiB,MAAM,4BAA4B;AAE1D,SAASC,kBAAkB,QAAQ,cAAc;AAEjD,eAAe,MAAMC,oBAAoB,CAAiC;EACxE,OAAeC,KAAK,GAAW,IAAIP,MAAM,EAAE;EAC3C,OAAcQ,wBAAwB,GAAG,KAAK;EAG9CC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,4BAA4B,GAAG,EAAE;IACtCJ,oBAAoB,CAACC,KAAK,CAACI,YAAY,GAAG,IAAI;IAC9C,OAAO,IAAIC,KAAK,CAAC,IAAI,EAAE;MACrB;MACAC,GAAGA,CAACC,MAA4B,EAAEC,IAAgC,EAAE;QAClE,MAAMC,gBAAgB,GAAG,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;QAC7E,IAAI,OAAOF,MAAM,CAACC,IAAI,CAAC,KAAK,UAAU,IAAI,CAACC,gBAAgB,CAACC,QAAQ,CAACF,IAAI,CAACG,QAAQ,EAAE,CAAC,EAAE;UACrF,IAAI,CAACZ,oBAAoB,CAACC,KAAK,CAACY,WAAW,EAAE;YAC3C,MAAM,IAAIf,iBAAiB,CACxB,8DAA6DW,IAAI,CAACG,QAAQ,EAAG,EAAC,EAC/Ef,qBAAqB,CAACiB,iCAAiC,CACxD;UACH;QACF;QAEA,OAAON,MAAM,CAACC,IAAI,CAAC;MACrB;IACF,CAAC,CAAC;EACJ;;EAEA;EACA,WAAkBI,WAAWA,CAACA,WAA+B,EAAE;IAC7Db,oBAAoB,CAACC,KAAK,CAACY,WAAW,GAAGA,WAAW;;IAEpD;IACAd,kBAAkB,CAACgB,IAAI,CAAC,2CAA2C,EAAE;MACnEC,SAAS,EAAE,CAAC,EAACH,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEI,MAAM;IAClC,CAAC,CAAC;EACJ;EAEA,WAAkBJ,WAAWA,CAAA,EAAuB;IAClD,OAAOb,oBAAoB,CAACC,KAAK,CAACY,WAAW;EAC/C;EAEOK,4BAA4BA,CAACC,UAA4E,EAE9G;IACA,IAAI,CAACf,4BAA4B,CAACgB,IAAI,CAACD,UAAU,CAAC;IAElD,OAAO;MACLE,MAAM,EAAEA,CAAA,KAAM;QACZ,IAAI,CAACjB,4BAA4B,GAAG,IAAI,CAACA,4BAA4B,CAACkB,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKJ,UAAU,CAAC;MACvG;IACF,CAAC;EACH;EAEOK,gBAAgB,GAA2B,MAAAA,CAAA;IAAA,IAAAC,qBAAA;IAAA,OAAY,CAAC,GAAAA,qBAAA,GAACzB,oBAAoB,CAACa,WAAW,cAAAY,qBAAA,eAAhCA,qBAAA,CAAkCR,MAAM;EAAA;EAEhGS,gBAAgBA,CAACC,KAAqC,EAA6B;IACzF,QAAQA,KAAK;MACX,KAAK,WAAW;QACd,OAAO,OAAO;MAChB,KAAK,UAAU;QACb,OAAO,eAAe;IAAC;EAE7B;EAEQC,wBAAwBA,CAACC,IAAY,EAA+C;IAC1F,IAAIA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,EAAED,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;IAC9C,IAAIF,IAAI,CAACG,QAAQ,CAAC,GAAG,CAAC,EAAEH,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAME,WAAW,GAAGJ,IAAI,CAACK,KAAK,CAAC,GAAG,CAAC;IACnC,MAAMC,cAAc,GAAGF,WAAW,CAACG,GAAG,EAAE,IAAI,EAAE;IAC9C,OAAO;MAAEH,WAAW;MAAEI,QAAQ,EAAEF;IAAe,CAAC;EAClD;EAEQG,qBAAqBA,CAACC,KAAwB,EAAEC,aAAuB,EAAiB;IAC9F,MAAMC,sBAAsB,GAAGF,KAAK,CACjCjB,MAAM,CAAEoB,CAAC,IAAKA,CAAC,CAACC,QAAQ,KAAK/C,SAAS,CAACgD,MAAM,CAAC,CAC9CtB,MAAM,CAAEoB,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKL,aAAa,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAIM,cAAkC;IACtC,IAAIL,sBAAsB,CAACxB,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC,KAChD,IAAIwB,sBAAsB,CAACxB,MAAM,KAAK,CAAC,EAAE;MAC5C6B,cAAc,GAAGL,sBAAsB,CAAC,CAAC,CAAC,CAAEM,EAAE;IAChD,CAAC,MAAM;MACL;AACN;AACA;MACM,KAAK,MAAMC,oBAAoB,IAAIP,sBAAsB,EAAE;QACzD,IAAI,CAACF,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACK,EAAE,KAAKC,oBAAoB,CAAEE,OAAO,CAAE,CAAC,CAAC,IAAIR,CAAC,CAACC,QAAQ,KAAK/C,SAAS,CAACgD,MAAM,CAAC,EAAE;UACrGE,cAAc,GAAGE,oBAAoB,CAAED,EAAE;UACzC;QACF;MACF;IACF;IAEA,IAAI,CAACD,cAAc,EAAE;MACnB,MAAM,IAAIhD,iBAAiB,CACxB,0CAAyC0C,aAAa,CAAC,CAAC,CAAE,EAAC,EAC5D3C,qBAAqB,CAACsD,mBAAmB,CAC1C;IACH;;IAEA;IACA,IAAIC,kBAAkB,GAAGN,cAAc;IACvC,KAAK,IAAIO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGb,aAAa,CAACvB,MAAM,EAAEoC,CAAC,EAAE,EAAE;MAC7C,MAAMC,gBAAgB,GAAGf,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACK,EAAE,KAAKK,kBAAkB,CAAC;MACvE,IAAI,CAACE,gBAAgB,EACnB,MAAM,IAAIxD,iBAAiB,CACxB,oCAAmCsD,kBAAmB,EAAC,EACxDvD,qBAAqB,CAACsD,mBAAmB,CAC1C;MACH,MAAMI,aAAa,GAAGhB,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKL,aAAa,CAACa,CAAC,CAAC,IAAIX,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,KAAKE,kBAAkB,CAAC;MAC5G,IAAI,CAACG,aAAa,EAChB,MAAM,IAAIzD,iBAAiB,CACxB,sCAAqC0C,aAAa,CAACa,CAAC,CAAE,EAAC,EACxDxD,qBAAqB,CAACsD,mBAAmB,CAC1C;MACHC,kBAAkB,GAAGG,aAAa,CAACR,EAAE;IACvC;IAEA,OAAOK,kBAAkB;EAC3B;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAcI,kBAAkBA,CAAC7B,KAAqC,EAA0B;IAC9F,MAAMY,KAAK,GAAG,MAAM,IAAI,CAACkB,iBAAiB,CAAC9B,KAAK,CAAC;IACjD,KAAK,MAAM+B,IAAI,IAAInB,KAAK,EAAE;MACxB,IAAI,CAACA,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACK,EAAE,KAAKW,IAAI,CAACR,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE,OAAOQ,IAAI,CAACR,OAAO,CAAE,CAAC,CAAC,IAAI,IAAI;IACpF;IAEA,OAAO,IAAI;EACb;EAEA,MAAcO,iBAAiBA,CAAC9B,KAAqC,EAA8B;IACjG,MAAMY,KAAuC,GAAG,MAAMvC,oBAAoB,CAACC,KAAK,CAACsC,KAAK,CAACoB,IAAI,CAAC;MAC1FC,MAAM,EAAE,CAAC,IAAI,CAAClC,gBAAgB,CAACC,KAAK,CAAC,CAAC;MACtCkC,MAAM,EAAE;IACV,CAAC,CAAC;IAEF,OAAOtB,KAAK,CAACA,KAAK;EACpB;EAEQuB,gCAAgCA,CACtCjC,IAAY,EACZU,KAAwB,EACxBF,QAAgB,EAChB0B,iBAAgC,EAChC;IACA,IAAIC,aAAgC;IACpC,IAAID,iBAAiB,EAAE;MACrBC,aAAa,GAAGzB,KAAK,CAACjB,MAAM,CAAEoB,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKR,QAAQ,IAAIK,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,KAAKa,iBAAiB,CAAC;IACjG,CAAC,MAAM;MACLC,aAAa,GAAGzB,KAAK,CAACjB,MAAM,CAAEoB,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKR,QAAQ,IAAI,CAACE,KAAK,CAACU,IAAI,CAAEgB,EAAE,IAAKA,EAAE,CAAClB,EAAE,KAAKL,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,CAAC,CAAC;IAC1G;IAEA,IAAIc,aAAa,CAAC/C,MAAM,IAAI,CAAC,EAAE;IAE/B,IAAIjB,oBAAoB,CAACE,wBAAwB,EAAE;MACjD,MAAM,IAAIJ,iBAAiB,CACxB,mDAAkD+B,IAAK,KAAImC,aAAa,CAACE,GAAG,CAAExB,CAAC,IAAKA,CAAC,CAACK,EAAE,CAAC,CAACoB,IAAI,CAAC,IAAI,CAAE,EAAC,EACvGtE,qBAAqB,CAACuE,wBAAwB,CAC/C;IACH,CAAC,MAAM;MACL,IAAI,CAAChE,4BAA4B,CAACiE,OAAO,CAAE9C,CAAC,IAAKA,CAAC,CAAC;QAAEM,IAAI;QAAEyC,OAAO,EAAEN,aAAa,CAACE,GAAG,CAAExB,CAAC,IAAKA,CAAC,CAACK,EAAE;MAAE,CAAC,CAAC,CAAC;IACxG;EACF;EAEA,MAAcwB,SAASA,CACrB1C,IAAY,EACZF,KAAqC,EAEpB;IAAA,IADjB6C,gBAAgB,GAAAC,SAAA,CAAAxD,MAAA,QAAAwD,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;IAEvB,IAAI;MACF,MAAMlC,KAAK,GAAG,MAAM,IAAI,CAACkB,iBAAiB,CAAC9B,KAAK,CAAC;MAEjD,IAAIE,IAAI,KAAK,EAAE,IAAIA,IAAI,KAAK,GAAG,EAAE;QAC/B,MAAM8C,eAAe,GAAG,MAAM,IAAI,CAACnB,kBAAkB,CAAC7B,KAAK,CAAC;QAC5D,IAAI,CAACgD,eAAe,EAClB,MAAM,IAAI7E,iBAAiB,CACxB,2BAA0B6B,KAAM,YAAW,EAC5C9B,qBAAqB,CAACsD,mBAAmB,CAC1C;QACH,OAAOwB,eAAe;MACxB;MAEA,MAAM;QAAE1C,WAAW;QAAEI;MAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;MACrE,MAAMkC,iBAAiB,GAAG,IAAI,CAACzB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;MACxE,IAAIyB,IAAiC;MACrC,IAAIK,iBAAiB,KAAK,IAAI,EAAE;QAC9B,IAAI,CAACD,gCAAgC,CAACjC,IAAI,EAAEU,KAAK,EAAEF,QAAQ,EAAE,IAAI,CAAC;QAClE;AACR;QACQqB,IAAI,GAAGnB,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKR,QAAQ,IAAI,CAACE,KAAK,CAACU,IAAI,CAAEgB,EAAE,IAAKA,EAAE,CAAClB,EAAE,KAAKL,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,CAAC,CAAC;MAC/F,CAAC,MAAM;QACL,IAAI,CAACY,gCAAgC,CAACjC,IAAI,EAAEU,KAAK,EAAEF,QAAQ,EAAE0B,iBAAiB,CAAC;QAC/EL,IAAI,GAAGnB,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKR,QAAQ,IAAIK,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,KAAKa,iBAAiB,CAAC;MACtF;MACA,IAAI,CAACL,IAAI,EAAE,MAAM,IAAI5D,iBAAiB,CAAE,gBAAe,EAAED,qBAAqB,CAAC+E,cAAc,CAAC;MAC9F,IAAIlB,IAAI,CAACf,QAAQ,KAAK/C,SAAS,CAACgD,MAAM,IAAI4B,gBAAgB,EAAE;QAC1D,MAAM,IAAI1E,iBAAiB,CAAE,QAAO+B,IAAK,iBAAgB,EAAEhC,qBAAqB,CAACgF,iBAAiB,CAAC;MACrG;MACA,OAAOnB,IAAI,CAACX,EAAE;IAChB,CAAC,CAAC,OAAO+B,CAAU,EAAE;MAAA,IAAAC,OAAA,EAAAC,aAAA;MACnB,IAAIF,CAAC,YAAYnF,SAAS,IAAI,EAAAoF,OAAA,GAAAD,CAAC,CAACG,IAAI,cAAAF,OAAA,wBAAAC,aAAA,GAAND,OAAA,CAAQG,KAAK,cAAAF,aAAA,uBAAbA,aAAA,CAAeG,MAAM,MAAK,iBAAiB,EAAE;QACzE,MAAM,IAAIrF,iBAAiB,CACxB,0CAAyC,EAC1CD,qBAAqB,CAACuF,qBAAqB,EAC3CN,CAAC,CAACG,IAAI,CACP;MACH,CAAC,MAAM;QACL,IAAIH,CAAC,YAAYhF,iBAAiB,EAAE,MAAMgF,CAAC;QAC3C,MAAM,IAAIhF,iBAAiB,CAAE,kCAAiC+B,IAAK,EAAC,EAAEhC,qBAAqB,CAACwF,OAAO,EAAEP,CAAC,CAAC;MACzG;IACF;EACF;EAEA,MAAMQ,UAAUA,CAACzD,IAAY,EAAEF,KAAqC,EAAoB;IACtF,IAAI;MACF,MAAM,IAAI,CAAC4C,SAAS,CAAC1C,IAAI,EAAEF,KAAK,EAAE,KAAK,CAAC;MACxC,OAAO,IAAI;IACb,CAAC,CAAC,OAAOmD,CAAM,EAAE;MACf,IAAIA,CAAC,YAAYhF,iBAAiB,IAAIgF,CAAC,CAACS,IAAI,KAAK1F,qBAAqB,CAAC+E,cAAc,EAAE,OAAO,KAAK,CAAC,KAC/F,MAAME,CAAC;IACd;EACF;EAEA,MAAMU,YAAYA,CAAC3D,IAAY,EAAE4D,IAAY,EAAE9D,KAAqC,EAAiB;IACnG,IAAI+D,MAA0B;IAC9B,IAAIC,WAAW,GAAG,EAAE;IACpB,IAAI;MACFD,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAAC1C,IAAI,EAAEF,KAAK,CAAC;MAC1CgE,WAAW,GAAG,MAAM3F,oBAAoB,CAACC,KAAK,CAACsC,KAAK,CAACqD,OAAO,CAACF,MAAM,CAAC;IACtE,CAAC,CAAC,OAAOZ,CAAM,EAAE;MACf,IAAIA,CAAC,YAAYhF,iBAAiB,IAAIgF,CAAC,CAACS,IAAI,KAAK1F,qBAAqB,CAAC+E,cAAc,EAAE;QACrF;MAAA,CACD,MAAM;QACL,MAAME,CAAC;MACT;IACF;IAEA,MAAMe,QAAQ,GAAG7F,oBAAoB,CAACC,KAAK,CAACsC,KAAK,CAC9CuD,oBAAoB,EAAE,CACtBC,OAAO,CAACJ,WAAW,GAAGF,IAAI,EAAE7F,SAAS,CAACoG,IAAI,CAAC;IAC9C,IAAIN,MAAM,EAAEG,QAAQ,CAACI,mBAAmB,CAACP,MAAM,CAAC,CAAC,KAC5C;MACH,MAAMnD,KAAK,GAAG,MAAM,IAAI,CAACkB,iBAAiB,CAAC9B,KAAK,CAAC;MACjD,MAAM;QAAEM,WAAW;QAAEI;MAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;MACrE,MAAMkC,iBAAiB,GAAG,IAAI,CAACzB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;MACxE4D,QAAQ,CAACK,cAAc,CAAC;QACtBrD,IAAI,EAAER,QAAQ;QACda,OAAO,EAAEa,iBAAiB,GACtB,CAACA,iBAAiB,CAAC,GACnBpC,KAAK,KAAK,UAAU,GACpB,CAAC,IAAI,CAACD,gBAAgB,CAACC,KAAK,CAAC,CAAC,GAC9B+C;MACN,CAAC,CAAC;IACJ;IACA,MAAMmB,QAAQ,CAACM,OAAO,EAAE;EAC1B;EAEA,MAAMC,UAAUA,CACdvE,IAAY,EACZ4D,IAAY,EACZ9D,KAAqC,EACrC0E,SAAkB,EACH;IACf,IAAIX,MAA0B;IAC9B,IAAIW,SAAS,EAAE;MACb,IAAI;QACFX,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAAC1C,IAAI,EAAEF,KAAK,CAAC;MAC5C,CAAC,CAAC,OAAOmD,CAAM,EAAE;QACf,IAAIA,CAAC,YAAYhF,iBAAiB,IAAIgF,CAAC,CAACS,IAAI,KAAK1F,qBAAqB,CAAC+E,cAAc,EAAE;UACrF;QAAA,CACD,MAAM;UACL,MAAME,CAAC;QACT;MACF;IACF,CAAC,MAAM;MACL,IAAI;QACF,MAAM,IAAI,CAACP,SAAS,CAAC1C,IAAI,EAAEF,KAAK,CAAC;QACjC,MAAM,IAAI7B,iBAAiB,CAAE,QAAO+B,IAAK,iBAAgB,EAAEhC,qBAAqB,CAACyG,mBAAmB,CAAC;MACvG,CAAC,CAAC,OAAOxB,CAAM,EAAE;QACf,IAAIA,CAAC,YAAYhF,iBAAiB,IAAIgF,CAAC,CAACS,IAAI,KAAK1F,qBAAqB,CAAC+E,cAAc,EAAE;UACrF;QAAA,CACD,MAAM;UACL,MAAME,CAAC;QACT;MACF;IACF;IAEA,MAAMe,QAAQ,GAAG7F,oBAAoB,CAACC,KAAK,CAACsC,KAAK,CAACuD,oBAAoB,EAAE,CAACC,OAAO,CAACN,IAAI,EAAE7F,SAAS,CAACoG,IAAI,CAAC;IACtG,IAAIN,MAAM,EAAEG,QAAQ,CAACI,mBAAmB,CAACP,MAAM,CAAC,CAAC,KAC5C;MACH,MAAMnD,KAAK,GAAG,MAAM,IAAI,CAACkB,iBAAiB,CAAC9B,KAAK,CAAC;MACjD,MAAM;QAAEM,WAAW;QAAEI;MAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;MACrE,MAAMkC,iBAAiB,GAAG,IAAI,CAACzB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;MACxE4D,QAAQ,CAACK,cAAc,CAAC;QACtBrD,IAAI,EAAER,QAAQ;QACda,OAAO,EAAEa,iBAAiB,GACtB,CAACA,iBAAiB,CAAC,GACnBpC,KAAK,KAAK,UAAU,GACpB,CAAC,IAAI,CAACD,gBAAgB,CAACC,KAAK,CAAC,CAAC,GAC9B+C;MACN,CAAC,CAAC;IACJ;IACA,MAAMmB,QAAQ,CAACM,OAAO,EAAE;EAC1B;EAEA,MAAMI,SAASA,CAAC1E,IAAY,EAAEF,KAAqC,EAAqB;IACtF,MAAM6E,QAAQ,GAAG,MAAM,IAAI,CAAC/C,iBAAiB,CAAC9B,KAAK,CAAC;IACpD,IAAIE,IAAI,KAAK,EAAE,EAAE;MACf,MAAM6D,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAAC1C,IAAI,EAAEF,KAAK,EAAE,KAAK,CAAC;MACvD,MAAMY,KAAK,GAAGiE,QAAQ,CAAClF,MAAM,CAAEoB,CAAC,IAAK,CAACA,CAAC,CAACQ,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,KAAKwC,MAAM,CAAC;MAErE,OAAOe,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAACpE,KAAK,CAAC2B,GAAG,CAAExB,CAAC,IAAKA,CAAC,CAACG,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC,MAAM;MACL,MAAM8B,eAAe,GAAG,MAAM,IAAI,CAACnB,kBAAkB,CAAC7B,KAAK,CAAC;MAC5D,OAAO8E,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAACH,QAAQ,CAAClF,MAAM,CAAEoB,CAAC,IAAK,CAACA,CAAC,CAACQ,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,KAAKyB,eAAe,CAAC,CAACT,GAAG,CAAExB,CAAC,IAAKA,CAAC,CAACG,IAAI,CAAC,CAAC,CAAC;IACjH;EACF;EAEA,MAAM+D,eAAeA,CAAC/E,IAAY,EAAEF,KAAqC,EAAiB;IACxF,IAAI;MACF,MAAM,IAAI,CAAC4C,SAAS,CAAC1C,IAAI,EAAEF,KAAK,CAAC;MACjC,MAAM,IAAI7B,iBAAiB,CAAE,QAAO+B,IAAK,iBAAgB,EAAEhC,qBAAqB,CAACyG,mBAAmB,CAAC;IACvG,CAAC,CAAC,OAAOxB,CAAM,EAAE;MACf,IAAIA,CAAC,YAAYhF,iBAAiB,IAAIgF,CAAC,CAACS,IAAI,KAAK1F,qBAAqB,CAAC+E,cAAc,EAAE;QACrF;MAAA,CACD,MAAM,IAAIE,CAAC,YAAYhF,iBAAiB,IAAIgF,CAAC,CAACS,IAAI,KAAK1F,qBAAqB,CAACgF,iBAAiB,EAAE;QAC/F,MAAM,IAAI/E,iBAAiB,CAAE,aAAY+B,IAAK,iBAAgB,EAAEhC,qBAAqB,CAACyG,mBAAmB,CAAC;MAC5G,CAAC,MAAM;QACL,MAAMxB,CAAC;MACT;IACF;IAEA,MAAMe,QAAQ,GAAG7F,oBAAoB,CAACC,KAAK,CAACsC,KAAK,CAACsE,uBAAuB,EAAE;IAC3E,MAAMtE,KAAK,GAAG,MAAM,IAAI,CAACkB,iBAAiB,CAAC9B,KAAK,CAAC;IACjD,MAAM;MAAEM,WAAW;MAAEI;IAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;IACrE,MAAMkC,iBAAiB,GAAG,IAAI,CAACzB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;IACxE4D,QAAQ,CAACK,cAAc,CAAC;MACtBrD,IAAI,EAAER,QAAQ;MACdM,QAAQ,EAAE/C,SAAS,CAACgD,MAAM;MAC1BM,OAAO,EAAEa,iBAAiB,GACtB,CAACA,iBAAiB,CAAC,GACnBpC,KAAK,KAAK,UAAU,GACpB,CAAC,IAAI,CAACD,gBAAgB,CAACC,KAAK,CAAC,CAAC,GAC9B+C;IACN,CAAC,CAAC;IACF,MAAMmB,QAAQ,CAACM,OAAO,EAAE;EAC1B;EAEA,MAAMW,QAAQA,CAACjF,IAAY,EAAEF,KAAqC,EAAmB;IACnF,MAAM+D,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAAC1C,IAAI,EAAEF,KAAK,CAAC;IAChD,MAAMoF,OAAO,GAAG,MAAM/G,oBAAoB,CAACC,KAAK,CAACsC,KAAK,CAACqD,OAAO,CAACF,MAAM,CAAC;IACtE,OAAOqB,OAAO;EAChB;EAEA,MAAMC,YAAYA,CAACC,KAAa,EAAEC,MAAsC,EAAiB;IACvF;IACA;EACF;EAEA,MAAMC,UAAUA,CAACtF,IAAY,EAAEF,KAAqC,EAAiB;IACnF,MAAM+D,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAAC1C,IAAI,EAAEF,KAAK,CAAC;IAChD,MAAM3B,oBAAoB,CAACC,KAAK,CAACsC,KAAK,CAAC6E,MAAM,CAAC1B,MAAM,CAAC;EACvD;EAEA,MAAM2B,QAAQA,CAACxF,IAAY,EAAEF,KAAqC,EAA8C;IAC9G,MAAM+D,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAAC1C,IAAI,EAAEF,KAAK,EAAE,KAAK,CAAC;IACvD,MAAM+B,IAA6B,GAAG,MAAM,CAC1C,MAAM1D,oBAAoB,CAACC,KAAK,CAACsC,KAAK,CAAChC,GAAG,CAACmF,MAAM,EAAG;MAClD7B,MAAM,EAAE;IACV,CAAC,CAAC,EACFoB,IAAI,EAAE;IAER,OAAO;MACLqC,IAAI,EAAE5D,IAAI,CAAC4D,IAAI,IAAI,CAAC;MACpBC,WAAW,EAAE,IAAIC,IAAI,CAAC9D,IAAI,CAAC+D,WAAW,CAAE,CAACC,OAAO,EAAE;MAClDC,OAAO,EAAE,IAAIH,IAAI,CAAC9D,IAAI,CAACkE,YAAY,CAAE,CAACF,OAAO,EAAE;MAC/CG,WAAW,EAAEnE,IAAI,CAACf,QAAQ,KAAK/C,SAAS,CAACgD,MAAM;MAC/CkF,MAAM,EAAEpE,IAAI,CAACf,QAAQ,KAAK/C,SAAS,CAACgD;IACtC,CAAC;EACH;AACF"}
|
|
1
|
+
{"version":3,"names":["CloudStorageErrorCode","CloudStorageError","MimeTypes","DeviceEventEmitter","GoogleDriveApiClient","GoogleDriveHttpError","GoogleDrive","drive","throwOnFilesWithSameName","constructor","filesWithSameNameSubscribers","Proxy","get","target","prop","allowedFunctions","includes","toString","accessToken","length","GOOGLE_DRIVE_ACCESS_TOKEN_MISSING","emit","available","subscribeToFilesWithSameName","subscriber","push","remove","filter","s","isCloudAvailable","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","f","mimeType","FOLDER","name","topDirectoryId","id","possibleTopDirectory","find","parents","DIRECTORY_NOT_FOUND","currentDirectoryId","i","currentDirectory","nextDirectory","getRootDirectoryId","listFiles","file","checkIfMultipleFilesWithSameName","parentDirectoryId","possibleFiles","f2","map","join","MULTIPLE_FILES_SAME_NAME","forEach","fileIds","getFileId","throwIf","arguments","undefined","rootDirectoryId","FILE_NOT_FOUND","PATH_IS_DIRECTORY","e","_e$json","_e$json$error","json","error","status","AUTHENTICATION_FAILED","UNKNOWN","fileExists","code","appendToFile","data","fileId","prevContent","getFileText","updateFile","body","TEXT","createFile","overwrite","FILE_ALREADY_EXISTS","allFiles","Array","from","Set","createDirectory","readFile","content","downloadFile","_path","_scope","deleteFile","deleteDirectory","recursive","filesInDirectory","DELETE_ERROR","statFile","getFile","size","birthtimeMs","Date","createdTime","getTime","mtimeMs","modifiedTime","isDirectory","isFile"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"AACA,SACEA,qBAAqB,QAGhB,iBAAiB;AACxB,OAAOC,iBAAiB,MAAM,4BAA4B;AAC1D,SAASC,SAAS,QAAyD,SAAS;AACpF,SAASC,kBAAkB,QAAQ,cAAc;AACjD,OAAOC,oBAAoB,IAAIC,oBAAoB,QAAQ,UAAU;;AAErE;AACA;AACA;AACA,eAAe,MAAMC,WAAW,CAAiC;EAC/D,OAAeC,KAAK,GAAyB,IAAIH,oBAAoB,EAAE;EACvE,OAAcI,wBAAwB,GAAG,KAAK;EAG9CC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,4BAA4B,GAAG,EAAE;IACtC,OAAO,IAAIC,KAAK,CAAC,IAAI,EAAE;MACrB;MACAC,GAAGA,CAACC,MAAmB,EAAEC,IAAuB,EAAE;QAChD,MAAMC,gBAAgB,GAAG,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;QAC7E,IAAI,OAAOF,MAAM,CAACC,IAAI,CAAC,KAAK,UAAU,IAAI,CAACC,gBAAgB,CAACC,QAAQ,CAACF,IAAI,CAACG,QAAQ,EAAE,CAAC,EAAE;UACrF,IAAI,CAACX,WAAW,CAACC,KAAK,CAACW,WAAW,CAACC,MAAM,EAAE;YACzC,MAAM,IAAIlB,iBAAiB,CACxB,8DAA6Da,IAAI,CAACG,QAAQ,EAAG,EAAC,EAC/EjB,qBAAqB,CAACoB,iCAAiC,CACxD;UACH;QACF;QAEA,OAAOP,MAAM,CAACC,IAAI,CAAC;MACrB;IACF,CAAC,CAAC;EACJ;;EAEA;EACA,WAAkBI,WAAWA,CAACA,WAA0B,EAAE;IACxDZ,WAAW,CAACC,KAAK,CAACW,WAAW,GAAGA,WAAW,IAAI,EAAE;;IAEjD;IACAf,kBAAkB,CAACkB,IAAI,CAAC,2CAA2C,EAAE;MACnEC,SAAS,EAAE,CAAC,EAACJ,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEC,MAAM;IAClC,CAAC,CAAC;EACJ;EAEA,WAAkBD,WAAWA,CAAA,EAAkB;IAC7C,OAAOZ,WAAW,CAACC,KAAK,CAACW,WAAW,CAACC,MAAM,GAAGb,WAAW,CAACC,KAAK,CAACW,WAAW,GAAG,IAAI;EACpF;EAEOK,4BAA4BA,CAACC,UAA4E,EAE9G;IACA,IAAI,CAACd,4BAA4B,CAACe,IAAI,CAACD,UAAU,CAAC;IAElD,OAAO;MACLE,MAAM,EAAEA,CAAA,KAAM;QACZ,IAAI,CAAChB,4BAA4B,GAAG,IAAI,CAACA,4BAA4B,CAACiB,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKJ,UAAU,CAAC;MACvG;IACF,CAAC;EACH;EAEOK,gBAAgB,GAA2B,MAAAA,CAAA,KAAY,CAAC,CAACvB,WAAW,CAACC,KAAK,CAACW,WAAW,CAACC,MAAM;EAE5FW,gBAAgBA,CAACC,KAAqC,EAAwB;IACpF,QAAQA,KAAK;MACX,KAAK,WAAW;QACd,OAAO,OAAO;MAChB,KAAK,UAAU;QACb,OAAO,eAAe;IAAC;EAE7B;EAEQC,wBAAwBA,CAACC,IAAY,EAA+C;IAC1F,IAAIA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,EAAED,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;IAC9C,IAAIF,IAAI,CAACG,QAAQ,CAAC,GAAG,CAAC,EAAEH,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAME,WAAW,GAAGJ,IAAI,CAACK,KAAK,CAAC,GAAG,CAAC;IACnC,MAAMC,cAAc,GAAGF,WAAW,CAACG,GAAG,EAAE,IAAI,EAAE;IAC9C,OAAO;MAAEH,WAAW;MAAEI,QAAQ,EAAEF;IAAe,CAAC;EAClD;EAEQG,qBAAqBA,CAACC,KAAwB,EAAEC,aAAuB,EAAiB;IAC9F,MAAMC,sBAAsB,GAAGF,KAAK,CACjChB,MAAM,CAAEmB,CAAC,IAAKA,CAAC,CAACC,QAAQ,KAAK7C,SAAS,CAAC8C,MAAM,CAAC,CAC9CrB,MAAM,CAAEmB,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKL,aAAa,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAIM,cAAkC;IACtC,IAAIL,sBAAsB,CAAC1B,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC,KAChD,IAAI0B,sBAAsB,CAAC1B,MAAM,KAAK,CAAC,EAAE;MAC5C+B,cAAc,GAAGL,sBAAsB,CAAC,CAAC,CAAC,CAAEM,EAAE;IAChD,CAAC,MAAM;MACL;AACN;AACA;MACM,KAAK,MAAMC,oBAAoB,IAAIP,sBAAsB,EAAE;QACzD,IAAI,CAACF,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACK,EAAE,KAAKC,oBAAoB,CAAEE,OAAO,CAAE,CAAC,CAAC,IAAIR,CAAC,CAACC,QAAQ,KAAK7C,SAAS,CAAC8C,MAAM,CAAC,EAAE;UACrGE,cAAc,GAAGE,oBAAoB,CAAED,EAAE;UACzC;QACF;MACF;IACF;IAEA,IAAI,CAACD,cAAc,EAAE;MACnB,MAAM,IAAIjD,iBAAiB,CACxB,0CAAyC2C,aAAa,CAAC,CAAC,CAAE,EAAC,EAC5D5C,qBAAqB,CAACuD,mBAAmB,CAC1C;IACH;;IAEA;IACA,IAAIC,kBAAkB,GAAGN,cAAc;IACvC,KAAK,IAAIO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGb,aAAa,CAACzB,MAAM,EAAEsC,CAAC,EAAE,EAAE;MAC7C,MAAMC,gBAAgB,GAAGf,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACK,EAAE,KAAKK,kBAAkB,CAAC;MACvE,IAAI,CAACE,gBAAgB,EACnB,MAAM,IAAIzD,iBAAiB,CACxB,oCAAmCuD,kBAAmB,EAAC,EACxDxD,qBAAqB,CAACuD,mBAAmB,CAC1C;MACH,MAAMI,aAAa,GAAGhB,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKL,aAAa,CAACa,CAAC,CAAC,IAAIX,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,KAAKE,kBAAkB,CAAC;MAC5G,IAAI,CAACG,aAAa,EAChB,MAAM,IAAI1D,iBAAiB,CACxB,sCAAqC2C,aAAa,CAACa,CAAC,CAAE,EAAC,EACxDzD,qBAAqB,CAACuD,mBAAmB,CAC1C;MACHC,kBAAkB,GAAGG,aAAa,CAACR,EAAE;IACvC;IAEA,OAAOK,kBAAkB;EAC3B;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAcI,kBAAkBA,CAAC7B,KAAqC,EAA0B;IAC9F,MAAMY,KAAK,GAAG,MAAMrC,WAAW,CAACC,KAAK,CAACsD,SAAS,CAAC,IAAI,CAAC/B,gBAAgB,CAACC,KAAK,CAAC,CAAC;IAC7E,KAAK,MAAM+B,IAAI,IAAInB,KAAK,EAAE;MACxB,IAAI,CAACA,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACK,EAAE,KAAKW,IAAI,CAACR,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE,OAAOQ,IAAI,CAACR,OAAO,CAAE,CAAC,CAAC,IAAI,IAAI;IACpF;IAEA,OAAO,IAAI;EACb;EAEQS,gCAAgCA,CACtC9B,IAAY,EACZU,KAAwB,EACxBF,QAAgB,EAChBuB,iBAAgC,EAChC;IACA,IAAIC,aAAgC;IACpC,IAAID,iBAAiB,EAAE;MACrBC,aAAa,GAAGtB,KAAK,CAAChB,MAAM,CAAEmB,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKR,QAAQ,IAAIK,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,KAAKU,iBAAiB,CAAC;IACjG,CAAC,MAAM;MACLC,aAAa,GAAGtB,KAAK,CAAChB,MAAM,CAAEmB,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKR,QAAQ,IAAI,CAACE,KAAK,CAACU,IAAI,CAAEa,EAAE,IAAKA,EAAE,CAACf,EAAE,KAAKL,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,CAAC,CAAC;IAC1G;IAEA,IAAIW,aAAa,CAAC9C,MAAM,IAAI,CAAC,EAAE;IAE/B,IAAIb,WAAW,CAACE,wBAAwB,EAAE;MACxC,MAAM,IAAIP,iBAAiB,CACxB,mDAAkDgC,IAAK,KAAIgC,aAAa,CAACE,GAAG,CAAErB,CAAC,IAAKA,CAAC,CAACK,EAAE,CAAC,CAACiB,IAAI,CAAC,IAAI,CAAE,EAAC,EACvGpE,qBAAqB,CAACqE,wBAAwB,CAC/C;IACH,CAAC,MAAM;MACL,IAAI,CAAC3D,4BAA4B,CAAC4D,OAAO,CAAE1C,CAAC,IAAKA,CAAC,CAAC;QAAEK,IAAI;QAAEsC,OAAO,EAAEN,aAAa,CAACE,GAAG,CAAErB,CAAC,IAAKA,CAAC,CAACK,EAAE;MAAE,CAAC,CAAC,CAAC;IACxG;EACF;EAEA,MAAcqB,SAASA,CACrBvC,IAAY,EACZF,KAAqC,EAEpB;IAAA,IADjB0C,OAAqC,GAAAC,SAAA,CAAAvD,MAAA,QAAAuD,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;IAE7C,IAAI;MACF,MAAM/B,KAAK,GAAG,MAAMrC,WAAW,CAACC,KAAK,CAACsD,SAAS,CAAC,IAAI,CAAC/B,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAE7E,IAAIE,IAAI,KAAK,EAAE,IAAIA,IAAI,KAAK,GAAG,EAAE;QAC/B,MAAM2C,eAAe,GAAG,MAAM,IAAI,CAAChB,kBAAkB,CAAC7B,KAAK,CAAC;QAC5D,IAAI,CAAC6C,eAAe,EAClB,MAAM,IAAI3E,iBAAiB,CACxB,2BAA0B8B,KAAM,YAAW,EAC5C/B,qBAAqB,CAACuD,mBAAmB,CAC1C;QACH,OAAOqB,eAAe;MACxB;MAEA,MAAM;QAAEvC,WAAW;QAAEI;MAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;MACrE,MAAM+B,iBAAiB,GAAG,IAAI,CAACtB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;MACxE,IAAIyB,IAAiC;MACrC,IAAIE,iBAAiB,KAAK,IAAI,EAAE;QAC9B,IAAI,CAACD,gCAAgC,CAAC9B,IAAI,EAAEU,KAAK,EAAEF,QAAQ,EAAE,IAAI,CAAC;QAClE;AACR;QACQqB,IAAI,GAAGnB,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKR,QAAQ,IAAI,CAACE,KAAK,CAACU,IAAI,CAAEa,EAAE,IAAKA,EAAE,CAACf,EAAE,KAAKL,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,CAAC,CAAC;MAC/F,CAAC,MAAM;QACL,IAAI,CAACS,gCAAgC,CAAC9B,IAAI,EAAEU,KAAK,EAAEF,QAAQ,EAAEuB,iBAAiB,CAAC;QAC/EF,IAAI,GAAGnB,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKR,QAAQ,IAAIK,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,KAAKU,iBAAiB,CAAC;MACtF;MACA,IAAI,CAACF,IAAI,EAAE,MAAM,IAAI7D,iBAAiB,CAAE,gBAAe,EAAED,qBAAqB,CAAC6E,cAAc,CAAC;MAC9F,IAAIf,IAAI,CAACf,QAAQ,KAAK7C,SAAS,CAAC8C,MAAM,IAAIyB,OAAO,KAAK,WAAW,EAAE;QACjE,MAAM,IAAIxE,iBAAiB,CAAE,QAAOgC,IAAK,iBAAgB,EAAEjC,qBAAqB,CAAC8E,iBAAiB,CAAC;MACrG,CAAC,MAAM,IAAIhB,IAAI,CAACf,QAAQ,KAAK7C,SAAS,CAAC8C,MAAM,IAAIyB,OAAO,KAAK,MAAM,EAAE;QACnE,MAAM,IAAIxE,iBAAiB,CAAE,QAAOgC,IAAK,YAAW,EAAEjC,qBAAqB,CAAC6E,cAAc,CAAC;MAC7F;MACA,OAAOf,IAAI,CAACX,EAAE;IAChB,CAAC,CAAC,OAAO4B,CAAU,EAAE;MAAA,IAAAC,OAAA,EAAAC,aAAA;MACnB,IAAIF,CAAC,YAAY1E,oBAAoB,IAAI,EAAA2E,OAAA,GAAAD,CAAC,CAACG,IAAI,cAAAF,OAAA,wBAAAC,aAAA,GAAND,OAAA,CAAQG,KAAK,cAAAF,aAAA,uBAAbA,aAAA,CAAeG,MAAM,MAAK,iBAAiB,EAAE;QACpF,MAAM,IAAInF,iBAAiB,CACxB,0CAAyC,EAC1CD,qBAAqB,CAACqF,qBAAqB,EAC3CN,CAAC,CAACG,IAAI,CACP;MACH,CAAC,MAAM;QACL,IAAIH,CAAC,YAAY9E,iBAAiB,EAAE,MAAM8E,CAAC;QAC3C,MAAM,IAAI9E,iBAAiB,CAAE,kCAAiCgC,IAAK,EAAC,EAAEjC,qBAAqB,CAACsF,OAAO,EAAEP,CAAC,CAAC;MACzG;IACF;EACF;EAEA,MAAMQ,UAAUA,CAACtD,IAAY,EAAEF,KAAqC,EAAoB;IACtF,IAAI;MACF,MAAM,IAAI,CAACyC,SAAS,CAACvC,IAAI,EAAEF,KAAK,CAAC;MACjC,OAAO,IAAI;IACb,CAAC,CAAC,OAAOgD,CAAM,EAAE;MACf,IAAIA,CAAC,YAAY9E,iBAAiB,IAAI8E,CAAC,CAACS,IAAI,KAAKxF,qBAAqB,CAAC6E,cAAc,EAAE,OAAO,KAAK,CAAC,KAC/F,MAAME,CAAC;IACd;EACF;EAEA,MAAMU,YAAYA,CAACxD,IAAY,EAAEyD,IAAY,EAAE3D,KAAqC,EAAiB;IACnG,IAAI4D,MAA0B;IAC9B,IAAIC,WAAW,GAAG,EAAE;IACpB,IAAI;MACFD,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACvC,IAAI,EAAEF,KAAK,CAAC;MAC1C6D,WAAW,GAAG,MAAMtF,WAAW,CAACC,KAAK,CAACsF,WAAW,CAACF,MAAM,CAAC;IAC3D,CAAC,CAAC,OAAOZ,CAAM,EAAE;MACf,IAAIA,CAAC,YAAY9E,iBAAiB,IAAI8E,CAAC,CAACS,IAAI,KAAKxF,qBAAqB,CAAC6E,cAAc,EAAE;QACrF;MAAA,CACD,MAAM;QACL,MAAME,CAAC;MACT;IACF;IAEA,IAAIY,MAAM,EAAE;MACV,MAAMrF,WAAW,CAACC,KAAK,CAACuF,UAAU,CAACH,MAAM,EAAE;QACzCI,IAAI,EAAEH,WAAW,GAAGF,IAAI;QACxB3C,QAAQ,EAAE7C,SAAS,CAAC8F;MACtB,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAMrD,KAAK,GAAG,MAAMrC,WAAW,CAACC,KAAK,CAACsD,SAAS,CAAC,IAAI,CAAC/B,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC7E,MAAM;QAAEM,WAAW;QAAEI;MAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;MACrE,MAAM+B,iBAAiB,GAAG,IAAI,CAACtB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;MACxE,MAAM/B,WAAW,CAACC,KAAK,CAAC0F,UAAU,CAChC;QACEhD,IAAI,EAAER,QAAQ;QACda,OAAO,EAAEU,iBAAiB,GACtB,CAACA,iBAAiB,CAAC,GACnBjC,KAAK,KAAK,UAAU,GACpB,CAAC,IAAI,CAACD,gBAAgB,CAACC,KAAK,CAAC,CAAC,GAC9B4C;MACN,CAAC,EACD;QACEoB,IAAI,EAAEL,IAAI;QACV3C,QAAQ,EAAE7C,SAAS,CAAC8F;MACtB,CAAC,CACF;IACH;EACF;EAEA,MAAMC,UAAUA,CACdhE,IAAY,EACZyD,IAAY,EACZ3D,KAAqC,EACrCmE,SAAkB,EACH;IACf,IAAIP,MAA0B;IAC9B,IAAIO,SAAS,EAAE;MACb,IAAI;QACFP,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACvC,IAAI,EAAEF,KAAK,CAAC;MAC5C,CAAC,CAAC,OAAOgD,CAAM,EAAE;QACf,IAAIA,CAAC,YAAY9E,iBAAiB,IAAI8E,CAAC,CAACS,IAAI,KAAKxF,qBAAqB,CAAC6E,cAAc,EAAE;UACrF;QAAA,CACD,MAAM;UACL,MAAME,CAAC;QACT;MACF;IACF,CAAC,MAAM;MACL,IAAI;QACF,MAAM,IAAI,CAACP,SAAS,CAACvC,IAAI,EAAEF,KAAK,CAAC;QACjC,MAAM,IAAI9B,iBAAiB,CAAE,QAAOgC,IAAK,iBAAgB,EAAEjC,qBAAqB,CAACmG,mBAAmB,CAAC;MACvG,CAAC,CAAC,OAAOpB,CAAM,EAAE;QACf,IAAIA,CAAC,YAAY9E,iBAAiB,IAAI8E,CAAC,CAACS,IAAI,KAAKxF,qBAAqB,CAAC6E,cAAc,EAAE;UACrF;QAAA,CACD,MAAM;UACL,MAAME,CAAC;QACT;MACF;IACF;IAEA,IAAIY,MAAM,EAAE;MACV,MAAMrF,WAAW,CAACC,KAAK,CAACuF,UAAU,CAACH,MAAM,EAAE;QACzCI,IAAI,EAAEL,IAAI;QACV3C,QAAQ,EAAE7C,SAAS,CAAC8F;MACtB,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAMrD,KAAK,GAAG,MAAMrC,WAAW,CAACC,KAAK,CAACsD,SAAS,CAAC,IAAI,CAAC/B,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC7E,MAAM;QAAEM,WAAW;QAAEI;MAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;MACrE,MAAM+B,iBAAiB,GAAG,IAAI,CAACtB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;MACxE,MAAM/B,WAAW,CAACC,KAAK,CAAC0F,UAAU,CAChC;QACEhD,IAAI,EAAER,QAAQ;QACda,OAAO,EAAEU,iBAAiB,GACtB,CAACA,iBAAiB,CAAC,GACnBjC,KAAK,KAAK,UAAU,GACpB,CAAC,IAAI,CAACD,gBAAgB,CAACC,KAAK,CAAC,CAAC,GAC9B4C;MACN,CAAC,EACD;QACEoB,IAAI,EAAEL,IAAI;QACV3C,QAAQ,EAAE7C,SAAS,CAAC8F;MACtB,CAAC,CACF;IACH;EACF;EAEA,MAAMnC,SAASA,CAAC5B,IAAY,EAAEF,KAAqC,EAAqB;IACtF,MAAMqE,QAAQ,GAAG,MAAM9F,WAAW,CAACC,KAAK,CAACsD,SAAS,CAAC,IAAI,CAAC/B,gBAAgB,CAACC,KAAK,CAAC,CAAC;IAChF,IAAIE,IAAI,KAAK,EAAE,EAAE;MACf,MAAM0D,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACvC,IAAI,EAAEF,KAAK,CAAC;MAChD,MAAMY,KAAK,GAAGyD,QAAQ,CAACzE,MAAM,CAAEmB,CAAC,IAAK,CAACA,CAAC,CAACQ,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,KAAKqC,MAAM,CAAC;MAErE,OAAOU,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAAC5D,KAAK,CAACwB,GAAG,CAAErB,CAAC,IAAKA,CAAC,CAACG,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC,MAAM;MACL,MAAM2B,eAAe,GAAG,MAAM,IAAI,CAAChB,kBAAkB,CAAC7B,KAAK,CAAC;MAC5D,OAAOsE,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAACH,QAAQ,CAACzE,MAAM,CAAEmB,CAAC,IAAK,CAACA,CAAC,CAACQ,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,KAAKsB,eAAe,CAAC,CAACT,GAAG,CAAErB,CAAC,IAAKA,CAAC,CAACG,IAAI,CAAC,CAAC,CAAC;IACjH;EACF;EAEA,MAAMuD,eAAeA,CAACvE,IAAY,EAAEF,KAAqC,EAAiB;IACxF,IAAI;MACF,MAAM,IAAI,CAACyC,SAAS,CAACvC,IAAI,EAAEF,KAAK,CAAC;MACjC,MAAM,IAAI9B,iBAAiB,CAAE,QAAOgC,IAAK,iBAAgB,EAAEjC,qBAAqB,CAACmG,mBAAmB,CAAC;IACvG,CAAC,CAAC,OAAOpB,CAAM,EAAE;MACf,IAAIA,CAAC,YAAY9E,iBAAiB,IAAI8E,CAAC,CAACS,IAAI,KAAKxF,qBAAqB,CAAC6E,cAAc,EAAE;QACrF;MAAA,CACD,MAAM,IAAIE,CAAC,YAAY9E,iBAAiB,IAAI8E,CAAC,CAACS,IAAI,KAAKxF,qBAAqB,CAAC8E,iBAAiB,EAAE;QAC/F,MAAM,IAAI7E,iBAAiB,CAAE,aAAYgC,IAAK,iBAAgB,EAAEjC,qBAAqB,CAACmG,mBAAmB,CAAC;MAC5G,CAAC,MAAM;QACL,MAAMpB,CAAC;MACT;IACF;IAEA,MAAMpC,KAAK,GAAG,MAAMrC,WAAW,CAACC,KAAK,CAACsD,SAAS,CAAC,IAAI,CAAC/B,gBAAgB,CAACC,KAAK,CAAC,CAAC;IAC7E,MAAM;MAAEM,WAAW;MAAEI;IAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;IACrE,MAAM+B,iBAAiB,GAAG,IAAI,CAACtB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;IAExE,MAAM/B,WAAW,CAACC,KAAK,CAACiG,eAAe,CAAC;MACtCvD,IAAI,EAAER,QAAQ;MACda,OAAO,EAAEU,iBAAiB,GACtB,CAACA,iBAAiB,CAAC,GACnBjC,KAAK,KAAK,UAAU,GACpB,CAAC,IAAI,CAACD,gBAAgB,CAACC,KAAK,CAAC,CAAC,GAC9B4C;IACN,CAAC,CAAC;EACJ;EAEA,MAAM8B,QAAQA,CAACxE,IAAY,EAAEF,KAAqC,EAAmB;IACnF,MAAM4D,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACvC,IAAI,EAAEF,KAAK,CAAC;IAChD,MAAM2E,OAAO,GAAG,MAAMpG,WAAW,CAACC,KAAK,CAACsF,WAAW,CAACF,MAAM,CAAC;IAC3D,OAAOe,OAAO;EAChB;EAEA,MAAMC,YAAYA,CAACC,KAAa,EAAEC,MAAsC,EAAiB;IACvF;IACA;EACF;EAEA,MAAMC,UAAUA,CAAC7E,IAAY,EAAEF,KAAqC,EAAiB;IACnF;IACA,MAAM4D,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACvC,IAAI,EAAEF,KAAK,EAAE,WAAW,CAAC;IAC7D,MAAMzB,WAAW,CAACC,KAAK,CAACuG,UAAU,CAACnB,MAAM,CAAC;EAC5C;EAEA,MAAMoB,eAAeA,CAAC9E,IAAY,EAAE+E,SAAkB,EAAEjF,KAAqC,EAAiB;IAC5G;IACA,MAAM4D,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACvC,IAAI,EAAEF,KAAK,EAAE,MAAM,CAAC;IAExD,IAAI,CAACiF,SAAS,EAAE;MACd;MACA,MAAMrE,KAAK,GAAG,MAAMrC,WAAW,CAACC,KAAK,CAACsD,SAAS,CAAC,IAAI,CAAC/B,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC7E,MAAMkF,gBAAgB,GAAGtE,KAAK,CAAChB,MAAM,CAAEmB,CAAC,IAAK,CAACA,CAAC,CAACQ,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,KAAKqC,MAAM,CAAC;MAC7E,IAAIsB,gBAAgB,CAAC9F,MAAM,GAAG,CAAC,EAAE;QAC/B,MAAM,IAAIlB,iBAAiB,CACxB,aAAYgC,IAAK,eAAc,EAChCjC,qBAAqB,CAACkH,YAAY,EAClCD,gBAAgB,CACjB;MACH;IACF;IAEA,MAAM3G,WAAW,CAACC,KAAK,CAACuG,UAAU,CAACnB,MAAM,CAAC;EAC5C;EAEA,MAAMwB,QAAQA,CAAClF,IAAY,EAAEF,KAAqC,EAA8C;IAC9G,MAAM4D,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACvC,IAAI,EAAEF,KAAK,EAAE,KAAK,CAAC;IACvD,MAAM+B,IAAI,GAAG,MAAMxD,WAAW,CAACC,KAAK,CAAC6G,OAAO,CAACzB,MAAM,CAAE;IAErD,OAAO;MACL0B,IAAI,EAAEvD,IAAI,CAACuD,IAAI,IAAI,CAAC;MACpBC,WAAW,EAAE,IAAIC,IAAI,CAACzD,IAAI,CAAC0D,WAAW,CAAE,CAACC,OAAO,EAAE;MAClDC,OAAO,EAAE,IAAIH,IAAI,CAACzD,IAAI,CAAC6D,YAAY,CAAE,CAACF,OAAO,EAAE;MAC/CG,WAAW,EAAE9D,IAAI,CAACf,QAAQ,KAAK7C,SAAS,CAAC8C,MAAM;MAC/C6E,MAAM,EAAE/D,IAAI,CAACf,QAAQ,KAAK7C,SAAS,CAAC8C;IACtC,CAAC;EACH;AACF"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
export let MimeTypes = /*#__PURE__*/function (MimeTypes) {
|
|
2
|
+
MimeTypes["BINARY"] = "application/octet-stream";
|
|
3
|
+
MimeTypes["CSV"] = "text/csv";
|
|
4
|
+
MimeTypes["FOLDER"] = "application/vnd.google-apps.folder";
|
|
5
|
+
MimeTypes["JSON"] = "application/json";
|
|
6
|
+
MimeTypes["PDF"] = "application/pdf";
|
|
7
|
+
MimeTypes["TEXT"] = "text/plain";
|
|
8
|
+
return MimeTypes;
|
|
9
|
+
}({});
|
|
2
10
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["google-drive/types.ts"],"mappings":""}
|
|
1
|
+
{"version":3,"names":["MimeTypes"],"sourceRoot":"../../../src","sources":["google-drive/types.ts"],"mappings":"AAEA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export let CloudStorageErrorCode = /*#__PURE__*/function (CloudStorageErrorCode) {
|
|
2
2
|
CloudStorageErrorCode["FILE_NOT_FOUND"] = "ERR_FILE_NOT_FOUND";
|
|
3
|
+
CloudStorageErrorCode["PATH_IS_FILE"] = "ERR_PATH_IS_FILE";
|
|
3
4
|
CloudStorageErrorCode["PATH_IS_DIRECTORY"] = "ERR_PATH_IS_DIRECTORY";
|
|
4
5
|
CloudStorageErrorCode["DIRECTORY_NOT_FOUND"] = "ERR_DIRECTORY_NOT_FOUND";
|
|
6
|
+
CloudStorageErrorCode["DIRECTORY_NOT_EMPTY"] = "ERR_DIRECTORY_NOT_EMPTY";
|
|
5
7
|
CloudStorageErrorCode["FILE_ALREADY_EXISTS"] = "ERR_FILE_EXISTS";
|
|
6
8
|
CloudStorageErrorCode["MULTIPLE_FILES_SAME_NAME"] = "ERR_MULTIPLE_FILES_SAME_NAME";
|
|
7
9
|
CloudStorageErrorCode["AUTHENTICATION_FAILED"] = "ERR_AUTHENTICATION_FAILED";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CloudStorageErrorCode"],"sourceRoot":"../../../src","sources":["types/native.ts"],"mappings":"AAUA,WAAYA,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA"}
|
|
1
|
+
{"version":3,"names":["CloudStorageErrorCode"],"sourceRoot":"../../../src","sources":["types/native.ts"],"mappings":"AAUA,WAAYA,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA"}
|
|
@@ -2,8 +2,8 @@ import { CloudStorageScope, type CloudStorageFileStat } from './types/main';
|
|
|
2
2
|
declare const RNCloudStorage: {
|
|
3
3
|
getDefaultScope: () => CloudStorageScope;
|
|
4
4
|
setDefaultScope: (scope: CloudStorageScope) => CloudStorageScope;
|
|
5
|
-
getGoogleDriveAccessToken: () => string |
|
|
6
|
-
setGoogleDriveAccessToken: (accessToken: string) => string;
|
|
5
|
+
getGoogleDriveAccessToken: () => string | null;
|
|
6
|
+
setGoogleDriveAccessToken: (accessToken: string | null) => string | null;
|
|
7
7
|
setThrowOnFilesWithSameName: (enable: boolean) => boolean;
|
|
8
8
|
subscribeToFilesWithSameName: (subscriber: ({ path, fileIds }: {
|
|
9
9
|
path: string;
|
|
@@ -75,6 +75,16 @@ declare const RNCloudStorage: {
|
|
|
75
75
|
* @returns A promise that resolves when the file has been deleted.
|
|
76
76
|
*/
|
|
77
77
|
unlink: (path: string, scope?: CloudStorageScope) => Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Deletes the directory at the given path.
|
|
80
|
+
* @param path The directory to delete.
|
|
81
|
+
* @param options Options for the delete operation. Defaults to { recursive: false }.
|
|
82
|
+
* @param scope The directory scope the path is in. Defaults to the set default scope.
|
|
83
|
+
* @returns A promise that resolves when the directory has been deleted.
|
|
84
|
+
*/
|
|
85
|
+
rmdir: (path: string, options?: {
|
|
86
|
+
recursive?: boolean;
|
|
87
|
+
}, scope?: CloudStorageScope) => Promise<void>;
|
|
78
88
|
/**
|
|
79
89
|
* Gets the size, creation time, and modification time of the file at the given path.
|
|
80
90
|
* @param path The file to stat.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/RNCloudStorage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAM5E,QAAA,MAAM,cAAc;;6BAEO,iBAAiB;;6CAED,MAAM;
|
|
1
|
+
{"version":3,"file":"RNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/RNCloudStorage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAM5E,QAAA,MAAM,cAAc;;6BAEO,iBAAiB;;6CAED,MAAM,GAAG,IAAI;0CAChB,OAAO;;;;;;;IAS7C;;;;OAIG;4BACyB,QAAQ,OAAO,CAAC;IAI5C;;;;;;OAMG;uBACgB,MAAM,QAAQ,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIlF;;;;;OAKG;mBACY,MAAM,UAAU,iBAAiB,KAAG,QAAQ,OAAO,CAAC;IAInE;;;;;;OAMG;sBACe,MAAM,QAAQ,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIjF;;;;;OAKG;kBACW,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAI/D;;;;;OAKG;oBACa,MAAM,UAAU,iBAAiB,KAAG,QAAQ,MAAM,EAAE,CAAC;IAIrE;;;;;OAKG;qBACc,MAAM,UAAU,iBAAiB,KAAG,QAAQ,MAAM,CAAC;IAIpE;;;;;OAKG;yBACkB,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAItE;;;;;OAKG;mBACY,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIhE;;;;;;OAMG;kBACW,MAAM,YAAY;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIlG;;;;;OAKG;iBACgB,MAAM,UAAU,iBAAiB,KAAG,QAAQ,oBAAoB,CAAC;CAWrF,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type GoogleDriveFile, type GoogleDriveFileSpace } from './types';
|
|
2
|
+
export declare class GoogleDriveHttpError extends Error {
|
|
3
|
+
status: number;
|
|
4
|
+
json: any;
|
|
5
|
+
constructor(message: string, status: number, json: any);
|
|
6
|
+
}
|
|
7
|
+
export default class GoogleDriveApiClient {
|
|
8
|
+
accessToken: string;
|
|
9
|
+
constructor(accessToken?: string);
|
|
10
|
+
private buildQueryString;
|
|
11
|
+
private request;
|
|
12
|
+
private buildMultiPartBody;
|
|
13
|
+
listFiles(space: GoogleDriveFileSpace): Promise<GoogleDriveFile[]>;
|
|
14
|
+
getFile(fileId: string): Promise<GoogleDriveFile>;
|
|
15
|
+
getFileText(fileId: string): Promise<string>;
|
|
16
|
+
deleteFile(fileId: string): Promise<void>;
|
|
17
|
+
createFile(metadata: {
|
|
18
|
+
name: string;
|
|
19
|
+
parents?: string[];
|
|
20
|
+
}, media: {
|
|
21
|
+
mimeType: string;
|
|
22
|
+
body: string;
|
|
23
|
+
}): Promise<void>;
|
|
24
|
+
createDirectory(metadata: {
|
|
25
|
+
name: string;
|
|
26
|
+
parents?: string[];
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
updateFile(fileId: string, media: {
|
|
29
|
+
mimeType: string;
|
|
30
|
+
body: string;
|
|
31
|
+
}): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/google-drive/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAG1B,MAAM,SAAS,CAAC;AAMjB,qBAAa,oBAAqB,SAAQ,KAAK;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;gBAEL,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;CAKvD;AAID,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAChC,WAAW,EAAE,MAAM,CAAC;gBAEf,WAAW,GAAE,MAAW;IAIpC,OAAO,CAAC,gBAAgB;YAeV,OAAO;IAqCrB,OAAO,CAAC,kBAAkB;IAab,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAoBlE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IASjD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,UAAU,CACrB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAC9C,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,IAAI,CAAC;IAeH,eAAe,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9E,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAYlG"}
|