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
@@ -1,31 +1,27 @@
1
- const fs = require('fs');
2
- const pathLib = require('path');
3
- const tar = require("tar");
4
- const ignore = require("ignore");
5
- const { promisify } = require('util');
6
- const libClient = require('../client.js');
7
- const { getAllFiles, showConsoleLink } = require('../utils.js');
8
- const { Command } = require('commander');
9
- const { sdkForProject, sdkForConsole } = require('../sdks')
10
- const { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log, warn } = require('../parser')
11
- const { localConfig, globalConfig } = require("../config");
12
- const { File } = require('undici');
13
- const { ReadableStream } = require('stream/web');
14
-
15
- /**
16
- * @param {fs.ReadStream} readStream
17
- * @returns {ReadableStream}
18
- */
19
- function convertReadStreamToReadableStream(readStream) {
1
+ import fs = require('fs');
2
+ import pathLib = require('path');
3
+ import tar = require('tar');
4
+ import ignore = require('ignore');
5
+ import { promisify } from 'util';
6
+ import Client from '../client';
7
+ import { getAllFiles, showConsoleLink } from '../utils';
8
+ import { Command } from 'commander';
9
+ import { sdkForProject, sdkForConsole } from '../sdks';
10
+ import { parse, actionRunner, parseInteger, parseBool, commandDescriptions, success, log, warn } from '../parser';
11
+ import { localConfig, globalConfig } from '../config';
12
+ import { File } from 'undici';
13
+ import { ReadableStream } from 'stream/web';
14
+
15
+ function convertReadStreamToReadableStream(readStream: fs.ReadStream): ReadableStream {
20
16
  return new ReadableStream({
21
17
  start(controller) {
22
- readStream.on("data", (chunk) => {
18
+ readStream.on("data", (chunk: Buffer) => {
23
19
  controller.enqueue(chunk);
24
20
  });
25
21
  readStream.on("end", () => {
26
22
  controller.close();
27
23
  });
28
- readStream.on("error", (err) => {
24
+ readStream.on("error", (err: Error) => {
29
25
  controller.error(err);
30
26
  });
31
27
  },
@@ -35,24 +31,21 @@ function convertReadStreamToReadableStream(readStream) {
35
31
  });
36
32
  }
37
33
 
38
- const teams = new Command("teams").description(commandDescriptions['teams'] ?? '').configureHelp({
34
+ export const teams = new Command("teams").description(commandDescriptions['teams'] ?? '').configureHelp({
39
35
  helpWidth: process.stdout.columns || 80
40
36
  })
41
37
 
42
- /**
43
- * @typedef {Object} TeamsListRequestParams
44
- * @property {string[]} queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, total, billingPlan
45
- * @property {string} search Search term to filter your list results. Max length: 256 chars.
46
- * @property {boolean} total When set to false, the total count returned will be 0 and will not be calculated.
47
- * @property {boolean} overrideForCli
48
- * @property {boolean} parseOutput
49
- * @property {libClient | undefined} sdk
50
- */
51
-
52
- /**
53
- * @param {TeamsListRequestParams} params
54
- */
55
- const teamsList = async ({queries,search,total,parseOutput = true, overrideForCli = false, sdk = undefined, console}) => {
38
+ interface TeamsListRequestParams {
39
+ queries?: string[];
40
+ search?: string;
41
+ total?: boolean;
42
+ overrideForCli?: boolean;
43
+ parseOutput?: boolean;
44
+ sdk?: Client;
45
+ console?: boolean;
46
+ }
47
+
48
+ export const teamsList = async ({queries,search,total,parseOutput = true, overrideForCli = false, sdk = undefined, console: showConsole}: TeamsListRequestParams): Promise<any> => {
56
49
  let client = !sdk ? await sdkForProject() :
57
50
  sdk;
58
51
  let apiPath = '/teams';
@@ -73,7 +66,7 @@ const teamsList = async ({queries,search,total,parseOutput = true, overrideForCl
73
66
  }, payload);
74
67
 
75
68
  if (parseOutput) {
76
- if(console) {
69
+ if(showConsole) {
77
70
  showConsoleLink('teams', 'list');
78
71
  } else {
79
72
  parse(response)
@@ -83,20 +76,16 @@ const teamsList = async ({queries,search,total,parseOutput = true, overrideForCl
83
76
  return response;
84
77
 
85
78
  }
86
- /**
87
- * @typedef {Object} TeamsCreateRequestParams
88
- * @property {string} teamId Team ID. Choose a custom ID or generate a random ID with &#039;ID.unique()&#039;. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can&#039;t start with a special char. Max length is 36 chars.
89
- * @property {string} name Team name. Max length: 128 chars.
90
- * @property {string[]} roles Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 32 characters long.
91
- * @property {boolean} overrideForCli
92
- * @property {boolean} parseOutput
93
- * @property {libClient | undefined} sdk
94
- */
95
-
96
- /**
97
- * @param {TeamsCreateRequestParams} params
98
- */
99
- const teamsCreate = async ({teamId,name,roles,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
79
+ interface TeamsCreateRequestParams {
80
+ teamId: string;
81
+ name: string;
82
+ roles?: string[];
83
+ overrideForCli?: boolean;
84
+ parseOutput?: boolean;
85
+ sdk?: Client;
86
+ }
87
+
88
+ export const teamsCreate = async ({teamId,name,roles,parseOutput = true, overrideForCli = false, sdk = undefined}: TeamsCreateRequestParams): Promise<any> => {
100
89
  let client = !sdk ? await sdkForProject() :
101
90
  sdk;
102
91
  let apiPath = '/teams';
@@ -125,18 +114,15 @@ const teamsCreate = async ({teamId,name,roles,parseOutput = true, overrideForCli
125
114
  return response;
126
115
 
127
116
  }
128
- /**
129
- * @typedef {Object} TeamsGetRequestParams
130
- * @property {string} teamId Team ID.
131
- * @property {boolean} overrideForCli
132
- * @property {boolean} parseOutput
133
- * @property {libClient | undefined} sdk
134
- */
135
-
136
- /**
137
- * @param {TeamsGetRequestParams} params
138
- */
139
- const teamsGet = async ({teamId,parseOutput = true, overrideForCli = false, sdk = undefined, console}) => {
117
+ interface TeamsGetRequestParams {
118
+ teamId: string;
119
+ overrideForCli?: boolean;
120
+ parseOutput?: boolean;
121
+ sdk?: Client;
122
+ console?: boolean;
123
+ }
124
+
125
+ export const teamsGet = async ({teamId,parseOutput = true, overrideForCli = false, sdk = undefined, console: showConsole}: TeamsGetRequestParams): Promise<any> => {
140
126
  let client = !sdk ? await sdkForProject() :
141
127
  sdk;
142
128
  let apiPath = '/teams/{teamId}'.replace('{teamId}', teamId);
@@ -148,7 +134,7 @@ const teamsGet = async ({teamId,parseOutput = true, overrideForCli = false, sdk
148
134
  }, payload);
149
135
 
150
136
  if (parseOutput) {
151
- if(console) {
137
+ if(showConsole) {
152
138
  showConsoleLink('teams', 'get', teamId);
153
139
  } else {
154
140
  parse(response)
@@ -158,19 +144,15 @@ const teamsGet = async ({teamId,parseOutput = true, overrideForCli = false, sdk
158
144
  return response;
159
145
 
160
146
  }
161
- /**
162
- * @typedef {Object} TeamsUpdateNameRequestParams
163
- * @property {string} teamId Team ID.
164
- * @property {string} name New team name. Max length: 128 chars.
165
- * @property {boolean} overrideForCli
166
- * @property {boolean} parseOutput
167
- * @property {libClient | undefined} sdk
168
- */
169
-
170
- /**
171
- * @param {TeamsUpdateNameRequestParams} params
172
- */
173
- const teamsUpdateName = async ({teamId,name,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
147
+ interface TeamsUpdateNameRequestParams {
148
+ teamId: string;
149
+ name: string;
150
+ overrideForCli?: boolean;
151
+ parseOutput?: boolean;
152
+ sdk?: Client;
153
+ }
154
+
155
+ export const teamsUpdateName = async ({teamId,name,parseOutput = true, overrideForCli = false, sdk = undefined}: TeamsUpdateNameRequestParams): Promise<any> => {
174
156
  let client = !sdk ? await sdkForProject() :
175
157
  sdk;
176
158
  let apiPath = '/teams/{teamId}'.replace('{teamId}', teamId);
@@ -192,18 +174,14 @@ const teamsUpdateName = async ({teamId,name,parseOutput = true, overrideForCli =
192
174
  return response;
193
175
 
194
176
  }
195
- /**
196
- * @typedef {Object} TeamsDeleteRequestParams
197
- * @property {string} teamId Team ID.
198
- * @property {boolean} overrideForCli
199
- * @property {boolean} parseOutput
200
- * @property {libClient | undefined} sdk
201
- */
202
-
203
- /**
204
- * @param {TeamsDeleteRequestParams} params
205
- */
206
- const teamsDelete = async ({teamId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
177
+ interface TeamsDeleteRequestParams {
178
+ teamId: string;
179
+ overrideForCli?: boolean;
180
+ parseOutput?: boolean;
181
+ sdk?: Client;
182
+ }
183
+
184
+ export const teamsDelete = async ({teamId,parseOutput = true, overrideForCli = false, sdk = undefined}: TeamsDeleteRequestParams): Promise<any> => {
207
185
  let client = !sdk ? await sdkForProject() :
208
186
  sdk;
209
187
  let apiPath = '/teams/{teamId}'.replace('{teamId}', teamId);
@@ -222,20 +200,16 @@ const teamsDelete = async ({teamId,parseOutput = true, overrideForCli = false, s
222
200
  return response;
223
201
 
224
202
  }
225
- /**
226
- * @typedef {Object} TeamsListLogsRequestParams
227
- * @property {string} teamId Team ID.
228
- * @property {string[]} queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset
229
- * @property {boolean} total When set to false, the total count returned will be 0 and will not be calculated.
230
- * @property {boolean} overrideForCli
231
- * @property {boolean} parseOutput
232
- * @property {libClient | undefined} sdk
233
- */
234
-
235
- /**
236
- * @param {TeamsListLogsRequestParams} params
237
- */
238
- const teamsListLogs = async ({teamId,queries,total,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
203
+ interface TeamsListLogsRequestParams {
204
+ teamId: string;
205
+ queries?: string[];
206
+ total?: boolean;
207
+ overrideForCli?: boolean;
208
+ parseOutput?: boolean;
209
+ sdk?: Client;
210
+ }
211
+
212
+ export const teamsListLogs = async ({teamId,queries,total,parseOutput = true, overrideForCli = false, sdk = undefined}: TeamsListLogsRequestParams): Promise<any> => {
239
213
  let client = !sdk ? await sdkForProject() :
240
214
  sdk;
241
215
  let apiPath = '/teams/{teamId}/logs'.replace('{teamId}', teamId);
@@ -259,21 +233,17 @@ const teamsListLogs = async ({teamId,queries,total,parseOutput = true, overrideF
259
233
  return response;
260
234
 
261
235
  }
262
- /**
263
- * @typedef {Object} TeamsListMembershipsRequestParams
264
- * @property {string} teamId Team ID.
265
- * @property {string[]} queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles
266
- * @property {string} search Search term to filter your list results. Max length: 256 chars.
267
- * @property {boolean} total When set to false, the total count returned will be 0 and will not be calculated.
268
- * @property {boolean} overrideForCli
269
- * @property {boolean} parseOutput
270
- * @property {libClient | undefined} sdk
271
- */
272
-
273
- /**
274
- * @param {TeamsListMembershipsRequestParams} params
275
- */
276
- const teamsListMemberships = async ({teamId,queries,search,total,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
236
+ interface TeamsListMembershipsRequestParams {
237
+ teamId: string;
238
+ queries?: string[];
239
+ search?: string;
240
+ total?: boolean;
241
+ overrideForCli?: boolean;
242
+ parseOutput?: boolean;
243
+ sdk?: Client;
244
+ }
245
+
246
+ export const teamsListMemberships = async ({teamId,queries,search,total,parseOutput = true, overrideForCli = false, sdk = undefined}: TeamsListMembershipsRequestParams): Promise<any> => {
277
247
  let client = !sdk ? await sdkForProject() :
278
248
  sdk;
279
249
  let apiPath = '/teams/{teamId}/memberships'.replace('{teamId}', teamId);
@@ -300,24 +270,20 @@ const teamsListMemberships = async ({teamId,queries,search,total,parseOutput = t
300
270
  return response;
301
271
 
302
272
  }
303
- /**
304
- * @typedef {Object} TeamsCreateMembershipRequestParams
305
- * @property {string} teamId Team ID.
306
- * @property {string[]} roles Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 32 characters long.
307
- * @property {string} email Email of the new team member.
308
- * @property {string} userId ID of the user to be added to a team.
309
- * @property {string} phone Phone number. Format this number with a leading &#039;+&#039; and a country code, e.g., +16175551212.
310
- * @property {string} url URL to redirect the user back to your app from the invitation email. This parameter is not required when an API key is supplied. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.
311
- * @property {string} name Name of the new team member. Max length: 128 chars.
312
- * @property {boolean} overrideForCli
313
- * @property {boolean} parseOutput
314
- * @property {libClient | undefined} sdk
315
- */
316
-
317
- /**
318
- * @param {TeamsCreateMembershipRequestParams} params
319
- */
320
- const teamsCreateMembership = async ({teamId,roles,email,userId,phone,url,name,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
273
+ interface TeamsCreateMembershipRequestParams {
274
+ teamId: string;
275
+ roles: string[];
276
+ email?: string;
277
+ userId?: string;
278
+ phone?: string;
279
+ url?: string;
280
+ name?: string;
281
+ overrideForCli?: boolean;
282
+ parseOutput?: boolean;
283
+ sdk?: Client;
284
+ }
285
+
286
+ export const teamsCreateMembership = async ({teamId,roles,email,userId,phone,url,name,parseOutput = true, overrideForCli = false, sdk = undefined}: TeamsCreateMembershipRequestParams): Promise<any> => {
321
287
  let client = !sdk ? await sdkForProject() :
322
288
  sdk;
323
289
  let apiPath = '/teams/{teamId}/memberships'.replace('{teamId}', teamId);
@@ -355,19 +321,15 @@ const teamsCreateMembership = async ({teamId,roles,email,userId,phone,url,name,p
355
321
  return response;
356
322
 
357
323
  }
358
- /**
359
- * @typedef {Object} TeamsGetMembershipRequestParams
360
- * @property {string} teamId Team ID.
361
- * @property {string} membershipId Membership ID.
362
- * @property {boolean} overrideForCli
363
- * @property {boolean} parseOutput
364
- * @property {libClient | undefined} sdk
365
- */
366
-
367
- /**
368
- * @param {TeamsGetMembershipRequestParams} params
369
- */
370
- const teamsGetMembership = async ({teamId,membershipId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
324
+ interface TeamsGetMembershipRequestParams {
325
+ teamId: string;
326
+ membershipId: string;
327
+ overrideForCli?: boolean;
328
+ parseOutput?: boolean;
329
+ sdk?: Client;
330
+ }
331
+
332
+ export const teamsGetMembership = async ({teamId,membershipId,parseOutput = true, overrideForCli = false, sdk = undefined}: TeamsGetMembershipRequestParams): Promise<any> => {
371
333
  let client = !sdk ? await sdkForProject() :
372
334
  sdk;
373
335
  let apiPath = '/teams/{teamId}/memberships/{membershipId}'.replace('{teamId}', teamId).replace('{membershipId}', membershipId);
@@ -385,20 +347,16 @@ const teamsGetMembership = async ({teamId,membershipId,parseOutput = true, overr
385
347
  return response;
386
348
 
387
349
  }
388
- /**
389
- * @typedef {Object} TeamsUpdateMembershipRequestParams
390
- * @property {string} teamId Team ID.
391
- * @property {string} membershipId Membership ID.
392
- * @property {string[]} roles An array of strings. Use this param to set the user&#039;s roles in the team. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 32 characters long.
393
- * @property {boolean} overrideForCli
394
- * @property {boolean} parseOutput
395
- * @property {libClient | undefined} sdk
396
- */
397
-
398
- /**
399
- * @param {TeamsUpdateMembershipRequestParams} params
400
- */
401
- const teamsUpdateMembership = async ({teamId,membershipId,roles,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
350
+ interface TeamsUpdateMembershipRequestParams {
351
+ teamId: string;
352
+ membershipId: string;
353
+ roles: string[];
354
+ overrideForCli?: boolean;
355
+ parseOutput?: boolean;
356
+ sdk?: Client;
357
+ }
358
+
359
+ export const teamsUpdateMembership = async ({teamId,membershipId,roles,parseOutput = true, overrideForCli = false, sdk = undefined}: TeamsUpdateMembershipRequestParams): Promise<any> => {
402
360
  let client = !sdk ? await sdkForProject() :
403
361
  sdk;
404
362
  let apiPath = '/teams/{teamId}/memberships/{membershipId}'.replace('{teamId}', teamId).replace('{membershipId}', membershipId);
@@ -421,19 +379,15 @@ const teamsUpdateMembership = async ({teamId,membershipId,roles,parseOutput = tr
421
379
  return response;
422
380
 
423
381
  }
424
- /**
425
- * @typedef {Object} TeamsDeleteMembershipRequestParams
426
- * @property {string} teamId Team ID.
427
- * @property {string} membershipId Membership ID.
428
- * @property {boolean} overrideForCli
429
- * @property {boolean} parseOutput
430
- * @property {libClient | undefined} sdk
431
- */
432
-
433
- /**
434
- * @param {TeamsDeleteMembershipRequestParams} params
435
- */
436
- const teamsDeleteMembership = async ({teamId,membershipId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
382
+ interface TeamsDeleteMembershipRequestParams {
383
+ teamId: string;
384
+ membershipId: string;
385
+ overrideForCli?: boolean;
386
+ parseOutput?: boolean;
387
+ sdk?: Client;
388
+ }
389
+
390
+ export const teamsDeleteMembership = async ({teamId,membershipId,parseOutput = true, overrideForCli = false, sdk = undefined}: TeamsDeleteMembershipRequestParams): Promise<any> => {
437
391
  let client = !sdk ? await sdkForProject() :
438
392
  sdk;
439
393
  let apiPath = '/teams/{teamId}/memberships/{membershipId}'.replace('{teamId}', teamId).replace('{membershipId}', membershipId);
@@ -452,21 +406,17 @@ const teamsDeleteMembership = async ({teamId,membershipId,parseOutput = true, ov
452
406
  return response;
453
407
 
454
408
  }
455
- /**
456
- * @typedef {Object} TeamsUpdateMembershipStatusRequestParams
457
- * @property {string} teamId Team ID.
458
- * @property {string} membershipId Membership ID.
459
- * @property {string} userId User ID.
460
- * @property {string} secret Secret key.
461
- * @property {boolean} overrideForCli
462
- * @property {boolean} parseOutput
463
- * @property {libClient | undefined} sdk
464
- */
465
-
466
- /**
467
- * @param {TeamsUpdateMembershipStatusRequestParams} params
468
- */
469
- const teamsUpdateMembershipStatus = async ({teamId,membershipId,userId,secret,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
409
+ interface TeamsUpdateMembershipStatusRequestParams {
410
+ teamId: string;
411
+ membershipId: string;
412
+ userId: string;
413
+ secret: string;
414
+ overrideForCli?: boolean;
415
+ parseOutput?: boolean;
416
+ sdk?: Client;
417
+ }
418
+
419
+ export const teamsUpdateMembershipStatus = async ({teamId,membershipId,userId,secret,parseOutput = true, overrideForCli = false, sdk = undefined}: TeamsUpdateMembershipStatusRequestParams): Promise<any> => {
470
420
  let client = !sdk ? await sdkForProject() :
471
421
  sdk;
472
422
  let apiPath = '/teams/{teamId}/memberships/{membershipId}/status'.replace('{teamId}', teamId).replace('{membershipId}', membershipId);
@@ -491,18 +441,14 @@ const teamsUpdateMembershipStatus = async ({teamId,membershipId,userId,secret,pa
491
441
  return response;
492
442
 
493
443
  }
494
- /**
495
- * @typedef {Object} TeamsGetPrefsRequestParams
496
- * @property {string} teamId Team ID.
497
- * @property {boolean} overrideForCli
498
- * @property {boolean} parseOutput
499
- * @property {libClient | undefined} sdk
500
- */
501
-
502
- /**
503
- * @param {TeamsGetPrefsRequestParams} params
504
- */
505
- const teamsGetPrefs = async ({teamId,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
444
+ interface TeamsGetPrefsRequestParams {
445
+ teamId: string;
446
+ overrideForCli?: boolean;
447
+ parseOutput?: boolean;
448
+ sdk?: Client;
449
+ }
450
+
451
+ export const teamsGetPrefs = async ({teamId,parseOutput = true, overrideForCli = false, sdk = undefined}: TeamsGetPrefsRequestParams): Promise<any> => {
506
452
  let client = !sdk ? await sdkForProject() :
507
453
  sdk;
508
454
  let apiPath = '/teams/{teamId}/prefs'.replace('{teamId}', teamId);
@@ -520,19 +466,15 @@ const teamsGetPrefs = async ({teamId,parseOutput = true, overrideForCli = false,
520
466
  return response;
521
467
 
522
468
  }
523
- /**
524
- * @typedef {Object} TeamsUpdatePrefsRequestParams
525
- * @property {string} teamId Team ID.
526
- * @property {object} prefs Prefs key-value JSON object.
527
- * @property {boolean} overrideForCli
528
- * @property {boolean} parseOutput
529
- * @property {libClient | undefined} sdk
530
- */
531
-
532
- /**
533
- * @param {TeamsUpdatePrefsRequestParams} params
534
- */
535
- const teamsUpdatePrefs = async ({teamId,prefs,parseOutput = true, overrideForCli = false, sdk = undefined}) => {
469
+ interface TeamsUpdatePrefsRequestParams {
470
+ teamId: string;
471
+ prefs: object;
472
+ overrideForCli?: boolean;
473
+ parseOutput?: boolean;
474
+ sdk?: Client;
475
+ }
476
+
477
+ export const teamsUpdatePrefs = async ({teamId,prefs,parseOutput = true, overrideForCli = false, sdk = undefined}: TeamsUpdatePrefsRequestParams): Promise<any> => {
536
478
  let client = !sdk ? await sdkForProject() :
537
479
  sdk;
538
480
  let apiPath = '/teams/{teamId}/prefs'.replace('{teamId}', teamId);
@@ -559,7 +501,7 @@ teams
559
501
  .description(`Get a list of all the teams in which the current user is a member. You can use the parameters to filter your results.`)
560
502
  .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, total, billingPlan`)
561
503
  .option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
562
- .option(`--total [value]`, `When set to false, the total count returned will be 0 and will not be calculated.`, (value) => value === undefined ? true : parseBool(value))
504
+ .option(`--total [value]`, `When set to false, the total count returned will be 0 and will not be calculated.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
563
505
  .option(`--console`, `Get the resource console url`)
564
506
  .action(actionRunner(teamsList))
565
507
 
@@ -596,7 +538,7 @@ teams
596
538
  .description(`Get the team activity logs list by its unique ID.`)
597
539
  .requiredOption(`--team-id <team-id>`, `Team ID.`)
598
540
  .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset`)
599
- .option(`--total [value]`, `When set to false, the total count returned will be 0 and will not be calculated.`, (value) => value === undefined ? true : parseBool(value))
541
+ .option(`--total [value]`, `When set to false, the total count returned will be 0 and will not be calculated.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
600
542
  .action(actionRunner(teamsListLogs))
601
543
 
602
544
  teams
@@ -605,7 +547,7 @@ teams
605
547
  .requiredOption(`--team-id <team-id>`, `Team ID.`)
606
548
  .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles`)
607
549
  .option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
608
- .option(`--total [value]`, `When set to false, the total count returned will be 0 and will not be calculated.`, (value) => value === undefined ? true : parseBool(value))
550
+ .option(`--total [value]`, `When set to false, the total count returned will be 0 and will not be calculated.`, (value: string | undefined) => value === undefined ? true : parseBool(value))
609
551
  .action(actionRunner(teamsListMemberships))
610
552
 
611
553
  teams
@@ -664,20 +606,4 @@ teams
664
606
  .requiredOption(`--prefs <prefs>`, `Prefs key-value JSON object.`)
665
607
  .action(actionRunner(teamsUpdatePrefs))
666
608
 
667
- module.exports = {
668
- teams,
669
- teamsList,
670
- teamsCreate,
671
- teamsGet,
672
- teamsUpdateName,
673
- teamsDelete,
674
- teamsListLogs,
675
- teamsListMemberships,
676
- teamsCreateMembership,
677
- teamsGetMembership,
678
- teamsUpdateMembership,
679
- teamsDeleteMembership,
680
- teamsUpdateMembershipStatus,
681
- teamsGetPrefs,
682
- teamsUpdatePrefs
683
- };
609
+