appwrite-cli 12.0.1 → 13.0.0-rc.1

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 (283) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +2 -2
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +145 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/lib/client.d.ts +89 -0
  8. package/dist/lib/client.d.ts.map +1 -0
  9. package/dist/lib/client.js +227 -0
  10. package/dist/lib/client.js.map +1 -0
  11. package/dist/lib/commands/account.d.ts +379 -0
  12. package/dist/lib/commands/account.d.ts.map +1 -0
  13. package/dist/lib/commands/account.js +1228 -0
  14. package/dist/lib/commands/account.js.map +1 -0
  15. package/dist/lib/commands/console.d.ts +20 -0
  16. package/dist/lib/commands/console.d.ts.map +1 -0
  17. package/dist/lib/commands/console.js +78 -0
  18. package/dist/lib/commands/console.js.map +1 -0
  19. package/dist/lib/commands/databases.d.ts +732 -0
  20. package/dist/lib/commands/databases.d.ts.map +1 -0
  21. package/dist/lib/commands/databases.js +2196 -0
  22. package/dist/lib/commands/databases.js.map +1 -0
  23. package/dist/lib/commands/functions.d.ts +310 -0
  24. package/dist/lib/commands/functions.d.ts.map +1 -0
  25. package/dist/lib/commands/functions.js +1100 -0
  26. package/dist/lib/commands/functions.js.map +1 -0
  27. package/dist/lib/commands/generic.d.ts +17 -0
  28. package/dist/lib/commands/generic.d.ts.map +1 -0
  29. package/dist/lib/commands/generic.js +279 -0
  30. package/dist/lib/commands/generic.js.map +1 -0
  31. package/dist/lib/commands/graphql.d.ts +19 -0
  32. package/dist/lib/commands/graphql.d.ts.map +1 -0
  33. package/dist/lib/commands/graphql.js +77 -0
  34. package/dist/lib/commands/graphql.js.map +1 -0
  35. package/dist/lib/commands/health.d.ts +153 -0
  36. package/dist/lib/commands/health.d.ts.map +1 -0
  37. package/dist/lib/commands/health.js +464 -0
  38. package/dist/lib/commands/health.js.map +1 -0
  39. package/dist/lib/commands/init.d.ts +3 -0
  40. package/dist/lib/commands/init.d.ts.map +1 -0
  41. package/dist/lib/commands/init.js +518 -0
  42. package/dist/lib/commands/init.js.map +1 -0
  43. package/dist/lib/commands/locale.d.ts +53 -0
  44. package/dist/lib/commands/locale.d.ts.map +1 -0
  45. package/dist/lib/commands/locale.js +165 -0
  46. package/dist/lib/commands/locale.js.map +1 -0
  47. package/dist/lib/commands/messaging.d.ts +588 -0
  48. package/dist/lib/commands/messaging.d.ts.map +1 -0
  49. package/dist/lib/commands/messaging.js +2042 -0
  50. package/dist/lib/commands/messaging.js.map +1 -0
  51. package/dist/lib/commands/migrations.d.ts +150 -0
  52. package/dist/lib/commands/migrations.d.ts.map +1 -0
  53. package/dist/lib/commands/migrations.js +524 -0
  54. package/dist/lib/commands/migrations.js.map +1 -0
  55. package/dist/lib/commands/organizations.d.ts +11 -0
  56. package/dist/lib/commands/organizations.d.ts.map +1 -0
  57. package/dist/lib/commands/organizations.js +31 -0
  58. package/dist/lib/commands/organizations.js.map +1 -0
  59. package/dist/lib/commands/project.d.ts +53 -0
  60. package/dist/lib/commands/project.d.ts.map +1 -0
  61. package/dist/lib/commands/project.js +176 -0
  62. package/dist/lib/commands/project.js.map +1 -0
  63. package/dist/lib/commands/projects.d.ts +516 -0
  64. package/dist/lib/commands/projects.d.ts.map +1 -0
  65. package/dist/lib/commands/projects.js +1590 -0
  66. package/dist/lib/commands/projects.js.map +1 -0
  67. package/dist/lib/commands/proxy.d.ts +71 -0
  68. package/dist/lib/commands/proxy.d.ts.map +1 -0
  69. package/dist/lib/commands/proxy.js +240 -0
  70. package/dist/lib/commands/proxy.js.map +1 -0
  71. package/dist/lib/commands/pull.d.ts +8 -0
  72. package/dist/lib/commands/pull.d.ts.map +1 -0
  73. package/dist/lib/commands/pull.js +455 -0
  74. package/dist/lib/commands/pull.js.map +1 -0
  75. package/dist/lib/commands/push.d.ts +4 -0
  76. package/dist/lib/commands/push.d.ts.map +1 -0
  77. package/dist/lib/commands/push.js +2154 -0
  78. package/dist/lib/commands/push.js.map +1 -0
  79. package/dist/lib/commands/run.d.ts +3 -0
  80. package/dist/lib/commands/run.d.ts.map +1 -0
  81. package/dist/lib/commands/run.js +287 -0
  82. package/dist/lib/commands/run.js.map +1 -0
  83. package/dist/lib/commands/sites.d.ts +296 -0
  84. package/dist/lib/commands/sites.d.ts.map +1 -0
  85. package/dist/lib/commands/sites.js +1046 -0
  86. package/dist/lib/commands/sites.js.map +1 -0
  87. package/dist/lib/commands/storage.d.ts +170 -0
  88. package/dist/lib/commands/storage.d.ts.map +1 -0
  89. package/dist/lib/commands/storage.js +651 -0
  90. package/dist/lib/commands/storage.js.map +1 -0
  91. package/dist/lib/commands/tables-db.d.ts +728 -0
  92. package/dist/lib/commands/tables-db.d.ts.map +1 -0
  93. package/dist/lib/commands/tables-db.js +2198 -0
  94. package/dist/lib/commands/tables-db.js.map +1 -0
  95. package/dist/lib/commands/teams.d.ts +129 -0
  96. package/dist/lib/commands/teams.d.ts.map +1 -0
  97. package/dist/lib/commands/teams.js +403 -0
  98. package/dist/lib/commands/teams.js.map +1 -0
  99. package/dist/lib/commands/tokens.d.ts +48 -0
  100. package/dist/lib/commands/tokens.d.ts.map +1 -0
  101. package/dist/lib/commands/tokens.js +156 -0
  102. package/dist/lib/commands/tokens.js.map +1 -0
  103. package/dist/lib/commands/types.d.ts +3 -0
  104. package/dist/lib/commands/types.d.ts.map +1 -0
  105. package/dist/lib/commands/types.js +155 -0
  106. package/dist/lib/commands/types.js.map +1 -0
  107. package/dist/lib/commands/update.d.ts +3 -0
  108. package/dist/lib/commands/update.d.ts.map +1 -0
  109. package/dist/lib/commands/update.js +202 -0
  110. package/dist/lib/commands/update.js.map +1 -0
  111. package/dist/lib/commands/users.d.ts +382 -0
  112. package/dist/lib/commands/users.d.ts.map +1 -0
  113. package/dist/lib/commands/users.js +1195 -0
  114. package/dist/lib/commands/users.js.map +1 -0
  115. package/dist/lib/commands/vcs.d.ts +92 -0
  116. package/dist/lib/commands/vcs.d.ts.map +1 -0
  117. package/dist/lib/commands/vcs.js +276 -0
  118. package/dist/lib/commands/vcs.js.map +1 -0
  119. package/dist/lib/config.d.ts +118 -0
  120. package/dist/lib/config.d.ts.map +1 -0
  121. package/{lib → dist/lib}/config.js +204 -325
  122. package/dist/lib/config.js.map +1 -0
  123. package/dist/lib/emulation/docker.d.ts +15 -0
  124. package/dist/lib/emulation/docker.d.ts.map +1 -0
  125. package/dist/lib/emulation/docker.js +220 -0
  126. package/dist/lib/emulation/docker.js.map +1 -0
  127. package/dist/lib/emulation/utils.d.ts +29 -0
  128. package/dist/lib/emulation/utils.d.ts.map +1 -0
  129. package/dist/lib/emulation/utils.js +168 -0
  130. package/dist/lib/emulation/utils.js.map +1 -0
  131. package/dist/lib/exception.d.ts +8 -0
  132. package/dist/lib/exception.d.ts.map +1 -0
  133. package/dist/lib/exception.js +16 -0
  134. package/dist/lib/exception.js.map +1 -0
  135. package/dist/lib/id.d.ts +7 -0
  136. package/dist/lib/id.d.ts.map +1 -0
  137. package/dist/lib/id.js +32 -0
  138. package/dist/lib/id.js.map +1 -0
  139. package/dist/lib/paginate.d.ts +10 -0
  140. package/dist/lib/paginate.d.ts.map +1 -0
  141. package/{lib → dist/lib}/paginate.js +9 -15
  142. package/dist/lib/paginate.js.map +1 -0
  143. package/dist/lib/parser.d.ts +18 -0
  144. package/dist/lib/parser.d.ts.map +1 -0
  145. package/dist/lib/parser.js +237 -0
  146. package/dist/lib/parser.js.map +1 -0
  147. package/dist/lib/questions.d.ts +59 -0
  148. package/dist/lib/questions.d.ts.map +1 -0
  149. package/dist/lib/questions.js +995 -0
  150. package/dist/lib/questions.js.map +1 -0
  151. package/dist/lib/sdks.d.ts +4 -0
  152. package/dist/lib/sdks.d.ts.map +1 -0
  153. package/dist/lib/sdks.js +51 -0
  154. package/dist/lib/sdks.js.map +1 -0
  155. package/dist/lib/spinner.d.ts +28 -0
  156. package/dist/lib/spinner.d.ts.map +1 -0
  157. package/{lib → dist/lib}/spinner.js +34 -45
  158. package/dist/lib/spinner.js.map +1 -0
  159. package/dist/lib/type-generation/attribute.d.ts +17 -0
  160. package/dist/lib/type-generation/attribute.d.ts.map +1 -0
  161. package/dist/lib/type-generation/attribute.js +19 -0
  162. package/dist/lib/type-generation/attribute.js.map +1 -0
  163. package/dist/lib/type-generation/languages/csharp.d.ts +7 -0
  164. package/dist/lib/type-generation/languages/csharp.d.ts.map +1 -0
  165. package/dist/lib/type-generation/languages/csharp.js +180 -0
  166. package/dist/lib/type-generation/languages/csharp.js.map +1 -0
  167. package/dist/lib/type-generation/languages/dart.d.ts +8 -0
  168. package/dist/lib/type-generation/languages/dart.d.ts.map +1 -0
  169. package/dist/lib/type-generation/languages/dart.js +197 -0
  170. package/dist/lib/type-generation/languages/dart.js.map +1 -0
  171. package/dist/lib/type-generation/languages/java.d.ts +7 -0
  172. package/dist/lib/type-generation/languages/java.d.ts.map +1 -0
  173. package/dist/lib/type-generation/languages/java.js +140 -0
  174. package/dist/lib/type-generation/languages/java.js.map +1 -0
  175. package/dist/lib/type-generation/languages/javascript.d.ts +9 -0
  176. package/dist/lib/type-generation/languages/javascript.d.ts.map +1 -0
  177. package/dist/lib/type-generation/languages/javascript.js +108 -0
  178. package/dist/lib/type-generation/languages/javascript.js.map +1 -0
  179. package/dist/lib/type-generation/languages/kotlin.d.ts +7 -0
  180. package/dist/lib/type-generation/languages/kotlin.d.ts.map +1 -0
  181. package/dist/lib/type-generation/languages/kotlin.js +95 -0
  182. package/dist/lib/type-generation/languages/kotlin.js.map +1 -0
  183. package/dist/lib/type-generation/languages/language.d.ts +43 -0
  184. package/dist/lib/type-generation/languages/language.d.ts.map +1 -0
  185. package/dist/lib/type-generation/languages/language.js +82 -0
  186. package/dist/lib/type-generation/languages/language.js.map +1 -0
  187. package/dist/lib/type-generation/languages/php.d.ts +7 -0
  188. package/dist/lib/type-generation/languages/php.d.ts.map +1 -0
  189. package/dist/lib/type-generation/languages/php.js +116 -0
  190. package/dist/lib/type-generation/languages/php.js.map +1 -0
  191. package/dist/lib/type-generation/languages/swift.d.ts +7 -0
  192. package/dist/lib/type-generation/languages/swift.d.ts.map +1 -0
  193. package/dist/lib/type-generation/languages/swift.js +179 -0
  194. package/dist/lib/type-generation/languages/swift.js.map +1 -0
  195. package/dist/lib/type-generation/languages/typescript.d.ts +9 -0
  196. package/dist/lib/type-generation/languages/typescript.d.ts.map +1 -0
  197. package/dist/lib/type-generation/languages/typescript.js +112 -0
  198. package/dist/lib/type-generation/languages/typescript.js.map +1 -0
  199. package/dist/lib/types.d.ts +133 -0
  200. package/dist/lib/types.d.ts.map +1 -0
  201. package/dist/lib/types.js +3 -0
  202. package/dist/lib/types.js.map +1 -0
  203. package/dist/lib/utils.d.ts +15 -0
  204. package/dist/lib/utils.d.ts.map +1 -0
  205. package/{lib → dist/lib}/utils.js +74 -120
  206. package/dist/lib/utils.js.map +1 -0
  207. package/dist/lib/validations.d.ts +2 -0
  208. package/dist/lib/validations.d.ts.map +1 -0
  209. package/dist/lib/validations.js +20 -0
  210. package/dist/lib/validations.js.map +1 -0
  211. package/docs/examples/databases/upsert-document.md +1 -2
  212. package/index.ts +152 -0
  213. package/install.ps1 +2 -5
  214. package/install.sh +1 -2
  215. package/lib/client.ts +259 -0
  216. package/lib/commands/{account.js → account.ts} +408 -662
  217. package/lib/commands/console.ts +112 -0
  218. package/lib/commands/{databases.js → databases.ts} +818 -1136
  219. package/lib/commands/{functions.js → functions.ts} +381 -526
  220. package/lib/commands/{generic.js → generic.ts} +47 -39
  221. package/lib/commands/graphql.ts +110 -0
  222. package/lib/commands/{health.js → health.ts} +168 -284
  223. package/lib/commands/{init.js → init.ts} +68 -66
  224. package/lib/commands/{locale.js → locale.ts} +75 -121
  225. package/lib/commands/{messaging.js → messaging.ts} +699 -937
  226. package/lib/commands/{migrations.js → migrations.ts} +182 -258
  227. package/lib/commands/organizations.ts +46 -0
  228. package/lib/commands/{project.js → project.ts} +75 -111
  229. package/lib/commands/{projects.js → projects.ts} +587 -843
  230. package/lib/commands/{proxy.js → proxy.ts} +94 -140
  231. package/lib/commands/{pull.js → pull.ts} +54 -44
  232. package/lib/commands/{push.js → push.ts} +235 -191
  233. package/lib/commands/{run.js → run.ts} +61 -55
  234. package/lib/commands/{sites.js → sites.ts} +364 -504
  235. package/lib/commands/{storage.js → storage.ts} +216 -292
  236. package/lib/commands/{tables-db.js → tables-db.ts} +817 -1126
  237. package/lib/commands/{teams.js → teams.ts} +162 -236
  238. package/lib/commands/{tokens.js → tokens.ts} +70 -99
  239. package/lib/commands/{types.js → types.ts} +37 -35
  240. package/lib/commands/{update.js → update.ts} +25 -27
  241. package/lib/commands/{users.js → users.ts} +426 -644
  242. package/lib/commands/{vcs.js → vcs.ts} +118 -174
  243. package/lib/config.ts +854 -0
  244. package/lib/emulation/{docker.js → docker.ts} +39 -38
  245. package/lib/emulation/utils.ts +193 -0
  246. package/lib/exception.ts +20 -0
  247. package/lib/{id.js → id.ts} +5 -5
  248. package/lib/paginate.ts +63 -0
  249. package/lib/parser.ts +238 -0
  250. package/lib/{questions.js → questions.ts} +148 -156
  251. package/lib/sdks.ts +55 -0
  252. package/lib/spinner.ts +118 -0
  253. package/lib/type-generation/attribute.ts +17 -0
  254. package/lib/type-generation/languages/{csharp.js → csharp.ts} +59 -57
  255. package/lib/type-generation/languages/{dart.js → dart.ts} +91 -89
  256. package/lib/type-generation/languages/{java.js → java.ts} +58 -56
  257. package/lib/type-generation/languages/javascript.ts +111 -0
  258. package/lib/type-generation/languages/kotlin.ts +96 -0
  259. package/lib/type-generation/languages/language.ts +119 -0
  260. package/lib/type-generation/languages/{php.js → php.ts} +55 -53
  261. package/lib/type-generation/languages/{swift.js → swift.ts} +59 -57
  262. package/lib/type-generation/languages/typescript.ts +116 -0
  263. package/lib/types.ts +150 -0
  264. package/lib/utils.ts +322 -0
  265. package/lib/validations.ts +17 -0
  266. package/package.json +21 -12
  267. package/scoop/appwrite.config.json +3 -3
  268. package/tsconfig.json +30 -0
  269. package/index.js +0 -147
  270. package/lib/client.js +0 -254
  271. package/lib/commands/console.js +0 -127
  272. package/lib/commands/graphql.js +0 -126
  273. package/lib/commands/organizations.js +0 -48
  274. package/lib/emulation/utils.js +0 -186
  275. package/lib/exception.js +0 -9
  276. package/lib/parser.js +0 -250
  277. package/lib/sdks.js +0 -60
  278. package/lib/type-generation/attribute.js +0 -19
  279. package/lib/type-generation/languages/javascript.js +0 -111
  280. package/lib/type-generation/languages/kotlin.js +0 -94
  281. package/lib/type-generation/languages/language.js +0 -125
  282. package/lib/type-generation/languages/typescript.js +0 -116
  283. package/lib/validations.js +0 -17
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Change Log
2
2
 
3
+ ## 13.0.0-rc.1
4
+
5
+ * Migrates codebase from JavaScript to TypeScript
6
+
3
7
  ## 12.0.1
4
8
 
5
9
  Fix type generation for `point`, `lineString` and `polygon` columns
package/README.md CHANGED
@@ -29,7 +29,7 @@ Once the installation is complete, you can verify the install using
29
29
 
30
30
  ```sh
31
31
  $ appwrite -v
32
- 12.0.1
32
+ 13.0.0-rc.1
33
33
  ```
34
34
 
35
35
  ### Install using prebuilt binaries
@@ -60,7 +60,7 @@ $ scoop install https://raw.githubusercontent.com/appwrite/sdk-for-cli/master/sc
60
60
  Once the installation completes, you can verify your install using
61
61
  ```
62
62
  $ appwrite -v
63
- 12.0.1
63
+ 13.0.0-rc.1
64
64
  ```
65
65
 
66
66
  ## Getting Started
@@ -0,0 +1,3 @@
1
+ #! /usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,145 @@
1
+ #! /usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ /** Required to set max width of the help commands */
5
+ const oldWidth = process.stdout.columns;
6
+ process.stdout.columns = 100;
7
+ /** ---------------------------------------------- */
8
+ const program = require("commander");
9
+ const chalk = require("chalk");
10
+ const { version } = require('../package.json');
11
+ const parser_1 = require("./lib/parser");
12
+ const generic_1 = require("./lib/commands/generic");
13
+ const utils_1 = require("./lib/utils");
14
+ const inquirer = require("inquirer");
15
+ const generic_2 = require("./lib/commands/generic");
16
+ const init_1 = require("./lib/commands/init");
17
+ const types_1 = require("./lib/commands/types");
18
+ const pull_1 = require("./lib/commands/pull");
19
+ const run_1 = require("./lib/commands/run");
20
+ const push_1 = require("./lib/commands/push");
21
+ const update_1 = require("./lib/commands/update");
22
+ const account_1 = require("./lib/commands/account");
23
+ const console_1 = require("./lib/commands/console");
24
+ const databases_1 = require("./lib/commands/databases");
25
+ const functions_1 = require("./lib/commands/functions");
26
+ const graphql_1 = require("./lib/commands/graphql");
27
+ const health_1 = require("./lib/commands/health");
28
+ const locale_1 = require("./lib/commands/locale");
29
+ const messaging_1 = require("./lib/commands/messaging");
30
+ const migrations_1 = require("./lib/commands/migrations");
31
+ const project_1 = require("./lib/commands/project");
32
+ const projects_1 = require("./lib/commands/projects");
33
+ const proxy_1 = require("./lib/commands/proxy");
34
+ const sites_1 = require("./lib/commands/sites");
35
+ const storage_1 = require("./lib/commands/storage");
36
+ const tables_db_1 = require("./lib/commands/tables-db");
37
+ const teams_1 = require("./lib/commands/teams");
38
+ const tokens_1 = require("./lib/commands/tokens");
39
+ const users_1 = require("./lib/commands/users");
40
+ const vcs_1 = require("./lib/commands/vcs");
41
+ inquirer.registerPrompt('search-list', require('inquirer-search-list'));
42
+ /**
43
+ * Check for updates and show version information
44
+ */
45
+ async function checkVersion() {
46
+ process.stdout.write(chalk.bold(`appwrite version ${version}`) + '\n');
47
+ try {
48
+ const latestVersion = await (0, utils_1.getLatestVersion)();
49
+ const comparison = (0, utils_1.compareVersions)(version, latestVersion);
50
+ if (comparison > 0) {
51
+ // Current version is older than latest
52
+ process.stdout.write(chalk.yellow(`\n⚠️ A newer version is available: ${chalk.bold(latestVersion)}`) + '\n');
53
+ process.stdout.write(chalk.cyan(`💡 Run '${chalk.bold('appwrite update')}' to update to the latest version.`) + '\n');
54
+ }
55
+ else if (comparison === 0) {
56
+ process.stdout.write(chalk.green('\n✅ You are running the latest version!') + '\n');
57
+ }
58
+ else {
59
+ // Current version is newer than latest (pre-release/dev)
60
+ process.stdout.write(chalk.blue('\n🚀 You are running a pre-release or development version.') + '\n');
61
+ }
62
+ }
63
+ catch (error) {
64
+ // Silently fail version check, just show current version
65
+ process.stdout.write(chalk.gray('\n(Unable to check for updates)') + '\n');
66
+ }
67
+ }
68
+ // Intercept version flag before Commander.js processes it
69
+ if (process.argv.includes('-v') || process.argv.includes('--version')) {
70
+ (async () => {
71
+ await checkVersion();
72
+ process.exit(0);
73
+ })();
74
+ }
75
+ else {
76
+ program
77
+ .description(parser_1.commandDescriptions['main'])
78
+ .configureHelp({
79
+ helpWidth: process.stdout.columns || 80,
80
+ sortSubcommands: true,
81
+ })
82
+ .helpOption('-h, --help', 'Display help for command')
83
+ .version(version, '-v, --version', 'Output the version number')
84
+ .option('-V, --verbose', 'Show complete error log')
85
+ .option('-j, --json', 'Output in JSON format')
86
+ .hook('preAction', generic_2.migrate)
87
+ .option('-f,--force', 'Flag to confirm all warnings')
88
+ .option('-a,--all', 'Flag to push all resources')
89
+ .option('--id [id...]', 'Flag to pass a list of ids for a given action')
90
+ .option('--report', 'Enable reporting in case of CLI errors')
91
+ .on('option:json', () => {
92
+ parser_1.cliConfig.json = true;
93
+ })
94
+ .on('option:verbose', () => {
95
+ parser_1.cliConfig.verbose = true;
96
+ })
97
+ .on('option:report', function () {
98
+ parser_1.cliConfig.report = true;
99
+ parser_1.cliConfig.reportData = { data: this };
100
+ })
101
+ .on('option:force', () => {
102
+ parser_1.cliConfig.force = true;
103
+ })
104
+ .on('option:all', () => {
105
+ parser_1.cliConfig.all = true;
106
+ })
107
+ .on('option:id', function () {
108
+ parser_1.cliConfig.ids = this.opts().id;
109
+ })
110
+ .showSuggestionAfterError()
111
+ .addCommand(generic_2.whoami)
112
+ .addCommand(generic_2.register)
113
+ .addCommand(generic_2.login)
114
+ .addCommand(init_1.init)
115
+ .addCommand(pull_1.pull)
116
+ .addCommand(push_1.push)
117
+ .addCommand(types_1.types)
118
+ .addCommand(push_1.deploy)
119
+ .addCommand(run_1.run)
120
+ .addCommand(update_1.update)
121
+ .addCommand(generic_2.logout)
122
+ .addCommand(account_1.account)
123
+ .addCommand(console_1.console)
124
+ .addCommand(databases_1.databases)
125
+ .addCommand(functions_1.functions)
126
+ .addCommand(graphql_1.graphql)
127
+ .addCommand(health_1.health)
128
+ .addCommand(locale_1.locale)
129
+ .addCommand(messaging_1.messaging)
130
+ .addCommand(migrations_1.migrations)
131
+ .addCommand(project_1.project)
132
+ .addCommand(projects_1.projects)
133
+ .addCommand(proxy_1.proxy)
134
+ .addCommand(sites_1.sites)
135
+ .addCommand(storage_1.storage)
136
+ .addCommand(tables_db_1.tablesDB)
137
+ .addCommand(teams_1.teams)
138
+ .addCommand(tokens_1.tokens)
139
+ .addCommand(users_1.users)
140
+ .addCommand(vcs_1.vcs)
141
+ .addCommand(generic_1.client)
142
+ .parse(process.argv);
143
+ process.stdout.columns = oldWidth;
144
+ }
145
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import type { Headers, RequestParams, ResponseType } from './types';
2
+ declare class Client {
3
+ private readonly CHUNK_SIZE;
4
+ private endpoint;
5
+ private headers;
6
+ private selfSigned;
7
+ constructor();
8
+ /**
9
+ * Set Cookie
10
+ *
11
+ * Your cookie
12
+ *
13
+ * @param {string} cookie
14
+ *
15
+ * @return self
16
+ */
17
+ setCookie(cookie: string): this;
18
+ /**
19
+ * Set Project
20
+ *
21
+ * Your project ID
22
+ *
23
+ * @param {string} project
24
+ *
25
+ * @return self
26
+ */
27
+ setProject(project: string): this;
28
+ /**
29
+ * Set Key
30
+ *
31
+ * Your secret API key
32
+ *
33
+ * @param {string} key
34
+ *
35
+ * @return self
36
+ */
37
+ setKey(key: string): this;
38
+ /**
39
+ * Set JWT
40
+ *
41
+ * Your secret JSON Web Token
42
+ *
43
+ * @param {string} jwt
44
+ *
45
+ * @return self
46
+ */
47
+ setJWT(jwt: string): this;
48
+ /**
49
+ * Set Locale
50
+ *
51
+ * @param {string} locale
52
+ *
53
+ * @return self
54
+ */
55
+ setLocale(locale: string): this;
56
+ /**
57
+ * Set Mode
58
+ *
59
+ * @param {string} mode
60
+ *
61
+ * @return self
62
+ */
63
+ setMode(mode: string): this;
64
+ /**
65
+ * Set self signed.
66
+ *
67
+ * @param {bool} status
68
+ *
69
+ * @return this
70
+ */
71
+ setSelfSigned(status: boolean): this;
72
+ /**
73
+ * Set endpoint.
74
+ *
75
+ * @param {string} endpoint
76
+ *
77
+ * @return this
78
+ */
79
+ setEndpoint(endpoint: string): this;
80
+ /**
81
+ * @param {string} key
82
+ * @param {string} value
83
+ */
84
+ addHeader(key: string, value: string): this;
85
+ call<T = unknown>(method: string, path?: string, headers?: Headers, params?: RequestParams, responseType?: ResponseType): Promise<T>;
86
+ static flatten(data: RequestParams, prefix?: string): Record<string, unknown>;
87
+ }
88
+ export = Client;
89
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../lib/client.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAc,MAAM,SAAS,CAAC;AAIhF,cAAM,MAAM;IACR,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,UAAU,CAAU;;IAgB5B;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B;;;;;;;;OAQG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKjC;;;;;;;;OAQG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzB;;;;;;;;OAQG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzB;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAKpC;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IASnC;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKrC,IAAI,CAAC,CAAC,GAAG,OAAO,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAW,EACjB,OAAO,GAAE,OAAY,EACrB,MAAM,GAAE,aAAkB,EAC1B,YAAY,GAAE,YAAqB,GACpC,OAAO,CAAC,CAAC,CAAC;IAuFb,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAgBpF;AAED,SAAS,MAAM,CAAC"}
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ const os = require("os");
3
+ const undici_1 = require("undici");
4
+ const JSONbig = require("json-bigint");
5
+ const AppwriteException = require("./exception");
6
+ const config_1 = require("./config");
7
+ const chalk = require("chalk");
8
+ const JSONBigInt = JSONbig({ storeAsString: false });
9
+ class Client {
10
+ constructor() {
11
+ this.CHUNK_SIZE = 5 * 1024 * 1024; // 5MB
12
+ this.endpoint = 'https://cloud.appwrite.io/v1';
13
+ this.selfSigned = false;
14
+ this.headers = {
15
+ 'content-type': '',
16
+ 'x-sdk-name': 'Command Line',
17
+ 'x-sdk-platform': 'console',
18
+ 'x-sdk-language': 'cli',
19
+ 'x-sdk-version': '13.0.0-rc.1',
20
+ 'user-agent': `AppwriteCLI/13.0.0-rc.1 (${os.type()} ${os.version()}; ${os.arch()})`,
21
+ 'X-Appwrite-Response-Format': '1.8.0',
22
+ };
23
+ }
24
+ /**
25
+ * Set Cookie
26
+ *
27
+ * Your cookie
28
+ *
29
+ * @param {string} cookie
30
+ *
31
+ * @return self
32
+ */
33
+ setCookie(cookie) {
34
+ this.addHeader('cookie', cookie);
35
+ return this;
36
+ }
37
+ /**
38
+ * Set Project
39
+ *
40
+ * Your project ID
41
+ *
42
+ * @param {string} project
43
+ *
44
+ * @return self
45
+ */
46
+ setProject(project) {
47
+ this.addHeader('X-Appwrite-Project', project);
48
+ return this;
49
+ }
50
+ /**
51
+ * Set Key
52
+ *
53
+ * Your secret API key
54
+ *
55
+ * @param {string} key
56
+ *
57
+ * @return self
58
+ */
59
+ setKey(key) {
60
+ this.addHeader('X-Appwrite-Key', key);
61
+ return this;
62
+ }
63
+ /**
64
+ * Set JWT
65
+ *
66
+ * Your secret JSON Web Token
67
+ *
68
+ * @param {string} jwt
69
+ *
70
+ * @return self
71
+ */
72
+ setJWT(jwt) {
73
+ this.addHeader('X-Appwrite-JWT', jwt);
74
+ return this;
75
+ }
76
+ /**
77
+ * Set Locale
78
+ *
79
+ * @param {string} locale
80
+ *
81
+ * @return self
82
+ */
83
+ setLocale(locale) {
84
+ this.addHeader('X-Appwrite-Locale', locale);
85
+ return this;
86
+ }
87
+ /**
88
+ * Set Mode
89
+ *
90
+ * @param {string} mode
91
+ *
92
+ * @return self
93
+ */
94
+ setMode(mode) {
95
+ this.addHeader('X-Appwrite-Mode', mode);
96
+ return this;
97
+ }
98
+ /**
99
+ * Set self signed.
100
+ *
101
+ * @param {bool} status
102
+ *
103
+ * @return this
104
+ */
105
+ setSelfSigned(status) {
106
+ this.selfSigned = status;
107
+ return this;
108
+ }
109
+ /**
110
+ * Set endpoint.
111
+ *
112
+ * @param {string} endpoint
113
+ *
114
+ * @return this
115
+ */
116
+ setEndpoint(endpoint) {
117
+ if (!endpoint.startsWith('http://') && !endpoint.startsWith('https://')) {
118
+ throw new AppwriteException('Invalid endpoint URL: ' + endpoint);
119
+ }
120
+ this.endpoint = endpoint;
121
+ return this;
122
+ }
123
+ /**
124
+ * @param {string} key
125
+ * @param {string} value
126
+ */
127
+ addHeader(key, value) {
128
+ this.headers[key.toLowerCase()] = value;
129
+ return this;
130
+ }
131
+ async call(method, path = '', headers = {}, params = {}, responseType = 'json') {
132
+ const mergedHeaders = { ...this.headers, ...headers };
133
+ const url = new URL(this.endpoint + path);
134
+ let body = undefined;
135
+ if (method.toUpperCase() === 'GET') {
136
+ url.search = new URLSearchParams(Client.flatten(params)).toString();
137
+ }
138
+ else if (mergedHeaders['content-type']?.toLowerCase().startsWith('multipart/form-data')) {
139
+ delete mergedHeaders['content-type'];
140
+ const formData = new undici_1.FormData();
141
+ const flatParams = Client.flatten(params);
142
+ for (const [key, value] of Object.entries(flatParams)) {
143
+ if (value && typeof value === 'object' && 'type' in value && value.type === 'file') {
144
+ const fileUpload = value;
145
+ formData.append(key, fileUpload.file, fileUpload.filename);
146
+ }
147
+ else {
148
+ formData.append(key, value);
149
+ }
150
+ }
151
+ body = formData;
152
+ }
153
+ else {
154
+ body = JSONBigInt.stringify(params);
155
+ }
156
+ let response = undefined;
157
+ try {
158
+ response = await (0, undici_1.fetch)(url.toString(), {
159
+ method: method.toUpperCase(),
160
+ headers: mergedHeaders,
161
+ body,
162
+ dispatcher: new undici_1.Agent({
163
+ connect: {
164
+ rejectUnauthorized: !this.selfSigned,
165
+ },
166
+ }),
167
+ });
168
+ }
169
+ catch (error) {
170
+ throw new AppwriteException(error.message);
171
+ }
172
+ if (response.status >= 400) {
173
+ const text = await response.text();
174
+ let json = undefined;
175
+ try {
176
+ json = JSON.parse(text);
177
+ }
178
+ catch (error) {
179
+ throw new AppwriteException(text, response.status, '', text);
180
+ }
181
+ if (path !== '/account' && json.code === 401 && json.type === 'user_more_factors_required') {
182
+ console.log(`${chalk.cyan.bold('ℹ Info')} ${chalk.cyan('Unusable account found, removing...')}`);
183
+ const current = config_1.globalConfig.getCurrentSession();
184
+ config_1.globalConfig.setCurrentSession('');
185
+ config_1.globalConfig.removeSession(current);
186
+ }
187
+ throw new AppwriteException(json.message || text, json.code, json.type, text);
188
+ }
189
+ if (responseType === 'arraybuffer') {
190
+ const data = await response.arrayBuffer();
191
+ return data;
192
+ }
193
+ const cookies = response.headers.getSetCookie();
194
+ if (cookies && cookies.length > 0) {
195
+ for (const cookie of cookies) {
196
+ if (cookie.startsWith('a_session_console=')) {
197
+ config_1.globalConfig.setCookie(cookie);
198
+ }
199
+ }
200
+ }
201
+ const text = await response.text();
202
+ let json = undefined;
203
+ try {
204
+ json = JSONBigInt.parse(text);
205
+ }
206
+ catch (error) {
207
+ return text;
208
+ }
209
+ return json;
210
+ }
211
+ static flatten(data, prefix = '') {
212
+ let output = {};
213
+ for (const key in data) {
214
+ const value = data[key];
215
+ const finalKey = prefix ? prefix + '[' + key + ']' : key;
216
+ if (Array.isArray(value)) {
217
+ output = { ...output, ...Client.flatten(value, finalKey) };
218
+ }
219
+ else {
220
+ output[finalKey] = value;
221
+ }
222
+ }
223
+ return output;
224
+ }
225
+ }
226
+ module.exports = Client;
227
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../lib/client.ts"],"names":[],"mappings":"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"}