@gravityforms/gulp-tasks
Version:
Configurable Gulp tasks for use in Gravity Forms projects.
44 lines (43 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeFolder = void 0;
const utils = require("../utils/utilsMethods");
/**
* Make a folder in Google Drive.
*/
async function makeFolder(params) {
let folderName;
let parentIdentifiers;
let overwrite = false;
let isSharedDrive = false; // Add this
let sharedDriveId; // Add this
if (typeof params === 'string') {
folderName = params;
}
else {
({ folderName, parentIdentifiers, overwrite, isSharedDrive, sharedDriveId } = params);
}
// Resolve parent ID
const parentId = isSharedDrive && !parentIdentifiers ? sharedDriveId : await utils.resolveId(this, parentIdentifiers);
const fileMetadata = {
name: folderName,
mimeType: 'application/vnd.google-apps.folder',
parents: [parentId],
};
if (overwrite) {
await utils.overwrite(this, fileMetadata);
}
const createParams = {
resource: fileMetadata,
fields: 'id',
supportsAllDrives: true,
};
if (isSharedDrive && sharedDriveId) {
createParams.corpora = 'drive';
createParams.driveId = sharedDriveId;
createParams.includeItemsFromAllDrives = true;
}
const data = await this.call('files', 'create', createParams);
return data.id;
}
exports.makeFolder = makeFolder;