Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Once the installation is complete, you can verify the install using

```sh
$ appwrite -v
0.14.0
0.15.0
```

### Install using prebuilt binaries
Expand Down Expand Up @@ -58,7 +58,7 @@ $ iwr -useb https://appwrite.io/cli/install.ps1 | iex
Once the installation completes, you can verify your install using
```
$ appwrite -v
0.14.0
0.15.0
```


Expand Down
4 changes: 2 additions & 2 deletions lib/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ class Client {
this.endpoint = 'https://HOSTNAME/v1';
this.headers = {
'content-type': '',
'x-sdk-version': 'appwrite:cli:0.14.0',
'User-Agent' : `AppwriteCLI/0.14.0 (${os.type()} ${os.version()}; ${os.arch()})`,
'x-sdk-version': 'appwrite:cli:0.15.0',
'User-Agent' : `AppwriteCLI/0.15.0 (${os.type()} ${os.version()}; ${os.arch()})`,
'X-Appwrite-Response-Format' : '0.12.0',
};
}
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/account.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const fs = require('fs');
const tar = require("tar");
const { promisify } = require('util');
const libClient = require('../client.js');
const childProcess = require('child_process');
const { Command } = require('commander');
const { sdkForProject, sdkForConsole } = require('../sdks')
const { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log } = require('../parser')
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/avatars.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const fs = require('fs');
const tar = require("tar");
const { promisify } = require('util');
const libClient = require('../client.js');
const childProcess = require('child_process');
const { Command } = require('commander');
const { sdkForProject, sdkForConsole } = require('../sdks')
const { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log } = require('../parser')
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/database.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const fs = require('fs');
const tar = require("tar");
const { promisify } = require('util');
const libClient = require('../client.js');
const childProcess = require('child_process');
const { Command } = require('commander');
const { sdkForProject, sdkForConsole } = require('../sdks')
const { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log } = require('../parser')
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/deploy.js
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ const deployFunction = async () => {
functionId: func['$id'],
name: func.name,
execute: func.execute,
vars: func.vars,
vars: response.vars,
events: func.events,
schedule: func.schedule,
timeout: func.timeout,
Expand Down
11 changes: 9 additions & 2 deletions lib/commands/functions.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const fs = require('fs');
const tar = require("tar");
const { promisify } = require('util');
const libClient = require('../client.js');
const childProcess = require('child_process');
const { Command } = require('commander');
const { sdkForProject, sdkForConsole } = require('../sdks')
const { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log } = require('../parser')
Expand Down Expand Up @@ -276,7 +276,14 @@ const functionsCreateDeployment = async ({ functionId, entrypoint, code, activat
let folderPath = fs.realpathSync(code);
if (!fs.lstatSync(folderPath).isDirectory())
throw new Error('The path is not a directory.');
childProcess.execSync(`tar --cd '${folderPath}' -zcvf code.tar.gz .`, { stdio: 'pipe' });

await tar
.create({
gzip: true,
sync: true,
cwd: folderPath,
file: 'code.tar.gz'
}, ['./'])
let archivePath = fs.realpathSync('code.tar.gz')
if (typeof archivePath !== 'undefined') {
payload['code'] = archivePath;
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/health.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const fs = require('fs');
const tar = require("tar");
const { promisify } = require('util');
const libClient = require('../client.js');
const childProcess = require('child_process');
const { Command } = require('commander');
const { sdkForProject, sdkForConsole } = require('../sdks')
const { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log } = require('../parser')
Expand Down
1 change: 0 additions & 1 deletion lib/commands/init.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,6 @@ const initFunction = async () => {
path: `functions/${answers.name}`,
entrypoint: answers.runtime.entrypoint || '',
execute: response.execute,
vars: response.vars,
events: response.events,
schedule: response.schedule,
timeout: response.timeout,
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/locale.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const fs = require('fs');
const tar = require("tar");
const { promisify } = require('util');
const libClient = require('../client.js');
const childProcess = require('child_process');
const { Command } = require('commander');
const { sdkForProject, sdkForConsole } = require('../sdks')
const { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log } = require('../parser')
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/projects.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const fs = require('fs');
const tar = require("tar");
const { promisify } = require('util');
const libClient = require('../client.js');
const childProcess = require('child_process');
const { Command } = require('commander');
const { sdkForProject, sdkForConsole } = require('../sdks')
const { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log } = require('../parser')
Expand Down
24 changes: 15 additions & 9 deletions lib/commands/storage.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const fs = require('fs');
const tar = require("tar");
const { promisify } = require('util');
const libClient = require('../client.js');
const childProcess = require('child_process');
const { Command } = require('commander');
const { sdkForProject, sdkForConsole } = require('../sdks')
const { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log } = require('../parser')
Expand Down Expand Up @@ -440,7 +440,7 @@ const storageGetFileDownload = async ({ bucketId, fileId, parseOutput = true, sd
}
}

const storageGetFilePreview = async ({ bucketId, fileId, width, height, gravity, quality, borderWidth, borderColor, borderRadius, opacity, rotation, background, output, parseOutput = true, sdk = undefined}) => {
const storageGetFilePreview = async ({ bucketId, fileId, width, height, gravity, quality, borderWidth, borderColor, borderRadius, opacity, rotation, background, output, parseOutput = true, sdk = undefined, destination}) => {
/* @param {string} bucketId */
/* @param {string} fileId */
/* @param {number} width */
Expand Down Expand Up @@ -493,16 +493,21 @@ const storageGetFilePreview = async ({ bucketId, fileId, width, height, gravity,
if (typeof output !== 'undefined') {
payload['output'] = output;
}
let response = undefined;
response = await client.call('get', path, {
payload['project'] = localConfig.getProject().projectId
payload['key'] = globalConfig.getKey();
const queryParams = new URLSearchParams(payload);
path = `${globalConfig.getEndpoint()}${path}?${queryParams.toString()}`;

const response = await client.call('get', path, {
'content-type': 'application/json',
}, payload);

if (parseOutput) {
parse(response)
}, payload, 'arraybuffer');

fs.writeFileSync(destination, response);

if (parseOutput) {
log(`File stored in ${destination}`)
success()
}
return response;
}

const storageGetFileView = async ({ bucketId, fileId, parseOutput = true, sdk = undefined, destination}) => {
Expand Down Expand Up @@ -699,6 +704,7 @@ storage
.option(`--rotation <rotation>`, `Preview image rotation in degrees. Pass an integer between -360 and 360.`, parseInteger)
.option(`--background <background>`, `Preview image background color. Only works with transparent images (png). Use a valid HEX color, no # is needed for prefix.`)
.option(`--output <output>`, `Output format type (jpeg, jpg, png, gif and webp).`)
.requiredOption(`--destination <path>`, `output file path.`)
.action(actionRunner(storageGetFilePreview))

storage
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/teams.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const fs = require('fs');
const tar = require("tar");
const { promisify } = require('util');
const libClient = require('../client.js');
const childProcess = require('child_process');
const { Command } = require('commander');
const { sdkForProject, sdkForConsole } = require('../sdks')
const { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log } = require('../parser')
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/users.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const fs = require('fs');
const tar = require("tar");
const { promisify } = require('util');
const libClient = require('../client.js');
const childProcess = require('child_process');
const { Command } = require('commander');
const { sdkForProject, sdkForConsole } = require('../sdks')
const { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log } = require('../parser')
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "appwrite-cli",
"homepage": "https://appwrite.io/support",
"description": "Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API",
"version": "0.14.0",
"version": "0.15.0",
"license": "BSD-3-Clause",
"main": "index.js",
"bin": {
Expand All @@ -27,7 +27,8 @@
"cli-table3": "^0.6.1",
"commander": "^8.3.0",
"form-data": "^4.0.0",
"inquirer": "^8.2.0"
"inquirer": "^8.2.0",
"tar": "^6.1.11"
},
"devDependencies": {
"pkg": "5.5.1"
Expand Down