appwrite-cli 12.0.0 → 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 +8 -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} +410 -664
  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} +122 -173
  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 -48
  255. package/lib/type-generation/languages/{dart.js → dart.ts} +91 -80
  256. package/lib/type-generation/languages/{java.js → java.ts} +58 -47
  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 -48
  261. package/lib/type-generation/languages/{swift.js → swift.ts} +59 -48
  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 -16
  279. package/lib/type-generation/languages/javascript.js +0 -102
  280. package/lib/type-generation/languages/kotlin.js +0 -85
  281. package/lib/type-generation/languages/language.js +0 -125
  282. package/lib/type-generation/languages/typescript.js +0 -107
  283. package/lib/validations.js +0 -17
@@ -0,0 +1,133 @@
1
+ export interface CliConfig {
2
+ verbose: boolean;
3
+ json: boolean;
4
+ force: boolean;
5
+ all: boolean;
6
+ ids: string[];
7
+ report: boolean;
8
+ reportData: Record<string, unknown>;
9
+ }
10
+ export interface Headers {
11
+ [key: string]: string;
12
+ }
13
+ export interface RequestParams {
14
+ [key: string]: unknown;
15
+ }
16
+ export interface FileUpload {
17
+ type: 'file';
18
+ file: Buffer | ReadableStream;
19
+ filename: string;
20
+ }
21
+ export type ResponseType = 'json' | 'arraybuffer';
22
+ export interface ConfigData {
23
+ [key: string]: unknown;
24
+ }
25
+ export interface SessionData {
26
+ endpoint: string;
27
+ email?: string;
28
+ phone?: string;
29
+ cookie?: string;
30
+ }
31
+ export interface GlobalConfigData {
32
+ sessions: {
33
+ [key: string]: SessionData;
34
+ };
35
+ current: string;
36
+ cookie?: string;
37
+ }
38
+ export interface ProjectConfigData {
39
+ projectId?: string;
40
+ projectName?: string;
41
+ functions?: FunctionConfig[];
42
+ collections?: CollectionConfig[];
43
+ databases?: DatabaseConfig[];
44
+ buckets?: BucketConfig[];
45
+ teams?: TeamConfig[];
46
+ topics?: TopicConfig[];
47
+ }
48
+ export interface FunctionConfig {
49
+ $id: string;
50
+ name: string;
51
+ runtime: string;
52
+ path: string;
53
+ entrypoint: string;
54
+ execute?: string[];
55
+ enabled?: boolean;
56
+ logging?: boolean;
57
+ events?: string[];
58
+ schedule?: string;
59
+ timeout?: number;
60
+ vars?: Record<string, string>;
61
+ commands?: string;
62
+ scopes?: string[];
63
+ specification?: string;
64
+ }
65
+ export interface CollectionConfig {
66
+ $id: string;
67
+ $permissions?: string[];
68
+ databaseId: string;
69
+ name: string;
70
+ enabled?: boolean;
71
+ documentSecurity?: boolean;
72
+ attributes?: AttributeConfig[];
73
+ indexes?: IndexConfig[];
74
+ }
75
+ export interface AttributeConfig {
76
+ key: string;
77
+ type: string;
78
+ required?: boolean;
79
+ array?: boolean;
80
+ size?: number;
81
+ default?: unknown;
82
+ min?: number;
83
+ max?: number;
84
+ format?: string;
85
+ elements?: string[];
86
+ relatedCollection?: string;
87
+ relationType?: string;
88
+ twoWay?: boolean;
89
+ twoWayKey?: string;
90
+ onDelete?: string;
91
+ side?: string;
92
+ encrypt?: boolean;
93
+ }
94
+ export interface IndexConfig {
95
+ key: string;
96
+ type: string;
97
+ status?: string;
98
+ attributes?: string[];
99
+ orders?: string[];
100
+ }
101
+ export interface DatabaseConfig {
102
+ $id: string;
103
+ name: string;
104
+ enabled?: boolean;
105
+ }
106
+ export interface BucketConfig {
107
+ $id: string;
108
+ $permissions?: string[];
109
+ name: string;
110
+ enabled?: boolean;
111
+ fileSecurity?: boolean;
112
+ maximumFileSize?: number;
113
+ allowedFileExtensions?: string[];
114
+ compression?: string;
115
+ encryption?: boolean;
116
+ antivirus?: boolean;
117
+ }
118
+ export interface TeamConfig {
119
+ $id: string;
120
+ name: string;
121
+ }
122
+ export interface TopicConfig {
123
+ $id: string;
124
+ name: string;
125
+ subscribe?: string[];
126
+ }
127
+ export interface CommandDescription {
128
+ [key: string]: string;
129
+ }
130
+ export interface ParsedData {
131
+ [key: string]: unknown;
132
+ }
133
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Get the latest version from npm registry
3
+ */
4
+ export declare function getLatestVersion(): Promise<string>;
5
+ /**
6
+ * Compare versions using semantic versioning
7
+ */
8
+ export declare function compareVersions(current: string, latest: string): number;
9
+ export declare function getAllFiles(folder: string): string[];
10
+ export declare function isPortTaken(port: number): Promise<boolean>;
11
+ export declare function systemHasCommand(command: string): boolean;
12
+ export declare const checkDeployConditions: (localConfig: any) => void;
13
+ export declare function showConsoleLink(serviceName: string, action: string, ...ids: string[]): void;
14
+ export declare function isCloud(): boolean;
15
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAWxD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAavE;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBpD;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBhE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAkBzD;AAED,eAAO,MAAM,qBAAqB,GAAI,aAAa,GAAG,KAAG,IAMxD,CAAC;AAEF,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CA0C3F;AAqKD,wBAAgB,OAAO,IAAI,OAAO,CAIjC"}
@@ -1,45 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkDeployConditions = void 0;
4
+ exports.getLatestVersion = getLatestVersion;
5
+ exports.compareVersions = compareVersions;
6
+ exports.getAllFiles = getAllFiles;
7
+ exports.isPortTaken = isPortTaken;
8
+ exports.systemHasCommand = systemHasCommand;
9
+ exports.showConsoleLink = showConsoleLink;
10
+ exports.isCloud = isCloud;
1
11
  const fs = require("fs");
2
12
  const path = require("path");
3
13
  const net = require("net");
4
- const childProcess = require('child_process');
5
- const chalk = require('chalk');
6
- const { fetch } = require("undici");
7
- const { localConfig, globalConfig } = require("./config");
8
-
14
+ const childProcess = require("child_process");
15
+ const chalk = require("chalk");
16
+ const undici_1 = require("undici");
17
+ const config_1 = require("./config");
9
18
  /**
10
19
  * Get the latest version from npm registry
11
20
  */
12
21
  async function getLatestVersion() {
13
22
  try {
14
- const response = await fetch('https://registry.npmjs.org/appwrite-cli/latest');
23
+ const response = await (0, undici_1.fetch)('https://registry.npmjs.org/appwrite-cli/latest');
15
24
  if (!response.ok) {
16
25
  throw new Error(`HTTP ${response.status}`);
17
26
  }
18
27
  const data = await response.json();
19
28
  return data.version;
20
- } catch (e) {
29
+ }
30
+ catch (e) {
21
31
  throw new Error(`Failed to fetch latest version: ${e.message}`);
22
32
  }
23
33
  }
24
-
25
34
  /**
26
35
  * Compare versions using semantic versioning
27
36
  */
28
37
  function compareVersions(current, latest) {
29
38
  const currentParts = current.split('.').map(Number);
30
39
  const latestParts = latest.split('.').map(Number);
31
-
32
40
  for (let i = 0; i < Math.max(currentParts.length, latestParts.length); i++) {
33
41
  const currentPart = currentParts[i] || 0;
34
42
  const latestPart = latestParts[i] || 0;
35
-
36
- if (latestPart > currentPart) return 1; // Latest is newer
37
- if (latestPart < currentPart) return -1; // Current is newer
43
+ if (latestPart > currentPart)
44
+ return 1; // Latest is newer
45
+ if (latestPart < currentPart)
46
+ return -1; // Current is newer
38
47
  }
39
-
40
48
  return 0; // Same version
41
49
  }
42
-
43
50
  function getAllFiles(folder) {
44
51
  const files = [];
45
52
  for (const pathDir of fs.readdirSync(folder)) {
@@ -47,128 +54,122 @@ function getAllFiles(folder) {
47
54
  let stats;
48
55
  try {
49
56
  stats = fs.statSync(pathAbsolute);
50
- } catch (error) {
57
+ }
58
+ catch (error) {
51
59
  continue;
52
60
  }
53
61
  if (stats.isDirectory()) {
54
62
  files.push(...getAllFiles(pathAbsolute));
55
- } else {
63
+ }
64
+ else {
56
65
  files.push(pathAbsolute);
57
66
  }
58
67
  }
59
68
  return files;
60
69
  }
61
-
62
70
  async function isPortTaken(port) {
63
71
  const taken = await new Promise((res, rej) => {
64
- const tester = net.createServer()
65
- .once('error', function (err) {
66
- if (err.code != 'EADDRINUSE') return rej(err)
67
- res(true)
68
- })
69
- .once('listening', function() {
70
- tester.once('close', function() { res(false) })
71
- .close()
72
+ const tester = net
73
+ .createServer()
74
+ .once('error', function (err) {
75
+ if (err.code != 'EADDRINUSE')
76
+ return rej(err);
77
+ res(true);
78
+ })
79
+ .once('listening', function () {
80
+ tester
81
+ .once('close', function () {
82
+ res(false);
72
83
  })
84
+ .close();
85
+ })
73
86
  .listen(port);
74
87
  });
75
-
76
88
  return taken;
77
89
  }
78
-
79
90
  function systemHasCommand(command) {
80
- const isUsingWindows = process.platform == 'win32'
81
-
82
- try {
83
- if(isUsingWindows) {
84
- childProcess.execSync('where ' + command, { stdio: 'pipe' })
85
- } else {
86
- childProcess.execSync(`[[ $(${command} --version) ]] || { exit 1; } && echo "OK"`, { stdio: 'pipe', shell: '/bin/bash' });
91
+ const isUsingWindows = process.platform == 'win32';
92
+ try {
93
+ if (isUsingWindows) {
94
+ childProcess.execSync('where ' + command, { stdio: 'pipe' });
95
+ }
96
+ else {
97
+ childProcess.execSync(`[[ $(${command} --version) ]] || { exit 1; } && echo "OK"`, {
98
+ stdio: 'pipe',
99
+ shell: '/bin/bash',
100
+ });
87
101
  }
88
- } catch (error) {
102
+ }
103
+ catch (error) {
89
104
  console.log(error);
90
105
  return false;
91
106
  }
92
-
93
107
  return true;
94
108
  }
95
-
96
109
  const checkDeployConditions = (localConfig) => {
97
110
  if (Object.keys(localConfig.data).length === 0) {
98
111
  throw new Error("No appwrite.config.json file found in the current directory. Please run this command again in the folder containing your appwrite.config.json file, or run 'appwrite init project' to link current directory to an Appwrite project.");
99
112
  }
100
- }
101
-
113
+ };
114
+ exports.checkDeployConditions = checkDeployConditions;
102
115
  function showConsoleLink(serviceName, action, ...ids) {
103
- const projectId = localConfig.getProject().projectId;
104
-
105
- const url = new URL(globalConfig.getEndpoint().replace('/v1', '/console'));
116
+ const projectId = config_1.localConfig.getProject().projectId;
117
+ const url = new URL(config_1.globalConfig.getEndpoint().replace('/v1', '/console'));
106
118
  url.pathname += `/project-${projectId}`;
107
119
  action = action.toLowerCase();
108
-
109
120
  switch (serviceName) {
110
- case "account":
121
+ case 'account':
111
122
  url.pathname = url.pathname.replace(`/project-${projectId}`, '');
112
123
  url.pathname += getAccountPath(action);
113
124
  break;
114
- case "databases":
125
+ case 'databases':
115
126
  url.pathname += getDatabasePath(action, ids);
116
127
  break;
117
- case "functions":
128
+ case 'functions':
118
129
  url.pathname += getFunctionsPath(action, ids);
119
130
  break;
120
- case "messaging":
131
+ case 'messaging':
121
132
  url.pathname += getMessagingPath(action, ids);
122
133
  break;
123
- case "projects":
134
+ case 'projects':
124
135
  url.pathname = url.pathname.replace(`/project-${projectId}`, '');
125
136
  url.pathname += getProjectsPath(action, ids);
126
137
  break;
127
- case "storage":
138
+ case 'storage':
128
139
  url.pathname += getBucketsPath(action, ids);
129
140
  break;
130
- case "teams":
141
+ case 'teams':
131
142
  url.pathname += getTeamsPath(action, ids);
132
143
  break;
133
- case "organizations":
144
+ case 'organizations':
134
145
  url.pathname += getOrganizationsPath(action, ids);
135
146
  break;
136
- case "users":
147
+ case 'users':
137
148
  url.pathname += getUsersPath(action, ids);
138
149
  break;
139
150
  default:
140
151
  return;
141
152
  }
142
-
143
- console.log(`${chalk.green.bold("✓ Success:")} ${chalk.green(url)}`);
153
+ console.log(`${chalk.green.bold('✓ Success:')} ${chalk.green(url.toString())}`);
144
154
  }
145
-
146
155
  function getAccountPath(action) {
147
156
  let path = '/account';
148
-
149
157
  if (action === 'listsessions') {
150
158
  path += '/sessions';
151
159
  }
152
-
153
160
  return path;
154
161
  }
155
-
156
162
  function getDatabasePath(action, ids) {
157
163
  let path = '/databases';
158
-
159
-
160
164
  if (['get', 'listcollections', 'getcollection', 'listattributes', 'listdocuments', 'getdocument', 'listindexes', 'getdatabaseusage'].includes(action)) {
161
165
  path += `/database-${ids[0]}`;
162
166
  }
163
-
164
167
  if (action === 'getdatabaseusage') {
165
168
  path += `/usage`;
166
169
  }
167
-
168
170
  if (['getcollection', 'listattributes', 'listdocuments', 'getdocument', 'listindexes'].includes(action)) {
169
171
  path += `/collection-${ids[1]}`;
170
172
  }
171
-
172
173
  if (action === 'listattributes') {
173
174
  path += '/attributes';
174
175
  }
@@ -178,149 +179,102 @@ function getDatabasePath(action, ids) {
178
179
  if (action === 'getdocument') {
179
180
  path += `/document-${ids[2]}`;
180
181
  }
181
-
182
-
183
182
  return path;
184
183
  }
185
-
186
184
  function getFunctionsPath(action, ids) {
187
185
  let path = '/functions';
188
-
189
186
  if (action !== 'list') {
190
187
  path += `/function-${ids[0]}`;
191
188
  }
192
-
193
189
  if (action === 'getdeployment') {
194
- path += `/deployment-${ids[1]}`
190
+ path += `/deployment-${ids[1]}`;
195
191
  }
196
-
197
192
  if (action === 'getexecution' || action === 'listexecution') {
198
- path += `/executions`
193
+ path += `/executions`;
199
194
  }
200
195
  if (action === 'getfunctionusage') {
201
- path += `/usage`
196
+ path += `/usage`;
202
197
  }
203
-
204
198
  return path;
205
199
  }
206
-
207
200
  function getMessagingPath(action, ids) {
208
201
  let path = '/messaging';
209
-
210
202
  if (['getmessage', 'listmessagelogs'].includes(action)) {
211
203
  path += `/message-${ids[0]}`;
212
204
  }
213
-
214
205
  if (['listproviders', 'getprovider'].includes(action)) {
215
206
  path += `/providers`;
216
207
  }
217
-
218
208
  if (action === 'getprovider') {
219
209
  path += `/provider-${ids[0]}`;
220
210
  }
221
-
222
211
  if (['listtopics', 'gettopic'].includes(action)) {
223
212
  path += `/topics`;
224
213
  }
225
-
226
214
  if (action === 'gettopic') {
227
215
  path += `/topic-${ids[0]}`;
228
216
  }
229
-
230
217
  return path;
231
218
  }
232
-
233
219
  function getProjectsPath(action, ids) {
234
220
  let path = '';
235
-
236
221
  if (action !== 'list') {
237
222
  path += `/project-${ids[0]}`;
238
223
  }
239
-
240
224
  if (['listkeys', 'getkey'].includes(action)) {
241
- path += '/overview/keys'
225
+ path += '/overview/keys';
242
226
  }
243
-
244
227
  if (['listplatforms', 'getplatform'].includes(action)) {
245
- path += '/overview/platforms'
228
+ path += '/overview/platforms';
246
229
  }
247
-
248
230
  if (['listwebhooks', 'getwebhook'].includes(action)) {
249
- path += '/settings/webhooks'
231
+ path += '/settings/webhooks';
250
232
  }
251
-
252
233
  if (['getplatform', 'getkey', 'getwebhook'].includes(action)) {
253
234
  path += `/${ids[1]}`;
254
235
  }
255
-
256
236
  return path;
257
237
  }
258
-
259
238
  function getBucketsPath(action, ids) {
260
239
  let path = '/storage';
261
-
262
240
  if (action !== 'listbuckets') {
263
241
  path += `/bucket-${ids[0]}`;
264
242
  }
265
-
266
243
  if (action === 'getbucketusage') {
267
- path += `/usage`
244
+ path += `/usage`;
268
245
  }
269
-
270
246
  if (action === 'getfile') {
271
- path += `/file-${ids[1]}`
247
+ path += `/file-${ids[1]}`;
272
248
  }
273
-
274
249
  return path;
275
250
  }
276
-
277
251
  function getTeamsPath(action, ids) {
278
252
  let path = '/auth/teams';
279
-
280
253
  if (action !== 'list') {
281
254
  path += `/team-${ids[0]}`;
282
255
  }
283
-
284
256
  return path;
285
257
  }
286
-
287
258
  function getOrganizationsPath(action, ids) {
288
259
  let path = `/organization-${ids[0]}`;
289
-
290
260
  if (action === 'list') {
291
261
  path = '/account/organizations';
292
262
  }
293
-
294
263
  return path;
295
264
  }
296
-
297
265
  function getUsersPath(action, ids) {
298
266
  let path = '/auth';
299
-
300
267
  if (action !== 'list') {
301
268
  path += `/user-${ids[0]}`;
302
269
  }
303
-
304
270
  if (action === 'listsessions') {
305
271
  path += 'sessions';
306
272
  }
307
-
308
273
  return path;
309
274
  }
310
-
311
275
  function isCloud() {
312
- const endpoint = globalConfig.getEndpoint() || "https://cloud.appwrite.io/v1";
276
+ const endpoint = config_1.globalConfig.getEndpoint() || 'https://cloud.appwrite.io/v1';
313
277
  const hostname = new URL(endpoint).hostname;
314
278
  return hostname.endsWith('appwrite.io');
315
279
  }
316
-
317
- module.exports = {
318
- getAllFiles,
319
- isPortTaken,
320
- systemHasCommand,
321
- checkDeployConditions,
322
- showConsoleLink,
323
- isCloud,
324
- getLatestVersion,
325
- compareVersions
326
- };
280
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const validateRequired: (resource: string, value: any) => string | true;
2
+ //# sourceMappingURL=validations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../lib/validations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,EAAE,OAAO,GAAG,KAAG,MAAM,GAAG,IAgBxE,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateRequired = void 0;
4
+ const validateRequired = (resource, value) => {
5
+ if (Array.isArray(value)) {
6
+ if (value.length <= 0) {
7
+ return `Please select at least one ${resource}`;
8
+ }
9
+ }
10
+ else {
11
+ if (value === undefined ||
12
+ value === null ||
13
+ (typeof value === 'string' && value.trim() === '')) {
14
+ return `${resource} is required`;
15
+ }
16
+ }
17
+ return true;
18
+ };
19
+ exports.validateRequired = validateRequired;
20
+ //# sourceMappingURL=validations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validations.js","sourceRoot":"","sources":["../../lib/validations.ts"],"names":[],"mappings":";;;AAAO,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,KAAU,EAAiB,EAAE;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,8BAA8B,QAAQ,EAAE,CAAC;QACpD,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IACI,KAAK,KAAK,SAAS;YACnB,KAAK,KAAK,IAAI;YACd,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EACpD,CAAC;YACC,OAAO,GAAG,QAAQ,cAAc,CAAC;QACrC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAhBW,QAAA,gBAAgB,oBAgB3B"}
@@ -1,5 +1,4 @@
1
1
  appwrite databases upsert-document \
2
2
  --database-id <DATABASE_ID> \
3
3
  --collection-id <COLLECTION_ID> \
4
- --document-id <DOCUMENT_ID> \
5
- --data '{ "key": "value" }'
4
+ --document-id <DOCUMENT_ID>