@appsemble/cli 0.20.9 → 0.20.12

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 (295) hide show
  1. package/__fixtures__/getBlockConfigFromTypeScript/comments/index.ts +40 -0
  2. package/__fixtures__/getBlockConfigFromTypeScript/comments/tsconfig.json +7 -0
  3. package/__fixtures__/getBlockConfigFromTypeScript/duplicateActions/index.ts +34 -0
  4. package/__fixtures__/getBlockConfigFromTypeScript/duplicateActions/tsconfig.json +7 -0
  5. package/__fixtures__/getBlockConfigFromTypeScript/duplicateEventEmitters/index.ts +34 -0
  6. package/__fixtures__/getBlockConfigFromTypeScript/duplicateEventEmitters/tsconfig.json +7 -0
  7. package/__fixtures__/getBlockConfigFromTypeScript/duplicateEventListeners/index.ts +34 -0
  8. package/__fixtures__/getBlockConfigFromTypeScript/duplicateEventListeners/tsconfig.json +7 -0
  9. package/__fixtures__/getBlockConfigFromTypeScript/duplicateParameters/index.ts +34 -0
  10. package/__fixtures__/getBlockConfigFromTypeScript/duplicateParameters/tsconfig.json +7 -0
  11. package/__fixtures__/getBlockConfigFromTypeScript/fontawesomeParameters/index.ts +11 -0
  12. package/__fixtures__/getBlockConfigFromTypeScript/fontawesomeParameters/tsconfig.json +7 -0
  13. package/__fixtures__/getBlockConfigFromTypeScript/tsError/index.ts +4 -0
  14. package/__fixtures__/getBlockConfigFromTypeScript/tsError/tsconfig.json +8 -0
  15. package/__fixtures__/getBlockConfigFromTypeScript/valid/index.ts +28 -0
  16. package/__fixtures__/getBlockConfigFromTypeScript/valid/tsconfig.json +7 -0
  17. package/__fixtures__/makePayload/no-icon/output/block.js +1 -0
  18. package/__fixtures__/makePayload/with-icon/icon.svg +2 -0
  19. package/__fixtures__/makePayload/with-icon/output/block.js +1 -0
  20. package/assets/appsemblerc.schema.json +150 -0
  21. package/changed/added/.gitkeep +0 -0
  22. package/changed/changed/.gitkeep +0 -0
  23. package/changed/deprecated/.gitkeep +0 -0
  24. package/changed/fixed/.gitkeep +0 -0
  25. package/changed/removed/.gitkeep +0 -0
  26. package/changed/security/.gitkeep +0 -0
  27. package/{dist/commands → commands}/app/create.d.ts +0 -0
  28. package/{dist/commands → commands}/app/create.js +0 -0
  29. package/commands/app/create.js.map +1 -0
  30. package/commands/app/create.ts +104 -0
  31. package/{dist/commands → commands}/app/extract-messages.d.ts +0 -0
  32. package/{dist/commands → commands}/app/extract-messages.js +0 -0
  33. package/commands/app/extract-messages.js.map +1 -0
  34. package/commands/app/extract-messages.ts +56 -0
  35. package/{dist/commands → commands}/app/index.d.ts +0 -0
  36. package/{dist/commands → commands}/app/index.js +0 -0
  37. package/commands/app/index.js.map +1 -0
  38. package/commands/app/index.ts +14 -0
  39. package/{dist/commands → commands}/app/update.d.ts +0 -0
  40. package/{dist/commands → commands}/app/update.js +0 -0
  41. package/commands/app/update.js.map +1 -0
  42. package/commands/app/update.ts +111 -0
  43. package/{dist/commands → commands}/asset/create.d.ts +0 -0
  44. package/{dist/commands → commands}/asset/create.js +0 -0
  45. package/commands/asset/create.js.map +1 -0
  46. package/commands/asset/create.ts +84 -0
  47. package/{dist/commands → commands}/asset/index.d.ts +0 -0
  48. package/{dist/commands → commands}/asset/index.js +0 -0
  49. package/commands/asset/index.js.map +1 -0
  50. package/commands/asset/index.ts +12 -0
  51. package/{dist/commands → commands}/block/build.d.ts +0 -0
  52. package/{dist/commands → commands}/block/build.js +0 -0
  53. package/commands/block/build.js.map +1 -0
  54. package/commands/block/build.ts +32 -0
  55. package/{dist/commands → commands}/block/extract-messages.d.ts +0 -0
  56. package/{dist/commands → commands}/block/extract-messages.js +0 -0
  57. package/commands/block/extract-messages.js.map +1 -0
  58. package/commands/block/extract-messages.ts +41 -0
  59. package/{dist/commands → commands}/block/index.d.ts +0 -0
  60. package/{dist/commands → commands}/block/index.js +0 -0
  61. package/commands/block/index.js.map +1 -0
  62. package/commands/block/index.ts +14 -0
  63. package/{dist/commands → commands}/block/publish.d.ts +0 -0
  64. package/{dist/commands → commands}/block/publish.js +0 -0
  65. package/commands/block/publish.js.map +1 -0
  66. package/commands/block/publish.ts +58 -0
  67. package/{dist/commands → commands}/cleanupResources.d.ts +0 -0
  68. package/{dist/commands → commands}/cleanupResources.js +0 -0
  69. package/commands/cleanupResources.js.map +1 -0
  70. package/commands/cleanupResources.ts +45 -0
  71. package/{dist/commands → commands}/config/get.d.ts +0 -0
  72. package/{dist/commands → commands}/config/get.js +0 -0
  73. package/commands/config/get.js.map +1 -0
  74. package/commands/config/get.ts +26 -0
  75. package/{dist/commands → commands}/config/index.d.ts +0 -0
  76. package/{dist/commands → commands}/config/index.js +0 -0
  77. package/commands/config/index.js.map +1 -0
  78. package/commands/config/index.ts +13 -0
  79. package/{dist/commands → commands}/config/set.d.ts +0 -0
  80. package/{dist/commands → commands}/config/set.js +0 -0
  81. package/commands/config/set.js.map +1 -0
  82. package/commands/config/set.ts +44 -0
  83. package/{dist/commands → commands}/login.d.ts +0 -0
  84. package/{dist/commands → commands}/login.js +0 -0
  85. package/commands/login.js.map +1 -0
  86. package/commands/login.ts +5 -0
  87. package/{dist/commands → commands}/logout.d.ts +0 -0
  88. package/{dist/commands → commands}/logout.js +0 -0
  89. package/commands/logout.js.map +1 -0
  90. package/commands/logout.ts +5 -0
  91. package/{dist/commands → commands}/migrate.d.ts +0 -0
  92. package/{dist/commands → commands}/migrate.js +5 -2
  93. package/commands/migrate.js.map +1 -0
  94. package/commands/migrate.ts +50 -0
  95. package/{dist/commands → commands}/organization/create.d.ts +0 -0
  96. package/{dist/commands → commands}/organization/create.js +0 -0
  97. package/commands/organization/create.js.map +1 -0
  98. package/commands/organization/create.ts +65 -0
  99. package/{dist/commands → commands}/organization/index.d.ts +0 -0
  100. package/{dist/commands → commands}/organization/index.js +0 -0
  101. package/commands/organization/index.js.map +1 -0
  102. package/commands/organization/index.ts +13 -0
  103. package/{dist/commands → commands}/organization/update.d.ts +0 -0
  104. package/{dist/commands → commands}/organization/update.js +0 -0
  105. package/commands/organization/update.js.map +1 -0
  106. package/commands/organization/update.ts +65 -0
  107. package/{dist/commands → commands}/resource/create.d.ts +0 -0
  108. package/{dist/commands → commands}/resource/create.js +0 -0
  109. package/commands/resource/create.js.map +1 -0
  110. package/commands/resource/create.ts +78 -0
  111. package/{dist/commands → commands}/resource/index.d.ts +0 -0
  112. package/{dist/commands → commands}/resource/index.js +0 -0
  113. package/commands/resource/index.js.map +1 -0
  114. package/commands/resource/index.ts +13 -0
  115. package/{dist/commands → commands}/resource/update.d.ts +0 -0
  116. package/{dist/commands → commands}/resource/update.js +0 -0
  117. package/commands/resource/update.js.map +1 -0
  118. package/commands/resource/update.ts +77 -0
  119. package/{dist/commands → commands}/runCronJobs.d.ts +0 -0
  120. package/{dist/commands → commands}/runCronJobs.js +0 -0
  121. package/commands/runCronJobs.js.map +1 -0
  122. package/commands/runCronJobs.ts +45 -0
  123. package/{dist/commands → commands}/start.d.ts +0 -0
  124. package/{dist/commands → commands}/start.js +4 -0
  125. package/commands/start.js.map +1 -0
  126. package/commands/start.ts +140 -0
  127. package/{dist/commands → commands}/team/create.d.ts +0 -0
  128. package/{dist/commands → commands}/team/create.js +0 -0
  129. package/commands/team/create.js.map +1 -0
  130. package/commands/team/create.ts +60 -0
  131. package/{dist/commands → commands}/team/delete.d.ts +0 -0
  132. package/{dist/commands → commands}/team/delete.js +0 -0
  133. package/commands/team/delete.js.map +1 -0
  134. package/commands/team/delete.ts +54 -0
  135. package/{dist/commands → commands}/team/index.d.ts +0 -0
  136. package/{dist/commands → commands}/team/index.js +0 -0
  137. package/commands/team/index.js.map +1 -0
  138. package/commands/team/index.ts +15 -0
  139. package/{dist/commands → commands}/team/member/delete.d.ts +0 -0
  140. package/{dist/commands → commands}/team/member/delete.js +0 -0
  141. package/commands/team/member/delete.js.map +1 -0
  142. package/commands/team/member/delete.ts +61 -0
  143. package/{dist/commands → commands}/team/member/index.d.ts +0 -0
  144. package/{dist/commands → commands}/team/member/index.js +0 -0
  145. package/commands/team/member/index.js.map +1 -0
  146. package/commands/team/member/index.ts +14 -0
  147. package/{dist/commands → commands}/team/member/invite.d.ts +0 -0
  148. package/{dist/commands → commands}/team/member/invite.js +0 -0
  149. package/commands/team/member/invite.js.map +1 -0
  150. package/commands/team/member/invite.ts +61 -0
  151. package/{dist/commands → commands}/team/member/update.d.ts +0 -0
  152. package/{dist/commands → commands}/team/member/update.js +0 -0
  153. package/commands/team/member/update.js.map +1 -0
  154. package/commands/team/member/update.ts +70 -0
  155. package/{dist/commands → commands}/team/update.d.ts +0 -0
  156. package/{dist/commands → commands}/team/update.js +0 -0
  157. package/commands/team/update.js.map +1 -0
  158. package/commands/team/update.ts +60 -0
  159. package/index.d.ts +2 -0
  160. package/{dist/index.js → index.js} +2 -6
  161. package/index.js.map +1 -0
  162. package/index.ts +74 -0
  163. package/jest.config.js +1 -0
  164. package/jest.setup.d.ts +1 -0
  165. package/jest.setup.js +6 -0
  166. package/jest.setup.js.map +1 -0
  167. package/jest.setup.ts +4 -0
  168. package/lib/__snapshots__/getBlockConfigFromTypeScript.test.ts.snap +3872 -0
  169. package/{dist/lib → lib}/app.d.ts +17 -17
  170. package/{dist/lib → lib}/app.js +29 -29
  171. package/lib/app.js.map +1 -0
  172. package/lib/app.ts +797 -0
  173. package/{dist/lib → lib}/asset.d.ts +0 -0
  174. package/{dist/lib → lib}/asset.js +0 -0
  175. package/lib/asset.js.map +1 -0
  176. package/lib/asset.ts +43 -0
  177. package/{dist/lib → lib}/authentication.d.ts +3 -3
  178. package/{dist/lib → lib}/authentication.js +47 -15
  179. package/lib/authentication.js.map +1 -0
  180. package/lib/authentication.ts +193 -0
  181. package/{dist/lib → lib}/block.d.ts +16 -16
  182. package/{dist/lib → lib}/block.js +35 -26
  183. package/lib/block.js.map +1 -0
  184. package/lib/block.test.d.ts +1 -0
  185. package/lib/block.test.js +106 -0
  186. package/lib/block.test.js.map +1 -0
  187. package/lib/block.test.ts +103 -0
  188. package/lib/block.ts +384 -0
  189. package/{dist/lib → lib}/coercers.d.ts +2 -2
  190. package/{dist/lib → lib}/coercers.js +2 -2
  191. package/lib/coercers.js.map +1 -0
  192. package/lib/coercers.test.d.ts +1 -0
  193. package/lib/coercers.test.js +28 -0
  194. package/lib/coercers.test.js.map +1 -0
  195. package/lib/coercers.test.ts +27 -0
  196. package/lib/coercers.ts +57 -0
  197. package/{dist/lib → lib}/getBlockConfigFromTypeScript.d.ts +1 -1
  198. package/{dist/lib → lib}/getBlockConfigFromTypeScript.js +38 -36
  199. package/lib/getBlockConfigFromTypeScript.js.map +1 -0
  200. package/lib/getBlockConfigFromTypeScript.test.d.ts +1 -0
  201. package/lib/getBlockConfigFromTypeScript.test.js +238 -0
  202. package/lib/getBlockConfigFromTypeScript.test.js.map +1 -0
  203. package/lib/getBlockConfigFromTypeScript.test.ts +281 -0
  204. package/lib/getBlockConfigFromTypeScript.ts +354 -0
  205. package/{dist/lib → lib}/initAxios.d.ts +1 -1
  206. package/{dist/lib → lib}/initAxios.js +3 -4
  207. package/lib/initAxios.js.map +1 -0
  208. package/lib/initAxios.ts +16 -0
  209. package/{dist/lib → lib}/loadWebpackConfig.d.ts +3 -3
  210. package/{dist/lib → lib}/loadWebpackConfig.js +3 -3
  211. package/lib/loadWebpackConfig.js.map +1 -0
  212. package/lib/loadWebpackConfig.ts +59 -0
  213. package/{dist/lib → lib}/organization.d.ts +1 -1
  214. package/{dist/lib → lib}/organization.js +0 -0
  215. package/lib/organization.js.map +1 -0
  216. package/lib/organization.ts +105 -0
  217. package/{dist/lib → lib}/output.d.ts +0 -0
  218. package/{dist/lib → lib}/output.js +0 -0
  219. package/lib/output.js.map +1 -0
  220. package/lib/output.ts +19 -0
  221. package/{dist/lib → lib}/processCss.d.ts +1 -1
  222. package/{dist/lib → lib}/processCss.js +3 -3
  223. package/lib/processCss.js.map +1 -0
  224. package/lib/processCss.ts +24 -0
  225. package/{dist/lib → lib}/resource.d.ts +0 -0
  226. package/{dist/lib → lib}/resource.js +1 -1
  227. package/lib/resource.js.map +1 -0
  228. package/lib/resource.ts +128 -0
  229. package/{dist/lib → lib}/serverImport.d.ts +1 -1
  230. package/{dist/lib → lib}/serverImport.js +2 -2
  231. package/lib/serverImport.js.map +1 -0
  232. package/lib/serverImport.ts +43 -0
  233. package/{dist/lib → lib}/team.d.ts +0 -0
  234. package/{dist/lib → lib}/team.js +0 -0
  235. package/lib/team.js.map +1 -0
  236. package/lib/team.ts +152 -0
  237. package/package.json +14 -12
  238. package/tsconfig.json +10 -0
  239. package/{dist/types.d.ts → types.d.ts} +0 -0
  240. package/{dist/types.js → types.js} +0 -0
  241. package/types.js.map +1 -0
  242. package/types.ts +110 -0
  243. package/dist/commands/app/create.js.map +0 -1
  244. package/dist/commands/app/extract-messages.js.map +0 -1
  245. package/dist/commands/app/index.js.map +0 -1
  246. package/dist/commands/app/update.js.map +0 -1
  247. package/dist/commands/asset/create.js.map +0 -1
  248. package/dist/commands/asset/index.js.map +0 -1
  249. package/dist/commands/block/build.js.map +0 -1
  250. package/dist/commands/block/extract-messages.js.map +0 -1
  251. package/dist/commands/block/index.js.map +0 -1
  252. package/dist/commands/block/publish.js.map +0 -1
  253. package/dist/commands/cleanupResources.js.map +0 -1
  254. package/dist/commands/config/get.js.map +0 -1
  255. package/dist/commands/config/index.js.map +0 -1
  256. package/dist/commands/config/set.js.map +0 -1
  257. package/dist/commands/login.js.map +0 -1
  258. package/dist/commands/logout.js.map +0 -1
  259. package/dist/commands/migrate.js.map +0 -1
  260. package/dist/commands/organization/create.js.map +0 -1
  261. package/dist/commands/organization/index.js.map +0 -1
  262. package/dist/commands/organization/update.js.map +0 -1
  263. package/dist/commands/resource/create.js.map +0 -1
  264. package/dist/commands/resource/index.js.map +0 -1
  265. package/dist/commands/resource/update.js.map +0 -1
  266. package/dist/commands/runCronJobs.js.map +0 -1
  267. package/dist/commands/start.js.map +0 -1
  268. package/dist/commands/team/create.js.map +0 -1
  269. package/dist/commands/team/delete.js.map +0 -1
  270. package/dist/commands/team/index.js.map +0 -1
  271. package/dist/commands/team/member/delete.js.map +0 -1
  272. package/dist/commands/team/member/index.js.map +0 -1
  273. package/dist/commands/team/member/invite.js.map +0 -1
  274. package/dist/commands/team/member/update.js.map +0 -1
  275. package/dist/commands/team/update.js.map +0 -1
  276. package/dist/index.d.ts +0 -2
  277. package/dist/index.js.map +0 -1
  278. package/dist/lib/app.js.map +0 -1
  279. package/dist/lib/asset.js.map +0 -1
  280. package/dist/lib/authentication.js.map +0 -1
  281. package/dist/lib/block.js.map +0 -1
  282. package/dist/lib/coercers.js.map +0 -1
  283. package/dist/lib/getBlockConfigFromTypeScript.js.map +0 -1
  284. package/dist/lib/initAxios.js.map +0 -1
  285. package/dist/lib/loadWebpackConfig.js.map +0 -1
  286. package/dist/lib/organization.js.map +0 -1
  287. package/dist/lib/output.js.map +0 -1
  288. package/dist/lib/processCss.js.map +0 -1
  289. package/dist/lib/readPackageJson.d.ts +0 -9
  290. package/dist/lib/readPackageJson.js +0 -16
  291. package/dist/lib/readPackageJson.js.map +0 -1
  292. package/dist/lib/resource.js.map +0 -1
  293. package/dist/lib/serverImport.js.map +0 -1
  294. package/dist/lib/team.js.map +0 -1
  295. package/dist/types.js.map +0 -1
@@ -0,0 +1,140 @@
1
+ import { Argv } from 'yargs';
2
+
3
+ import { discoverBlocks } from '../lib/block';
4
+ import { loadWebpackConfig } from '../lib/loadWebpackConfig';
5
+ import { serverImport } from '../lib/serverImport';
6
+ import { BaseArguments } from '../types';
7
+
8
+ export const command = 'start';
9
+ export const description = 'Start the Appsemble development server.';
10
+
11
+ export function builder(yargs: Argv): Argv<any> {
12
+ return yargs
13
+ .option('port', {
14
+ desc: 'The HTTP server port to use. (Development only)',
15
+ type: 'number',
16
+ default: 9999,
17
+ })
18
+ .option('database-host', {
19
+ desc: 'The host of the database to connect to. This defaults to the connected database container.',
20
+ })
21
+ .option('database-port', {
22
+ desc: 'The port of the database to connect to.',
23
+ type: 'number',
24
+ default: 5432,
25
+ })
26
+ .option('database-ssl', {
27
+ desc: 'Use SSL to connect to the database.',
28
+ type: 'boolean',
29
+ })
30
+ .option('database-name', {
31
+ desc: 'The name of the database to connect to.',
32
+ implies: ['database-user', 'database-password'],
33
+ })
34
+ .option('database-user', {
35
+ desc: 'The user to use to login to the database.',
36
+ implies: ['database-name', 'database-password'],
37
+ })
38
+ .option('database-password', {
39
+ desc: 'The password to use to login to the database.',
40
+ implies: ['database-name', 'database-user'],
41
+ })
42
+ .option('database-url', {
43
+ desc: 'A connection string for the database to connect to. This is an alternative to the separate database related variables.',
44
+ conflicts: ['database-host', 'database-name', 'database-user', 'database-password'],
45
+ })
46
+ .option('migrate-to', {
47
+ desc: "To which version to migrate the database. This should be either a semver or 'next'",
48
+ })
49
+ .option('smtp-host', {
50
+ desc: 'The host of the SMTP server to connect to.',
51
+ })
52
+ .option('smtp-port', {
53
+ desc: 'The port of the SMTP server to connect to.',
54
+ type: 'number',
55
+ })
56
+ .option('smtp-secure', {
57
+ desc: 'Use TLS when connecting to the SMTP server.',
58
+ type: 'boolean',
59
+ default: false,
60
+ })
61
+ .option('smtp-user', {
62
+ desc: 'The user to use to login to the SMTP server.',
63
+ implies: ['smtp-pass', 'smtp-from'],
64
+ })
65
+ .option('smtp-pass', {
66
+ desc: 'The password to use to login to the SMTP server.',
67
+ implies: ['smtp-user', 'smtp-from'],
68
+ })
69
+ .option('smtp-from', {
70
+ desc: 'The address to use when sending emails.',
71
+ implies: ['smtp-user', 'smtp-pass'],
72
+ })
73
+ .option('google-client-id', {
74
+ desc: 'The application key to be used for Google OAuth2.',
75
+ implies: 'google-client-secret',
76
+ })
77
+ .option('google-client-secret', {
78
+ desc: 'The secret key to be used for Google OAuth2.',
79
+ implies: 'google-client-id',
80
+ })
81
+ .option('github-client-id', {
82
+ desc: 'The application key to be used for GitHub OAuth2.',
83
+ implies: 'github-client-secret',
84
+ })
85
+ .option('github-client-secret', {
86
+ desc: 'The secret key to be used for GitHub OAuth2.',
87
+ implies: 'github-client-id',
88
+ })
89
+ .option('gitlab-client-id', {
90
+ desc: 'The application key to be used for GitLab OAuth2.',
91
+ implies: 'gitlab-client-secret',
92
+ })
93
+ .option('gitlab-client-secret', {
94
+ desc: 'The secret key to be used for GitLab OAuth2.',
95
+ implies: 'gitlab-client-id',
96
+ })
97
+ .option('secret', {
98
+ desc: 'Secret key used to sign JWTs and cookies',
99
+ required: true,
100
+ })
101
+ .option('aes-secret', {
102
+ desc: 'The key used for all the data that is encrypted using AES.',
103
+ required: true,
104
+ })
105
+ .option('oauth-secret', {
106
+ desc: 'Secret key used to sign JWTs and cookies',
107
+ default: 'appsemble',
108
+ })
109
+ .option('disable-registration', {
110
+ desc: 'If specified, user registration will be disabled on the server',
111
+ type: 'boolean',
112
+ default: false,
113
+ })
114
+ .option('host', {
115
+ desc: 'The external host on which the server is available. This should include the protocol, hostname, and optionally the port.',
116
+ required: true,
117
+ })
118
+ .option('ssl', {
119
+ desc: 'Enable SSL. This is a development flag. It is not the recommended way to use SSL in production.',
120
+ implies: ['ssl-key', 'ssl-cert'],
121
+ })
122
+ .option('ssl-key', {
123
+ desc: 'The SSL key to use, either as a string or as a file path.',
124
+ implies: ['ssl', 'ssl-cert'],
125
+ })
126
+ .option('ssl-cert', {
127
+ desc: 'The SSL certificate to use, either as a string or as a file path.',
128
+ implies: ['ssl', 'ssl-key'],
129
+ });
130
+ }
131
+
132
+ export async function handler(argv: BaseArguments): Promise<void> {
133
+ const { setArgv, start } = await serverImport('setArgv', 'start');
134
+ setArgv(argv);
135
+ const blocks = await discoverBlocks(process.cwd());
136
+ const webpackConfigs = await Promise.all(
137
+ blocks.map((block) => loadWebpackConfig(block, 'development')),
138
+ );
139
+ return start({ webpackConfigs });
140
+ }
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["create.ts"],"names":[],"mappings":";;;AAEA,uCAAsD;AACtD,6DAAwD;AACxD,yCAA4C;AAW/B,QAAA,OAAO,GAAG,eAAe,CAAC;AAC1B,QAAA,WAAW,GAAG,+BAA+B,CAAC;AAE3D,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK;SACT,UAAU,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,uBAAuB;QACjC,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,YAAY,EAAE;QACpB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,uDAAuD;KAClE,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,QAAQ,EAAE,2CAA2C;QACrD,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,SAAS;KACxB,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,QAAQ,EAAE,gEAAgE;QAC1E,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;AACP,CAAC;AAtBD,0BAsBC;AAEM,KAAK,UAAU,OAAO,CAAC,EAC5B,UAAU,EACV,GAAG,EACH,KAAK,EACL,iBAAiB,EACjB,OAAO,EACP,IAAI,EACJ,MAAM,GACc;IACpB,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,MAAM,IAAA,2BAAqB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACjG,MAAM,IAAA,6BAAY,EAAC,cAAc,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACrE,MAAM,IAAA,iBAAU,EAAC;QACf,IAAI;QACJ,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,cAAc;KACvB,CAAC,CAAC;AACL,CAAC;AAjBD,0BAiBC"}
@@ -0,0 +1,60 @@
1
+ import { Argv } from 'yargs';
2
+
3
+ import { resolveAppIdAndRemote } from '../../lib/app';
4
+ import { authenticate } from '../../lib/authentication';
5
+ import { createTeam } from '../../lib/team';
6
+ import { BaseArguments } from '../../types';
7
+
8
+ interface CreateTeamArguments extends BaseArguments {
9
+ appId: number;
10
+ name: string;
11
+ context: string;
12
+ app: string;
13
+ annotation: string[];
14
+ }
15
+
16
+ export const command = 'create <name>';
17
+ export const description = 'Create a new team for an app.';
18
+
19
+ export function builder(yargs: Argv): Argv<any> {
20
+ return yargs
21
+ .positional('name', {
22
+ describe: 'The name of the team.',
23
+ demandOption: true,
24
+ })
25
+ .option('annotation', {
26
+ type: 'array',
27
+ describe: 'The new list of annotations. The format is key=value.',
28
+ })
29
+ .option('app-id', {
30
+ describe: 'The ID of the app to create the team for.',
31
+ type: 'number',
32
+ })
33
+ .option('app', {
34
+ describe: 'The path to the app.',
35
+ demandOption: 'context',
36
+ })
37
+ .option('context', {
38
+ describe: 'If specified, use the specified context from .appsemblerc.yaml',
39
+ demandOption: 'app',
40
+ });
41
+ }
42
+
43
+ export async function handler({
44
+ annotation,
45
+ app,
46
+ appId,
47
+ clientCredentials,
48
+ context,
49
+ name,
50
+ remote,
51
+ }: CreateTeamArguments): Promise<void> {
52
+ const [resolvedAppId, resolvedRemote] = await resolveAppIdAndRemote(app, context, remote, appId);
53
+ await authenticate(resolvedRemote, 'teams:write', clientCredentials);
54
+ await createTeam({
55
+ name,
56
+ appId: resolvedAppId,
57
+ annotations: annotation,
58
+ remote: resolvedRemote,
59
+ });
60
+ }
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["delete.ts"],"names":[],"mappings":";;;AAEA,uCAAsD;AACtD,6DAAwD;AACxD,yCAA4C;AAU/B,QAAA,OAAO,GAAG,QAAQ,CAAC;AACnB,QAAA,WAAW,GAAG,sCAAsC,CAAC;AAElE,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK;SACT,MAAM,CAAC,IAAI,EAAE;QACZ,QAAQ,EAAE,+BAA+B;QACzC,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,QAAQ,EAAE,4CAA4C;QACtD,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,SAAS;KACxB,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,QAAQ,EAAE,gEAAgE;QAC1E,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;AACP,CAAC;AAlBD,0BAkBC;AAEM,KAAK,UAAU,OAAO,CAAC,EAC5B,GAAG,EACH,KAAK,EACL,iBAAiB,EACjB,OAAO,EACP,EAAE,EACF,MAAM,GACc;IACpB,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,MAAM,IAAA,2BAAqB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEjG,MAAM,IAAA,6BAAY,EAAC,cAAc,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACrE,MAAM,IAAA,iBAAU,EAAC;QACf,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,cAAc;KACvB,CAAC,CAAC;AACL,CAAC;AAhBD,0BAgBC"}
@@ -0,0 +1,54 @@
1
+ import { Argv } from 'yargs';
2
+
3
+ import { resolveAppIdAndRemote } from '../../lib/app';
4
+ import { authenticate } from '../../lib/authentication';
5
+ import { deleteTeam } from '../../lib/team';
6
+ import { BaseArguments } from '../../types';
7
+
8
+ interface DeleteTeamArguments extends BaseArguments {
9
+ appId: number;
10
+ id: number;
11
+ context: string;
12
+ app: string;
13
+ }
14
+
15
+ export const command = 'delete';
16
+ export const description = 'Delete an existing team from an app.';
17
+
18
+ export function builder(yargs: Argv): Argv<any> {
19
+ return yargs
20
+ .option('id', {
21
+ describe: 'The ID of the team to delete.',
22
+ demandOption: true,
23
+ })
24
+ .option('app-id', {
25
+ describe: 'The ID of the app to delete the team from.',
26
+ type: 'number',
27
+ })
28
+ .option('app', {
29
+ describe: 'The path to the app.',
30
+ demandOption: 'context',
31
+ })
32
+ .option('context', {
33
+ describe: 'If specified, use the specified context from .appsemblerc.yaml',
34
+ demandOption: 'app',
35
+ });
36
+ }
37
+
38
+ export async function handler({
39
+ app,
40
+ appId,
41
+ clientCredentials,
42
+ context,
43
+ id,
44
+ remote,
45
+ }: DeleteTeamArguments): Promise<void> {
46
+ const [resolvedAppId, resolvedRemote] = await resolveAppIdAndRemote(app, context, remote, appId);
47
+
48
+ await authenticate(resolvedRemote, 'teams:write', clientCredentials);
49
+ await deleteTeam({
50
+ id,
51
+ appId: resolvedAppId,
52
+ remote: resolvedRemote,
53
+ });
54
+ }
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,iDAAmC;AACnC,qDAAuC;AACvC,iDAAmC;AACnC,iDAAmC;AAEnC,0CAAmD;AAA1C,gGAAA,IAAI,OAAW;AAEX,QAAA,OAAO,GAAG,MAAM,CAAC;AACjB,QAAA,WAAW,GAAG,gCAAgC,CAAC;AAE5D,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC;AAFD,0BAEC"}
@@ -0,0 +1,15 @@
1
+ import { Argv } from 'yargs';
2
+
3
+ import * as create from './create';
4
+ import * as deleteTeam from './delete';
5
+ import * as member from './member';
6
+ import * as update from './update';
7
+
8
+ export { noop as handler } from '@appsemble/utils';
9
+
10
+ export const command = 'team';
11
+ export const description = 'Commands related to app teams.';
12
+
13
+ export function builder(yargs: Argv): Argv {
14
+ return yargs.command(create).command(deleteTeam).command(member).command(update).demandCommand(1);
15
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["delete.ts"],"names":[],"mappings":";;;AAEA,0CAAyD;AACzD,gEAA2D;AAC3D,4CAAiD;AAWpC,QAAA,OAAO,GAAG,eAAe,CAAC;AAC1B,QAAA,WAAW,GAAG,sDAAsD,CAAC;AAElF,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK;SACT,MAAM,CAAC,IAAI,EAAE;QACZ,QAAQ,EAAE,qBAAqB;QAC/B,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,QAAQ,EAAE,+BAA+B;QACzC,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,UAAU,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,yDAAyD;QACnE,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,SAAS;KACxB,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,QAAQ,EAAE,gEAAgE;QAC1E,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;AACP,CAAC;AAtBD,0BAsBC;AAEM,KAAK,UAAU,OAAO,CAAC,EAC5B,GAAG,EACH,KAAK,EACL,iBAAiB,EACjB,OAAO,EACP,EAAE,EACF,MAAM,EACN,IAAI,GACgB;IACpB,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,MAAM,IAAA,2BAAqB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEjG,MAAM,IAAA,6BAAY,EAAC,cAAc,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACrE,MAAM,IAAA,mBAAY,EAAC;QACjB,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,IAAI;QACJ,MAAM,EAAE,cAAc;KACvB,CAAC,CAAC;AACL,CAAC;AAlBD,0BAkBC"}
@@ -0,0 +1,61 @@
1
+ import { Argv } from 'yargs';
2
+
3
+ import { resolveAppIdAndRemote } from '../../../lib/app';
4
+ import { authenticate } from '../../../lib/authentication';
5
+ import { deleteMember } from '../../../lib/team';
6
+ import { BaseArguments } from '../../../types';
7
+
8
+ interface DeleteTeamArguments extends BaseArguments {
9
+ appId: number;
10
+ id: number;
11
+ user: string;
12
+ context: string;
13
+ app: string;
14
+ }
15
+
16
+ export const command = 'delete <user>';
17
+ export const description = 'Delete a new member to an existing team from an app.';
18
+
19
+ export function builder(yargs: Argv): Argv<any> {
20
+ return yargs
21
+ .option('id', {
22
+ describe: 'The ID of the team.',
23
+ demandOption: true,
24
+ })
25
+ .option('app-id', {
26
+ describe: 'The ID of the app of the team',
27
+ type: 'number',
28
+ })
29
+ .positional('user', {
30
+ describe: 'The ID or email address of the user you want to delete.',
31
+ demandOption: true,
32
+ })
33
+ .option('app', {
34
+ describe: 'The path to the app.',
35
+ demandOption: 'context',
36
+ })
37
+ .option('context', {
38
+ describe: 'If specified, use the specified context from .appsemblerc.yaml',
39
+ demandOption: 'app',
40
+ });
41
+ }
42
+
43
+ export async function handler({
44
+ app,
45
+ appId,
46
+ clientCredentials,
47
+ context,
48
+ id,
49
+ remote,
50
+ user,
51
+ }: DeleteTeamArguments): Promise<void> {
52
+ const [resolvedAppId, resolvedRemote] = await resolveAppIdAndRemote(app, context, remote, appId);
53
+
54
+ await authenticate(resolvedRemote, 'teams:write', clientCredentials);
55
+ await deleteMember({
56
+ id,
57
+ appId: resolvedAppId,
58
+ user,
59
+ remote: resolvedRemote,
60
+ });
61
+ }
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uDAAyC;AACzC,iDAAmC;AACnC,iDAAmC;AAEnC,0CAAmD;AAA1C,gGAAA,IAAI,OAAW;AAEX,QAAA,OAAO,GAAG,QAAQ,CAAC;AACnB,QAAA,WAAW,GAAG,uCAAuC,CAAC;AAEnE,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AAFD,0BAEC"}
@@ -0,0 +1,14 @@
1
+ import { Argv } from 'yargs';
2
+
3
+ import * as deleteMember from './delete';
4
+ import * as invite from './invite';
5
+ import * as update from './update';
6
+
7
+ export { noop as handler } from '@appsemble/utils';
8
+
9
+ export const command = 'member';
10
+ export const description = 'Commands related to app team members.';
11
+
12
+ export function builder(yargs: Argv): Argv {
13
+ return yargs.command(deleteMember).command(invite).command(update).demandCommand(1);
14
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invite.js","sourceRoot":"","sources":["invite.ts"],"names":[],"mappings":";;;AAEA,0CAAyD;AACzD,gEAA2D;AAC3D,4CAAiD;AAWpC,QAAA,OAAO,GAAG,eAAe,CAAC;AAC1B,QAAA,WAAW,GAAG,sDAAsD,CAAC;AAElF,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK;SACT,MAAM,CAAC,IAAI,EAAE;QACZ,QAAQ,EAAE,qBAAqB;QAC/B,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,QAAQ,EAAE,+BAA+B;QACzC,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,SAAS;KACxB,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,QAAQ,EAAE,gEAAgE;QAC1E,YAAY,EAAE,KAAK;KACpB,CAAC;SACD,UAAU,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,yDAAyD;QACnE,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;AACP,CAAC;AAtBD,0BAsBC;AAEM,KAAK,UAAU,OAAO,CAAC,EAC5B,GAAG,EACH,KAAK,EACL,iBAAiB,EACjB,OAAO,EACP,EAAE,EACF,MAAM,EACN,IAAI,GACgB;IACpB,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,MAAM,IAAA,2BAAqB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEjG,MAAM,IAAA,6BAAY,EAAC,cAAc,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACrE,MAAM,IAAA,mBAAY,EAAC;QACjB,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,IAAI;QACJ,MAAM,EAAE,cAAc;KACvB,CAAC,CAAC;AACL,CAAC;AAlBD,0BAkBC"}
@@ -0,0 +1,61 @@
1
+ import { Argv } from 'yargs';
2
+
3
+ import { resolveAppIdAndRemote } from '../../../lib/app';
4
+ import { authenticate } from '../../../lib/authentication';
5
+ import { inviteMember } from '../../../lib/team';
6
+ import { BaseArguments } from '../../../types';
7
+
8
+ interface InviteTeamArguments extends BaseArguments {
9
+ appId: number;
10
+ id: number;
11
+ user: string;
12
+ context: string;
13
+ app: string;
14
+ }
15
+
16
+ export const command = 'invite <user>';
17
+ export const description = 'Invite a new member to an existing team from an app.';
18
+
19
+ export function builder(yargs: Argv): Argv<any> {
20
+ return yargs
21
+ .option('id', {
22
+ describe: 'The ID of the team.',
23
+ demandOption: true,
24
+ })
25
+ .option('app-id', {
26
+ describe: 'The ID of the app of the team',
27
+ type: 'number',
28
+ })
29
+ .option('app', {
30
+ describe: 'The path to the app.',
31
+ demandOption: 'context',
32
+ })
33
+ .option('context', {
34
+ describe: 'If specified, use the specified context from .appsemblerc.yaml',
35
+ demandOption: 'app',
36
+ })
37
+ .positional('user', {
38
+ describe: 'The ID or email address of the user you want to invite.',
39
+ demandOption: true,
40
+ });
41
+ }
42
+
43
+ export async function handler({
44
+ app,
45
+ appId,
46
+ clientCredentials,
47
+ context,
48
+ id,
49
+ remote,
50
+ user,
51
+ }: InviteTeamArguments): Promise<void> {
52
+ const [resolvedAppId, resolvedRemote] = await resolveAppIdAndRemote(app, context, remote, appId);
53
+
54
+ await authenticate(resolvedRemote, 'teams:write', clientCredentials);
55
+ await inviteMember({
56
+ id,
57
+ appId: resolvedAppId,
58
+ user,
59
+ remote: resolvedRemote,
60
+ });
61
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["update.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAG5C,0CAAyD;AACzD,gEAA2D;AAC3D,4CAAiD;AAYpC,QAAA,OAAO,GAAG,sBAAsB,CAAC;AACjC,QAAA,WAAW,GAAG,iCAAiC,CAAC;AAE7D,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK;SACT,MAAM,CAAC,IAAI,EAAE;QACZ,QAAQ,EAAE,qBAAqB;QAC/B,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,QAAQ,EAAE,+BAA+B;QACzC,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,SAAS;KACxB,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,QAAQ,EAAE,gEAAgE;QAC1E,YAAY,EAAE,KAAK;KACpB,CAAC;SACD,UAAU,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,yDAAyD;QACnE,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,UAAU,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,6BAA6B;QACvC,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAQ,CAAC;KACjC,CAAC,CAAC;AACP,CAAC;AA3BD,0BA2BC;AAEM,KAAK,UAAU,OAAO,CAAC,EAC5B,GAAG,EACH,KAAK,EACL,iBAAiB,EACjB,OAAO,EACP,EAAE,EACF,MAAM,EACN,IAAI,EACJ,IAAI,GACgB;IACpB,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,MAAM,IAAA,2BAAqB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEjG,MAAM,IAAA,6BAAY,EAAC,cAAc,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACrE,MAAM,IAAA,mBAAY,EAAC;QACjB,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,IAAI;QACJ,IAAI;QACJ,MAAM,EAAE,cAAc;KACvB,CAAC,CAAC;AACL,CAAC;AApBD,0BAoBC"}
@@ -0,0 +1,70 @@
1
+ import { TeamRole } from '@appsemble/utils';
2
+ import { Argv } from 'yargs';
3
+
4
+ import { resolveAppIdAndRemote } from '../../../lib/app';
5
+ import { authenticate } from '../../../lib/authentication';
6
+ import { updateMember } from '../../../lib/team';
7
+ import { BaseArguments } from '../../../types';
8
+
9
+ interface InviteTeamArguments extends BaseArguments {
10
+ appId: number;
11
+ id: number;
12
+ user: string;
13
+ role: TeamRole;
14
+ context: string;
15
+ app: string;
16
+ }
17
+
18
+ export const command = 'update <user> <role>';
19
+ export const description = 'Update an existing team member.';
20
+
21
+ export function builder(yargs: Argv): Argv<any> {
22
+ return yargs
23
+ .option('id', {
24
+ describe: 'The ID of the team.',
25
+ demandOption: true,
26
+ })
27
+ .option('app-id', {
28
+ describe: 'The ID of the app of the team',
29
+ type: 'number',
30
+ })
31
+ .option('app', {
32
+ describe: 'The path to the app.',
33
+ demandOption: 'context',
34
+ })
35
+ .option('context', {
36
+ describe: 'If specified, use the specified context from .appsemblerc.yaml',
37
+ demandOption: 'app',
38
+ })
39
+ .positional('user', {
40
+ describe: 'The ID or email address of the user you want to invite.',
41
+ demandOption: true,
42
+ })
43
+ .positional('role', {
44
+ describe: 'The new role of the member.',
45
+ demandOption: true,
46
+ choices: Object.values(TeamRole),
47
+ });
48
+ }
49
+
50
+ export async function handler({
51
+ app,
52
+ appId,
53
+ clientCredentials,
54
+ context,
55
+ id,
56
+ remote,
57
+ role,
58
+ user,
59
+ }: InviteTeamArguments): Promise<void> {
60
+ const [resolvedAppId, resolvedRemote] = await resolveAppIdAndRemote(app, context, remote, appId);
61
+
62
+ await authenticate(resolvedRemote, 'teams:write', clientCredentials);
63
+ await updateMember({
64
+ id,
65
+ appId: resolvedAppId,
66
+ user,
67
+ role,
68
+ remote: resolvedRemote,
69
+ });
70
+ }
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["update.ts"],"names":[],"mappings":";;;AAEA,uCAAsD;AACtD,6DAAwD;AACxD,yCAA4C;AAY/B,QAAA,OAAO,GAAG,QAAQ,CAAC;AACnB,QAAA,WAAW,GAAG,qCAAqC,CAAC;AAEjE,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK;SACT,MAAM,CAAC,IAAI,EAAE;QACZ,QAAQ,EAAE,+BAA+B;QACzC,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,QAAQ,EAAE,2BAA2B;KACtC,CAAC;SACD,MAAM,CAAC,YAAY,EAAE;QACpB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,uDAAuD;KAClE,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,QAAQ,EAAE,4CAA4C;QACtD,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;AACP,CAAC;AAlBD,0BAkBC;AAEM,KAAK,UAAU,OAAO,CAAC,EAC5B,UAAU,EACV,GAAG,EACH,KAAK,EACL,iBAAiB,EACjB,OAAO,EACP,EAAE,EACF,IAAI,EACJ,MAAM,GACc;IACpB,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,MAAM,IAAA,2BAAqB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEjG,MAAM,IAAA,6BAAY,EAAC,cAAc,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACrE,MAAM,IAAA,iBAAU,EAAC;QACf,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,IAAI;QACJ,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,cAAc;KACvB,CAAC,CAAC;AACL,CAAC;AApBD,0BAoBC"}
@@ -0,0 +1,60 @@
1
+ import { Argv } from 'yargs';
2
+
3
+ import { resolveAppIdAndRemote } from '../../lib/app';
4
+ import { authenticate } from '../../lib/authentication';
5
+ import { updateTeam } from '../../lib/team';
6
+ import { BaseArguments } from '../../types';
7
+
8
+ interface UpdateTeamArguments extends BaseArguments {
9
+ appId: number;
10
+ id: number;
11
+ name: string;
12
+ annotation: string[];
13
+ context: string;
14
+ app: string;
15
+ }
16
+
17
+ export const command = 'update';
18
+ export const description = 'Update an existing team for an app.';
19
+
20
+ export function builder(yargs: Argv): Argv<any> {
21
+ return yargs
22
+ .option('id', {
23
+ describe: 'The ID of the team to update.',
24
+ demandOption: true,
25
+ })
26
+ .option('name', {
27
+ describe: 'The new name of the team.',
28
+ })
29
+ .option('annotation', {
30
+ type: 'array',
31
+ describe: 'The new list of annotations. The format is key=value.',
32
+ })
33
+ .option('app-id', {
34
+ describe: 'The ID of the app to delete the team from.',
35
+ type: 'number',
36
+ demandOption: true,
37
+ });
38
+ }
39
+
40
+ export async function handler({
41
+ annotation,
42
+ app,
43
+ appId,
44
+ clientCredentials,
45
+ context,
46
+ id,
47
+ name,
48
+ remote,
49
+ }: UpdateTeamArguments): Promise<void> {
50
+ const [resolvedAppId, resolvedRemote] = await resolveAppIdAndRemote(app, context, remote, appId);
51
+
52
+ await authenticate(resolvedRemote, 'teams:write', clientCredentials);
53
+ await updateTeam({
54
+ id,
55
+ appId: resolvedAppId,
56
+ name,
57
+ annotations: annotation,
58
+ remote: resolvedRemote,
59
+ });
60
+ }
package/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -27,7 +27,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  return (mod && mod.__esModule) ? mod : { "default": mod };
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.main = void 0;
31
30
  const node_utils_1 = require("@appsemble/node-utils");
32
31
  const cosmiconfig_1 = require("cosmiconfig");
33
32
  const yargs_1 = __importDefault(require("yargs"));
@@ -47,6 +46,7 @@ const team = __importStar(require("./commands/team"));
47
46
  const authentication_1 = require("./lib/authentication");
48
47
  const coercers_1 = require("./lib/coercers");
49
48
  const initAxios_1 = require("./lib/initAxios");
49
+ process.title = 'appsemble';
50
50
  async function main(argv) {
51
51
  const explorer = (0, cosmiconfig_1.cosmiconfig)('appsembleServer');
52
52
  const found = await explorer.search(process.cwd());
@@ -94,9 +94,5 @@ async function main(argv) {
94
94
  }
95
95
  parser.parse(argv);
96
96
  }
97
- exports.main = main;
98
- if (require.main === module) {
99
- process.title = 'appsemble';
100
- main(process.argv.slice(2));
101
- }
97
+ main(process.argv.slice(2));
102
98
  //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,sDAAqE;AACrE,6CAA0C;AAC1C,kDAA0B;AAE1B,oDAAsC;AACtC,wDAA0C;AAC1C,wDAA0C;AAC1C,8EAAgE;AAChE,0DAA4C;AAC5C,wDAA0C;AAC1C,0DAA4C;AAC5C,4DAA8C;AAC9C,sEAAwD;AACxD,8DAAgD;AAChD,oEAAsD;AACtD,wDAA0C;AAC1C,sDAAwC;AACxC,yDAA2D;AAC3D,6CAA8C;AAC9C,+CAA4C;AAE5C,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC;AAE5B,KAAK,UAAU,IAAI,CAAC,IAAc;IAChC,MAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC,iBAAiB,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEnD,IAAI,MAAM,GAAG,eAAK;SACf,MAAM,CAAC,SAAS,EAAE;QACjB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,oBAAoB;QAC9B,IAAI,EAAE,OAAO;KACd,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QACf,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,oBAAoB;QAC9B,IAAI,EAAE,OAAO;KACd,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,uBAAuB;QAChC,MAAM,EAAE,uBAAY;KACrB,CAAC;SACD,MAAM,CAAC,oBAAoB,EAAE;QAC5B,WAAW,EAAE,qGAAqG,oCAAmB,wBAAwB;KAC9J,CAAC;SACD,UAAU,CAAC,CAAC,4BAAe,EAAE,qBAAS,CAAC,CAAC;SACxC,OAAO,CAAC,GAAG,CAAC;SACZ,OAAO,CAAC,KAAK,CAAC;SACd,OAAO,CAAC,KAAK,CAAC;SACd,OAAO,CAAC,gBAAgB,CAAC;SACzB,OAAO,CAAC,MAAM,CAAC;SACf,OAAO,CAAC,KAAK,CAAC;SACd,OAAO,CAAC,MAAM,CAAC;SACf,OAAO,CAAC,OAAO,CAAC;SAChB,OAAO,CAAC,YAAY,CAAC;SACrB,OAAO,CAAC,QAAQ,CAAC;SACjB,OAAO,CAAC,WAAW,CAAC;SACpB,OAAO,CAAC,KAAK,CAAC;SACd,OAAO,CAAC,IAAI,CAAC;SACb,aAAa,CAAC,CAAC,CAAC;QACjB,6EAA6E;SAC5E,cAAc,EAAE;SAChB,IAAI,CAAC,wBAAW,CAAC;SACjB,IAAI,EAAE;SACN,UAAU,EAAE,CAAC;IAChB,IAAI,KAAK,EAAE;QACT,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACtC;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}