From d32af691cd0ba4821b5578dae5127baf31e63ec5 Mon Sep 17 00:00:00 2001 From: Binyamin Yawitz <316103+byawitz@users.noreply.github.com> Date: Fri, 21 Jun 2024 09:04:20 -0400 Subject: [PATCH 01/19] feat: Adding register command --- templates/cli/index.js.twig | 3 ++- templates/cli/lib/commands/generic.js.twig | 7 +++++++ templates/cli/lib/parser.js.twig | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/templates/cli/index.js.twig b/templates/cli/index.js.twig index 39882577f..596d1b864 100644 --- a/templates/cli/index.js.twig +++ b/templates/cli/index.js.twig @@ -12,7 +12,7 @@ const { commandDescriptions, cliConfig } = require("./lib/parser"); const { client } = require("./lib/commands/generic"); const inquirer = require("inquirer"); {% if sdk.test != "true" %} -const { login, logout, whoami, migrate } = require("./lib/commands/generic"); +const { login, logout, whoami, migrate, register } = require("./lib/commands/generic"); const { init } = require("./lib/commands/init"); const { pull } = require("./lib/commands/pull"); const { run } = require("./lib/commands/run"); @@ -62,6 +62,7 @@ program .showSuggestionAfterError() {% if sdk.test != "true" %} .addCommand(whoami) + .addCommand(register) .addCommand(login) .addCommand(init) .addCommand(pull) diff --git a/templates/cli/lib/commands/generic.js.twig b/templates/cli/lib/commands/generic.js.twig index 1a258d664..b2634a2b3 100644 --- a/templates/cli/lib/commands/generic.js.twig +++ b/templates/cli/lib/commands/generic.js.twig @@ -128,6 +128,12 @@ const whoami = new Command("whoami") drawTable(data) })); +const register = new Command("register") + .description(commandDescriptions['register']) + .action(actionRunner(async () => { + log('Access https://cloud.appwrite.io/register to register an account') + })); + const login = new Command("login") .description(commandDescriptions['login']) .option(`--email [email]`, `User email`) @@ -299,6 +305,7 @@ module.exports = { {% if sdk.test != "true" %} loginCommand, whoami, + register, login, logout, {% endif %} diff --git a/templates/cli/lib/parser.js.twig b/templates/cli/lib/parser.js.twig index 44451e814..94292d82a 100644 --- a/templates/cli/lib/parser.js.twig +++ b/templates/cli/lib/parser.js.twig @@ -222,6 +222,7 @@ const commandDescriptions = { "login": `The login command allows you to authenticate and manage a user account.`, "logout": `The logout command allows you to logout of your {{ spec.title|caseUcfirst }} account.`, "whoami": `The whoami command gives information about the currently logged in user.`, + "register": `Prints link to register an {{ spec.title|caseUcfirst }} account..`, "console" : `The console command allows gives you access to the APIs used by the Appwrite console.`, "assistant": `The assistant command allows you to interact with the Appwrite Assistant AI`, "messaging": `The messaging command allows you to send messages.`, From 438cfb09a597af23b9ffdb945a081637e39e5bdb Mon Sep 17 00:00:00 2001 From: Binyamin Yawitz <316103+byawitz@users.noreply.github.com> Date: Fri, 21 Jun 2024 09:06:56 -0400 Subject: [PATCH 02/19] refactor: Local development error string. --- templates/cli/lib/questions.js.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/cli/lib/questions.js.twig b/templates/cli/lib/questions.js.twig index 17417a3b6..a39a0e170 100644 --- a/templates/cli/lib/questions.js.twig +++ b/templates/cli/lib/questions.js.twig @@ -781,7 +781,7 @@ const questionsRunFunctions = [ choices: () => { let functions = localConfig.getFunctions(); if (functions.length === 0) { - throw new Error("No functions found in the current directory."); + throw new Error("No functions found in the current directory, use 'appwrite init function' to create one"); } let choices = functions.map((func, idx) => { return { From 3b9d6adca3b805f0f88a8ac5a742bd39c28f8597 Mon Sep 17 00:00:00 2001 From: Binyamin Yawitz <316103+byawitz@users.noreply.github.com> Date: Fri, 21 Jun 2024 09:10:55 -0400 Subject: [PATCH 03/19] refactor: tip for invalid logins --- templates/cli/lib/commands/generic.js.twig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/templates/cli/lib/commands/generic.js.twig b/templates/cli/lib/commands/generic.js.twig index b2634a2b3..4e5dc9678 100644 --- a/templates/cli/lib/commands/generic.js.twig +++ b/templates/cli/lib/commands/generic.js.twig @@ -81,6 +81,9 @@ const loginCommand = async ({ email, password, endpoint, mfa, code }) => { } else { globalConfig.removeSession(id); globalConfig.setCurrentSession(oldCurrent); + if(endpoint !== DEFAULT_ENDPOINT && error.response === 'user_invalid_credentials'){ + log('remember to use --endpoint for self-hosted instances') + } throw error; } } From e8248bcd458c1aecec5c8922084fcdc4ae5cabee Mon Sep 17 00:00:00 2001 From: Binyamin Yawitz <316103+byawitz@users.noreply.github.com> Date: Fri, 21 Jun 2024 09:15:47 -0400 Subject: [PATCH 04/19] refactor: tip for no organizations --- templates/cli/lib/questions.js.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/cli/lib/questions.js.twig b/templates/cli/lib/questions.js.twig index a39a0e170..1c060f87d 100644 --- a/templates/cli/lib/questions.js.twig +++ b/templates/cli/lib/questions.js.twig @@ -163,7 +163,7 @@ const questionsInitProject = [ }) if (choices.length == 0) { - throw new Error("No organizations found. Please create a new organization.") + throw new Error(`No organizations found. Please create a new organization in this url ${globalConfig.getEndpoint().replace('/v1', '/console/onboarding')}`) } return choices; From fbd10ef6945e713762cc54c605e4477c8d47d17f Mon Sep 17 00:00:00 2001 From: Binyamin Yawitz <316103+byawitz@users.noreply.github.com> Date: Fri, 21 Jun 2024 09:23:26 -0400 Subject: [PATCH 05/19] fix: Show Organizations and Projects instead of an object --- templates/cli/lib/commands/init.js.twig | 8 ++++---- templates/cli/lib/questions.js.twig | 10 ++-------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/templates/cli/lib/commands/init.js.twig b/templates/cli/lib/commands/init.js.twig index 9b8db081c..a9bd8bc40 100644 --- a/templates/cli/lib/commands/init.js.twig +++ b/templates/cli/lib/commands/init.js.twig @@ -53,16 +53,16 @@ const initProject = async ({ organizationId, projectId, projectName } = {}) => { answers.project = {}; answers.organization = {}; - answers.organization.id = organizationId ?? (await inquirer.prompt(questionsInitProject[2])).organization; + answers.organization = organizationId ?? (await inquirer.prompt(questionsInitProject[2])).organization; answers.project.name = projectName ?? (await inquirer.prompt(questionsInitProject[3])).project; - answers.project.id = projectId ?? (await inquirer.prompt(questionsInitProject[4])).id; + answers.project = projectId ?? (await inquirer.prompt(questionsInitProject[4])).id; try { await projectsGet({ projectId, parseOutput: false }); } catch (e) { if (e.code === 404) { answers.start = 'new'; - answers.id = answers.project.id; + answers.id = answers.project; answers.project = answers.project.name; } else { throw e; @@ -74,7 +74,7 @@ const initProject = async ({ organizationId, projectId, projectName } = {}) => { response = await projectsCreate({ projectId: answers.id, name: answers.project, - teamId: answers.organization.id, + teamId: answers.organization, parseOutput: false }) diff --git a/templates/cli/lib/questions.js.twig b/templates/cli/lib/questions.js.twig index 1c060f87d..fd96c916d 100644 --- a/templates/cli/lib/questions.js.twig +++ b/templates/cli/lib/questions.js.twig @@ -155,10 +155,7 @@ const questionsInitProject = [ let choices = teams.map((team, idx) => { return { name: `${team.name} (${team['$id']})`, - value: { - name: team.name, - id: team['$id'] - } + value: team['$id'] } }) @@ -199,10 +196,7 @@ const questionsInitProject = [ let choices = projects.map((project) => { return { name: `${project.name} (${project['$id']})`, - value: { - name: project.name, - id: project['$id'] - } + value: project['$id'] } }) From 725fd50bd2497e5629a49a4c7f2c5934f9fdd865 Mon Sep 17 00:00:00 2001 From: Binyamin Yawitz <316103+byawitz@users.noreply.github.com> Date: Fri, 21 Jun 2024 09:28:32 -0400 Subject: [PATCH 06/19] fix: Add function success creation instructions --- templates/cli/lib/commands/init.js.twig | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/cli/lib/commands/init.js.twig b/templates/cli/lib/commands/init.js.twig index a9bd8bc40..2c818a094 100644 --- a/templates/cli/lib/commands/init.js.twig +++ b/templates/cli/lib/commands/init.js.twig @@ -273,6 +273,7 @@ const initFunction = async () => { localConfig.addFunction(data); success(); + log(`* use 'appwrite dev function' for local development\n${' '.repeat(7)}* use 'appwrite push functions' to push the function to your {{ spec.title|caseUcfirst }} instance`) } const init = new Command("init") From 237e38bc41d053a5b14c92079553633159070ead Mon Sep 17 00:00:00 2001 From: Binyamin Yawitz <316103+byawitz@users.noreply.github.com> Date: Fri, 21 Jun 2024 09:33:31 -0400 Subject: [PATCH 07/19] fix: some appwrite dev function fixes --- templates/cli/lib/commands/run.js.twig | 8 ++++---- templates/cli/lib/emulation/docker.js.twig | 5 +++++ templates/cli/lib/emulation/utils.js.twig | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/templates/cli/lib/commands/run.js.twig b/templates/cli/lib/commands/run.js.twig index 593bd5a84..e5574396d 100644 --- a/templates/cli/lib/commands/run.js.twig +++ b/templates/cli/lib/commands/run.js.twig @@ -55,7 +55,7 @@ const runFunction = async ({ port, functionId, noVariables, noReload, userId } = } if(!port) { - let portFound = fale; + let portFound = false; port = 3000; while(port < 3100) { const taken = await isPortTaken(port); @@ -194,7 +194,7 @@ const runFunction = async ({ port, functionId, noVariables, noReload, userId } = await dockerStart(func, variables, port); } else { log('Hot-swapping function files ...'); - + const functionPath = path.join(process.cwd(), func.path); const hotSwapPath = path.join(functionPath, '.appwrite/hot-swap'); const buildPath = path.join(functionPath, '.appwrite/build.tar.gz'); @@ -226,7 +226,7 @@ const runFunction = async ({ port, functionId, noVariables, noReload, userId } = const filePath = path.join(hotSwapPath, f); if (fs.existsSync(filePath)) { fs.rmSync(filePath, { force: true }); - } + } const fileDir = path.dirname(filePath); if (!fs.existsSync(fileDir)) { @@ -244,7 +244,7 @@ const runFunction = async ({ port, functionId, noVariables, noReload, userId } = cwd: hotSwapPath, file: buildPath }, ['.']); - + fs.rmSync(hotSwapPath, { recursive: true, force: true }); await dockerStart(func, variables, port); diff --git a/templates/cli/lib/emulation/docker.js.twig b/templates/cli/lib/emulation/docker.js.twig index 08544ad97..dce468a10 100644 --- a/templates/cli/lib/emulation/docker.js.twig +++ b/templates/cli/lib/emulation/docker.js.twig @@ -1,3 +1,8 @@ +const childProcess = require('child_process'); +const { localConfig } = require("../config"); +const path = require('path'); +const fs = require('fs'); + const activeDockerIds = {}; async function dockerStop(id) { diff --git a/templates/cli/lib/emulation/utils.js.twig b/templates/cli/lib/emulation/utils.js.twig index eefa096b6..8e22eb703 100644 --- a/templates/cli/lib/emulation/utils.js.twig +++ b/templates/cli/lib/emulation/utils.js.twig @@ -1,4 +1,5 @@ const EventEmitter = require('node:events'); +const { projectsCreateJWT } = require('../commands/projects'); const openRuntimesVersion = 'v3'; From 7fe7fad1e350562d339d0b31fbd96c0b4f44c109 Mon Sep 17 00:00:00 2001 From: Binyamin Yawitz <316103+byawitz@users.noreply.github.com> Date: Fri, 21 Jun 2024 09:42:16 -0400 Subject: [PATCH 08/19] fix: project init --- templates/cli/lib/commands/init.js.twig | 2 +- templates/cli/lib/config.js.twig | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/templates/cli/lib/commands/init.js.twig b/templates/cli/lib/commands/init.js.twig index 2c818a094..a79f171bc 100644 --- a/templates/cli/lib/commands/init.js.twig +++ b/templates/cli/lib/commands/init.js.twig @@ -80,7 +80,7 @@ const initProject = async ({ organizationId, projectId, projectName } = {}) => { localConfig.setProject(response['$id']); } else { - localConfig.setProject(answers.project.id); + localConfig.setProject(answers.project); } success(); diff --git a/templates/cli/lib/config.js.twig b/templates/cli/lib/config.js.twig index c454a2558..93a0ff591 100644 --- a/templates/cli/lib/config.js.twig +++ b/templates/cli/lib/config.js.twig @@ -333,13 +333,16 @@ class Local extends Config { }; } - setProject(projectId, projectName = '', projectSettings = {}) { + setProject(projectId, projectName = '', projectSettings = undefined) { this.set("projectId", projectId); if (projectName !== '') { this.set("projectName", projectName); } + if(projectSettings === undefined){ + return; + } const settings = { services: { From fa697208f15de5fa6c9e459865a91409083a5d93 Mon Sep 17 00:00:00 2001 From: Binyamin Yawitz <316103+byawitz@users.noreply.github.com> Date: Fri, 21 Jun 2024 09:47:17 -0400 Subject: [PATCH 09/19] fix: updating pulling scheme for 1.6.x branch --- example.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example.php b/example.php index bcfdc2c5f..a9e158e73 100644 --- a/example.php +++ b/example.php @@ -42,7 +42,7 @@ function getSSLPage($url) { $platform = 'console'; // $platform = 'server'; - $spec = getSSLPage("https://raw.githubusercontent.com/appwrite/appwrite/1.5.x/app/config/specs/swagger2-latest-{$platform}.json"); + $spec = getSSLPage("https://raw.githubusercontent.com/appwrite/appwrite/1.6.x/app/config/specs/swagger2-latest-{$platform}.json"); if(empty($spec)) { throw new Exception('Failed to fetch spec from Appwrite server'); From 1bd130ad570a0444de6848fdb90eb9d39a18226c Mon Sep 17 00:00:00 2001 From: Binyamin Yawitz <316103+byawitz@users.noreply.github.com> Date: Fri, 21 Jun 2024 10:12:30 -0400 Subject: [PATCH 10/19] fix: undefined old session --- templates/cli/lib/config.js.twig | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/templates/cli/lib/config.js.twig b/templates/cli/lib/config.js.twig index 93a0ff591..d02194aaa 100644 --- a/templates/cli/lib/config.js.twig +++ b/templates/cli/lib/config.js.twig @@ -417,8 +417,10 @@ class Global extends Config { return this.get(Global.PREFERENCE_CURRENT); } - setCurrentSession(endpoint) { - this.set(Global.PREFERENCE_CURRENT, endpoint); + setCurrentSession(session) { + if(session !== undefined) { + this.set(Global.PREFERENCE_CURRENT, session); + } } getSessionIds() { From 6e0412cd5181484d4900f0924ca8e45bcea681b0 Mon Sep 17 00:00:00 2001 From: Binyamin Yawitz <316103+byawitz@users.noreply.github.com> Date: Fri, 21 Jun 2024 10:21:28 -0400 Subject: [PATCH 11/19] fix: local dev --- templates/cli/lib/emulation/docker.js.twig | 3 +++ templates/cli/lib/emulation/utils.js.twig | 2 ++ 2 files changed, 5 insertions(+) diff --git a/templates/cli/lib/emulation/docker.js.twig b/templates/cli/lib/emulation/docker.js.twig index dce468a10..fe5033955 100644 --- a/templates/cli/lib/emulation/docker.js.twig +++ b/templates/cli/lib/emulation/docker.js.twig @@ -2,6 +2,9 @@ const childProcess = require('child_process'); const { localConfig } = require("../config"); const path = require('path'); const fs = require('fs'); +const { log,success } = require("../parser"); +const { openRuntimesVersion, systemTools } = require("./utils"); +const ID = require("../id"); const activeDockerIds = {}; diff --git a/templates/cli/lib/emulation/utils.js.twig b/templates/cli/lib/emulation/utils.js.twig index 8e22eb703..d36d5cda0 100644 --- a/templates/cli/lib/emulation/utils.js.twig +++ b/templates/cli/lib/emulation/utils.js.twig @@ -1,5 +1,7 @@ const EventEmitter = require('node:events'); const { projectsCreateJWT } = require('../commands/projects'); +const { localConfig } = require("../config"); + const openRuntimesVersion = 'v3'; From c9d4570cceb398de9e2898a436a025f54a8247b1 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Tue, 25 Jun 2024 13:24:10 +0400 Subject: [PATCH 12/19] Update templates/cli/lib/commands/generic.js.twig --- templates/cli/lib/commands/generic.js.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/cli/lib/commands/generic.js.twig b/templates/cli/lib/commands/generic.js.twig index 4e5dc9678..491deb635 100644 --- a/templates/cli/lib/commands/generic.js.twig +++ b/templates/cli/lib/commands/generic.js.twig @@ -82,7 +82,7 @@ const loginCommand = async ({ email, password, endpoint, mfa, code }) => { globalConfig.removeSession(id); globalConfig.setCurrentSession(oldCurrent); if(endpoint !== DEFAULT_ENDPOINT && error.response === 'user_invalid_credentials'){ - log('remember to use --endpoint for self-hosted instances') + log('Use the --endpoint option for self-hosted instances') } throw error; } From 0d04b38c6bbc1462220b7f6d85693f51aa1d2697 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Tue, 25 Jun 2024 13:24:16 +0400 Subject: [PATCH 13/19] Update templates/cli/lib/commands/generic.js.twig --- templates/cli/lib/commands/generic.js.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/cli/lib/commands/generic.js.twig b/templates/cli/lib/commands/generic.js.twig index 491deb635..6d237e3a7 100644 --- a/templates/cli/lib/commands/generic.js.twig +++ b/templates/cli/lib/commands/generic.js.twig @@ -134,7 +134,7 @@ const whoami = new Command("whoami") const register = new Command("register") .description(commandDescriptions['register']) .action(actionRunner(async () => { - log('Access https://cloud.appwrite.io/register to register an account') + log('Visit https://cloud.appwrite.io/register to create an account') })); const login = new Command("login") From c09ea496dd2690af5cfacb361a7d7cff55223f98 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Tue, 25 Jun 2024 13:24:24 +0400 Subject: [PATCH 14/19] Update templates/cli/lib/commands/init.js.twig --- templates/cli/lib/commands/init.js.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/cli/lib/commands/init.js.twig b/templates/cli/lib/commands/init.js.twig index a79f171bc..f0293da5e 100644 --- a/templates/cli/lib/commands/init.js.twig +++ b/templates/cli/lib/commands/init.js.twig @@ -273,7 +273,7 @@ const initFunction = async () => { localConfig.addFunction(data); success(); - log(`* use 'appwrite dev function' for local development\n${' '.repeat(7)}* use 'appwrite push functions' to push the function to your {{ spec.title|caseUcfirst }} instance`) + log(`* Use 'appwrite dev function' for local development\n${' '.repeat(7)}* Use 'appwrite push functions' to push the function to your {{ spec.title|caseUcfirst }} instance`) } const init = new Command("init") From bc6f25e8efeffb0facc4c511bc773c041082f985 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Tue, 25 Jun 2024 13:24:32 +0400 Subject: [PATCH 15/19] Update templates/cli/lib/questions.js.twig --- templates/cli/lib/questions.js.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/cli/lib/questions.js.twig b/templates/cli/lib/questions.js.twig index fd96c916d..4d5df9bf5 100644 --- a/templates/cli/lib/questions.js.twig +++ b/templates/cli/lib/questions.js.twig @@ -775,7 +775,7 @@ const questionsRunFunctions = [ choices: () => { let functions = localConfig.getFunctions(); if (functions.length === 0) { - throw new Error("No functions found in the current directory, use 'appwrite init function' to create one"); + throw new Error("No functions found in the current directory. Use 'appwrite init function' to create one"); } let choices = functions.map((func, idx) => { return { From 80509c5998a636ce89db0f023b9d4712afe83977 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Tue, 25 Jun 2024 13:24:37 +0400 Subject: [PATCH 16/19] Update templates/cli/lib/questions.js.twig --- templates/cli/lib/questions.js.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/cli/lib/questions.js.twig b/templates/cli/lib/questions.js.twig index 4d5df9bf5..e0afdffbc 100644 --- a/templates/cli/lib/questions.js.twig +++ b/templates/cli/lib/questions.js.twig @@ -160,7 +160,7 @@ const questionsInitProject = [ }) if (choices.length == 0) { - throw new Error(`No organizations found. Please create a new organization in this url ${globalConfig.getEndpoint().replace('/v1', '/console/onboarding')}`) + throw new Error(`No organizations found. Please create a new organization at ${globalConfig.getEndpoint().replace('/v1', '/console/onboarding')}`) } return choices; From eec04ca39368ee90a8485969ab6936a6eae0c33f Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Tue, 25 Jun 2024 13:24:50 +0400 Subject: [PATCH 17/19] Update templates/cli/lib/config.js.twig --- templates/cli/lib/config.js.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/cli/lib/config.js.twig b/templates/cli/lib/config.js.twig index d02194aaa..8e263ba77 100644 --- a/templates/cli/lib/config.js.twig +++ b/templates/cli/lib/config.js.twig @@ -340,7 +340,7 @@ class Local extends Config { this.set("projectName", projectName); } - if(projectSettings === undefined){ + if (projectSettings === undefined) { return; } From b07adcb3e8ecfd227266e3c192777a0397c5cf31 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Tue, 25 Jun 2024 13:24:58 +0400 Subject: [PATCH 18/19] Update templates/cli/lib/config.js.twig --- templates/cli/lib/config.js.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/cli/lib/config.js.twig b/templates/cli/lib/config.js.twig index 8e263ba77..f4f152a15 100644 --- a/templates/cli/lib/config.js.twig +++ b/templates/cli/lib/config.js.twig @@ -418,7 +418,7 @@ class Global extends Config { } setCurrentSession(session) { - if(session !== undefined) { + if (session !== undefined) { this.set(Global.PREFERENCE_CURRENT, session); } } From 8405ebb29fed39fca8f0a49301e0ebcd2ccb39dd Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Tue, 25 Jun 2024 13:29:03 +0400 Subject: [PATCH 19/19] Update templates/cli/lib/parser.js.twig --- templates/cli/lib/parser.js.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/cli/lib/parser.js.twig b/templates/cli/lib/parser.js.twig index 94292d82a..12358131e 100644 --- a/templates/cli/lib/parser.js.twig +++ b/templates/cli/lib/parser.js.twig @@ -222,7 +222,7 @@ const commandDescriptions = { "login": `The login command allows you to authenticate and manage a user account.`, "logout": `The logout command allows you to logout of your {{ spec.title|caseUcfirst }} account.`, "whoami": `The whoami command gives information about the currently logged in user.`, - "register": `Prints link to register an {{ spec.title|caseUcfirst }} account..`, + "register": `Outputs the link to create an {{ spec.title|caseUcfirst }} account..`, "console" : `The console command allows gives you access to the APIs used by the Appwrite console.`, "assistant": `The assistant command allows you to interact with the Appwrite Assistant AI`, "messaging": `The messaging command allows you to send messages.`,