@capgo/cli 7.18.22 → 7.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/index.js +236 -349
  2. package/dist/src/bundle/partial.d.ts.map +1 -1
  3. package/dist/src/bundle/upload.d.ts.map +1 -1
  4. package/dist/src/bundle/zip.d.ts.map +1 -1
  5. package/dist/src/init.d.ts.map +1 -1
  6. package/dist/src/sdk.js +191 -191
  7. package/dist/src/utils.d.ts +3 -11
  8. package/dist/src/utils.d.ts.map +1 -1
  9. package/package.json +2 -4
  10. package/dist/package.json +0 -88
  11. package/dist/src/api/app.js +0 -45
  12. package/dist/src/api/app.js.map +0 -1
  13. package/dist/src/api/channels.js +0 -167
  14. package/dist/src/api/channels.js.map +0 -1
  15. package/dist/src/api/cryptoV2.js +0 -102
  16. package/dist/src/api/cryptoV2.js.map +0 -1
  17. package/dist/src/api/update.js +0 -13
  18. package/dist/src/api/update.js.map +0 -1
  19. package/dist/src/api/versions.js +0 -92
  20. package/dist/src/api/versions.js.map +0 -1
  21. package/dist/src/app/add.js +0 -150
  22. package/dist/src/app/add.js.map +0 -1
  23. package/dist/src/app/debug.js +0 -222
  24. package/dist/src/app/debug.js.map +0 -1
  25. package/dist/src/app/delete.js +0 -89
  26. package/dist/src/app/delete.js.map +0 -1
  27. package/dist/src/app/info.js +0 -84
  28. package/dist/src/app/info.js.map +0 -1
  29. package/dist/src/app/list.js +0 -48
  30. package/dist/src/app/list.js.map +0 -1
  31. package/dist/src/app/set.js +0 -96
  32. package/dist/src/app/set.js.map +0 -1
  33. package/dist/src/app/setting.js +0 -50
  34. package/dist/src/app/setting.js.map +0 -1
  35. package/dist/src/bundle/check.js +0 -30
  36. package/dist/src/bundle/check.js.map +0 -1
  37. package/dist/src/bundle/cleanup.js +0 -105
  38. package/dist/src/bundle/cleanup.js.map +0 -1
  39. package/dist/src/bundle/compatibility.js +0 -62
  40. package/dist/src/bundle/compatibility.js.map +0 -1
  41. package/dist/src/bundle/decryptV2.js +0 -76
  42. package/dist/src/bundle/decryptV2.js.map +0 -1
  43. package/dist/src/bundle/delete.js +0 -40
  44. package/dist/src/bundle/delete.js.map +0 -1
  45. package/dist/src/bundle/encryptV2.js +0 -108
  46. package/dist/src/bundle/encryptV2.js.map +0 -1
  47. package/dist/src/bundle/list.js +0 -36
  48. package/dist/src/bundle/list.js.map +0 -1
  49. package/dist/src/bundle/partial.js +0 -272
  50. package/dist/src/bundle/partial.js.map +0 -1
  51. package/dist/src/bundle/unlink.js +0 -70
  52. package/dist/src/bundle/unlink.js.map +0 -1
  53. package/dist/src/bundle/upload.js +0 -930
  54. package/dist/src/bundle/upload.js.map +0 -1
  55. package/dist/src/bundle/upload_interface.js +0 -2
  56. package/dist/src/bundle/upload_interface.js.map +0 -1
  57. package/dist/src/bundle/zip.js +0 -151
  58. package/dist/src/bundle/zip.js.map +0 -1
  59. package/dist/src/channel/add.js +0 -68
  60. package/dist/src/channel/add.js.map +0 -1
  61. package/dist/src/channel/currentBundle.js +0 -54
  62. package/dist/src/channel/currentBundle.js.map +0 -1
  63. package/dist/src/channel/delete.js +0 -77
  64. package/dist/src/channel/delete.js.map +0 -1
  65. package/dist/src/channel/list.js +0 -45
  66. package/dist/src/channel/list.js.map +0 -1
  67. package/dist/src/channel/set.js +0 -220
  68. package/dist/src/channel/set.js.map +0 -1
  69. package/dist/src/checksum.js +0 -46
  70. package/dist/src/checksum.js.map +0 -1
  71. package/dist/src/config/index.js +0 -31
  72. package/dist/src/config/index.js.map +0 -1
  73. package/dist/src/docs.js +0 -280
  74. package/dist/src/docs.js.map +0 -1
  75. package/dist/src/index.js +0 -522
  76. package/dist/src/index.js.map +0 -1
  77. package/dist/src/init.js +0 -797
  78. package/dist/src/init.js.map +0 -1
  79. package/dist/src/keyV2.js +0 -163
  80. package/dist/src/keyV2.js.map +0 -1
  81. package/dist/src/login.js +0 -51
  82. package/dist/src/login.js.map +0 -1
  83. package/dist/src/organisation/add.js +0 -82
  84. package/dist/src/organisation/add.js.map +0 -1
  85. package/dist/src/organisation/delete.js +0 -91
  86. package/dist/src/organisation/delete.js.map +0 -1
  87. package/dist/src/organisation/index.js +0 -5
  88. package/dist/src/organisation/index.js.map +0 -1
  89. package/dist/src/organisation/list.js +0 -60
  90. package/dist/src/organisation/list.js.map +0 -1
  91. package/dist/src/organisation/set.js +0 -95
  92. package/dist/src/organisation/set.js.map +0 -1
  93. package/dist/src/sdk.js.map +0 -1
  94. package/dist/src/types/supabase.types.js +0 -86
  95. package/dist/src/types/supabase.types.js.map +0 -1
  96. package/dist/src/user/account.js +0 -31
  97. package/dist/src/user/account.js.map +0 -1
  98. package/dist/src/utils/latest-version.js +0 -26
  99. package/dist/src/utils/latest-version.js.map +0 -1
  100. package/dist/src/utils.js +0 -1215
  101. package/dist/src/utils.js.map +0 -1
@@ -1,92 +0,0 @@
1
- import { log } from '@clack/prompts';
2
- import { Table } from '@sauber/table';
3
- import { formatError, getHumanDate } from '../utils';
4
- import { checkVersionNotUsedInChannel } from './channels';
5
- export async function deleteAppVersion(supabase, appid, bundle, options = {}) {
6
- const { silent = false } = options;
7
- const { error: delAppSpecVersionError } = await supabase
8
- .from('app_versions')
9
- .update({ deleted: true })
10
- .eq('app_id', appid)
11
- .eq('deleted', false)
12
- .eq('name', bundle);
13
- if (delAppSpecVersionError) {
14
- const message = `App version ${appid}@${bundle} not found in database`;
15
- if (!silent)
16
- log.error(message);
17
- throw new Error(`${message}: ${formatError(delAppSpecVersionError)}`);
18
- }
19
- }
20
- export async function deleteSpecificVersion(supabase, appid, bundle, options = {}) {
21
- const { silent = false, autoUnlink = false } = options;
22
- const versionData = await getVersionData(supabase, appid, bundle, { silent });
23
- await checkVersionNotUsedInChannel(supabase, appid, versionData, { silent, autoUnlink });
24
- await deleteAppVersion(supabase, appid, bundle, { silent });
25
- }
26
- export function displayBundles(data, silent = false) {
27
- if (silent)
28
- return;
29
- if (!data.length)
30
- throw new Error('No bundle found');
31
- const t = new Table();
32
- t.theme = Table.roundTheme;
33
- t.headers = ['Version', 'Created', 'Keep'];
34
- t.rows = [];
35
- for (const row of data.toReversed()) {
36
- t.rows.push([
37
- row.name,
38
- getHumanDate(row.created_at),
39
- row.keep ?? '',
40
- ]);
41
- }
42
- log.success('Bundles');
43
- log.success(t.toString());
44
- }
45
- export async function getActiveAppVersions(supabase, appid, options = {}) {
46
- const { silent = false } = options;
47
- const { data, error: vError } = await supabase
48
- .from('app_versions')
49
- .select()
50
- .eq('app_id', appid)
51
- .eq('deleted', false)
52
- .order('created_at', { ascending: false });
53
- if (vError) {
54
- const message = `App ${appid} not found in database`;
55
- if (!silent)
56
- log.error(message);
57
- throw new Error(`${message}: ${formatError(vError)}`);
58
- }
59
- return data ?? [];
60
- }
61
- export async function getChannelsVersion(supabase, appid, options = {}) {
62
- const { silent = false } = options;
63
- const { data: channels, error: channelsError } = await supabase
64
- .from('channels')
65
- .select('version')
66
- .eq('app_id', appid);
67
- if (channelsError) {
68
- const message = `App ${appid} not found in database`;
69
- if (!silent)
70
- log.error(message);
71
- throw new Error(`${message}: ${formatError(channelsError)}`);
72
- }
73
- return (channels ?? []).map(c => c.version);
74
- }
75
- export async function getVersionData(supabase, appid, bundle, options = {}) {
76
- const { silent = false } = options;
77
- const { data: versionData, error: versionIdError } = await supabase
78
- .from('app_versions')
79
- .select()
80
- .eq('app_id', appid)
81
- .eq('name', bundle)
82
- .eq('deleted', false)
83
- .single();
84
- if (!versionData || versionIdError) {
85
- const message = `App version ${appid}@${bundle} doesn't exist`;
86
- if (!silent)
87
- log.error(message);
88
- throw new Error(`${message}${versionIdError ? `: ${formatError(versionIdError)}` : ''}`);
89
- }
90
- return versionData;
91
- }
92
- //# sourceMappingURL=versions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../src/api/versions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAA;AAUzD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAkC,EAClC,KAAa,EACb,MAAc,EACd,UAA0B,EAAE;IAE5B,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IAElC,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,MAAM,QAAQ;SACrD,IAAI,CAAC,cAAc,CAAC;SACpB,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACzB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;SACnB,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;SACpB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAErB,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,eAAe,KAAK,IAAI,MAAM,wBAAwB,CAAA;QACtE,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,KAAK,WAAW,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAA;IACvE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAkC,EAClC,KAAa,EACb,MAAc,EACd,UAAwC,EAAE;IAE1C,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IACtD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7E,MAAM,4BAA4B,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;IACxF,MAAM,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,IAAiF,EACjF,MAAM,GAAG,KAAK;IAEd,IAAI,MAAM;QACR,OAAM;IAER,IAAI,CAAC,IAAI,CAAC,MAAM;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAEpC,MAAM,CAAC,GAAG,IAAI,KAAK,EAAE,CAAA;IACrB,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAA;IAC1B,CAAC,CAAC,OAAO,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAEX,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACV,GAAG,CAAC,IAAI;YACR,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;YAC5B,GAAG,CAAC,IAAI,IAAI,EAAE;SACf,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACtB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAkC,EAClC,KAAa,EACb,UAA0B,EAAE;IAE5B,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IAElC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ;SAC3C,IAAI,CAAC,cAAc,CAAC;SACpB,MAAM,EAAE;SACR,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;SACnB,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;SACpB,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;IAE5C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,OAAO,KAAK,wBAAwB,CAAA;QACpD,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,KAAK,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,IAAI,IAAI,EAAE,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAkC,EAClC,KAAa,EACb,UAA0B,EAAE;IAE5B,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IAElC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,QAAQ;SAC5D,IAAI,CAAC,UAAU,CAAC;SAChB,MAAM,CAAC,SAAS,CAAC;SACjB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAEtB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,OAAO,KAAK,wBAAwB,CAAA;QACpD,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,KAAK,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAkC,EAClC,KAAa,EACb,MAAc,EACd,UAA0B,EAAE;IAE5B,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IAElC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,QAAQ;SAChE,IAAI,CAAC,cAAc,CAAC;SACpB,MAAM,EAAE;SACR,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;SACnB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;SAClB,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;SACpB,MAAM,EAAE,CAAA;IAEX,IAAI,CAAC,WAAW,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,eAAe,KAAK,IAAI,MAAM,gBAAgB,CAAA;QAC9D,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC1F,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC"}
@@ -1,150 +0,0 @@
1
- import { existsSync, readFileSync } from 'node:fs';
2
- import { intro, log, outro } from '@clack/prompts';
3
- import { checkAppExists, newIconPath } from '../api/app';
4
- import { checkAlerts } from '../api/update';
5
- import { createSupabaseClient, findSavedKey, formatError, getAppId, getConfig, getContentType, getOrganization, verifyUser, } from '../utils';
6
- function ensureOptions(appId, options, silent) {
7
- if (!options.apikey) {
8
- if (!silent)
9
- log.error('Missing API key, you need to provide an API key to upload your bundle');
10
- throw new Error('Missing API key');
11
- }
12
- if (!appId) {
13
- if (!silent)
14
- log.error('Missing argument, you need to provide a appId, or be in a capacitor project');
15
- throw new Error('Missing appId');
16
- }
17
- if (appId.includes('--')) {
18
- if (!silent)
19
- log.error('The app id includes illegal symbols. You cannot use "--" in the app id');
20
- throw new Error('App id includes illegal symbols');
21
- }
22
- }
23
- async function ensureAppDoesNotExist(supabase, appId, silent) {
24
- const appExist = await checkAppExists(supabase, appId);
25
- if (!appExist)
26
- return;
27
- if (appId === 'io.ionic.starter') {
28
- if (!silent)
29
- log.error(`This appId ${appId} cannot be used it's reserved, please change it in your capacitor config.`);
30
- throw new Error('Reserved appId, please change it in capacitor config');
31
- }
32
- if (!silent)
33
- log.error(`App ${appId} already exist`);
34
- throw new Error(`App ${appId} already exists`);
35
- }
36
- export async function addApp(appId, options, silent = false) {
37
- return addAppInternal(appId, options, undefined, silent);
38
- }
39
- export async function addAppInternal(initialAppId, options, organization, silent = false) {
40
- if (!silent)
41
- intro('Adding');
42
- await checkAlerts();
43
- options.apikey = options.apikey || findSavedKey();
44
- const extConfig = await getConfig();
45
- const appId = getAppId(initialAppId, extConfig?.config);
46
- ensureOptions(appId, options, silent);
47
- const supabase = await createSupabaseClient(options.apikey, options.supaHost, options.supaAnon);
48
- const userId = await verifyUser(supabase, options.apikey, ['write', 'all']);
49
- await ensureAppDoesNotExist(supabase, appId, silent);
50
- if (!organization)
51
- organization = await getOrganization(supabase, ['admin', 'super_admin']);
52
- const organizationUid = organization.gid;
53
- let { name, icon } = options;
54
- name = name || extConfig.config?.appName || 'Unknown';
55
- icon = icon || 'resources/icon.png';
56
- if (!icon || !name) {
57
- if (!silent)
58
- log.error('Missing argument, you need to provide a appId and a name, or be in a capacitor project');
59
- throw new Error('Missing app name or icon path');
60
- }
61
- if (!silent)
62
- log.info(`Adding ${appId} to Capgo`);
63
- let iconBuff = null;
64
- let iconType = null;
65
- if (icon && existsSync(icon)) {
66
- iconBuff = readFileSync(icon);
67
- const contentType = getContentType(icon);
68
- iconType = contentType || 'image/png';
69
- if (!silent)
70
- log.warn(`Found app icon ${icon}`);
71
- }
72
- else if (existsSync(newIconPath)) {
73
- iconBuff = readFileSync(newIconPath);
74
- const contentType = getContentType(newIconPath);
75
- iconType = contentType || 'image/png';
76
- if (!silent)
77
- log.warn(`Found app icon ${newIconPath}`);
78
- }
79
- else if (!silent) {
80
- log.warn(`Cannot find app icon in any of the following locations: ${icon}, ${newIconPath}`);
81
- }
82
- const fileName = 'icon';
83
- let signedURL = 'https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png';
84
- if (iconBuff && iconType) {
85
- const { error } = await supabase.storage
86
- .from(`images/org/${organizationUid}/${appId}`)
87
- .upload(fileName, iconBuff, { contentType: iconType });
88
- if (error) {
89
- if (!silent)
90
- console.error(error);
91
- if (!silent)
92
- log.error(`Could not add app ${formatError(error)}`);
93
- throw new Error(`Could not add app ${formatError(error)}`);
94
- }
95
- const { data: signedURLData } = await supabase.storage
96
- .from(`images/org/${organizationUid}/${appId}`)
97
- .getPublicUrl(fileName);
98
- signedURL = signedURLData?.publicUrl || signedURL;
99
- }
100
- const { error: dbError } = await supabase
101
- .from('apps')
102
- .insert({
103
- icon_url: signedURL,
104
- owner_org: organizationUid,
105
- user_id: userId,
106
- name,
107
- app_id: appId,
108
- });
109
- if (dbError) {
110
- if (!silent)
111
- log.error(`Could not add app ${formatError(dbError)}`);
112
- throw new Error(`Could not add app ${formatError(dbError)}`);
113
- }
114
- const { error: dbVersionError } = await supabase
115
- .from('app_versions')
116
- .insert([
117
- {
118
- owner_org: organizationUid,
119
- deleted: true,
120
- name: 'unknown',
121
- app_id: appId,
122
- },
123
- {
124
- owner_org: organizationUid,
125
- deleted: true,
126
- name: 'builtin',
127
- app_id: appId,
128
- },
129
- ]);
130
- if (dbVersionError) {
131
- if (!silent)
132
- log.error(`Could not add app ${formatError(dbVersionError)}`);
133
- throw new Error(`Could not add app ${formatError(dbVersionError)}`);
134
- }
135
- if (!silent) {
136
- log.success(`App ${appId} added to Capgo. You can upload a bundle now`);
137
- outro('Done ✅');
138
- }
139
- return {
140
- appId,
141
- organizationUid,
142
- userId,
143
- name,
144
- signedURL,
145
- };
146
- }
147
- export async function addCommand(appId, options) {
148
- await addApp(appId, options, false);
149
- }
150
- //# sourceMappingURL=add.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/app/add.ts"],"names":[],"mappings":"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"}
@@ -1,222 +0,0 @@
1
- import { confirm as confirmC, intro, isCancel, log, outro, spinner } from '@clack/prompts';
2
- import { Table } from '@sauber/table';
3
- // Native fetch is available in Node.js >= 18
4
- import { checkAlerts } from '../api/update';
5
- import { createSupabaseClient, findSavedKey, formatError, getAppId, getConfig, getLocalConfig, getOrganizationId, sendEvent } from '../utils';
6
- function wait(ms) {
7
- return new Promise((resolve) => {
8
- setTimeout(resolve, ms);
9
- });
10
- }
11
- function formatTimeOnly(createdAt) {
12
- const d = new Date(createdAt || '');
13
- // Show only local time; include seconds for clarity
14
- return d.toLocaleTimeString();
15
- }
16
- export async function markSnag(channel, orgId, apikey, event, appId, icon = '✅') {
17
- await sendEvent(apikey, {
18
- channel,
19
- event,
20
- icon,
21
- user_id: orgId,
22
- ...(appId ? { tags: { 'app-id': appId } } : {}),
23
- notify: false,
24
- });
25
- }
26
- export async function cancelCommand(channel, command, orgId, apikey) {
27
- if (!isCancel(command))
28
- return;
29
- await markSnag(channel, orgId, apikey, 'canceled', undefined, '🤷');
30
- throw new Error('Command cancelled');
31
- }
32
- export async function getStats(apikey, query, after) {
33
- try {
34
- const localConfig = await getLocalConfig();
35
- // If we already have a latest timestamp, query only after that point
36
- const effectiveQuery = after ? { ...query, rangeStart: after } : { ...query };
37
- const response = await fetch(`${localConfig.hostApi}/private/stats`, {
38
- method: 'POST',
39
- headers: {
40
- 'Content-Type': 'application/json',
41
- 'capgkey': apikey,
42
- },
43
- body: JSON.stringify(effectiveQuery),
44
- });
45
- if (!response.ok) {
46
- throw new Error(`HTTP error! status: ${response.status}`);
47
- }
48
- const dataD = await response.json();
49
- // Always return data; deduping and ordering handled upstream
50
- if (dataD?.length > 0)
51
- return dataD;
52
- }
53
- catch (error) {
54
- console.error('Cannot get devices', error);
55
- log.error(`Cannot get stats ${formatError(error)}`);
56
- }
57
- return [];
58
- }
59
- function summarizeAction(data) {
60
- const map = {
61
- get: { summary: () => 'Update request by device. Waiting for download…', level: 'info', snag: 'done' },
62
- delete: { summary: () => 'Bundle deleted on device', level: 'info' },
63
- set: { summary: () => 'Bundle set on device ❤️', level: 'info', snag: 'set', stop: true },
64
- NoChannelOrOverride: { summary: () => 'No default channel/override; create it in channel settings', level: 'error' },
65
- needPlanUpgrade: { summary: ({ baseUrl }) => `Out of quota. Upgrade plan: ${baseUrl}/dashboard/settings/plans`, level: 'error' },
66
- missingBundle: { summary: () => 'Requested bundle not found on server', level: 'error' },
67
- noNew: { summary: () => 'Device already has latest available version', level: 'info' },
68
- disablePlatformIos: { summary: () => 'iOS platform disabled in channel', level: 'error' },
69
- disablePlatformAndroid: { summary: () => 'Android platform disabled in channel', level: 'error' },
70
- disableAutoUpdate: { summary: () => 'Automatic updates disabled in channel', level: 'error' },
71
- disableAutoUpdateToMajor: { summary: () => 'Auto-update to major versions disabled', level: 'error' },
72
- disableAutoUpdateToMinor: { summary: () => 'Auto-update to minor versions disabled', level: 'error' },
73
- disableAutoUpdateToPatch: { summary: () => 'Auto-update to patch versions disabled', level: 'error' },
74
- disableAutoUpdateUnderNative: { summary: () => 'Channel update version is lower than device native', level: 'error' },
75
- disableDevBuild: { summary: () => 'Dev build updates disabled in channel', level: 'error' },
76
- disableEmulator: { summary: () => 'Emulator updates disabled in channel', level: 'error' },
77
- cannotGetBundle: { summary: () => 'Cannot retrieve bundle from channel', level: 'error' },
78
- cannotUpdateViaPrivateChannel: { summary: () => 'No access to private channel', level: 'error' },
79
- channelMisconfigured: { summary: () => 'Channel configuration invalid or incomplete', level: 'error' },
80
- disableAutoUpdateMetadata: { summary: () => 'Auto-update on metadata disabled', level: 'error' },
81
- set_fail: { summary: () => 'Bundle set failed. Possibly corrupted', level: 'error' },
82
- reset: { summary: () => 'Device reset to builtin bundle', level: 'warn' },
83
- update_fail: { summary: () => 'Installed bundle failed to call notifyAppReady', level: 'error' },
84
- checksum_fail: { summary: () => 'Downloaded bundle checksum validation failed', level: 'error' },
85
- windows_path_fail: { summary: () => 'Bundle contains illegal Windows-style paths', level: 'error' },
86
- canonical_path_fail: { summary: () => 'Bundle contains non-canonical paths', level: 'error' },
87
- directory_path_fail: { summary: () => 'Bundle ZIP contains invalid directory paths', level: 'error' },
88
- unzip_fail: { summary: () => 'Failed to unzip bundle on device', level: 'error' },
89
- low_mem_fail: { summary: () => 'Download failed due to low device memory', level: 'error' },
90
- app_moved_to_background: { summary: () => 'App moved to background', level: 'info' },
91
- app_moved_to_foreground: { summary: () => 'App moved to foreground', level: 'info' },
92
- decrypt_fail: { summary: () => 'Failed to decrypt downloaded bundle', level: 'error' },
93
- getChannel: { summary: () => 'Queried current channel on device', level: 'info' },
94
- setChannel: { summary: () => 'Channel set on device', level: 'info' },
95
- InvalidIp: { summary: () => 'Device appears in Google datacenter; blocking recent updates (<4h)', level: 'warn' },
96
- uninstall: { summary: () => 'App uninstalled or Capgo data cleared on device', level: 'warn' },
97
- };
98
- if (data.action.startsWith('download_')) {
99
- const part = data.action.split('_')[1];
100
- if (part === 'complete')
101
- return { summary: () => 'Download complete; relaunch app to apply', level: 'info', snag: 'downloaded' };
102
- if (part === 'fail')
103
- return { summary: () => 'Download failed on device', level: 'error' };
104
- return { summary: () => `Downloading ${part}%`, level: 'info' };
105
- }
106
- return map[data.action] || null;
107
- }
108
- async function toTableRow(data, channel, orgId, apikey, baseAppUrl, baseUrl) {
109
- const spec = summarizeAction(data);
110
- if (!spec)
111
- return {};
112
- if (spec.snag)
113
- await markSnag(channel, orgId, apikey, spec.snag);
114
- const time = formatTimeOnly(data.created_at);
115
- const key = data.action;
116
- const versionId = data.version_id ? `(version #${data.version_id})` : '';
117
- const versionInfo = data.version ? ` (version ${data.version})` : versionId;
118
- const msg = `${spec.summary({ data, baseAppUrl, baseUrl })}${versionInfo}`;
119
- return { row: [time, data.device_id, key, msg], stop: spec.stop };
120
- }
121
- export async function waitLog(channel, apikey, appId, orgId, deviceId) {
122
- let loop = true;
123
- const config = await getLocalConfig();
124
- const baseAppUrl = `${config.hostWeb}/app/p/${appId}`;
125
- await markSnag(channel, orgId, apikey, 'Use waitlog', appId);
126
- const query = {
127
- appId,
128
- devicesId: deviceId ? [deviceId] : undefined,
129
- order: [{
130
- key: 'created_at',
131
- sortable: 'desc',
132
- }],
133
- rangeStart: new Date().toISOString(),
134
- };
135
- let after = null;
136
- // Track displayed log items to avoid duplicates across rounds
137
- const seen = new Set();
138
- const s = spinner();
139
- const docsUrl = `${config.host}/docs/plugins/updater/debugging/#sent-from-the-backend`;
140
- s.start(`Waiting for logs (Expect delay of 30 sec) more info: ${docsUrl}`);
141
- while (loop) {
142
- await wait(5000);
143
- const data = await getStats(apikey, query, after);
144
- if (data.length > 0) {
145
- // Update 'after' to the newest timestamp returned
146
- const newest = data.reduce((acc, d) => {
147
- const t = new Date(d.created_at).getTime();
148
- return Math.max(acc, t);
149
- }, after ? new Date(after).getTime() : 0);
150
- if (newest > 0)
151
- after = new Date(newest).toISOString();
152
- // Filter out already printed entries and sort chronologically
153
- const fresh = data.filter((d) => {
154
- const key = `${d.app_id}|${d.device_id}|${d.action}|${d.version_id}|${d.created_at}`;
155
- if (seen.has(key))
156
- return false;
157
- seen.add(key);
158
- return true;
159
- }).sort((a, b) => new Date(a.created_at).getTime() - new Date(b.created_at).getTime());
160
- const t = new Table();
161
- t.headers = ['Time', 'Device', 'Key', 'Message'];
162
- t.theme = Table.roundTheme;
163
- t.rows = [];
164
- let shouldStop = false;
165
- for (const d of fresh) {
166
- const { row, stop } = await toTableRow(d, channel, orgId, apikey, baseAppUrl, config.hostWeb);
167
- if (row)
168
- t.rows.push(row);
169
- if (stop)
170
- shouldStop = true;
171
- }
172
- if (t.rows.length) {
173
- s.stop('');
174
- log.info(t.toString());
175
- s.start(`Waiting for logs (Expect delay of 30 sec) more info: ${docsUrl}`);
176
- }
177
- if (shouldStop) {
178
- loop = false;
179
- break;
180
- }
181
- }
182
- }
183
- s.stop(`Stop watching logs`);
184
- return Promise.resolve();
185
- }
186
- export async function debugApp(appId, options, silent = false) {
187
- if (!silent)
188
- intro('Debug Live update in Capgo');
189
- await checkAlerts();
190
- options.apikey = options.apikey || findSavedKey();
191
- const extConfig = await getConfig();
192
- appId = getAppId(appId, extConfig?.config);
193
- const deviceId = options.device;
194
- if (!options.apikey) {
195
- if (!silent)
196
- log.error('Missing API key, you need to provide an API key to delete your app');
197
- throw new Error('Missing API key');
198
- }
199
- if (!appId) {
200
- if (!silent)
201
- log.error('Missing argument, you need to provide a appId, or be in a capacitor project');
202
- throw new Error('Missing appId');
203
- }
204
- if (silent)
205
- throw new Error('Debug command requires an interactive terminal');
206
- const supabase = await createSupabaseClient(options.apikey, options.supaHost, options.supaAnon);
207
- const orgId = await getOrganizationId(supabase, appId);
208
- const doRun = await confirmC({ message: `Automatic check if update working in device ?` });
209
- await cancelCommand('debug', doRun, orgId, options.apikey);
210
- if (doRun) {
211
- if (!silent)
212
- log.info(`Wait logs sent to Capgo from ${appId} device, Please background your app and open it again 💪`);
213
- await waitLog('debug', options.apikey, appId, orgId, deviceId);
214
- if (!silent)
215
- outro('Done ✅');
216
- }
217
- else {
218
- if (!silent)
219
- outro('Canceled ❌');
220
- }
221
- }
222
- //# sourceMappingURL=debug.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/app/debug.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAC1F,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,6CAA6C;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAE7I,SAAS,IAAI,CAAC,EAAU;IACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACvC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IACnC,oDAAoD;IACpD,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAA;AAC/B,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,KAAc,EAAE,IAAI,GAAG,GAAG;IACtH,MAAM,SAAS,CAAC,MAAM,EAAE;QACtB,OAAO;QACP,KAAK;QACL,IAAI;QACJ,OAAO,EAAE,KAAK;QACd,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,EAAE,KAAK;KACd,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe,EAAE,OAAyB,EAAE,KAAa,EAAE,MAAc;IAC3G,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACpB,OAAM;IAER,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IACnE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;AACtC,CAAC;AAwBD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAc,EAAE,KAAiB,EAAE,KAAoB;IACpF,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAA;QAC1C,qEAAqE;QACrE,MAAM,cAAc,GAAe,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAA;QAEzF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,CAAC,OAAO,gBAAgB,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,SAAS,EAAE,MAAM;aAClB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;SACrC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAe,CAAA;QAChD,6DAA6D;QAC7D,IAAI,KAAK,EAAE,MAAM,GAAG,CAAC;YACnB,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;QAC1C,GAAG,CAAC,KAAK,CAAC,oBAAoB,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAKD,SAAS,eAAe,CAAC,IAAa;IACpC,MAAM,GAAG,GAA4B;QACnC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,iDAAiD,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;QACtG,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE;QACpE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;QACzF,mBAAmB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,4DAA4D,EAAE,KAAK,EAAE,OAAO,EAAE;QACpH,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,+BAA+B,OAAO,2BAA2B,EAAE,KAAK,EAAE,OAAO,EAAE;QAChI,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,sCAAsC,EAAE,KAAK,EAAE,OAAO,EAAE;QACxF,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,6CAA6C,EAAE,KAAK,EAAE,MAAM,EAAE;QACtF,kBAAkB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,kCAAkC,EAAE,KAAK,EAAE,OAAO,EAAE;QACzF,sBAAsB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,sCAAsC,EAAE,KAAK,EAAE,OAAO,EAAE;QACjG,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,uCAAuC,EAAE,KAAK,EAAE,OAAO,EAAE;QAC7F,wBAAwB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,wCAAwC,EAAE,KAAK,EAAE,OAAO,EAAE;QACrG,wBAAwB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,wCAAwC,EAAE,KAAK,EAAE,OAAO,EAAE;QACrG,wBAAwB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,wCAAwC,EAAE,KAAK,EAAE,OAAO,EAAE;QACrG,4BAA4B,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,oDAAoD,EAAE,KAAK,EAAE,OAAO,EAAE;QACrH,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,uCAAuC,EAAE,KAAK,EAAE,OAAO,EAAE;QAC3F,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,sCAAsC,EAAE,KAAK,EAAE,OAAO,EAAE;QAC1F,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,qCAAqC,EAAE,KAAK,EAAE,OAAO,EAAE;QACzF,6BAA6B,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,8BAA8B,EAAE,KAAK,EAAE,OAAO,EAAE;QAChG,oBAAoB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,6CAA6C,EAAE,KAAK,EAAE,OAAO,EAAE;QACtG,yBAAyB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,kCAAkC,EAAE,KAAK,EAAE,OAAO,EAAE;QAChG,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,uCAAuC,EAAE,KAAK,EAAE,OAAO,EAAE;QACpF,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,gCAAgC,EAAE,KAAK,EAAE,MAAM,EAAE;QACzE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,gDAAgD,EAAE,KAAK,EAAE,OAAO,EAAE;QAChG,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,8CAA8C,EAAE,KAAK,EAAE,OAAO,EAAE;QAChG,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,6CAA6C,EAAE,KAAK,EAAE,OAAO,EAAE;QACnG,mBAAmB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,qCAAqC,EAAE,KAAK,EAAE,OAAO,EAAE;QAC7F,mBAAmB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,6CAA6C,EAAE,KAAK,EAAE,OAAO,EAAE;QACrG,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,kCAAkC,EAAE,KAAK,EAAE,OAAO,EAAE;QACjF,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,0CAA0C,EAAE,KAAK,EAAE,OAAO,EAAE;QAC3F,uBAAuB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE;QACpF,uBAAuB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE;QACpF,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,qCAAqC,EAAE,KAAK,EAAE,OAAO,EAAE;QACtF,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mCAAmC,EAAE,KAAK,EAAE,MAAM,EAAE;QACjF,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE;QACrE,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,oEAAoE,EAAE,KAAK,EAAE,MAAM,EAAE;QACjH,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,iDAAiD,EAAE,KAAK,EAAE,MAAM,EAAE;KAC/F,CAAA;IACD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,IAAI,IAAI,KAAK,UAAU;YACrB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,0CAA0C,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;QACzG,IAAI,IAAI,KAAK,MAAM;YACjB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,2BAA2B,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;QACvE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,IAAI,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;IACjE,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAA;AACjC,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAa,EAAE,OAAe,EAAE,KAAa,EAAE,MAAc,EAAE,UAAkB,EAAE,OAAe;IAC1H,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IAClC,IAAI,CAAC,IAAI;QACP,OAAO,EAAE,CAAA;IACX,IAAI,IAAI,CAAC,IAAI;QACX,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;IACvB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IACxE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3E,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,GAAG,WAAW,EAAE,CAAA;IAC1E,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,QAAiB;IAC5G,IAAI,IAAI,GAAG,IAAI,CAAA;IACf,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAA;IACrC,MAAM,UAAU,GAAG,GAAG,MAAM,CAAC,OAAO,UAAU,KAAK,EAAE,CAAA;IACrD,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;IAC5D,MAAM,KAAK,GAAe;QACxB,KAAK;QACL,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5C,KAAK,EAAE,CAAC;gBACN,GAAG,EAAE,YAAY;gBACjB,QAAQ,EAAE,MAAM;aACjB,CAAC;QACF,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAA;IACD,IAAI,KAAK,GAAkB,IAAI,CAAA;IAC/B,8DAA8D;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,CAAC,GAAG,OAAO,EAAE,CAAA;IACnB,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,IAAI,wDAAwD,CAAA;IACtF,CAAC,CAAC,KAAK,CAAC,wDAAwD,OAAO,EAAE,CAAC,CAAA;IAC1E,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,CAAC,IAAI,CAAC,CAAA;QAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QACjD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,kDAAkD;YAClD,MAAM,MAAM,GAAW,IAAI,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACpD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAA;gBAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YACzB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzC,IAAI,MAAM,GAAG,CAAC;gBACZ,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YAExC,8DAA8D;YAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;gBACpF,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBACf,OAAO,KAAK,CAAA;gBACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACb,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;YAEtF,MAAM,CAAC,GAAG,IAAI,KAAK,EAAE,CAAA;YACrB,CAAC,CAAC,OAAO,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;YAChD,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAA;YAC1B,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;YACX,IAAI,UAAU,GAAG,KAAK,CAAA;YACtB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;gBAC7F,IAAI,GAAG;oBACL,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAClB,IAAI,IAAI;oBACN,UAAU,GAAG,IAAI,CAAA;YACrB,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACV,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACtB,CAAC,CAAC,KAAK,CAAC,wDAAwD,OAAO,EAAE,CAAC,CAAA;YAC5E,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,GAAG,KAAK,CAAA;gBACZ,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IACD,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAa,EAAE,OAAyB,EAAE,MAAM,GAAG,KAAK;IACrF,IAAI,CAAC,MAAM;QACT,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAErC,MAAM,WAAW,EAAE,CAAA;IACnB,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,CAAA;IACjD,MAAM,SAAS,GAAG,MAAM,SAAS,EAAE,CAAA;IACnC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAA;IAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAA;QACjF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAA;QAC1F,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,MAAM;QACR,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IAEnE,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/F,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAEtD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC,CAAA;IAC1F,MAAM,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1D,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,IAAI,CAAC,gCAAgC,KAAK,0DAA0D,CAAC,CAAA;QAC3G,MAAM,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM;YACT,KAAK,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC;SACI,CAAC;QACJ,IAAI,CAAC,MAAM;YACT,KAAK,CAAC,YAAY,CAAC,CAAA;IACvB,CAAC;AACH,CAAC"}
@@ -1,89 +0,0 @@
1
- import { intro, isCancel, log, outro, select } from '@clack/prompts';
2
- import { checkAppExistsAndHasPermissionOrgErr } from '../api/app';
3
- import { createSupabaseClient, findSavedKey, formatError, getAppId, getConfig, getOrganizationId, OrganizationPerm, sendEvent, verifyUser, } from '../utils';
4
- export async function deleteApp(initialAppId, options, silent = false, skipConfirmation = false) {
5
- if (!silent)
6
- intro('Deleting');
7
- options.apikey = options.apikey || findSavedKey();
8
- const extConfig = await getConfig();
9
- const appId = getAppId(initialAppId, extConfig?.config);
10
- if (!options.apikey) {
11
- if (!silent)
12
- log.error('Missing API key, you need to provide an API key to upload your bundle');
13
- throw new Error('Missing API key');
14
- }
15
- if (!appId) {
16
- if (!silent)
17
- log.error('Missing argument, you need to provide a appId, or be in a capacitor project');
18
- throw new Error('Missing appId');
19
- }
20
- const supabase = await createSupabaseClient(options.apikey, options.supaHost, options.supaAnon);
21
- const userId = await verifyUser(supabase, options.apikey, ['write', 'all']);
22
- await checkAppExistsAndHasPermissionOrgErr(supabase, options.apikey, appId, OrganizationPerm.super_admin, silent);
23
- const { data: appOwnerRaw, error: appOwnerError } = await supabase.from('apps')
24
- .select('owner_org ( created_by, id )')
25
- .eq('app_id', appId)
26
- .single();
27
- const appOwner = appOwnerRaw;
28
- if (!skipConfirmation && !appOwnerError && (appOwner?.owner_org.created_by ?? '') !== userId) {
29
- if (!silent) {
30
- log.warn('Deleting the app is not recomended for users that are not the organization owner');
31
- log.warn('You are invited as a super_admin but your are not the owner');
32
- log.warn('It\'s strongly recomended that you do not continue!');
33
- const shouldContinue = await select({
34
- message: 'Do you want to continue?',
35
- options: [
36
- { label: 'Yes', value: 'yes' },
37
- { label: 'No', value: 'no' },
38
- ],
39
- });
40
- if (isCancel(shouldContinue) || shouldContinue === 'no') {
41
- log.error('Canceled deleting the app, exiting');
42
- throw new Error('App deletion cancelled');
43
- }
44
- }
45
- else {
46
- throw new Error('Cannot delete app: you are not the organization owner');
47
- }
48
- }
49
- else if (appOwnerError && !silent) {
50
- log.warn(`Cannot get the app owner ${formatError(appOwnerError)}`);
51
- }
52
- const { error: storageError } = await supabase
53
- .storage
54
- .from('images')
55
- .remove([`org/${appOwner?.owner_org.id}/${appId}/icon`]);
56
- if (storageError && !silent) {
57
- log.error('Could not delete app logo');
58
- }
59
- const { error: delError } = await supabase
60
- .storage
61
- .from(`apps/${appId}/${userId}`)
62
- .remove(['versions']);
63
- if (delError && !silent)
64
- log.error('Could not delete app version');
65
- const { error: dbError } = await supabase
66
- .from('apps')
67
- .delete()
68
- .eq('app_id', appId);
69
- if (dbError) {
70
- if (!silent)
71
- log.error('Could not delete app');
72
- throw new Error(`Could not delete app: ${formatError(dbError)}`);
73
- }
74
- const orgId = await getOrganizationId(supabase, appId);
75
- await sendEvent(options.apikey, {
76
- channel: 'app',
77
- event: 'App Deleted',
78
- icon: '🗑️',
79
- user_id: orgId,
80
- tags: { 'app-id': appId },
81
- notify: false,
82
- }).catch(() => { });
83
- if (!silent) {
84
- log.success('App deleted in Capgo');
85
- outro('Done ✅');
86
- }
87
- return true;
88
- }
89
- //# sourceMappingURL=delete.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/app/delete.ts"],"names":[],"mappings":"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"}