refactor after backend changes to rules

This commit is contained in:
Arman
2025-02-27 10:36:53 +01:00
parent 0c1e363705
commit cae46b8041
17 changed files with 51 additions and 42 deletions
+1 -1
View File
@@ -19,7 +19,7 @@
"e2e:ui": "playwright test tests/e2e --ui"
},
"dependencies": {
"@appwrite.io/console": "https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@08ec153",
"@appwrite.io/console": "https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@ac51fcb",
"@appwrite.io/pink-icons": "0.25.0",
"@appwrite.io/pink-icons-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@dd94b87a ",
"@appwrite.io/pink-legacy": "^1.0.2",
+9 -5
View File
@@ -12,8 +12,8 @@ importers:
.:
dependencies:
'@appwrite.io/console':
specifier: https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@08ec153
version: https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@08ec153
specifier: https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@ac51fcb
version: https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@ac51fcb
'@appwrite.io/pink-icons':
specifier: 0.25.0
version: 0.25.0
@@ -214,8 +214,8 @@ packages:
'@analytics/type-utils@0.6.2':
resolution: {integrity: sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==}
'@appwrite.io/console@https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@08ec153':
resolution: {tarball: https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@08ec153}
'@appwrite.io/console@https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@ac51fcb':
resolution: {tarball: https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@ac51fcb}
version: 1.2.1
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@317beac01fca89faa03f4fd8897f01b9d49170e3':
@@ -4100,7 +4100,11 @@ snapshots:
'@analytics/type-utils@0.6.2': {}
'@appwrite.io/console@https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@08ec153': {}
'@appwrite.io/console@https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@ac51fcb': {}
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@317beac01fca89faa03f4fd8897f01b9d49170e3(svelte@4.2.19)':
dependencies:
svelte: 4.2.19
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@317beac01fca89faa03f4fd8897f01b9d49170e3(svelte@4.2.19)':
dependencies:
@@ -19,6 +19,7 @@
await sdk.forProject.proxy.deleteRule($domain.$id);
}
// TODO: move to new api methods
$domain = await sdk.forProject.proxy.createRule(
$domain.domain,
$typeStore,
+6
View File
@@ -90,3 +90,9 @@ export const sdk = {
return getSdkForProject(projectId);
}
};
export enum RuleType {
DEPLOYMENT = 'deployment',
API = 'api',
REDIRECT = 'redirect'
}
@@ -7,7 +7,7 @@
import { Wizard } from '$lib/layout';
import { addNotification } from '$lib/stores/notifications';
import { sdk } from '$lib/stores/sdk';
import { ResourceType, type Models } from '@appwrite.io/console';
import { type Models } from '@appwrite.io/console';
import {
Badge,
Divider,
@@ -5,6 +5,7 @@ import Breadcrumbs from './breadcrumbs.svelte';
import Header from './header.svelte';
import { error } from '@sveltejs/kit';
import { Query } from '@appwrite.io/console';
import { RuleType } from '$lib/stores/sdk';
export const load: LayoutLoad = async ({ params, depends }) => {
depends(Dependencies.FUNCTION);
@@ -14,8 +15,8 @@ export const load: LayoutLoad = async ({ params, depends }) => {
const [func, proxyRuleList] = await Promise.all([
sdk.forProject.functions.get(params.function),
sdk.forProject.proxy.listRules([
Query.equal('resourceType', 'function'),
Query.equal('resourceId', params.function),
Query.equal('type', RuleType.DEPLOYMENT),
Query.equal('automation', `function=${params.function}`),
Query.limit(1)
])
]);
@@ -1,6 +1,6 @@
import { Dependencies } from '$lib/constants';
import { sdk } from '$lib/stores/sdk';
import { Query, ResourceType } from '@appwrite.io/console';
import { RuleType, sdk } from '$lib/stores/sdk';
import { Query } from '@appwrite.io/console';
import type { PageLoad } from './$types';
export const load: PageLoad = async ({ depends, params }) => {
@@ -8,8 +8,8 @@ export const load: PageLoad = async ({ depends, params }) => {
return {
rules: await sdk.forProject.proxy.listRules([
Query.equal('resourceType', ResourceType.Function),
Query.equal('resourceId', params.function)
Query.equal('type', RuleType.DEPLOYMENT),
Query.equal('automantion', `function=${params.function}`)
])
};
};
@@ -1,8 +1,9 @@
import { Dependencies } from '$lib/constants';
import { sdk } from '$lib/stores/sdk';
import { Query, ResourceType } from '@appwrite.io/console';
import { Query } from '@appwrite.io/console';
import type { PageLoad } from './$types';
import { getSearch } from '$lib/helpers/load';
import { RuleType } from '$lib/stores/sdk';
export const load: PageLoad = async ({ depends, url }) => {
depends(Dependencies.DOMAINS);
@@ -12,7 +13,7 @@ export const load: PageLoad = async ({ depends, url }) => {
return {
search,
rules: await sdk.forProject.proxy.listRules(
[Query.equal('resourceType', [ResourceType.Site, ResourceType.Api])],
[Query.equal('type', RuleType.API)],
search || undefined
),
create: url.searchParams.get('create') !== null
@@ -9,7 +9,6 @@
import { InputDomain } from '$lib/elements/forms';
import { goto } from '$app/navigation';
import { sdk } from '$lib/stores/sdk';
import { ResourceType } from '@appwrite.io/console';
import { Submit, trackError, trackEvent } from '$lib/actions/analytics';
let showExitModal = false;
@@ -26,7 +25,7 @@
await sdk.forProject.proxy.deleteRule(data.$id);
}
const value = await sdk.forProject.proxy.createRule(domain, ResourceType.Api);
const value = await sdk.forProject.proxy.createAPIRule(domain);
trackEvent(Submit.DomainCreate);
goto(`${base}/project-${$page.params.project}/settings/domains/create/${value.$id}`);
@@ -30,7 +30,7 @@
export let variant: 'primary' | 'secondary' = 'primary';
let show = false;
const siteUrl = proxyRuleList.total > 0 ? proxyRuleList.rules[0].domain : deployment.domain;
const siteUrl = proxyRuleList.total > 0 ? proxyRuleList.rules[0].domain : undefined;
$: totalSize = humanFileSize((deployment?.buildSize ?? 0) + (deployment?.size ?? 0));
@@ -1,4 +1,4 @@
import { sdk } from '$lib/stores/sdk';
import { RuleType, sdk } from '$lib/stores/sdk';
import { error } from '@sveltejs/kit';
import { Query } from '@appwrite.io/console';
import { Dependencies } from '$lib/constants';
@@ -10,8 +10,8 @@ export const load = async ({ url, depends }) => {
const [site, proxyRuleList] = await Promise.all([
sdk.forProject.sites.get(siteId),
sdk.forProject.proxy.listRules([
Query.equal('resourceId', siteId),
Query.equal('resourceType', 'site')
Query.equal('type', RuleType.DEPLOYMENT),
Query.equal('automation', `site=${siteId}`)
])
]);
return {
@@ -15,7 +15,7 @@
import Details from '../../details.svelte';
import ProductionBranch from '../../productionBranch.svelte';
import Aside from '../../aside.svelte';
import { BuildRuntime, Framework, ID, ResourceType, Type } from '@appwrite.io/console';
import { BuildRuntime, ConsoleResourceType, Framework, ID, Type } from '@appwrite.io/console';
import type { Models } from '@appwrite.io/console';
import { onMount } from 'svelte';
import Configuration from '../../configuration.svelte';
@@ -70,7 +70,7 @@
try {
await sdk.forConsole.console.getResource(
`${domain}.${$consoleVariables._APP_DOMAIN_SITES}`,
'rules' as unknown as Type //TODO: fix after Matej fixes backend
ConsoleResourceType.Rules
);
return true;
} catch {
@@ -126,9 +126,8 @@
);
// Add domain
await sdk.forProject.proxy.createRule(
await sdk.forProject.proxy.createSiteRule(
`${domain}.${$consoleVariables._APP_DOMAIN_SITES}`,
ResourceType.Site,
site.$id
);
@@ -26,7 +26,7 @@
import ProductionBranch from '../../productionBranch.svelte';
import Configuration from './configuration.svelte';
import Aside from '../../aside.svelte';
import { BuildRuntime, Framework, ID, ResourceType } from '@appwrite.io/console';
import { Adapter, BuildRuntime, Framework, ID } from '@appwrite.io/console';
import Domain from '../../domain.svelte';
import { NewRepository, Repositories, RepositoryBehaviour } from '$lib/components/git';
import { getFrameworkIcon } from '../../../store';
@@ -133,7 +133,7 @@
framework.installCommand,
framework.buildCommand,
framework.outputDirectory,
framework.adapter,
framework.adapter as unknown as Adapter,
connectBehaviour === 'later' ? undefined : selectedInstallationId || undefined,
framework.fallbackFile,
selectedRepository || undefined,
@@ -143,9 +143,8 @@
);
// Add domain
await sdk.forProject.proxy.createRule(
await sdk.forProject.proxy.createSiteRule(
`${domain}.${$consoleVariables._APP_DOMAIN_SITES}`,
ResourceType.Site,
site.$id
);
@@ -1,6 +1,7 @@
import { sdk } from '$lib/stores/sdk';
import { Dependencies } from '$lib/constants';
import { Query } from '@appwrite.io/console';
import { RuleType } from '$lib/stores/sdk';
export const load = async ({ params, depends, parent }) => {
depends(Dependencies.SITE);
@@ -16,8 +17,8 @@ export const load = async ({ params, depends, parent }) => {
// Query.equal('live', true)
]),
sdk.forProject.proxy.listRules([
Query.equal('resourceType', 'site'),
Query.equal('resourceId', params.site),
Query.equal('type', RuleType.DEPLOYMENT),
Query.equal('automation', `site=${params.site}`),
Query.orderDesc('')
])
]);
@@ -2,6 +2,7 @@ import { sdk } from '$lib/stores/sdk';
import { Dependencies } from '$lib/constants';
import type { PageLoad } from './$types';
import { Query } from '@appwrite.io/console';
import { RuleType } from '$lib/stores/sdk';
export const load: PageLoad = async ({ params, depends, parent }) => {
depends(Dependencies.DEPLOYMENT);
@@ -11,8 +12,8 @@ export const load: PageLoad = async ({ params, depends, parent }) => {
const [deployment, proxyRuleList] = await Promise.all([
sdk.forProject.sites.getDeployment(params.site, params.deployment),
sdk.forProject.proxy.listRules([
Query.equal('resourceId', params.deployment),
Query.equal('resourceType', 'deployment')
Query.equal('type', RuleType.DEPLOYMENT),
Query.equal('value', params.deployment)
])
]);
@@ -1,8 +1,9 @@
import { Query, ResourceType } from '@appwrite.io/console';
import { Query } from '@appwrite.io/console';
import { sdk } from '$lib/stores/sdk';
import { getLimit, getPage, getQuery, getSearch, pageToOffset } from '$lib/helpers/load';
import { Dependencies, PAGE_LIMIT } from '$lib/constants';
import { queries, queryParamToMap } from '$lib/components/filters';
import { RuleType } from '$lib/stores/sdk';
export const load = async ({ params, depends, url, route }) => {
depends(Dependencies.SITES_DOMAINS);
@@ -22,8 +23,8 @@ export const load = async ({ params, depends, url, route }) => {
search,
domains: await sdk.forProject.proxy.listRules(
[
Query.equal('resourceType', ResourceType.Site),
Query.equal('resourceId', params.site),
Query.equal('type', RuleType.DEPLOYMENT),
Query.equal('automation', `site=${params.site}`),
Query.limit(limit),
Query.offset(offset),
Query.orderDesc(''),
@@ -7,7 +7,7 @@
import { Wizard } from '$lib/layout';
import { addNotification } from '$lib/stores/notifications';
import { sdk } from '$lib/stores/sdk';
import { ResourceType, type Models } from '@appwrite.io/console';
import { type Models } from '@appwrite.io/console';
import {
Badge,
Divider,
@@ -27,11 +27,7 @@
async function addDomain() {
try {
domainData = await sdk.forProject.proxy.createRule(
domain,
ResourceType.Site,
$page.params.site
);
domainData = await sdk.forProject.proxy.createSiteRule(domain, $page.params.site);
console.log(domainData);
invalidate(Dependencies.SITES_DOMAINS);
} catch (error) {