Skip to content

Instantly share code, notes, and snippets.

@rootux
Created January 10, 2017 17:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rootux/86e71c48a905ec124e151c70c1a9a825 to your computer and use it in GitHub Desktop.
Save rootux/86e71c48a905ec124e151c70c1a9a825 to your computer and use it in GitHub Desktop.
Create a new dream folder and copy the budget file and send the link back - used with http://dreams.midburn.org
var dreamsPath = DriveApp.getFolderById('THE-ACTUAL-DRIVE-FOLDER-ID-CAN-BE-COPIED-FROM-URL');
var budgetTemplateFile = DriveApp.getFileById('THE-ACTUAL-DRIVE-BUDGET-FILE-ID-CAN-BE-COPIED-FROM-URL');
var budgetNewFileName = 'Budget - ';
function createDream(dreamerEmail, dreamId, dreamName) {
Logger.log("Got called with " + dreamerEmail +" " + dreamId + " " + dreamName);
var newFolder = createFolder_(dreamerEmail, dreamId,dreamName);
var templateFiles = copyTemplateFilesToFolder_(newFolder, dreamerEmail, dreamName);
var result = {};
result['id'] = newFolder.getUrl();
result['budget'] = templateFiles['budget'];
Logger.log(result);
return result;
}
function createFolder_(dreamerEmail, dreamId, dreamName) {
/* Create if the folder does not exist */
var folderName = dreamId + "-" + dreamName;
var newDreamFolder = dreamsPath.createFolder(folderName);
//newDreamFolder.addEditor(dreamerEmail); //Right now the decision is not to give access to the actual folder just files
return newDreamFolder;
}
function copyTemplateFilesToFolder_(destFolder, dreamerEmail, dreamName) {
var budgetFile = budgetTemplateFile.makeCopy(budgetNewFileName + dreamName, destFolder);
budgetFile.addEditor(dreamerEmail);
return {'budget': budgetFile.getUrl()};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment