{#if command.ctrl}
{isMac() ? '⌘' : 'ctrl'}
diff --git a/src/routes/console/+layout.svelte b/src/routes/console/+layout.svelte
index ebc8a9eba..97155286f 100644
--- a/src/routes/console/+layout.svelte
+++ b/src/routes/console/+layout.svelte
@@ -30,7 +30,8 @@
component: AI
});
},
- keys: ['a', 'i']
+ keys: ['a', 'i'],
+ icon: 'light-bulb'
},
{
label: 'Go to Account',
diff --git a/src/routes/console/organization-[organization]/+page.svelte b/src/routes/console/organization-[organization]/+page.svelte
index e7e31843e..7eb42b7e2 100644
--- a/src/routes/console/organization-[organization]/+page.svelte
+++ b/src/routes/console/organization-[organization]/+page.svelte
@@ -2,7 +2,7 @@
import { goto } from '$app/navigation';
import { base } from '$app/paths';
import { page } from '$app/stores';
- import { Command, registerCommands } from '$lib/commandCenter';
+ import { type Command, registerCommands } from '$lib/commandCenter';
import { CardContainer, Empty, GridItem1, Heading, PaginationWithLimit } from '$lib/components';
import { Pill } from '$lib/elements';
import { Button } from '$lib/elements/forms';
@@ -63,7 +63,8 @@
},
keys: ['c'],
disabled: showCreate,
- group: 'project'
+ group: 'project',
+ icon: 'plus'
}
]);
diff --git a/src/routes/console/project-[project]/auth/+page.svelte b/src/routes/console/project-[project]/auth/+page.svelte
index 60ff10d36..d244a7c1c 100644
--- a/src/routes/console/project-[project]/auth/+page.svelte
+++ b/src/routes/console/project-[project]/auth/+page.svelte
@@ -45,7 +45,8 @@
},
keys: ['c'],
disabled: showCreate,
- group: 'auth'
+ group: 'auth',
+ icon: 'plus'
},
{
label: 'Go to Overview',
diff --git a/src/routes/console/project-[project]/databases/+page.svelte b/src/routes/console/project-[project]/databases/+page.svelte
index 6175f1a05..b76da7f29 100644
--- a/src/routes/console/project-[project]/databases/+page.svelte
+++ b/src/routes/console/project-[project]/databases/+page.svelte
@@ -31,7 +31,8 @@
showCreate = true;
},
keys: ['c'],
- disabled: showCreate
+ disabled: showCreate,
+ icon: 'plus'
}
]);
diff --git a/src/routes/console/project-[project]/functions/+page.svelte b/src/routes/console/project-[project]/functions/+page.svelte
index 341eeec1b..e043782d4 100644
--- a/src/routes/console/project-[project]/functions/+page.svelte
+++ b/src/routes/console/project-[project]/functions/+page.svelte
@@ -40,7 +40,8 @@
label: 'Create function',
callback: openWizard,
keys: ['c'],
- disabled: $wizard.show
+ disabled: $wizard.show,
+ icon: 'plus'
}
]);
diff --git a/src/routes/console/project-[project]/overview/platforms/+page.svelte b/src/routes/console/project-[project]/overview/platforms/+page.svelte
index 959aafe08..2930bbd44 100644
--- a/src/routes/console/project-[project]/overview/platforms/+page.svelte
+++ b/src/routes/console/project-[project]/overview/platforms/+page.svelte
@@ -76,7 +76,8 @@
{
label: 'Create Web App',
callback: () => addPlatform(Platform.Web),
- keys: ['c']
+ keys: ['c'],
+ icon: 'plus'
}
]);
diff --git a/src/routes/console/project-[project]/storage/+page.svelte b/src/routes/console/project-[project]/storage/+page.svelte
index 29eea87f5..527af84c4 100644
--- a/src/routes/console/project-[project]/storage/+page.svelte
+++ b/src/routes/console/project-[project]/storage/+page.svelte
@@ -37,7 +37,8 @@
showCreate = true;
},
keys: ['c'],
- disabled: showCreate
+ disabled: showCreate,
+ icon: 'plus'
}
]);
From 21de81de00dbd125235b84743f7b4863f58f6825 Mon Sep 17 00:00:00 2001
From: tglide <26071571+TGlide@users.noreply.github.com>
Date: Wed, 5 Jul 2023 17:21:40 +0100
Subject: [PATCH 038/128] refactor: details modal & self-hosted screens
---
package-lock.json | 8 +-
.../settings/migrations/+page.svelte | 226 +++++++-----------
.../settings/migrations/+page.ts | 4 +-
.../settings/migrations/details.svelte | 138 ++++++-----
4 files changed, 162 insertions(+), 214 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 2fd48112c..5e9d34e1b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,7 +7,7 @@
"name": "@appwrite/console",
"dependencies": {
"@analytics/google-analytics": "^1.0.5",
- "@appwrite.io/console": "0.1.0",
+ "@appwrite.io/console": "^0.1.1",
"@appwrite.io/pink": "^0.0.6-rc.14",
"@popperjs/core": "^2.11.6",
"@sentry/svelte": "^7.44.2",
@@ -147,9 +147,9 @@
"integrity": "sha512-1Yw7u/COtxx06BfwlI+kVhsa/upKYzmCNrT4c8QDeCY2KMYlnijkUjtHiPU08HxyTIVB5j6d75O0YWVIHwQS8g=="
},
"node_modules/@appwrite.io/console": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@appwrite.io/console/-/console-0.1.0.tgz",
- "integrity": "sha512-GzCRUmaXAVgpGwxBNI3PrtCLHz7CM+epBHDDTHw8B2u61KbijGBO3GrwreXy91fy00RJiEzGlMSRzDgwsF3Tsg==",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@appwrite.io/console/-/console-0.1.1.tgz",
+ "integrity": "sha512-7aBh/8QxKmaMsP9tVJgNsrOBstuikKasSUoSyRNxblK3J/OdPXnQRInZELT9uaK+vqjZaCYspA3B+5UH+DZ9Dw==",
"dependencies": {
"cross-fetch": "3.1.5",
"isomorphic-form-data": "2.0.0"
diff --git a/src/routes/console/project-[project]/settings/migrations/+page.svelte b/src/routes/console/project-[project]/settings/migrations/+page.svelte
index 9b5f2be08..bfd194561 100644
--- a/src/routes/console/project-[project]/settings/migrations/+page.svelte
+++ b/src/routes/console/project-[project]/settings/migrations/+page.svelte
@@ -16,14 +16,13 @@
import { isSameDay, toLocaleDate } from '$lib/helpers/date';
import { capitalize } from '$lib/helpers/string';
import { Container } from '$lib/layout';
- import { migrator } from '$lib/stores/migrator';
import { sdk } from '$lib/stores/sdk';
import { isSelfHosted } from '$lib/system';
import { openImportWizard } from './(import)';
import Details from './details.svelte';
export let data;
- let showDetails = false;
+ let details: (typeof data.migrations)[number] | null = null;
let showCloudExport = false;
const mockMigrate = async () => {
@@ -34,7 +33,7 @@
const getStatus = (status: string) => {
if (status === 'failed') {
- return { text: 'Failed', icon: 'clock', iconColor: 'blue' };
+ return { text: 'Failed', icon: 'exclamation', iconColor: 'danger' };
}
return { text: 'Pending', icon: 'clock', iconColor: 'blue' };
@@ -43,54 +42,93 @@
Migrations
- {#if isSelfHosted}
-
- Import project data
-
- Import project data from Cloud to your self-hosted project. Initiate the process of
- importing project data from the migrations settings of your Cloud project.
-
-
- {#if $migrator.status === 'idle'}
-
-
-
- Date
- Source
- Status
-
-
-
- Today
- Heaven
- Awesome
-
-
-
-
-
- {:else}
-
-
-
No imported data yet
+
+ Import project data
+ Import data from other products or from a different Appwrite instance
+
+ {#if data.migrations.length}
+
+
+
- {/if}
-
-
+
+
+
+
+ Date
+ Source
+ Status
+
+
+
+ {#each data.migrations as entry}
+
+ {@const source = capitalize(JSON.parse(entry.source).type)}
+ {@const status = getStatus(entry.status)}
+
+ {isSameDay(new Date(), new Date(entry.$createdAt))
+ ? 'Today'
+ : toLocaleDate(entry.$createdAt)}
+
+ {source}
+
+
+
+ {status.text}
+
+
+
+
+
+
+ {/each}
+
+
+ {:else}
+
+
+ -
+
+

+
+
+
+ -
+
+

+
+
+
+ -
+
+

+
+
+
+ -
+
+

+
+
+
+
+
+
+
+
+
+ {/if}
+
+
+ {#if isSelfHosted}
Deploy to Cloud
Export data from your project to Appwrite Cloud
@@ -110,94 +148,6 @@
{:else}
-
- Import project data
-
- Import data from other products or from a different Appwrite instance
-
-
- {#if data.migrations.length}
-
-
-
-
- Date
- Source
- Status
-
-
-
- {#each data.migrations as entry}
-
- {@const source = capitalize(JSON.parse(entry.source).type)}
- {@const status = getStatus(entry.status)}
-
- {isSameDay(new Date(), new Date(entry.$createdAt))
- ? 'Today'
- : toLocaleDate(entry.$createdAt)}
-
- {source}
-
-
-
- {status.text}
-
-
-
-
-
-
- {/each}
-
-
- {:else}
-
-
- -
-
-

-
-
-
- -
-
-

-
-
-
- -
-
-

-
-
-
- -
-
-

-
-
-
-
-
-
-
-
-
- {/if}
-
-
Export to self-hosted instance
Export data from your project to a self-hosted instance
@@ -262,7 +212,7 @@
-
+
diff --git a/src/routes/console/+layout.svelte b/src/routes/console/+layout.svelte
index 97155286f..3dcd1e167 100644
--- a/src/routes/console/+layout.svelte
+++ b/src/routes/console/+layout.svelte
@@ -26,7 +26,7 @@
label: 'Ask AI',
callback: () => {
addSubPanel({
- name: 'Ask AI',
+ name: 'AI',
component: AI
});
},
From 60591ccc16ae36fb0a08ed38081bf02f596981c9 Mon Sep 17 00:00:00 2001
From: Bradley Schofield
Date: Mon, 10 Jul 2023 14:51:10 +0100
Subject: [PATCH 041/128] Implement new SDK Methods and Reporting
---
.../settings/migrations/(import)/index.ts | 1 +
.../settings/migrations/(import)/step2.svelte | 56 +++++++++++++++----
.../migrations/(import)/wizard.svelte | 29 +++++++++-
3 files changed, 74 insertions(+), 12 deletions(-)
diff --git a/src/routes/console/project-[project]/settings/migrations/(import)/index.ts b/src/routes/console/project-[project]/settings/migrations/(import)/index.ts
index acb8feba2..34eff1cb1 100644
--- a/src/routes/console/project-[project]/settings/migrations/(import)/index.ts
+++ b/src/routes/console/project-[project]/settings/migrations/(import)/index.ts
@@ -18,6 +18,7 @@ type AppwriteInput = {
type FirebaseInput = {
provider: 'firebase';
+ serviceAccount?: string;
};
type SupabaseInput = {
diff --git a/src/routes/console/project-[project]/settings/migrations/(import)/step2.svelte b/src/routes/console/project-[project]/settings/migrations/(import)/step2.svelte
index 9ded5affa..ac7d74d06 100644
--- a/src/routes/console/project-[project]/settings/migrations/(import)/step2.svelte
+++ b/src/routes/console/project-[project]/settings/migrations/(import)/step2.svelte
@@ -2,11 +2,13 @@
import { EyebrowHeading } from '$lib/components';
import { Button } from '$lib/elements/forms';
import { deepMap } from '$lib/helpers/object';
+ import { sdk } from '$lib/stores/sdk';
import type { DeepKeys, WritableValue } from '$lib/helpers/types';
import { WizardStep } from '$lib/layout';
+ import { onMount } from 'svelte';
- import { formData } from '.';
+ import { formData, formDataToResources, provider } from '.';
type FormData = WritableValue;
type FormKeys = DeepKeys;
@@ -59,6 +61,24 @@
return v;
});
}
+
+ let report: any;
+
+ onMount(async () => {
+ const resources = formDataToResources($formData);
+
+ switch ($provider.provider) {
+ case 'appwrite': {
+ const res = await sdk.forProject.migrations.generateAppwriteReport(
+ resources,
+ $provider.endpoint,
+ $provider.projectID,
+ $provider.apiKey
+ );
+ report = res;
+ }
+ }
+ });
@@ -116,7 +136,9 @@
on:change={handleInputChange('users.root')} />
Users
- 300
+ {#if report}
+ {report.user}
+ {/if}
Import all users
@@ -129,7 +151,9 @@
on:change={handleInputChange('users.teams')} />
Include teams
- 4
+ {#if report}
+ {report.team}
+ {/if}
Import all teams and the team memberships of your users
@@ -143,7 +167,9 @@
on:change={handleInputChange('databases.root')} />
Databases
- 300
+ {#if report}
+ {report.database}
+ {/if}
Import all databases, including collections, indexes and attributes
@@ -156,7 +182,9 @@
on:change={handleInputChange('databases.documents')} />
Include documents
- 4
+ {#if report}
+ {report.document}
+ {/if}
Import all of your documents
@@ -170,7 +198,9 @@
on:change={handleInputChange('functions.root')} />
Functions
- 30
+ {#if report}
+ {report.function}
+ {/if}
Import all functions and their active deployment
@@ -184,7 +214,7 @@
Include environment variables