@@ -6,7 +6,7 @@ const inquirer = require("inquirer");
66const { messagingListTopics } = require("./messaging");
77const { teamsList } = require("./teams");
88const { projectsGet } = require("./projects");
9- const { functionsList, functionsDownloadDeployment } = require("./functions");
9+ const { functionsList, functionsDownloadDeployment, functionsListDeployments } = require("./functions");
1010const { databasesGet, databasesListCollections, databasesList } = require("./databases");
1111const { storageListBuckets } = require("./storage");
1212const { localConfig } = require("../config");
@@ -108,10 +108,30 @@ const pullFunctions = async ({ code, withVariables }) => {
108108 if (allowCodePull) {
109109 log("Pulling active deployment's code ...");
110110
111+ let deploymentId = func['deployment'];
112+
113+ try {
114+ const fetchResponse = await functionsListDeployments({
115+ functionId: func['$id'],
116+ queries: [
117+ JSON.stringify({ method: 'limit', values: [1] }),
118+ JSON.stringify({ method: 'orderDesc', values: [''] })
119+ ],
120+ parseOutput: false
121+ });
122+
123+ if (fetchResponse['total'] > 0) {
124+ deploymentId = fetchResponse['deployments'][0]['$id'];
125+ }
126+
127+ } catch (e) {
128+ log("Can't get last deployment ID, using local value instead")
129+ }
130+
111131 const compressedFileName = `${func['$id']}-${+new Date()}.tar.gz`
112132 await functionsDownloadDeployment({
113133 functionId: func['$id'],
114- deploymentId: func['deployment'] ,
134+ deploymentId,
115135 destination: compressedFileName,
116136 overrideForCli: true,
117137 parseOutput: false
0 commit comments