mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
Merge remote-tracking branch 'origin' into big-int
This commit is contained in:
@@ -17,9 +17,9 @@ jobs:
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
|
||||
with:
|
||||
bun-version: 1.3.8
|
||||
|
||||
|
||||
@@ -14,20 +14,20 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout the repo
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
|
||||
with:
|
||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Extract metadata (tags, labels) for Docker
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
|
||||
with:
|
||||
images: appwrite/console-profiles
|
||||
tags: |
|
||||
@@ -40,7 +40,7 @@ jobs:
|
||||
|
||||
- name: Build and push Docker image
|
||||
id: push
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
|
||||
@@ -11,9 +11,9 @@ jobs:
|
||||
e2e:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
|
||||
with:
|
||||
bun-version: 1.3.8
|
||||
|
||||
@@ -21,7 +21,7 @@ jobs:
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
- name: Cache Playwright browsers
|
||||
uses: actions/cache@v4
|
||||
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
||||
id: playwright-cache
|
||||
with:
|
||||
path: ~/.cache/ms-playwright
|
||||
@@ -34,7 +34,7 @@ jobs:
|
||||
|
||||
- name: E2E Tests
|
||||
run: bun test:e2e
|
||||
- uses: actions/upload-artifact@v4
|
||||
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
||||
if: ${{ !cancelled() }}
|
||||
with:
|
||||
name: playwright-report
|
||||
|
||||
@@ -9,19 +9,19 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the repo
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
|
||||
with:
|
||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Extract metadata (tags, labels) for Docker
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
|
||||
with:
|
||||
images: appwrite/console-cloud
|
||||
tags: |
|
||||
@@ -30,7 +30,7 @@ jobs:
|
||||
type=semver,pattern={{major}}
|
||||
- name: Build and push Docker image
|
||||
id: push
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
@@ -51,19 +51,19 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the repo
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
|
||||
with:
|
||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Extract metadata (tags, labels) for Docker
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
|
||||
with:
|
||||
images: appwrite/console-cloud-stage
|
||||
tags: |
|
||||
@@ -72,7 +72,7 @@ jobs:
|
||||
type=semver,pattern={{major}}
|
||||
- name: Build and push Docker image
|
||||
id: push
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
@@ -91,19 +91,19 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the repo
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
|
||||
with:
|
||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Extract metadata (tags, labels) for Docker
|
||||
id: meta
|
||||
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
|
||||
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
|
||||
with:
|
||||
images: appwrite/console
|
||||
tags: |
|
||||
@@ -112,7 +112,7 @@ jobs:
|
||||
type=semver,pattern={{major}}
|
||||
- name: Build and push Docker image
|
||||
id: push
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
@@ -130,19 +130,19 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the repo
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
|
||||
with:
|
||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Extract metadata (tags, labels) for Docker
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
|
||||
with:
|
||||
images: appwrite/console-cloud-no-regions
|
||||
tags: |
|
||||
@@ -151,7 +151,7 @@ jobs:
|
||||
type=semver,pattern={{major}}
|
||||
- name: Build and push Docker image
|
||||
id: push
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
|
||||
@@ -9,7 +9,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v9
|
||||
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: "This issue has been labeled as a 'question', indicating that it requires additional information from the requestor. It has been inactive for 7 days. If no further activity occurs, this issue will be closed in 14 days."
|
||||
|
||||
@@ -14,9 +14,9 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
|
||||
with:
|
||||
bun-version: 1.3.8
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"name": "@appwrite/console",
|
||||
"dependencies": {
|
||||
"@ai-sdk/svelte": "^1.1.24",
|
||||
"@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@9a791f9",
|
||||
"@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@8f00f95",
|
||||
"@appwrite.io/pink-icons": "0.25.0",
|
||||
"@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3",
|
||||
"@appwrite.io/pink-legacy": "^1.0.3",
|
||||
@@ -124,7 +124,7 @@
|
||||
|
||||
"@analytics/type-utils": ["@analytics/type-utils@0.6.4", "", {}, "sha512-Ou1gQxFakOWLcPnbFVsrPb8g1wLLUZYYJXDPjHkG07+5mustGs5yqACx42UAu4A6NszNN6Z5gGxhyH45zPWRxw=="],
|
||||
|
||||
"@appwrite.io/console": ["@appwrite.io/console@https://pkg.vc/-/@appwrite/@appwrite.io/console@9a791f9", { "dependencies": { "json-bigint": "1.0.0" } }, "sha512-evTjco/Ks7m435WOluqH81DeHp8dmqvXdSRAA3fsOUrIGJxMnCk8RLoFfX9oToxtbJbtGMrfxZyhOOMz3mvd/Q=="],
|
||||
"@appwrite.io/console": ["@appwrite.io/console@https://pkg.vc/-/@appwrite/@appwrite.io/console@8f00f95", { "dependencies": { "json-bigint": "1.0.0" } }],
|
||||
|
||||
"@appwrite.io/pink-icons": ["@appwrite.io/pink-icons@0.25.0", "", {}, "sha512-0O3i2oEuh5mWvjO80i+X6rbzrWLJ1m5wmv2/M3a1p2PyBJsFxN8xQMTEmTn3Wl/D26SsM7SpzbdW6gmfgoVU9Q=="],
|
||||
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@ai-sdk/svelte": "^1.1.24",
|
||||
"@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@9a791f9",
|
||||
"@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@8f00f95",
|
||||
"@appwrite.io/pink-icons": "0.25.0",
|
||||
"@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3",
|
||||
"@appwrite.io/pink-legacy": "^1.0.3",
|
||||
|
||||
@@ -47,6 +47,9 @@ const initialFormData = {
|
||||
messaging: {
|
||||
root: false,
|
||||
messages: false
|
||||
},
|
||||
backups: {
|
||||
root: false
|
||||
}
|
||||
};
|
||||
|
||||
@@ -84,7 +87,8 @@ export const ResourcesFriendly = {
|
||||
provider: { singular: 'Provider', plural: 'Providers' },
|
||||
topic: { singular: 'Topic', plural: 'Topics' },
|
||||
subscriber: { singular: 'Subscriber', plural: 'Subscribers' },
|
||||
message: { singular: 'Message', plural: 'Messages' }
|
||||
message: { singular: 'Message', plural: 'Messages' },
|
||||
'backup-policy': { singular: 'Backup Policy', plural: 'Backup Policies' }
|
||||
};
|
||||
|
||||
export const providerResources: ProviderResourceMap = {
|
||||
@@ -148,6 +152,9 @@ export const migrationFormToResources = <P extends Provider>(
|
||||
if (formData.messaging.messages) {
|
||||
addResource(MigrationResources.Message);
|
||||
}
|
||||
if (formData.backups.root) {
|
||||
addResource(MigrationResources.Backuppolicy);
|
||||
}
|
||||
|
||||
return resources as ProviderResourceMap[P];
|
||||
};
|
||||
@@ -224,6 +231,9 @@ export const resourcesToMigrationForm = (resources: MigrationResource[]): Migrat
|
||||
if (resources.includes(MigrationResources.Message)) {
|
||||
formData.messaging.messages = true;
|
||||
}
|
||||
if (resources.includes(MigrationResources.Backuppolicy)) {
|
||||
formData.backups.root = true;
|
||||
}
|
||||
|
||||
return formData;
|
||||
};
|
||||
|
||||
@@ -115,6 +115,10 @@
|
||||
return resources.includes(MigrationResources.Provider);
|
||||
}
|
||||
|
||||
if (groupKey === 'backups') {
|
||||
return resources.includes(MigrationResources.Backuppolicy);
|
||||
}
|
||||
|
||||
const groupToResource: Record<string, MigrationResource> = {
|
||||
users: MigrationResources.User,
|
||||
databases: MigrationResources.Database
|
||||
@@ -135,7 +139,8 @@
|
||||
functions: 'function',
|
||||
storage: 'bucket',
|
||||
sites: 'site',
|
||||
messaging: 'provider'
|
||||
messaging: 'provider',
|
||||
backups: 'backup-policy'
|
||||
};
|
||||
return map[groupKey] || groupKey;
|
||||
};
|
||||
|
||||
+7
-5
@@ -211,7 +211,7 @@
|
||||
|
||||
<Layout.Stack gap="xs">
|
||||
{#if headers}
|
||||
{#each headers as [name, value], index}
|
||||
{#each headers as _, index (index)}
|
||||
<Layout.Stack direction="row" alignItems="flex-end">
|
||||
<Input.ComboBox
|
||||
fullWidth
|
||||
@@ -221,14 +221,14 @@
|
||||
hideEmpty
|
||||
options={filteredKeyList}
|
||||
id={`key-${index}`}
|
||||
bind:value={name}
|
||||
bind:search={name}>
|
||||
bind:value={headers[index][0]}
|
||||
bind:search={headers[index][0]}>
|
||||
</Input.ComboBox>
|
||||
<InputText
|
||||
label={index === 0 ? 'Value' : ''}
|
||||
placeholder="Enter value"
|
||||
id={`value-${index}`}
|
||||
bind:value>
|
||||
bind:value={headers[index][1]}>
|
||||
<span slot="info">
|
||||
<Tooltip>
|
||||
<Layout.Stack alignItems="center">
|
||||
@@ -248,7 +248,9 @@
|
||||
<Button
|
||||
text
|
||||
icon
|
||||
disabled={(!name || !value) && index === 0}
|
||||
disabled={(!headers[index][0] ||
|
||||
!headers[index][1]) &&
|
||||
index === 0}
|
||||
on:click={() => {
|
||||
if (index === 0) {
|
||||
headers = [['', '']];
|
||||
|
||||
+5
-4
@@ -142,23 +142,24 @@
|
||||
routing.
|
||||
</Typography.Text>
|
||||
<Layout.Stack gap="s">
|
||||
{#each $data as [key, value], index}
|
||||
{#each $data as _, index (index)}
|
||||
<Layout.Stack direction="row" alignItems="flex-end">
|
||||
<InputText
|
||||
id={`key-${index}`}
|
||||
bind:value={key}
|
||||
bind:value={$data[index][0]}
|
||||
placeholder="Enter key"
|
||||
label={index === 0 ? 'Key' : undefined} />
|
||||
<Layout.Stack direction="row" alignItems="flex-end" gap="xs">
|
||||
<InputText
|
||||
id={`value-${index}`}
|
||||
bind:value
|
||||
bind:value={$data[index][1]}
|
||||
placeholder="Enter value"
|
||||
label={index === 0 ? 'Value' : undefined} />
|
||||
<Button
|
||||
icon
|
||||
compact
|
||||
disabled={(!key || !value) && index === 0}
|
||||
disabled={(!$data[index][0] || !$data[index][1]) &&
|
||||
index === 0}
|
||||
on:click={() => {
|
||||
if (index === 0 && $data?.length === 1) {
|
||||
$data = [['', '']];
|
||||
|
||||
+5
-4
@@ -112,23 +112,24 @@
|
||||
label="Media"
|
||||
optionalText="(Optional)" />
|
||||
<Layout.Stack gap="s">
|
||||
{#each customData || [] as [key, value], index}
|
||||
{#each customData || [] as _, index (index)}
|
||||
<Layout.Stack direction="row" alignItems="flex-end">
|
||||
<InputText
|
||||
id={`key-${index}`}
|
||||
bind:value={key}
|
||||
bind:value={customData[index][0]}
|
||||
placeholder="Enter key"
|
||||
label={index === 0 ? 'Key' : undefined} />
|
||||
<Layout.Stack direction="row" alignItems="flex-end" gap="xs">
|
||||
<InputText
|
||||
id={`value-${index}`}
|
||||
bind:value
|
||||
bind:value={customData[index][1]}
|
||||
placeholder="Enter value"
|
||||
label={index === 0 ? 'Value' : undefined} />
|
||||
<Button
|
||||
icon
|
||||
compact
|
||||
disabled={(!key || !value) && index === 0}
|
||||
disabled={(!customData[index][0] || !customData[index][1]) &&
|
||||
index === 0}
|
||||
on:click={() => {
|
||||
if (customData.length === 1) {
|
||||
customData = [['', '']];
|
||||
|
||||
@@ -186,7 +186,7 @@
|
||||
const { detail } = event;
|
||||
if (detail === 'indeterminate') return;
|
||||
filteredScopes.forEach((s) => {
|
||||
if (s.category === category && !s.deprecated) {
|
||||
if (s.category === category) {
|
||||
activeScopes[s.scope] = detail;
|
||||
}
|
||||
});
|
||||
@@ -217,7 +217,7 @@
|
||||
{@const checked = categoryState(category, scopes)}
|
||||
{@const isLastItem = index === categories.length - 1}
|
||||
{@const scopesLength = filteredScopes.filter(
|
||||
(n) => n.category === category && effectiveScopes.includes(n.scope)
|
||||
(n) => n.category === category && activeScopes[n.scope]
|
||||
).length}
|
||||
<Accordion
|
||||
selectable
|
||||
|
||||
+6
@@ -33,6 +33,9 @@
|
||||
messaging: {
|
||||
root: 'Messaging',
|
||||
messages: 'Include messages'
|
||||
},
|
||||
backups: {
|
||||
root: 'Backup policies'
|
||||
}
|
||||
};
|
||||
|
||||
@@ -56,6 +59,9 @@
|
||||
messaging: {
|
||||
root: 'Import all messaging providers, topics and subscribers',
|
||||
messages: 'Import all messages'
|
||||
},
|
||||
backups: {
|
||||
root: 'Import all backup policies'
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user