appwrite-cli 13.1.0-rc.2 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +2 -2
  3. package/dist/bundle-win-arm64.mjs +378 -221
  4. package/dist/cli.cjs +146341 -0
  5. package/dist/index.js +110592 -10
  6. package/dist/lib/commands/generate.d.ts +3 -0
  7. package/dist/lib/commands/generate.d.ts.map +1 -1
  8. package/dist/lib/commands/generators/base.d.ts.map +1 -1
  9. package/dist/lib/commands/generators/typescript/databases.d.ts +4 -0
  10. package/dist/lib/commands/generators/typescript/databases.d.ts.map +1 -1
  11. package/dist/lib/commands/generic.d.ts.map +1 -1
  12. package/dist/lib/commands/init.d.ts.map +1 -1
  13. package/dist/lib/commands/pull.d.ts.map +1 -1
  14. package/dist/lib/commands/push.d.ts.map +1 -1
  15. package/dist/lib/commands/types.d.ts.map +1 -1
  16. package/dist/lib/constants.d.ts +1 -1
  17. package/dist/lib/constants.d.ts.map +1 -1
  18. package/dist/lib/parser.d.ts.map +1 -1
  19. package/dist/lib/shared/typescript-type-utils.d.ts +6 -18
  20. package/dist/lib/shared/typescript-type-utils.d.ts.map +1 -1
  21. package/dist/lib/type-generation/languages/csharp.d.ts.map +1 -1
  22. package/dist/lib/type-generation/languages/dart.d.ts +2 -1
  23. package/dist/lib/type-generation/languages/dart.d.ts.map +1 -1
  24. package/dist/lib/type-generation/languages/java.d.ts.map +1 -1
  25. package/dist/lib/type-generation/languages/javascript.d.ts.map +1 -1
  26. package/dist/lib/type-generation/languages/kotlin.d.ts.map +1 -1
  27. package/dist/lib/type-generation/languages/language.d.ts +15 -15
  28. package/dist/lib/type-generation/languages/language.d.ts.map +1 -1
  29. package/dist/lib/type-generation/languages/php.d.ts.map +1 -1
  30. package/dist/lib/type-generation/languages/swift.d.ts.map +1 -1
  31. package/dist/lib/type-generation/languages/typescript.d.ts +2 -1
  32. package/dist/lib/type-generation/languages/typescript.d.ts.map +1 -1
  33. package/docs/examples/health/get-queue-audits.md +1 -0
  34. package/install.ps1 +2 -2
  35. package/install.sh +1 -1
  36. package/lib/commands/generate.ts +52 -13
  37. package/lib/commands/generators/base.ts +4 -0
  38. package/lib/commands/generators/typescript/databases.ts +116 -27
  39. package/lib/commands/generators/typescript/templates/constants.ts.hbs +1 -1
  40. package/lib/commands/generators/typescript/templates/databases.ts.hbs +110 -37
  41. package/lib/commands/generators/typescript/templates/types.ts.hbs +24 -1
  42. package/lib/commands/generic.ts +38 -4
  43. package/lib/commands/init.ts +28 -41
  44. package/lib/commands/pull.ts +12 -4
  45. package/lib/commands/push.ts +15 -4
  46. package/lib/commands/services/health.ts +11 -0
  47. package/lib/commands/types.ts +8 -2
  48. package/lib/constants.ts +1 -1
  49. package/lib/parser.ts +1 -0
  50. package/lib/shared/typescript-type-utils.ts +16 -55
  51. package/lib/type-generation/languages/csharp.ts +4 -9
  52. package/lib/type-generation/languages/dart.ts +72 -31
  53. package/lib/type-generation/languages/java.ts +5 -9
  54. package/lib/type-generation/languages/javascript.ts +3 -10
  55. package/lib/type-generation/languages/kotlin.ts +5 -9
  56. package/lib/type-generation/languages/language.ts +56 -16
  57. package/lib/type-generation/languages/php.ts +5 -9
  58. package/lib/type-generation/languages/swift.ts +5 -13
  59. package/lib/type-generation/languages/typescript.ts +45 -8
  60. package/package.json +7 -4
  61. package/scoop/appwrite.config.json +3 -3
  62. package/dist/cli.js +0 -147
  63. package/dist/cli.js.map +0 -1
  64. package/dist/index.js.map +0 -1
  65. package/dist/lib/client.js +0 -238
  66. package/dist/lib/client.js.map +0 -1
  67. package/dist/lib/commands/config-validations.js +0 -130
  68. package/dist/lib/commands/config-validations.js.map +0 -1
  69. package/dist/lib/commands/config.js +0 -405
  70. package/dist/lib/commands/config.js.map +0 -1
  71. package/dist/lib/commands/errors.js +0 -72
  72. package/dist/lib/commands/errors.js.map +0 -1
  73. package/dist/lib/commands/generate.js +0 -102
  74. package/dist/lib/commands/generate.js.map +0 -1
  75. package/dist/lib/commands/generators/base.js +0 -27
  76. package/dist/lib/commands/generators/base.js.map +0 -1
  77. package/dist/lib/commands/generators/index.js +0 -55
  78. package/dist/lib/commands/generators/index.js.map +0 -1
  79. package/dist/lib/commands/generators/language-detector.js +0 -127
  80. package/dist/lib/commands/generators/language-detector.js.map +0 -1
  81. package/dist/lib/commands/generators/typescript/databases.js +0 -265
  82. package/dist/lib/commands/generators/typescript/databases.js.map +0 -1
  83. package/dist/lib/commands/generic.js +0 -292
  84. package/dist/lib/commands/generic.js.map +0 -1
  85. package/dist/lib/commands/init.js +0 -527
  86. package/dist/lib/commands/init.js.map +0 -1
  87. package/dist/lib/commands/pull.js +0 -658
  88. package/dist/lib/commands/pull.js.map +0 -1
  89. package/dist/lib/commands/push.js +0 -1855
  90. package/dist/lib/commands/push.js.map +0 -1
  91. package/dist/lib/commands/run.js +0 -289
  92. package/dist/lib/commands/run.js.map +0 -1
  93. package/dist/lib/commands/schema.js +0 -86
  94. package/dist/lib/commands/schema.js.map +0 -1
  95. package/dist/lib/commands/services/account.js +0 -328
  96. package/dist/lib/commands/services/account.js.map +0 -1
  97. package/dist/lib/commands/services/console.js +0 -28
  98. package/dist/lib/commands/services/console.js.map +0 -1
  99. package/dist/lib/commands/services/databases.js +0 -620
  100. package/dist/lib/commands/services/databases.js.map +0 -1
  101. package/dist/lib/commands/services/functions.js +0 -266
  102. package/dist/lib/commands/services/functions.js.map +0 -1
  103. package/dist/lib/commands/services/graphql.js +0 -28
  104. package/dist/lib/commands/services/graphql.js.map +0 -1
  105. package/dist/lib/commands/services/health.js +0 -123
  106. package/dist/lib/commands/services/health.js.map +0 -1
  107. package/dist/lib/commands/services/locale.js +0 -52
  108. package/dist/lib/commands/services/locale.js.map +0 -1
  109. package/dist/lib/commands/services/messaging.js +0 -505
  110. package/dist/lib/commands/services/messaging.js.map +0 -1
  111. package/dist/lib/commands/services/migrations.js +0 -135
  112. package/dist/lib/commands/services/migrations.js.map +0 -1
  113. package/dist/lib/commands/services/project.js +0 -54
  114. package/dist/lib/commands/services/project.js.map +0 -1
  115. package/dist/lib/commands/services/projects.js +0 -421
  116. package/dist/lib/commands/services/projects.js.map +0 -1
  117. package/dist/lib/commands/services/proxy.js +0 -68
  118. package/dist/lib/commands/services/proxy.js.map +0 -1
  119. package/dist/lib/commands/services/sites.js +0 -250
  120. package/dist/lib/commands/services/sites.js.map +0 -1
  121. package/dist/lib/commands/services/storage.js +0 -175
  122. package/dist/lib/commands/services/storage.js.map +0 -1
  123. package/dist/lib/commands/services/tables-db.js +0 -613
  124. package/dist/lib/commands/services/tables-db.js.map +0 -1
  125. package/dist/lib/commands/services/teams.js +0 -123
  126. package/dist/lib/commands/services/teams.js.map +0 -1
  127. package/dist/lib/commands/services/tokens.js +0 -49
  128. package/dist/lib/commands/services/tokens.js.map +0 -1
  129. package/dist/lib/commands/services/users.js +0 -312
  130. package/dist/lib/commands/services/users.js.map +0 -1
  131. package/dist/lib/commands/services/vcs.js +0 -87
  132. package/dist/lib/commands/services/vcs.js.map +0 -1
  133. package/dist/lib/commands/types.js +0 -151
  134. package/dist/lib/commands/types.js.map +0 -1
  135. package/dist/lib/commands/update.js +0 -202
  136. package/dist/lib/commands/update.js.map +0 -1
  137. package/dist/lib/commands/utils/attributes.js +0 -538
  138. package/dist/lib/commands/utils/attributes.js.map +0 -1
  139. package/dist/lib/commands/utils/change-approval.js +0 -129
  140. package/dist/lib/commands/utils/change-approval.js.map +0 -1
  141. package/dist/lib/commands/utils/database-sync.js +0 -136
  142. package/dist/lib/commands/utils/database-sync.js.map +0 -1
  143. package/dist/lib/commands/utils/deployment.js +0 -109
  144. package/dist/lib/commands/utils/deployment.js.map +0 -1
  145. package/dist/lib/commands/utils/error-formatter.js +0 -333
  146. package/dist/lib/commands/utils/error-formatter.js.map +0 -1
  147. package/dist/lib/commands/utils/pools.js +0 -164
  148. package/dist/lib/commands/utils/pools.js.map +0 -1
  149. package/dist/lib/config.js +0 -665
  150. package/dist/lib/config.js.map +0 -1
  151. package/dist/lib/constants.js +0 -19
  152. package/dist/lib/constants.js.map +0 -1
  153. package/dist/lib/emulation/docker.js +0 -237
  154. package/dist/lib/emulation/docker.js.map +0 -1
  155. package/dist/lib/emulation/utils.js +0 -165
  156. package/dist/lib/emulation/utils.js.map +0 -1
  157. package/dist/lib/id.js +0 -27
  158. package/dist/lib/id.js.map +0 -1
  159. package/dist/lib/json.js +0 -25
  160. package/dist/lib/json.js.map +0 -1
  161. package/dist/lib/paginate.js +0 -43
  162. package/dist/lib/paginate.js.map +0 -1
  163. package/dist/lib/parser.js +0 -226
  164. package/dist/lib/parser.js.map +0 -1
  165. package/dist/lib/questions.js +0 -1005
  166. package/dist/lib/questions.js.map +0 -1
  167. package/dist/lib/sdks.js +0 -60
  168. package/dist/lib/sdks.js.map +0 -1
  169. package/dist/lib/services.js +0 -47
  170. package/dist/lib/services.js.map +0 -1
  171. package/dist/lib/shared/typescript-type-utils.js +0 -155
  172. package/dist/lib/shared/typescript-type-utils.js.map +0 -1
  173. package/dist/lib/spinner.js +0 -91
  174. package/dist/lib/spinner.js.map +0 -1
  175. package/dist/lib/type-generation/attribute.js +0 -16
  176. package/dist/lib/type-generation/attribute.js.map +0 -1
  177. package/dist/lib/type-generation/languages/csharp.js +0 -180
  178. package/dist/lib/type-generation/languages/csharp.js.map +0 -1
  179. package/dist/lib/type-generation/languages/dart.js +0 -197
  180. package/dist/lib/type-generation/languages/dart.js.map +0 -1
  181. package/dist/lib/type-generation/languages/java.js +0 -140
  182. package/dist/lib/type-generation/languages/java.js.map +0 -1
  183. package/dist/lib/type-generation/languages/javascript.js +0 -109
  184. package/dist/lib/type-generation/languages/javascript.js.map +0 -1
  185. package/dist/lib/type-generation/languages/kotlin.js +0 -95
  186. package/dist/lib/type-generation/languages/kotlin.js.map +0 -1
  187. package/dist/lib/type-generation/languages/language.js +0 -77
  188. package/dist/lib/type-generation/languages/language.js.map +0 -1
  189. package/dist/lib/type-generation/languages/php.js +0 -116
  190. package/dist/lib/type-generation/languages/php.js.map +0 -1
  191. package/dist/lib/type-generation/languages/swift.js +0 -179
  192. package/dist/lib/type-generation/languages/swift.js.map +0 -1
  193. package/dist/lib/type-generation/languages/typescript.js +0 -63
  194. package/dist/lib/type-generation/languages/typescript.js.map +0 -1
  195. package/dist/lib/types.js +0 -2
  196. package/dist/lib/types.js.map +0 -1
  197. package/dist/lib/utils.js +0 -166
  198. package/dist/lib/utils.js.map +0 -1
  199. package/dist/lib/validations.js +0 -16
  200. package/dist/lib/validations.js.map +0 -1
  201. package/dist/package.json +0 -70
@@ -1,292 +0,0 @@
1
- import inquirer from "inquirer";
2
- import { Command } from "commander";
3
- import { Client } from "@appwrite.io/console";
4
- import { sdkForConsole } from "../sdks.js";
5
- import { globalConfig, localConfig } from "../config.js";
6
- import { actionRunner, success, parseBool, commandDescriptions, error, parse, hint, log, drawTable, cliConfig, } from "../parser.js";
7
- import ID from "../id.js";
8
- import { questionsLogin, questionsLogout, questionsListFactors, questionsMFAChallenge, } from "../questions.js";
9
- import { Account } from "@appwrite.io/console";
10
- import ClientLegacy from "../client.js";
11
- const DEFAULT_ENDPOINT = "https://cloud.appwrite.io/v1";
12
- export const loginCommand = async ({ email, password, endpoint, mfa, code, }) => {
13
- const oldCurrent = globalConfig.getCurrentSession();
14
- const configEndpoint = (endpoint ?? globalConfig.getEndpoint()) || DEFAULT_ENDPOINT;
15
- if (globalConfig.getCurrentSession() !== "") {
16
- log("You are currently signed in as " + globalConfig.getEmail());
17
- if (globalConfig.getSessions().length === 1) {
18
- hint("You can sign in and manage multiple accounts with Appwrite CLI");
19
- }
20
- }
21
- const answers = email && password
22
- ? { email, password }
23
- : await inquirer.prompt(questionsLogin);
24
- if (!answers.method) {
25
- answers.method = "login";
26
- }
27
- if (answers.method === "select") {
28
- const accountId = answers.accountId;
29
- if (!globalConfig.getSessionIds().includes(accountId)) {
30
- throw Error("Session ID not found");
31
- }
32
- globalConfig.setCurrentSession(accountId);
33
- success(`Current account is ${accountId}`);
34
- return;
35
- }
36
- const id = ID.unique();
37
- globalConfig.addSession(id, { endpoint: configEndpoint });
38
- globalConfig.setCurrentSession(id);
39
- globalConfig.setEndpoint(configEndpoint);
40
- globalConfig.setEmail(answers.email);
41
- // Use legacy client for login to extract cookies from response
42
- const legacyClient = new ClientLegacy();
43
- legacyClient.setEndpoint(configEndpoint);
44
- legacyClient.setProject("console");
45
- if (globalConfig.getSelfSigned()) {
46
- legacyClient.setSelfSigned(true);
47
- }
48
- let client = await sdkForConsole(false);
49
- let accountClient = new Account(client);
50
- let account;
51
- try {
52
- await legacyClient.call("POST", "/account/sessions/email", {
53
- "content-type": "application/json",
54
- }, {
55
- email: answers.email,
56
- password: answers.password,
57
- });
58
- const savedCookie = globalConfig.getCookie();
59
- if (savedCookie) {
60
- legacyClient.setCookie(savedCookie);
61
- client.setCookie(savedCookie);
62
- }
63
- accountClient = new Account(client);
64
- account = await accountClient.get();
65
- }
66
- catch (err) {
67
- if (err.type === "user_more_factors_required" ||
68
- err.response === "user_more_factors_required") {
69
- const { factor } = mfa
70
- ? { factor: mfa }
71
- : await inquirer.prompt(questionsListFactors);
72
- const challenge = await accountClient.createMfaChallenge(factor);
73
- const { otp } = code
74
- ? { otp: code }
75
- : await inquirer.prompt(questionsMFAChallenge);
76
- await legacyClient.call("PUT", "/account/mfa/challenges", {
77
- "content-type": "application/json",
78
- }, {
79
- challengeId: challenge.$id,
80
- otp: otp,
81
- });
82
- const savedCookie = globalConfig.getCookie();
83
- if (savedCookie) {
84
- client.setCookie(savedCookie);
85
- }
86
- accountClient = new Account(client);
87
- account = await accountClient.get();
88
- }
89
- else {
90
- globalConfig.removeSession(id);
91
- globalConfig.setCurrentSession(oldCurrent);
92
- if (endpoint !== DEFAULT_ENDPOINT &&
93
- (err.type === "user_invalid_credentials" ||
94
- err.response === "user_invalid_credentials")) {
95
- log("Use the --endpoint option for self-hosted instances");
96
- }
97
- throw err;
98
- }
99
- }
100
- success("Successfully signed in as " + account.email);
101
- hint("Next you can create or link to your project using 'appwrite init project'");
102
- };
103
- export const whoami = new Command("whoami")
104
- .description(commandDescriptions["whoami"])
105
- .action(actionRunner(async () => {
106
- if (globalConfig.getEndpoint() === "" ||
107
- globalConfig.getCookie() === "") {
108
- error("No user is signed in. To sign in, run 'appwrite login'");
109
- return;
110
- }
111
- let client = await sdkForConsole(false);
112
- let accountClient = new Account(client);
113
- let account;
114
- try {
115
- account = await accountClient.get();
116
- }
117
- catch (_) {
118
- error("No user is signed in. To sign in, run 'appwrite login'");
119
- return;
120
- }
121
- const data = [
122
- {
123
- ID: account.$id,
124
- Name: account.name,
125
- Email: account.email,
126
- "MFA enabled": account.mfa ? "Yes" : "No",
127
- Endpoint: globalConfig.getEndpoint(),
128
- },
129
- ];
130
- if (cliConfig.json) {
131
- console.log(data);
132
- return;
133
- }
134
- drawTable(data);
135
- }));
136
- export const register = new Command("register")
137
- .description(commandDescriptions["register"])
138
- .action(actionRunner(async () => {
139
- log("Visit https://cloud.appwrite.io/register to create an account");
140
- }));
141
- export const login = new Command("login")
142
- .description(commandDescriptions["login"])
143
- .option(`--email [email]`, `User email`)
144
- .option(`--password [password]`, `User password`)
145
- .option(`--endpoint [endpoint]`, `Appwrite endpoint for self hosted instances`)
146
- .option(`--mfa [factor]`, `Multi-factor authentication login factor: totp, email, phone or recoveryCode`)
147
- .option(`--code [code]`, `Multi-factor code`)
148
- .configureHelp({
149
- helpWidth: process.stdout.columns || 80,
150
- })
151
- .action(actionRunner(loginCommand));
152
- const deleteSession = async (accountId) => {
153
- try {
154
- let client = await sdkForConsole();
155
- let accountClient = new Account(client);
156
- await accountClient.deleteSession("current");
157
- }
158
- catch (e) {
159
- error("Unable to log out, removing locally saved session information");
160
- }
161
- finally {
162
- globalConfig.removeSession(accountId);
163
- }
164
- };
165
- export const logout = new Command("logout")
166
- .description(commandDescriptions["logout"])
167
- .configureHelp({
168
- helpWidth: process.stdout.columns || 80,
169
- })
170
- .action(actionRunner(async () => {
171
- const sessions = globalConfig.getSessions();
172
- const current = globalConfig.getCurrentSession();
173
- if (current === "" || !sessions.length) {
174
- log("No active sessions found.");
175
- return;
176
- }
177
- if (sessions.length === 1) {
178
- await deleteSession(current);
179
- globalConfig.setCurrentSession("");
180
- success("Logging out");
181
- return;
182
- }
183
- const answers = await inquirer.prompt(questionsLogout);
184
- if (answers.accounts) {
185
- for (let accountId of answers.accounts) {
186
- globalConfig.setCurrentSession(accountId);
187
- await deleteSession(accountId);
188
- }
189
- }
190
- const remainingSessions = globalConfig.getSessions();
191
- if (remainingSessions.length > 0 &&
192
- remainingSessions.filter((session) => session.id === current)
193
- .length !== 1) {
194
- const accountId = remainingSessions[0].id;
195
- globalConfig.setCurrentSession(accountId);
196
- success(`Current account is ${accountId}`);
197
- }
198
- else if (remainingSessions.length === 0) {
199
- globalConfig.setCurrentSession("");
200
- }
201
- success("Logging out");
202
- }));
203
- export const client = new Command("client")
204
- .description(commandDescriptions["client"])
205
- .configureHelp({
206
- helpWidth: process.stdout.columns || 80,
207
- })
208
- .option("-ss, --self-signed <value>", "Configure the CLI to use a self-signed certificate ( true or false )", parseBool)
209
- .option("-e, --endpoint <endpoint>", "Set your Appwrite server endpoint")
210
- .option("-p, --project-id <project-id>", "Set your Appwrite project ID")
211
- .option("-k, --key <key>", "Set your Appwrite server's API key")
212
- .option("-d, --debug", "Print CLI debug information")
213
- .option("-r, --reset", "Reset the CLI configuration")
214
- .action(actionRunner(async ({ selfSigned, endpoint, projectId, key, debug, reset, }, command) => {
215
- if (selfSigned == undefined &&
216
- endpoint == undefined &&
217
- projectId == undefined &&
218
- key == undefined &&
219
- debug == undefined &&
220
- reset == undefined) {
221
- command.help();
222
- }
223
- if (debug) {
224
- let config = {
225
- endpoint: globalConfig.getEndpoint(),
226
- key: globalConfig.getKey(),
227
- cookie: globalConfig.getCookie(),
228
- selfSigned: globalConfig.getSelfSigned(),
229
- project: localConfig.getProject(),
230
- };
231
- parse(config);
232
- }
233
- if (endpoint !== undefined) {
234
- try {
235
- const id = ID.unique();
236
- let url = new URL(endpoint);
237
- if (url.protocol !== "http:" && url.protocol !== "https:") {
238
- throw new Error();
239
- }
240
- let clientInstance = new Client().setEndpoint(endpoint);
241
- clientInstance.setProject("console");
242
- if (selfSigned || globalConfig.getSelfSigned()) {
243
- clientInstance.setSelfSigned(true);
244
- }
245
- let response = (await clientInstance.call("GET", new URL(endpoint + "/health/version")));
246
- if (!response.version) {
247
- throw new Error();
248
- }
249
- globalConfig.setCurrentSession(id);
250
- globalConfig.addSession(id, { endpoint });
251
- globalConfig.setEndpoint(endpoint);
252
- }
253
- catch (_) {
254
- throw new Error("Invalid endpoint or your Appwrite server is not running as expected.");
255
- }
256
- }
257
- if (key !== undefined) {
258
- globalConfig.setKey(key);
259
- }
260
- if (projectId !== undefined) {
261
- localConfig.setProject(projectId, "");
262
- }
263
- if (selfSigned == true || selfSigned == false) {
264
- globalConfig.setSelfSigned(selfSigned);
265
- }
266
- if (reset !== undefined) {
267
- const sessions = globalConfig.getSessions();
268
- for (let accountId of sessions.map((session) => session.id)) {
269
- globalConfig.setCurrentSession(accountId);
270
- await deleteSession(accountId);
271
- }
272
- }
273
- success("Setting client");
274
- }));
275
- export const migrate = async () => {
276
- if (!globalConfig.has("endpoint") || !globalConfig.has("cookie")) {
277
- return;
278
- }
279
- const endpoint = globalConfig.get("endpoint");
280
- const cookie = globalConfig.get("cookie");
281
- const id = ID.unique();
282
- const data = {
283
- endpoint,
284
- cookie,
285
- email: "legacy",
286
- };
287
- globalConfig.addSession(id, data);
288
- globalConfig.setCurrentSession(id);
289
- globalConfig.delete("endpoint");
290
- globalConfig.delete("cookie");
291
- };
292
- //# sourceMappingURL=generic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../lib/commands/generic.ts"],"names":[],"mappings":"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"}