UNPKG

delta-store

Version:
63 lines 2.56 kB
/** * Created by Papa on 1/3/2016. */ "use strict"; var GoogleApi_1 = require("../GoogleApi"); var GoogleDriveModel_1 = require("./GoogleDriveModel"); var GoogleDriveModel_2 = require("./GoogleDriveModel"); var GoogleDriveAdaptor = (function () { function GoogleDriveAdaptor(googleApi, googleDrive) { this.googleApi = googleApi; this.googleDrive = googleDrive; } GoogleDriveAdaptor.prototype.initialize = function (apiKey, clientId) { var _this = this; return this.googleApi.authorizeApis(apiKey, clientId, GoogleApi_1.ApiConstants.ALL_SCOPES).then(function () { var loadRequests = [ _this.googleApi.loadApi('drive', GoogleDriveModel_1.DriveConstants.VERSION), _this.googleApi.loadApi('drive-realtime,drive-share') ]; return Promise.all(loadRequests); }); }; GoogleDriveAdaptor.prototype.setup = function (setupInfo) { return this.googleDrive.findOrCreateUniqueFolder(setupInfo.rootFolder); }; GoogleDriveAdaptor.prototype.listChangeLists = function (info) { return this.googleDrive.listFiles(info.sharedAppFolderId).then(function (response) { var files = response.result.files; if (!files || files.length === 0) { return []; } var shares = []; files.forEach(function (file) { shares.push({ name: file.name, dbId: info.dbIdField, folderId: file.id }); }); return shares; }); }; GoogleDriveAdaptor.prototype.populateChangeListFileInfo = function (changeListInfo) { return this.googleDrive.listFiles(changeListInfo.folderId).then(function (response) { var files = response.result.files; if (!files || files.length === 0) { return changeListInfo; } files.forEach(function (file) { if (file.mimeType.indexOf(GoogleDriveModel_2.MimeTypes.REALTIME) === 0) { if (changeListInfo.realtimeFileId) { throw "Multiple Realtime files found for Change List: " + changeListInfo.name; } changeListInfo.realtimeFileId = file.id; } }); return changeListInfo; }); }; return GoogleDriveAdaptor; }()); exports.GoogleDriveAdaptor = GoogleDriveAdaptor; //# sourceMappingURL=GoogleDriveAdaptor.js.map